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