优化登录逻辑
This commit is contained in:
@ -654,3 +654,94 @@ export const PosterCanvas = (store, successCallBack) => {
|
|||||||
// }
|
// }
|
||||||
// })
|
// })
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
export const handleLoginFailure = () => {
|
||||||
|
|
||||||
|
// token 失效
|
||||||
|
// 判断当前是不是已经在登录页面或者授权页,防止二次跳转
|
||||||
|
if (store.getters.isAuthorizationPage || getCurrentPageUrl() == '/pages/user/Login/index') {
|
||||||
|
console.log('已经是登录页面或者授权页面,跳出方法')
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
store.commit("LOGOUT");
|
||||||
|
store.commit("UPDATE_AUTHORIZATION", false);
|
||||||
|
store.commit("UPDATE_AUTHORIZATIONPAGE", true);
|
||||||
|
|
||||||
|
let path = getCurrentPageUrlWithArgs()
|
||||||
|
|
||||||
|
// 判断是不是拼团进来的
|
||||||
|
if (getCurrentPageUrl() == 'pages/activity/GroupRule/index' && handleQrCode()) {
|
||||||
|
console.log('是拼团进来的')
|
||||||
|
let url = handleQrCode();
|
||||||
|
console.log(url)
|
||||||
|
if (url) {
|
||||||
|
path = parseUrl({
|
||||||
|
path: `/${getCurrentPageUrl()}`,
|
||||||
|
query: {
|
||||||
|
id: url.pinkId,
|
||||||
|
}
|
||||||
|
})
|
||||||
|
// cookie.set("spread", url.spread || 0);
|
||||||
|
} else {
|
||||||
|
console.log('是拼团进来的,但是没有获取到参数')
|
||||||
|
switchTab({
|
||||||
|
path: '/pages/home/index',
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 判断是不是扫描的砍价海报进来的
|
||||||
|
if (getCurrentPageUrl() == 'pages/activity/DargainDetails/index' && handleQrCode()) {
|
||||||
|
console.log('是扫描的砍价海报进来的')
|
||||||
|
let url = handleQrCode();
|
||||||
|
console.log(url)
|
||||||
|
// bargainId: "36"
|
||||||
|
// bargainUserUid: 1404
|
||||||
|
|
||||||
|
// bargainId: "36"
|
||||||
|
// codeType: "routine"
|
||||||
|
// pageType: "dargain"
|
||||||
|
// spread: "1404"
|
||||||
|
// uid: "1404"
|
||||||
|
if (url) {
|
||||||
|
path = parseUrl({
|
||||||
|
path: `/${getCurrentPageUrl()}`,
|
||||||
|
query: {
|
||||||
|
id: url.bargainId,
|
||||||
|
partake: url.uid
|
||||||
|
}
|
||||||
|
})
|
||||||
|
// cookie.set("spread", url.spread || 0);
|
||||||
|
} else {
|
||||||
|
console.log('是扫描的砍价海报进来的,但是没有获取到参数')
|
||||||
|
switchTab({
|
||||||
|
path: '/pages/home/index',
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (getCurrentPageUrl() == 'pages/shop/GoodsCon/index' && handleQrCode()) {
|
||||||
|
console.log('是扫描的商品详情')
|
||||||
|
let url = handleQrCode();
|
||||||
|
console.log(url)
|
||||||
|
if (url) {
|
||||||
|
path = parseUrl({
|
||||||
|
path: `/${getCurrentPageUrl()}`,
|
||||||
|
query: {
|
||||||
|
id: url.productId,
|
||||||
|
}
|
||||||
|
})
|
||||||
|
cookie.set("spread", url.spread || 0);
|
||||||
|
} else {
|
||||||
|
switchTab({
|
||||||
|
path: '/pages/home/index',
|
||||||
|
});
|
||||||
|
console.log('是扫描的商品详情进来的,但是没有获取到参数')
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
routerPermissions(path)
|
||||||
|
}
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
import Fly from "flyio/dist/npm/wx";
|
import Fly from "flyio/dist/npm/wx";
|
||||||
import $store from "../store";
|
import $store from "../store";
|
||||||
import toLogin from "@/libs/login";
|
import { handleLoginFailure } from "@/utils";
|
||||||
import { VUE_APP_API_URL } from "@/config";
|
import { VUE_APP_API_URL } from "@/config";
|
||||||
import cookie from "@/utils/store/cookie";
|
import cookie from "@/utils/store/cookie";
|
||||||
|
|
||||||
@ -16,11 +16,11 @@ fly.interceptors.response.use(
|
|||||||
},
|
},
|
||||||
error => {
|
error => {
|
||||||
if (error.toString() == 'Error: Network Error') {
|
if (error.toString() == 'Error: Network Error') {
|
||||||
toLogin();
|
handleLoginFailure();
|
||||||
return Promise.reject({ msg: "未登录", toLogin: true });
|
return Promise.reject({ msg: "未登录", toLogin: true });
|
||||||
}
|
}
|
||||||
if (error.status == 401) {
|
if (error.status == 401) {
|
||||||
toLogin();
|
handleLoginFailure();
|
||||||
return Promise.reject({ msg: "未登录", toLogin: true });
|
return Promise.reject({ msg: "未登录", toLogin: true });
|
||||||
}
|
}
|
||||||
return Promise.reject(error);
|
return Promise.reject(error);
|
||||||
@ -44,7 +44,7 @@ function baseRequest(options) {
|
|||||||
// 如果需要登录才可访问的接口没有拿到 token 视为登录失效
|
// 如果需要登录才可访问的接口没有拿到 token 视为登录失效
|
||||||
if (options.login === true && !token) {
|
if (options.login === true && !token) {
|
||||||
// 跳转到登录或授权页面
|
// 跳转到登录或授权页面
|
||||||
toLogin();
|
handleLoginFailure();
|
||||||
// 提示错误信息
|
// 提示错误信息
|
||||||
return Promise.reject({ msg: "未登录", toLogin: true });
|
return Promise.reject({ msg: "未登录", toLogin: true });
|
||||||
}
|
}
|
||||||
@ -60,7 +60,7 @@ function baseRequest(options) {
|
|||||||
return Promise.reject({ msg: "请求失败", res, data });
|
return Promise.reject({ msg: "请求失败", res, data });
|
||||||
}
|
}
|
||||||
if ([410000, 410001, 410002].indexOf(data.status) !== -1) {
|
if ([410000, 410001, 410002].indexOf(data.status) !== -1) {
|
||||||
toLogin();
|
handleLoginFailure();
|
||||||
return Promise.reject({ msg: res.data.msg, res, data, toLogin: true });
|
return Promise.reject({ msg: res.data.msg, res, data, toLogin: true });
|
||||||
} else if (data.status === 200) {
|
} else if (data.status === 200) {
|
||||||
return Promise.resolve(data, res);
|
return Promise.resolve(data, res);
|
||||||
|
Reference in New Issue
Block a user