From 4282e1cc35d85e2f84fe37b7f51fde22b374c7c9 Mon Sep 17 00:00:00 2001
From: MrShi <1878285526@qq.com>
Date: 星期二, 24 二月 2026 11:27:18 +0800
Subject: [PATCH] 合并
---
mini-program/utils/http.interceptor.js | 60 ++++++++++++++++++++++++++++++++++++++++++++++--------------
1 files changed, 46 insertions(+), 14 deletions(-)
diff --git a/mini-program/utils/http.interceptor.js b/mini-program/utils/http.interceptor.js
index 5937e68..aa7c2d6 100644
--- a/mini-program/utils/http.interceptor.js
+++ b/mini-program/utils/http.interceptor.js
@@ -6,12 +6,15 @@
// 璇锋眰鎷︽埅鍣�
uni.$u.http.interceptors.request.use((config) => {
+ console.log(config)
if(config.data && config.data.tokenType===1){
+ config.header['tokenType'] = config.data.tokenType;
const HeadShoptoken = vm.$store.state.shopToken
if (HeadShoptoken) {
config.header['token'] = HeadShoptoken;
}
}else if(config.params && config.params.tokenType===1){
+ config.header['tokenType'] = config.params.tokenType;
const HeadShoptoken = vm.$store.state.shopToken
if (HeadShoptoken) {
config.header['token'] = HeadShoptoken;
@@ -30,7 +33,7 @@
// 鍝嶅簲鎷︽埅鍣�
uni.$u.http.interceptors.response.use((response) => {
// 鐧诲綍杩囨湡
- if (response.data.code === 5111) {
+ if ([5111, 5112].includes(response.data.code)) {
if (!isRefreshing) { // 鏄惁宸茬粡鎵ц鍒锋柊
isRefreshing = true
uni.login({
@@ -43,24 +46,53 @@
data: { code },
success: (res) => {
isRefreshing = false
- vm.$store.commit('setToken', res.data.data.token)
- vm.$store.commit('setUserInfo', res.data.data.member)
- vm.$store.commit('setOpenId', res.data.data.openid)
- // 宸茬粡鍒锋柊浜唗oken锛屽皢鎵�鏈夐槦鍒椾腑鐨勮姹傝繘琛岄噸璇�
- requests.forEach(item => item(res.data.data))
- requests = []
- }
+ let isLogin = false
+ if (res.data.data) {
+ if (res.data.data.token) {
+ isLogin = true
+ vm.$store.commit('setToken', res.data.data.token)
+ vm.$store.commit('setUserInfo', res.data.data.member)
+ }
+ vm.$store.commit('setOpenId', res.data.data.openid)
+ }
+ if (!isLogin) {
+ if (!response.config.header || response.config.header.tokenType != 1) {
+ uni.switchTab({
+ url: '/pages/index/index'
+ })
+ }
+ }else{
+ if (!response.config.header || response.config.header.tokenType != 1) {
+ // 宸茬粡鍒锋柊浜唗oken锛屽皢鎵�鏈夐槦鍒椾腑鐨勮姹傝繘琛岄噸璇�
+ requests.forEach(item => item(res.data.data))
+ requests = []
+ }
+ }
+ },
});
}
});
}
- return new Promise((resolve) => {
- // 灏唕esolve鏀捐繘闃熷垪锛岀敤涓�涓嚱鏁板舰寮忔潵淇濆瓨锛岀瓑token鍒锋柊鍚庣洿鎺ユ墽琛�
- requests.push(token => {
- response.config.header['eva-auth-token'] = token
- resolve(uni.$u.http.request(response.config));
+
+ if ( response.config.header.tokenType != 1) {
+ return new Promise((resolve) => {
+ // 灏唕esolve鏀捐繘闃熷垪锛岀敤涓�涓嚱鏁板舰寮忔潵淇濆瓨锛岀瓑token鍒锋柊鍚庣洿鎺ユ墽琛�
+ requests.push(token => {
+ response.config.header['token'] = token
+ resolve(uni.$u.http.request(response.config));
+ })
})
- })
+ }else{
+ var pages = getCurrentPages();
+ console.log(pages[0].route)
+ console.log(pages[pages.length-1].route)
+ console.log(pages.length && pages[pages.length-1].route != 'pages/login/login')
+ if(pages.length && pages[pages.length-1].route != 'pages/login/login'){
+ uni.redirectTo({
+ url: '/pages/login/login'
+ })
+ }
+ }
}
// 鎺ュ彛涓氬姟鎶ラ敊
if (response.data.code !== 200) {
--
Gitblit v1.9.3