jiangping
2025-07-16 712c080180b9e8511b4e1c26d707882a557b26c7
h5/utils/http.interceptor.js
@@ -1,68 +1,32 @@
import { decryptedData } from '@/utils/decryption.js'
const install = (Vue, vm) => {
   // 是否正在刷新的标记
   let isRefreshing = false
   // 重试队列,每一项将是一个待执行的函数形式
   let requests = []
   // 请求拦截器
   uni.$u.http.interceptors.request.use((config) => {
      // if (!['mobile/chatLog/unReadMessageNum', 'mobile/Message/messageList'].includes(config.url)) {
      //    uni.showLoading({ title: '请求中' });
      // }
      uni.showLoading({ title: '请求中' });
      let Headtoken
      if (vm.$store.state.userInfo) {
         Headtoken = vm.$store.state.userInfo.token
      }
      const Headtoken = vm.$store.state.token
      // 判断有无token,有则加入请求头中
      if (Headtoken) {
         config.header['web_token'] = Headtoken;
         config.header['token'] = Headtoken;
      }
      return config
      return config;
   }, config => {
      return Promise.reject(config)
   })
   
   // 响应拦截器
   uni.$u.http.interceptors.response.use((response) => {
      uni.hideLoading();
      // 登录过期
      if (response.data.code === 5112) {
         uni.showToast({
            title: '登录过期,正在重新跳转授权',
            icon: 'none',
            duration: 2000,
            success() {
               setTimeout(() => {
                  let loc_href = encodeURIComponent("https://dmtest.ahapp.net/lianhelihua_web/")
                  let corpId = 'wweea8f71b54e3b835';
                  let agentId = '1000095';
                  let wxUrl = `https://open.weixin.qq.com/connect/oauth2/authorize?appid=${corpId}&redirect_uri=${loc_href}&response_type=code&scope=snsapi_base&state=#wechat_redirect`
                  location.href = wxUrl;
               }, 1500)
            }
         })
      if (response.data.code === 5113) {
         uni.navigateTo({
            url: '/pages/login/login'
         });
         return
      }
      if (response.data.code !== 200) {
         uni.showToast({
            title: response.data.message || response.data.msg,
            title: response.data.message,
            icon: "none",
            duration: 2000
         });
      }
      if (response.data.message) {
         const tm = response.data.message
         const list = tm.split(' ')
         let msg = list[0]
         if (list.length > 1 && response.data.data) {
           msg = decryptedData(list[1], list[0])
           response.data.data = decryptedData(list[1], response.data.data)
           console.log(response.data.data)
           response.data.message = msg
         }
      }
      return response.data;
      return response.data
   }, (response) => {
      return Promise.reject(response)
   })