加解密配置

This commit is contained in:
BianLzhaoMin 2025-09-04 14:43:54 +08:00
parent 447baa7e29
commit fb5c50e605
3 changed files with 25 additions and 6 deletions

View File

@ -3,6 +3,8 @@
* Copyright (c) 2019 bonus
*/
import { encryptWithSM4 } from '@/utils/sm'
// 日期格式化
export function parseTime(time, pattern) {
if (arguments.length === 0 || !time) {
@ -216,7 +218,7 @@ export function handleTree(data, id, parentId, children) {
* 参数处理
* @param {*} params 参数
*/
export function tansParams(params) {
export function tansParams(params, isEncrypt = false) {
let result = ''
for (const propName of Object.keys(params)) {
const value = params[propName]
@ -239,6 +241,11 @@ export function tansParams(params) {
}
}
}
if (isEncrypt) {
// result = result.slice(0, -1)
result = encryptWithSM4(result)
}
return result
}

View File

@ -75,8 +75,10 @@ service.interceptors.request.use(
// get请求映射params参数
if (config.method === 'get' && config.params) {
let url = config.url + '?' + tansParams(config.params)
url = url.slice(0, -1)
let isEncrypt =
systemConfig.requestConfig.encryptRequest && encryptRequest
let url = config.url + '?' + tansParams(config.params, isEncrypt)
// url = url.slice(0, -1)
config.params = {}
config.url = url
}

View File

@ -91,11 +91,21 @@ service.interceptors.request.use(
// 检查是否是FormData对象
if (config.data instanceof FormData) {
// 对于FormData我们创建一个对象来保存数据以便验证
const formDataObj = {}
const formDataObj = new FormData()
config.data.forEach((value, key) => {
formDataObj[key] = value
const isFile = value instanceof File
if (
systemConfig.requestConfig.encryptRequest &&
encryptRequest &&
!isFile
) {
formDataObj.append(key, encryptWithSM4(value))
} else {
formDataObj.append(key, value)
}
})
dataStr = JSON.stringify(formDataObj)
config.data = formDataObj
// dataStr = JSON.stringify(formDataObj)
// 保持Content-Type为multipart/form-data由浏览器自动设置
delete config.headers['Content-Type']
} else {