From 9c21ef74b53777f240bcefa788f517a9453d4512 Mon Sep 17 00:00:00 2001
From: LiuJiaNan <15703339975@163.com>
Date: Tue, 9 Dec 2025 10:33:07 +0800
Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E5=8F=82=E6=95=B0=E8=A7=A3?=
=?UTF-8?q?=E5=AF=86?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
package.json | 1 +
utils/aes_secret.js | 39 +++++++++++++++++++++++++++++++++++++++
utils/request.js | 4 ++++
3 files changed, 44 insertions(+)
create mode 100644 utils/aes_secret.js
diff --git a/package.json b/package.json
index 79817bc..f76ba6d 100644
--- a/package.json
+++ b/package.json
@@ -4,6 +4,7 @@
"description": "
uView
多平台快速开发的UI框架
",
"main": "main.js",
"dependencies": {
+ "crypto-js": "^4.2.0",
"uview-ui": "^2.0.36",
"vue": "^2.7.14",
"vuex-persistedstate": "^3.2.1"
diff --git a/utils/aes_secret.js b/utils/aes_secret.js
new file mode 100644
index 0000000..6448b99
--- /dev/null
+++ b/utils/aes_secret.js
@@ -0,0 +1,39 @@
+import CryptoJS from "crypto-js";
+
+const key = CryptoJS.enc.Utf8.parse("daac3ae52eff4cec"); // 16位
+
+const encrypt = (word) => {
+ let encrypted = "";
+ if (typeof word === "string") {
+ const src = CryptoJS.enc.Utf8.parse(word);
+ encrypted = CryptoJS.AES.encrypt(src, key, {
+ mode: CryptoJS.mode.ECB,
+ padding: CryptoJS.pad.Pkcs7,
+ });
+ } else if (typeof word === "object") {
+ // 对象格式的转成json字符串
+ const data = JSON.stringify(word);
+ const src = CryptoJS.enc.Utf8.parse(data);
+ encrypted = CryptoJS.AES.encrypt(src, key, {
+ mode: CryptoJS.mode.ECB,
+ padding: CryptoJS.pad.Pkcs7,
+ });
+ }
+ return encrypted.ciphertext.toString(CryptoJS.enc.Base64);
+};
+function decryptAes(params) {
+ try {
+ const key = CryptoJS.enc.Utf8.parse("fa4e0fae59534676"); // 16 bytes key for AES
+
+ const bytes = CryptoJS.AES.decrypt(params.info, key, {
+ mode: CryptoJS.mode.ECB,
+ padding: CryptoJS.pad.Pkcs7,
+ });
+ const decryptedText = bytes.toString(CryptoJS.enc.Utf8);
+ return JSON.parse(decryptedText);
+ } catch (e) {
+ console.info(e);
+ }
+}
+
+export { encrypt, decryptAes };
diff --git a/utils/request.js b/utils/request.js
index 2b950e5..f5a4485 100644
--- a/utils/request.js
+++ b/utils/request.js
@@ -6,6 +6,7 @@ let requestPath = 'http://127.0.0.1:8059/xgf_gwj_2.0/'; // 后台请求地址
// let requestPath = 'https://qgxgf.qhdsafety.com/qa-prevention-xgf/'; // 外网地址
import store from '../store/index'
import {setRefreshToken} from "../api/api";
+import {decryptAes} from "@/utils/aes_secret";
function post(url, data) {
return new Promise((resolve, reject) => {
@@ -27,6 +28,7 @@ function post(url, data) {
'token': store.state.userInfo.token || ''
},
success: (res) => {
+ res.data = decryptAes(res.data);
if (res.statusCode != 200){
uni.showToast({
title: '网络错误请重试',
@@ -80,6 +82,7 @@ function upload(url, data) {
'token': store.state.userInfo.token || ''
},
success: (res) => {
+ res.data = decryptAes(res.data);
uni.hideLoading();
if (JSON.parse(res.data).result === 'success') {
resolve(JSON.parse(res.data))
@@ -120,6 +123,7 @@ function uploads(url, data) {
'token': store.state.userInfo.token || ''
},
success: (res) => {
+ res.data = decryptAes(res.data);
uni.hideLoading();
if (JSON.parse(res.data).result === 'success') {
resolve(JSON.parse(res.data))