zhengyiming
5 天以前 c004767a84f293ab98eb3948bbcd2af64b264c57
fix: 等保
1个文件已修改
1个文件已添加
39 ■■■■■ 已修改文件
src/utils/request/common.ts 31 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/utils/request/index.ts 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/utils/request/common.ts
New file
@@ -0,0 +1,31 @@
import cryptoJs from 'crypto-js';
import { type IRequestOptions } from 'senior-request';
const ApiSignPrivateKey = 'X07uIM2cHK5IJhDi4ppoxQglYE21gq3E';
export function getTimestampInSeconds() {
  var date = new Date();
  var timestampInSeconds = Math.floor(date.getTime() / 1000);
  return timestampInSeconds;
}
export function generateApiSign(
  token: string,
  userId: string,
  timestampInSeconds: number | string
) {
  return cryptoJs.MD5(`${token}-${userId}-${timestampInSeconds}-${ApiSignPrivateKey}`).toString();
}
export 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;
}
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 { setRequestheaders } from './common';
// 加载环境变量 VITE_PROXY_DOMAIN(开发环境)  VITE_PROXY_DOMAIN_REAL(打包后的线上环境)
const { VITE_PROXY_DOMAIN, VITE_PROXY_DOMAIN_REAL, DEV } = loadEnv();
@@ -170,7 +171,7 @@
  requestInterceptors: [
    [
      (config) => {
        const $config = config;
        let $config = config;
        // 开启进度条动画
        if (config.needNProcess) {
          NProgress.start();
@@ -210,7 +211,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 +221,8 @@
              }
              resolve(BoleRequest.retryOriginalRequest($config));
            } else {
              $config.headers['Authorization'] = 'Bearer ' + token;
              const userStore = useUserStoreHook();
              $config = setRequestheaders($config, token, userStore.userId);
              resolve($config);
            }
          } else {