Parcourir la source

GET请求增加是否加密参数配置

cfort il y a 1 an
Parent
commit
9f45344bb6
3 fichiers modifiés avec 18 ajouts et 6 suppressions
  1. 3 1
      public/config.js
  2. 2 0
      src/constant.js
  3. 13 5
      src/utils/request.js

+ 3 - 1
public/config.js

@@ -72,7 +72,9 @@
         // 润乾报表根目录
         // 润乾报表根目录
         REPORT_PATH: '金通医学实验室管理系统',
         REPORT_PATH: '金通医学实验室管理系统',
         // 是否显示开启明文SQL
         // 是否显示开启明文SQL
-        SHOW_PLAINTEXT: false
+        SHOW_PLAINTEXT: false,
+        // 是否加密 GET 请求参数
+        ENCRYPT_GET_PARAMS: false
     }
     }
 
 
 })(window)
 })(window)

+ 2 - 0
src/constant.js

@@ -62,3 +62,5 @@ export const SYSTEM_NAME = __IBPS_CONFIG__.SYSTEM_NAME || '金通医学实验室
 export const REPORT_PATH = __IBPS_CONFIG__.REPORT_PATH || '金通医学实验室管理系统'
 export const REPORT_PATH = __IBPS_CONFIG__.REPORT_PATH || '金通医学实验室管理系统'
 // 是否显示明文SQL,开发环境默认显示
 // 是否显示明文SQL,开发环境默认显示
 export const SHOW_PLAINTEXT = __IBPS_CONFIG__.SHOW_PLAINTEXT || env.NODE_ENV === 'development'
 export const SHOW_PLAINTEXT = __IBPS_CONFIG__.SHOW_PLAINTEXT || env.NODE_ENV === 'development'
+// 是否加密 GET 请求参数
+export const ENCRYPT_GET_PARAMS = __IBPS_CONFIG__.ENCRYPT_GET_PARAMS || false

+ 13 - 5
src/utils/request.js

@@ -17,6 +17,7 @@ import I18n from '@/utils/i18n'
 import Utils from '@/utils/util'
 import Utils from '@/utils/util'
 import Ids from 'ids'
 import Ids from 'ids'
 import setting from '@/setting.js'
 import setting from '@/setting.js'
+import { encryptByAes } from '@/utils/encrypt'
 
 
 // 验权
 // 验权
 import { getToken, updateToken, removeRefreshToken } from '@/utils/auth'
 import { getToken, updateToken, removeRefreshToken } from '@/utils/auth'
@@ -26,7 +27,7 @@ import { showFullScreenLoading, tryHideFullScreenLoading } from './loading'
 
 
 import requestState from '@/constants/state'
 import requestState from '@/constants/state'
 import { BASE_API, BASE_GATEWAY_API } from '@/api/baseUrl'
 import { BASE_API, BASE_GATEWAY_API } from '@/api/baseUrl'
-import { HEADER_TOKEN_KEY, HEADER_SYSTEM_ID, HEADER_TENANT_ID, MULTIPLE_DOMAIN, API_DOMAIN_NAMES } from '@/constant'
+import { HEADER_TOKEN_KEY, HEADER_SYSTEM_ID, HEADER_TENANT_ID, MULTIPLE_DOMAIN, API_DOMAIN_NAMES, ENCRYPT_GET_PARAMS } from '@/constant'
 
 
 // 请求超时(timeout)时间
 // 请求超时(timeout)时间
 const TIMEOUT = setting.requestTimeout
 const TIMEOUT = setting.requestTimeout
@@ -92,11 +93,18 @@ service.interceptors.request.use(async config => {
     if (Utils.isNotEmpty(config.overtime)) {
     if (Utils.isNotEmpty(config.overtime)) {
         config.timeout = config.overtime
         config.timeout = config.overtime
     }
     }
-    // 防止缓存
+    // 防止缓存,参数加密
     if (config.method.toUpperCase() === 'GET') {
     if (config.method.toUpperCase() === 'GET') {
-        config.params = {
-            ...config.params,
-            _t: new Ids([32, 36, 1]).next()
+        if (ENCRYPT_GET_PARAMS) {
+            config.params = {
+                _p: Utils.isNotEmpty(config.params) ? encryptByAes(JSON.stringify(config.params)) : undefined,
+                _t: new Ids([32, 36, 1]).next()
+            }
+        } else {
+            config.params = {
+                ...config.params,
+                _t: new Ids([32, 36, 1]).next()
+            }
         }
         }
     }
     }