无人机管理后台前端(已迁走)
linwe
2024-09-05 d521592efbdc595908bf074fdd165e2fa7b6e9be
登录提示
1 files modified
51 ■■■■ changed files
src/axios.js 51 ●●●● patch | view | raw | blame | history
src/axios.js
@@ -8,15 +8,30 @@
import axios from 'axios';
import store from '@/store/';
import router from '@/router/';
import { serialize } from '@/utils/util';
import { getToken, removeToken, removeRefreshToken } from '@/utils/auth';
import { isURL, validatenull } from '@/utils/validate';
import { ElMessage } from 'element-plus';
import {
    serialize
} from '@/utils/util';
import {
    getToken,
    removeToken,
    removeRefreshToken
} from '@/utils/auth';
import {
    isURL,
    validatenull
} from '@/utils/validate';
import {
    ElMessage
} from 'element-plus';
import website from '@/config/website';
import NProgress from 'nprogress'; // progress bar
import 'nprogress/nprogress.css'; // progress bar style
import { Base64 } from 'js-base64';
import { baseUrl } from '@/config/env';
import {
    Base64
} from 'js-base64';
import {
    baseUrl
} from '@/config/env';
import crypto from '@/utils/crypto';
// 全局未授权错误提示状态,只提示一次
@@ -63,9 +78,9 @@
    const cryptoData = config.cryptoData === true;
    const token = getToken();
    if (token && !isToken) {
      config.headers[website.tokenHeader] = cryptoToken
        ? 'crypto ' + crypto.encryptAES(token, crypto.cryptoKey)
        : 'bearer ' + token;
            config.headers[website.tokenHeader] = cryptoToken ?
                'crypto ' + crypto.encryptAES(token, crypto.cryptoKey) :
                'bearer ' + token;
    }
    // 开启报文加密
    // if (cryptoData) {
@@ -117,9 +132,9 @@
          // 获取刷新后的token
          const token = getToken();
          if (token && !isToken) {
            config.headers[website.tokenHeader] = cryptoToken
              ? 'crypto ' + crypto.encryptAES(token, crypto.cryptoKey)
              : 'bearer ' + token;
                        config.headers[website.tokenHeader] = cryptoToken ?
                            'crypto ' + crypto.encryptAES(token, crypto.cryptoKey) :
                            'bearer ' + token;
          }
          // 重新发送原来的请求
          return axios(config);
@@ -129,7 +144,7 @@
          if (!isErrorShown) {
            isErrorShown = true;
            ElMessage({
              message: '用户令牌过期,请重新登录',
                            message: message,
              type: 'error',
            });
          }
@@ -137,7 +152,9 @@
          removeToken();
          removeRefreshToken();
          // 重定向到登录页
          store.dispatch('FedLogOut').then(() => router.push({ path: '/login' }));
                    store.dispatch('FedLogOut').then(() => router.push({
                        path: '/login'
                    }));
          return Promise.reject(new Error(message));
        });
    }
@@ -155,7 +172,9 @@
      removeToken();
      removeRefreshToken();
      // 重定向到登录页
      store.dispatch('FedLogOut').then(() => router.push({ path: '/login' }));
            store.dispatch('FedLogOut').then(() => router.push({
                path: '/login'
            }));
      return Promise.reject(new Error(message));
    }
    // 如果请求为oauth2错误码则首次报错时提示
@@ -172,10 +191,12 @@
    }
    // 如果请求为非200默认统一处理
    if (status !== 200) {
            if (!isErrorShown) {
      ElMessage({
        message: message,
        type: 'error',
      });
            }
      return Promise.reject(new Error(message));
    }
    // 解析加密报文