97 lines
2.1 KiB
JavaScript
97 lines
2.1 KiB
JavaScript
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);
|
|
})
|
|
} |