无人机管理后台前端(已迁走)
rain
2025-06-12 0082fa417fb2af9add3406bf05ab3e3e45890c34
src/axios.js
@@ -5,6 +5,7 @@
 * isSerialize是否开启form表单提交
 * isToken是否需要token
 */
import axios from 'axios';
import store from '@/store/';
import router from '@/router/';
@@ -62,6 +63,7 @@
         config.url = baseUrl + config.url;
      }
      //安全请求header
      config.headers['areaCode'] = store?.state?.user?.userInfo?.detail?.areaCode
      config.headers['Blade-Requested-With'] = 'BladeHttpRequest';
      //headers判断是否需要
      const authorization = config.authorization === false;
@@ -114,9 +116,24 @@
      NProgress.done();
      const status = res.data.error_code || res.data.code || res.status;
      const statusWhiteList = website.statusWhiteList || [];
      const message = res.data.msg || res.data.error_description || '系统错误';
      const message = res.data.msg || res.data.error_description || res.data.message ||'系统错误';
      const config = res.config;
      const cryptoData = config.cryptoData === true;
      if (status === 511) {
         ElMessage({
            message: '请联系运维人员上传密钥证书!',
            type: 'error',
         });
         // 获取当前路由名称
         const currentRouteName = router.currentRoute.value.name;
         // 如果当前路由不是登录页,则跳转到登录页
         if (currentRouteName !== '登录页') {
            store.dispatch('FedLogOut').then(() => router.push({
               path: '/login'
            }));
         }
         return Promise.reject(new Error(message));
      }
      //如果在白名单里则自行catch逻辑处理
      if (statusWhiteList.includes(status)) return Promise.reject(res);
      // 如果是401并且没有重试过,尝试刷新token
@@ -191,7 +208,7 @@
         return Promise.reject(new Error(message));
      }
      // 如果请求为非200默认统一处理
      if (status !== 200) {
      if (status !== 200 && status !== 0) {
         if (!isErrorShown) {
            ElMessage({
               message: message,