Files
hx123666/scoring/api/login.js

97 lines
2.1 KiB
JavaScript
Raw Normal View History

2025-11-11 18:39:32 +08:00
import { BASE_URL } from '@/utils/CommonValues.js';
import StaticValue from '@/utils/StaticValue.js';
import { GET, GET_TOKEN } from '@/utils/request';
import { login } from '@/api/user.js';
var uuid = '';
var code = '';
const getUserInfo = StaticValue.getUserInfo;
const setUserInfo = StaticValue.setUserInfo;
// 登录系统
export async function loginSystem() {
return new Promise((resolve, reject) => {
// 登录[获取token]
uni.request({
method: 'GET',
url: `${BASE_URL}/captchaImage`,
dataType: 'json',
success: res => {
uuid = res.data.uuid
code = res.data.codeStr
const data = {
"username": "admin",
"password": "admin123",
"uuid": uuid,
"code": code
}
var str = JSON.stringify(data)
uni.request({
method: 'POST',
url: `${BASE_URL}/login`,
header: {
"Content-Type":"application/json;charset=UTF-8"
},
data: str,
dataType: 'json',
success: res => {
if(res.data.code == '200') {
resolve(res.data.token)
} else {
reject(res)
}
},
fail: err => {
reject(res)
}
})
},
fail(error) {
console.log("获取验证码失败", error)
}
})
})
}
export async function getToken() {
// uni.clearStorage('APP_TOKEN')
console.log("获取token被执行了")
loginSystem().then(token => {
uni.setStorage({
key: 'APP_TOKEN',
data: token,
success(res) {
console.log("存入token", token, res)
},
fail(err) {
console.log("存入token失败", token, err)
}
})
}).catch(error => {
console.log("获取token失败", error)
})
setTimeout(() => {
getToken();
}, 58*60*1000)
}
// 校验本地登录信息
export async function checkLoginStatus() {
const userInfo = getUserInfo();
if(!userInfo) {
return;
}
const token = await loginSystem();
console.log(token)
if(token.data) {
// 如果有code表示没有拿到token
checkLoginStatus()
return;
}
login(userInfo).then(res => {
const userData = res.data;
// 保存信息到本地
setUserInfo(userData);
console.log('自动登录成功:', userData);
}).catch(err => {
console.log('login err: ', err);
})
}