|
@@ -7,6 +7,7 @@ const install = (Vue, vm) => {
|
|
originalData: true,
|
|
originalData: true,
|
|
dataType: 'text'
|
|
dataType: 'text'
|
|
});
|
|
});
|
|
|
|
+
|
|
// 请求拦截,配置Token等参数
|
|
// 请求拦截,配置Token等参数
|
|
Vue.prototype.$u.http.interceptor.request = (config) => {
|
|
Vue.prototype.$u.http.interceptor.request = (config) => {
|
|
if (vm.vuex_token) {
|
|
if (vm.vuex_token) {
|
|
@@ -26,44 +27,15 @@ const install = (Vue, vm) => {
|
|
return config;
|
|
return config;
|
|
};
|
|
};
|
|
// 响应拦截,判断状态码是否通过
|
|
// 响应拦截,判断状态码是否通过
|
|
- Vue.prototype.$u.http.interceptor.response = (res) => {
|
|
|
|
|
|
+ Vue.prototype.$u.http.interceptor.response = res => {
|
|
// 解决出现数据精度缺失问题
|
|
// 解决出现数据精度缺失问题
|
|
const jsonBigint = require('json-bigint')({ storeAsString: true });
|
|
const jsonBigint = require('json-bigint')({ storeAsString: true });
|
|
res = jsonBigint.parse(res.data);
|
|
res = jsonBigint.parse(res.data);
|
|
if (res.code == 200) {
|
|
if (res.code == 200) {
|
|
return res;
|
|
return res;
|
|
} else if (res.code == 401 || (res.code == 400 && res.msg == '令牌不能为空')) {
|
|
} else if (res.code == 401 || (res.code == 400 && res.msg == '令牌不能为空')) {
|
|
- const backUrl = location.href,
|
|
|
|
- openidPage = vm.config.onlyWxLogin, // 只需要传openid的页面集合
|
|
|
|
- needValidPage = openidPage.filter((item) => backUrl.indexOf(item) > -1); // 是否为需要验证的页面集合
|
|
|
|
- // 判断浏览器
|
|
|
|
- const ua = window.navigator.userAgent.toLowerCase();
|
|
|
|
- // 微信中打开
|
|
|
|
- if (ua.match(/MicroMessenger/i) == 'micromessenger') {
|
|
|
|
- // 防止重复跳转
|
|
|
|
- if (backUrl.indexOf('backUrl') === -1) {
|
|
|
|
- vm.$u.route('pages/wechatLogin/wechatLogin', { backUrl: encodeURIComponent(backUrl), loginType: needValidPage.length ? 2 : 1 });
|
|
|
|
- }
|
|
|
|
- } else {
|
|
|
|
- // 普通浏览器中打开
|
|
|
|
- if (backUrl.indexOf('backUrl') === -1) {
|
|
|
|
- localStorage.setItem('backUrl', encodeURIComponent(backUrl));
|
|
|
|
- }
|
|
|
|
- uni.showModal({
|
|
|
|
- title: '提示',
|
|
|
|
- content: '未查询到登录信息或信息已失效, 请重新登录',
|
|
|
|
- showCancel: false,
|
|
|
|
- success: function (res) {
|
|
|
|
- if (res.confirm) {
|
|
|
|
- localStorage.removeItem('lifeData');
|
|
|
|
- uni.redirectTo({
|
|
|
|
- url: '/pages/center/phoneLogin/phoneLogin'
|
|
|
|
- });
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- });
|
|
|
|
- }
|
|
|
|
- return false;
|
|
|
|
|
|
+ login(vm);
|
|
|
|
+ return false
|
|
} else {
|
|
} else {
|
|
// 用来判断时候需要使用当前提示框
|
|
// 用来判断时候需要使用当前提示框
|
|
const noTipMsg = ['无任何订单'];
|
|
const noTipMsg = ['无任何订单'];
|
|
@@ -80,6 +52,39 @@ const install = (Vue, vm) => {
|
|
};
|
|
};
|
|
};
|
|
};
|
|
|
|
|
|
|
|
+const login = (vm) => {
|
|
|
|
+ const backUrl = location.href,
|
|
|
|
+ openidPage = vm.config.onlyWxLogin, // 只需要传openid的页面集合
|
|
|
|
+ needValidPage = openidPage.filter((item) => backUrl.indexOf(item) > -1); // 是否为需要验证的页面集合
|
|
|
|
+ // 判断浏览器
|
|
|
|
+ const ua = window.navigator.userAgent.toLowerCase();
|
|
|
|
+ // 微信中打开
|
|
|
|
+ if (ua.match(/MicroMessenger/i) == 'micromessenger') {
|
|
|
|
+ // 防止重复跳转
|
|
|
|
+ if (backUrl.indexOf('backUrl') === -1) {
|
|
|
|
+ vm.$u.route('pages/wechatLogin/wechatLogin', { backUrl: encodeURIComponent(backUrl), loginType: needValidPage.length ? 2 : 1 });
|
|
|
|
+ }
|
|
|
|
+ } else {
|
|
|
|
+ // 普通浏览器中打开
|
|
|
|
+ if (backUrl.indexOf('backUrl') === -1) {
|
|
|
|
+ localStorage.setItem('backUrl', encodeURIComponent(backUrl));
|
|
|
|
+ }
|
|
|
|
+ uni.showModal({
|
|
|
|
+ title: '提示',
|
|
|
|
+ content: '未查询到登录信息或信息已失效, 请重新登录',
|
|
|
|
+ showCancel: false,
|
|
|
|
+ success: function (res) {
|
|
|
|
+ if (res.confirm) {
|
|
|
|
+ localStorage.removeItem('lifeData');
|
|
|
|
+ uni.redirectTo({
|
|
|
|
+ url: '/pages/center/phoneLogin/phoneLogin'
|
|
|
|
+ });
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ });
|
|
|
|
+ }
|
|
|
|
+};
|
|
|
|
+
|
|
export default {
|
|
export default {
|
|
install
|
|
install
|
|
};
|
|
};
|