From e3be1fff523dafd3cce7bdcb594ac3e0e665f538 Mon Sep 17 00:00:00 2001
From: MrShi <1878285526@qq.com>
Date: 星期一, 22 六月 2026 15:09:44 +0800
Subject: [PATCH] 提交

---
 bicycle/utils/http.interceptor.js |   36 ++++++++++++++++++++++++++++++++++++
 1 files changed, 36 insertions(+), 0 deletions(-)

diff --git a/bicycle/utils/http.interceptor.js b/bicycle/utils/http.interceptor.js
index b00e62c..04241e5 100644
--- a/bicycle/utils/http.interceptor.js
+++ b/bicycle/utils/http.interceptor.js
@@ -1,4 +1,9 @@
 const install = (Vue, vm) => {
+	// 鏄惁姝e湪鍒锋柊鐨勬爣璁�
+	let isRefreshing = false
+	// 閲嶈瘯闃熷垪锛屾瘡涓�椤瑰皢鏄竴涓緟鎵ц鐨勫嚱鏁板舰寮�
+	let requests = []
+	
 	// 璇锋眰鎷︽埅鍣�
 	uni.$u.http.interceptors.request.use((config) => {
 		const Headtoken = vm.$store.state.token
@@ -13,6 +18,37 @@
 	
 	// 鍝嶅簲鎷︽埅鍣�
 	uni.$u.http.interceptors.response.use((response) => {
+		if (response.data.code === 5112) {
+			if (!isRefreshing) {
+				isRefreshing = true
+				uni.login({
+					provider: 'weixin',
+					success: async function (loginRes) {
+						let { code } = loginRes;
+						uni.request({
+							url: vm.$baseUrl + 'web/account/wxLogin',
+							method: "GET",
+							data: { code },
+							success: (res) => {
+								console.log('res', res)
+								isRefreshing = false
+								vm.$store.commit('setToken', res.data.data.token)
+								vm.$store.commit('setUserInfo', res.data.data.userResponse)
+								// 宸茬粡鍒锋柊浜唗oken锛屽皢鎵�鏈夐槦鍒椾腑鐨勮姹傝繘琛岄噸璇�
+								requests.forEach(item => item(res.data.data.token))
+								requests = []
+							}
+						});
+					}
+				});
+			}
+			return new Promise((resolve) => {
+				requests.push(token => {
+					response.config.header['token'] = token
+					resolve(uni.$u.http.request(response.config));
+				})
+			})
+		}
 		if (response.data.code === 5113) {
 			uni.navigateTo({
 				url: '/pages/index/index'

--
Gitblit v1.9.3