加解密配置

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

View File

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

View File

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