var
wujingjing
2025-02-18 6789050c488dc2c41fa02f7b664df9f08dac8f7a
src/utils/request.ts
@@ -1,15 +1,17 @@
import type { AxiosInstance, AxiosRequestConfig } from 'axios';
import type { AxiosInstance, AxiosRequestConfig, CancelToken } from 'axios';
import axios from 'axios';
import { ElLoadingService, ElMessage } from 'element-plus';
import router from '../router';
import { debounce } from './util';
import { debounce, decodeFormData } from './util';
import { AUTH_URL, MAIN_URL, SECONDARY_URL } from '/@/constants';
import { Local, Session } from '/@/utils/storage';
import { Logger } from '../model/logger/Logger';
// import JSONbig from 'json-bigint';
export type ExtraConfig = {
   loading?: boolean;
   noAuth?: boolean;
   handleFail?: boolean;
   cancelToken?: CancelToken | undefined;
};
export const checkAuth = () => {
   const session = Local.get(accessSessionKey);
@@ -113,17 +115,22 @@
               case ErrorCode.Auth:
                  handleNoAuth();
                  throw '权限验证失败';
                  break;
               case ErrorCode.Exception:
                  const param = res.config.data ? `\n    请求参数:${JSON.stringify(decodeFormData(res.config.data))}\n` : '';
                  ElMessage.error('内部错误!');
                  throw '内部错误';
                  Logger.error(`${res.config.url} 响应失败${param}`, serveData?.json_msg && new Error(serveData?.json_msg));
                  throw '';
                  return res.data;
            }
            // 非 message error,且 handleFail 为 true
            // message error 不需要处理
            if (handleFail && serveData?.err_code !== ErrorCode.Message) {
               const errorText = serveData?.json_msg || '响应失败!';
               const errorText = serveData?.json_msg;
               ElMessage.error(errorText);
               throw errorText;
               const param = res.config.data ? `\n    请求参数:${JSON.stringify(decodeFormData(res.config.data))}\n` : '';
               Logger.error(`${res.config.url} 响应失败${param}`, errorText && new Error(errorText));
               throw '';
            }
         }
         return res.data;
@@ -199,6 +206,7 @@
   const domainPrefix = subDomainName ? `${subDomainName}-` : '';
   return domainPrefix;
};
export const domainPrefix = getDomainPrefix(window);
// token 键定义
const sessionName = 'access-session';
@@ -208,7 +216,7 @@
   phoneNumber?: string;
};
const getDomainKey = (suffix: string) => getDomainPrefix() + suffix;
const getDomainKey = (suffix: string) => suffix;
export const accessSessionKey = getDomainKey(sessionName);
export const userInfoKey = getDomainKey(userInfoName);