Files
tra-app/src/api/login.js
T
2025-07-21 16:51:50 +08:00

201 lines
4.6 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
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) // 首页统计数据缓存
})