MrShi
8 小时以前 cd687c57b7c99cf9543bc4ae903e71ff0ef37a84
mini-program/utils/http.interceptor.js
@@ -18,7 +18,7 @@
   // 响应拦截器
   uni.$u.http.interceptors.response.use((response) => {
      // 登录过期
      if (response.data.code === 401) {
      if (response.data.code === 5111) {
         if (!isRefreshing) {   // 是否已经执行刷新
            isRefreshing = true
            uni.login({
@@ -26,12 +26,16 @@
               success: async function (loginRes) {
                  let { code } = loginRes;
                  uni.request({
                     url: vm.$baseUrl + 'mobile/system/login',
                     url: vm.$baseUrl + 'web/account/wxLogin',
                     method: "GET",
                     data: { code },
                     success: (res) => {
                        isRefreshing = false
                        vm.$store.commit('setToken', res.data.data)
                        vm.$store.commit('setToken', res.data.token)
                        vm.$store.commit('setUserInfo', res.data.member)
                        vm.$store.commit('setOpenId', res.data.member.openId)
                        // 已经刷新了token,将所有队列中的请求进行重试
                        requests.forEach(item => item(res.data.data))
                        requests = []