| | |
| | | } |
| | | } |
| | | } |
| | | // 当开启参数加密 |
| | | if (isEncrypt && (config.method === 'post' || config.method === 'put')) { |
| | | // 生成一个 AES 密钥 |
| | | const aesKey = generateAesKey(); |
| | | config.headers[encryptHeader] = encrypt(encryptBase64(aesKey)); |
| | | config.data = typeof config.data === 'object' ? encryptWithAes(JSON.stringify(config.data), aesKey) : encryptWithAes(config.data, aesKey); |
| | | if (import.meta.env.VITE_APP_ENCRYPT === 'true') { |
| | | // 当开启参数加密 |
| | | if (isEncrypt && (config.method === 'post' || config.method === 'put')) { |
| | | // 生成一个 AES 密钥 |
| | | const aesKey = generateAesKey(); |
| | | config.headers[encryptHeader] = encrypt(encryptBase64(aesKey)); |
| | | config.data = typeof config.data === 'object' ? encryptWithAes(JSON.stringify(config.data), aesKey) : encryptWithAes(config.data, aesKey); |
| | | } |
| | | } |
| | | // FormData数据去请求头Content-Type |
| | | if (config.data instanceof FormData) { |
| | |
| | | // 响应拦截器 |
| | | service.interceptors.response.use( |
| | | (res: AxiosResponse) => { |
| | | // 加密后的 AES 秘钥 |
| | | const keyStr = res.headers[encryptHeader]; |
| | | // 加密 |
| | | if (keyStr != null && keyStr != '') { |
| | | const data = res.data; |
| | | // 请求体 AES 解密 |
| | | const base64Str = decrypt(keyStr); |
| | | // base64 解码 得到请求头的 AES 秘钥 |
| | | const aesKey = decryptBase64(base64Str.toString()); |
| | | // aesKey 解码 data |
| | | const decryptData = decryptWithAes(data, aesKey); |
| | | // 将结果 (得到的是 JSON 字符串) 转为 JSON |
| | | res.data = JSON.parse(decryptData); |
| | | if (import.meta.env.VITE_APP_ENCRYPT === 'true') { |
| | | // 加密后的 AES 秘钥 |
| | | const keyStr = res.headers[encryptHeader]; |
| | | // 加密 |
| | | if (keyStr != null && keyStr != '') { |
| | | const data = res.data; |
| | | // 请求体 AES 解密 |
| | | const base64Str = decrypt(keyStr); |
| | | // base64 解码 得到请求头的 AES 秘钥 |
| | | const aesKey = decryptBase64(base64Str.toString()); |
| | | // aesKey 解码 data |
| | | const decryptData = decryptWithAes(data, aesKey); |
| | | // 将结果 (得到的是 JSON 字符串) 转为 JSON |
| | | res.data = JSON.parse(decryptData); |
| | | } |
| | | } |
| | | // 未设置状态码则默认成功状态 |
| | | const code = res.data.code || HttpStatus.SUCCESS; |