import request from '@/api/request' import common from "@/common/common"; import { queryCurrentValidMascotInfo } from "@/api/mascot.js" import { setToken, setUserInfo, getUserInfo } from "@/common/common"; import { get_base_url } from '@/api/request.js' // 账号登录接口 export const useAccountLoginApp = (data) => request({ url: '/traapp/access/userLogin', method: 'post', data }).then(async ({ rtnCode, body }) => { if (rtnCode === '0000') { setToken(body) // 获取科技鹿 // queryCurrentValidMascotInfo().then(({body}) => { // const userInfo = getUserInfo() // setUserInfo({ // ...userInfo, // 'mascotInfo': body // }) // const userInfo2 = getUserInfo() // console.log('设置科技鹿', userInfo2); // if (body.imgAddr) { // setTimeout(() => { // const img = new Image(); // 创建Image对象 // // 图片加载成功(缓存完成) // img.onload = () => { // console.log(`图片缓存成功: ${url}`); // resolve(img); // 返回加载完成的Image对象 // }; // // 图片加载失败 // img.onerror = () => { // console.error(`图片缓存失败: ${url}`); // reject(new Error(`Failed to load image: ${url}`)); // }; // // 开始加载图片(设置src触发请求,浏览器会自动缓存) // img.src = url; // }) // } // }) // const user_data = await queryCurrentUser() const res = await Promise.all([queryCurrentUser(), queryCurrentValidMascotInfo()]) const userInfo = getUserInfo() const mascotInfo = res[1] setUserInfo({ ...userInfo, 'mascotInfo': mascotInfo }) console.log(mascotInfo); return { mascotState:!mascotInfo.mascotId } } return Promise.reject({ rtnCode, body }) }).catch(res => { /** error: "Service Unavailable" path: "/traapp/access/userLogin" requestId: "74d60800-104" status: 503 timestamp: "2025-06-24T00:53:35.293+00:00" */ /** body: null channelNo: "FF6944B69A99745C009F4D0B3C3B22B8E81B22F587D68455E354BABBABCCB6246C54ABD28F3C55AAD34224A16CE7E24E" head: null message: "系统异常" rtnCode: "9999" rtnTime: "2025-06-24 08:54:52" */ return Promise.reject(res) }) /** * 获取个人信息 * 入参 gender f是女 m男 imageAddr: 图片 loginName ID userName 姓名 */ export const queryCurrentUser = (data) => request({ url: '/traapp/access/queryCurrentUser', method: 'post', data }).then(res => { // deptId: "" // deptName: null // loginName: "ADMIN" // todo id // orgId: "00E200" // orgName: "金融科技部" // userId: "USER001" // userName: "ADMIN" / todo name // userStatus: "01" setUserInfo(res.body) console.log('预加载头像'); const base_url = get_base_url() // 预加载头像 // #ifdef APP-PLUS const updateUserAvatar = (imagePath) => { const userInfo = getUserInfo() setUserInfo({ ...userInfo, 'imagePath': imagePath }) } try { const pathName = res.body.imageAddr const url = base_url + pathName // 生成唯一文件名,避免冲突 const filename = pathName.split('/').pop() const localFilePath = '_downloads/' + filename // 先检查是否存在 // uni.getFileInfo({ // filePath: localFilePath, // success: () => { // console.log('头像已存在,无需下载'); // updateUserAvatar(localFilePath) // }, // fail: () => { // console.log('开始下载头像:', url); // const dtask = plus.downloader.createDownload( // url, { // method: 'GET', // filename: '_downloads/' + filename // }, // (download, status) => { // if (status === 200) { // console.log('头像下载成功:', download.filename); // updateUserAvatar(download.filename) // } // } // ) // dtask.start(); // } // }) } catch (error) { console.error('头像预加载过程发生错误:', error); } // #endif return res.body }) //获取隐私协议 export const getYsxy = (data) => request({ url: '/traapp/dfAgtInfo/queryValidDfAgt', method: 'post', data }) //获取服务条款 export const getFutk = (data) => request({ url: '/traapp/dfAgtInfo/queryValidDfAgtTerm', method: 'post', data }) // 获取验证码(作废) export const getLoginAppCheckCode = (data) => request({ url: '/traapp/access/checkCode', method: 'get', data }) // 退出登录 export const loginOut = (data) => request({ url: '/traapp/access/loginOut', method: 'post', data }).then(() => { setToken(null) setUserInfo(null) common.setValue('me_statistics_data', null) // 我的页统计数据缓存 common.setValue('index_statistics_data', null) // 首页统计数据缓存 })