调整登录状态校验,避免重复checkUser的登录状态
This commit is contained in:
parent
c5fc913a27
commit
b578cf8c60
@ -134,15 +134,12 @@ export const useUserStore = defineStore({
|
||||
},
|
||||
async loginByOpenId(openId: string) {
|
||||
try {
|
||||
// // 先校验当前登录的用户的openid,如果和传入的openid匹配,直接返回true
|
||||
// if (
|
||||
// this.userdata &&
|
||||
// this.userdata.openId &&
|
||||
// openId &&
|
||||
// this.userdata.openId === openId
|
||||
// ) {
|
||||
// return true;
|
||||
// }
|
||||
// 先校验当前登录的用户的openid,如果和传入的openid匹配,直接返回true
|
||||
if (this.userdata && this.userdata.openId && this.userdata.userType === "JS"
|
||||
&& openId && this.userdata.openId === openId
|
||||
) {
|
||||
return true;
|
||||
}
|
||||
// 如果当前登录的用户的openid和传入的openid不匹配,则调用checkOpenId接口进行校验
|
||||
const res = await checkOpenId({
|
||||
openId,
|
||||
@ -171,7 +168,7 @@ export const useUserStore = defineStore({
|
||||
*/
|
||||
checkToken() {
|
||||
// 先校验当前登录的用户的openid
|
||||
if (this.userdata && this.userdata.openId) {
|
||||
if (this.userdata && this.userdata.openId && this.userdata.userType === "JS") {
|
||||
return true;
|
||||
}
|
||||
uni.reLaunch({
|
||||
|
||||
@ -63,9 +63,30 @@ export const interceptor = {
|
||||
}
|
||||
if (response.data) {
|
||||
if (response.data.resultCode === -9998) {
|
||||
uni.reLaunch({
|
||||
url: "/pages/system/login/login",
|
||||
});
|
||||
const store = useUserStore();
|
||||
const userData = store.getUser || {};
|
||||
const openId = userData.openId || '';
|
||||
store.logout();
|
||||
if (openId && openId.length) {
|
||||
// 返回一个新的Promise,用于重新登录并重新调用接口
|
||||
return new Promise((resolve, reject) => {
|
||||
store.loginByOpenId(openId).then(() => {
|
||||
// 重新登录成功后,重新发送原始请求
|
||||
// 使用原始请求配置,但确保包含所有必要参数
|
||||
const originalConfig = response.config;
|
||||
request(Object.assign({}, originalConfig)).then((newResponse: any) => {
|
||||
resolve(newResponse);
|
||||
}).catch((error) => {
|
||||
reject(error);
|
||||
});
|
||||
}).catch((error) => {
|
||||
// 重新登录失败,显示登录过期模态框
|
||||
console.error("重新登录失败:", error);
|
||||
_loginExpiredModal();
|
||||
reject(error);
|
||||
});
|
||||
});
|
||||
}
|
||||
}
|
||||
return response.data;
|
||||
} else {
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user