Browse Source

优化登录逻辑

master
gaoxs 5 years ago
parent
commit
15694002e8
  1. 91
      utils/index.js
  2. 10
      utils/request.js

91
utils/index.js

@ -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)
}

10
utils/request.js

@ -1,6 +1,6 @@
import Fly from "flyio/dist/npm/wx";
import $store from "../store";
import toLogin from "@/libs/login";
import { handleLoginFailure } from "@/utils";
import { VUE_APP_API_URL } from "@/config";
import cookie from "@/utils/store/cookie";
@ -16,11 +16,11 @@ fly.interceptors.response.use(
},
error => {
if (error.toString() == 'Error: Network Error') {
toLogin();
handleLoginFailure();
return Promise.reject({ msg: "未登录", toLogin: true });
}
if (error.status == 401) {
toLogin();
handleLoginFailure();
return Promise.reject({ msg: "未登录", toLogin: true });
}
return Promise.reject(error);
@ -44,7 +44,7 @@ function baseRequest(options) {
// 如果需要登录才可访问的接口没有拿到 token 视为登录失效
if (options.login === true && !token) {
// 跳转到登录或授权页面
toLogin();
handleLoginFailure();
// 提示错误信息
return Promise.reject({ msg: "未登录", toLogin: true });
}
@ -60,7 +60,7 @@ function baseRequest(options) {
return Promise.reject({ msg: "请求失败", res, data });
}
if ([410000, 410001, 410002].indexOf(data.status) !== -1) {
toLogin();
handleLoginFailure();
return Promise.reject({ msg: res.data.msg, res, data, toLogin: true });
} else if (data.status === 200) {
return Promise.resolve(data, res);

Loading…
Cancel
Save