MrShi
9 小时以前 4282e1cc35d85e2f84fe37b7f51fde22b374c7c9
mini-program/utils/http.interceptor.js
@@ -14,7 +14,7 @@
            config.header['token'] = HeadShoptoken;
         }
      }else if(config.params  && config.params.tokenType===1){
         config.header['tokenType'] = config.data.tokenType;
         config.header['tokenType'] = config.params.tokenType;
         const HeadShoptoken = vm.$store.state.shopToken 
         if (HeadShoptoken) {
            config.header['token'] = HeadShoptoken;
@@ -51,32 +51,48 @@
                           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('setUserInfo', res.data.data.member)
                           }
                           vm.$store.commit('setOpenId', res.data.data.openid)
                        }
                        if (!isLogin) {
                           if (response.config.header && response.config.header.tokenType != 1) {
                           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) {
                              // 已经刷新了token,将所有队列中的请求进行重试
                              requests.forEach(item => item(res.data.data))
                              requests = []
                           }
                        }
                        // 已经刷新了token,将所有队列中的请求进行重试
                        requests.forEach(item => item(res.data.data))
                        requests = []
                     }
                     },
                  });
               }
            });
         }
         return new Promise((resolve) => {
            // 将resolve放进队列,用一个函数形式来保存,等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) => {
               // 将resolve放进队列,用一个函数形式来保存,等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) {