zhengyiming
8 天以前 f0d6792717c39b5ce39273dc4e407e063e36f8de
src/utils/request/index.ts
@@ -8,6 +8,7 @@
import { ElLoading as Loading, ElNotification } from 'element-plus';
import { router } from '@/router';
import { Message, tokenIsExpired } from '@/utils';
import { generateApiSign, getTimestampInSeconds } from './common';
// 加载环境变量 VITE_PROXY_DOMAIN(开发环境)  VITE_PROXY_DOMAIN_REAL(打包后的线上环境)
const { VITE_PROXY_DOMAIN, VITE_PROXY_DOMAIN_REAL, DEV } = loadEnv();
@@ -97,6 +98,19 @@
  withCredentials: true,
};
function setRequestheaders(config: IRequestOptions, accessToken: string, userId: string) {
  config.headers['Authorization'] = 'Bearer ' + accessToken;
  const timestampInSeconds = getTimestampInSeconds();
  config.headers['userId'] = userId;
  config.headers['time'] = timestampInSeconds;
  config.headers['sign'] = generateApiSign(
    config.headers['Authorization'],
    userId,
    timestampInSeconds
  );
  return config;
}
const config: RequestConfig<ResponseStructure, IRequestOptions> = {
  ...AxiosOptions,
@@ -170,7 +184,7 @@
  requestInterceptors: [
    [
      (config) => {
        const $config = config;
        let $config = config;
        // 开启进度条动画
        if (config.needNProcess) {
          NProgress.start();
@@ -210,7 +224,7 @@
                    clientId: userStore.accountInfo.client_id,
                  })
                  .then((res) => {
                    $config.headers['Authorization'] = 'Bearer ' + res.accessToken;
                    $config = setRequestheaders($config, res.accessToken, userStore.userId);
                    BoleRequest.requests.forEach((cb) => cb(res.accessToken));
                    BoleRequest.requests = [];
                  })
@@ -220,7 +234,8 @@
              }
              resolve(BoleRequest.retryOriginalRequest($config));
            } else {
              $config.headers['Authorization'] = 'Bearer ' + token;
              const userStore = useUserStoreHook();
              $config = setRequestheaders($config, token, userStore.userId);
              resolve($config);
            }
          } else {