调整登录状态校验,避免重复checkUser的登录状态
This commit is contained in:
parent
c5fc913a27
commit
b578cf8c60
@ -134,15 +134,12 @@ export const useUserStore = defineStore({
|
|||||||
},
|
},
|
||||||
async loginByOpenId(openId: string) {
|
async loginByOpenId(openId: string) {
|
||||||
try {
|
try {
|
||||||
// // 先校验当前登录的用户的openid,如果和传入的openid匹配,直接返回true
|
// 先校验当前登录的用户的openid,如果和传入的openid匹配,直接返回true
|
||||||
// if (
|
if (this.userdata && this.userdata.openId && this.userdata.userType === "JS"
|
||||||
// this.userdata &&
|
&& openId && this.userdata.openId === openId
|
||||||
// this.userdata.openId &&
|
) {
|
||||||
// openId &&
|
return true;
|
||||||
// this.userdata.openId === openId
|
}
|
||||||
// ) {
|
|
||||||
// return true;
|
|
||||||
// }
|
|
||||||
// 如果当前登录的用户的openid和传入的openid不匹配,则调用checkOpenId接口进行校验
|
// 如果当前登录的用户的openid和传入的openid不匹配,则调用checkOpenId接口进行校验
|
||||||
const res = await checkOpenId({
|
const res = await checkOpenId({
|
||||||
openId,
|
openId,
|
||||||
@ -171,7 +168,7 @@ export const useUserStore = defineStore({
|
|||||||
*/
|
*/
|
||||||
checkToken() {
|
checkToken() {
|
||||||
// 先校验当前登录的用户的openid
|
// 先校验当前登录的用户的openid
|
||||||
if (this.userdata && this.userdata.openId) {
|
if (this.userdata && this.userdata.openId && this.userdata.userType === "JS") {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
uni.reLaunch({
|
uni.reLaunch({
|
||||||
|
|||||||
@ -63,9 +63,30 @@ export const interceptor = {
|
|||||||
}
|
}
|
||||||
if (response.data) {
|
if (response.data) {
|
||||||
if (response.data.resultCode === -9998) {
|
if (response.data.resultCode === -9998) {
|
||||||
uni.reLaunch({
|
const store = useUserStore();
|
||||||
url: "/pages/system/login/login",
|
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;
|
return response.data;
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user