gerson
2024-07-04 806020211c46dbea8a2ef321e78d54fb001057a0
src/utils/request.ts
@@ -1,6 +1,8 @@
import type { AxiosInstance, AxiosRequestConfig } from 'axios';
import axios from 'axios';
import { ElMessage } from 'element-plus';
import emitter from './mitt';
import { debounce } from './util';
import { AUTH_URL, MAIN_URL, SECONDARY_URL } from '/@/constants';
import { Local, Session } from '/@/utils/storage';
// import JSONbig from 'json-bigint';
@@ -12,6 +14,10 @@
}
//#endregion
const openLoginDlg = debounce(() => {
   emitter.emit('openLoginDlg');
});
const initRequestInterceptor = (request: AxiosInstance) => {
   // 添加请求拦截器
   request.interceptors.request.use(
@@ -21,6 +27,8 @@
         if (accessSession) {
            // 将 token 添加到请求报文头中
            config.headers['hswatersession'] = accessSession;
         } else {
            openLoginDlg();
         }
         return config;
      },
@@ -55,9 +63,8 @@
         if (!serveData.json_ok) {
            switch (serveData?.err_code) {
               case ErrorCode.Auth:
                  // clearAccessTokens();
                  // window.location.reload();
                  break;
                  openLoginDlg();
                  throw '权限验证失败';
            }
            const msg = serveData.json_msg ?? '';
@@ -132,6 +139,8 @@
const domainPrefix = subDomainName ? `${subDomainName}-` : '';
// token 键定义
export const accessSessionKey = domainPrefix + 'access-session';
export const userNameKey = domainPrefix + 'userName';
export const refreshAccessTokenKey = `x-${accessSessionKey}`;
// userInfo键定义