Quellcode durchsuchen

Merge branch 'master' of http://39.97.59.228:8013/hrx/mky-vent-base

lxh vor 4 Stunden
Ursprung
Commit
eb59557d75

+ 15 - 0
.env

@@ -20,3 +20,18 @@ VITE_GLOB_APP_OPEN_QIANKUN=true
 
 # 文件预览地址
 VITE_GLOB_ONLINE_VIEW_URL=http://fileview.jeecg.com/onlinePreview
+
+# AES加密配置 (缓存加密) — 使用 charCode 方式
+VITE_CACHE_CIPHER_KEY_CHAR_CODE=95,49,49,49,49,49,48,48,48,48,48,49,49,49,49,64
+VITE_CACHE_CIPHER_IV_CHAR_CODE=64,49,49,49,49,49,48,48,48,48,48,49,49,49,49,95
+
+# AES加密配置 (登录密码加密) — 使用 charCode 方式
+VITE_LOGIN_CIPHER_KEY_CHAR_CODE=95,49,49,49,49,49,48,48,48,48,48,49,49,49,49,64
+VITE_LOGIN_CIPHER_IV_CHAR_CODE=64,49,49,49,49,49,48,48,48,48,48,49,49,49,49,95
+
+# Mock登录用户名/密码 — 使用 charCode 方式
+VITE_MOCK_LOGIN_USERNAME_CHAR_CODE=97,117,116,111,65,100,109,105,110
+VITE_MOCK_LOGIN_PASSWORD_CHAR_CODE=97,117,116,111,65,100,109,105,110,49,50,51
+
+# 签名密钥串(前后端要一致) — 使用 charCode 方式
+VITE_SIGNATURE_SECRET_CHAR_CODE=100,100,48,53,102,49,99,53,52,100,54,51,55,52,57,101,100,97,57,53,102,57,102,97,54,100,52,57,118,52,52,50,97

+ 0 - 1
src/enums/cacheEnum.ts

@@ -1,4 +1,3 @@
-export const PWD_KEY = 'PWD__';
 // token key
 export const TOKEN_KEY = 'TOKEN__';
 

+ 5 - 5
src/settings/encryptionSetting.ts

@@ -1,18 +1,18 @@
-import { isDevMode } from '/@/utils/env';
+import { isDevMode, fromEnvCharCodes } from '/@/utils/env';
 
 // 缓存默认过期时间
 export const DEFAULT_CACHE_TIME = 60 * 60 * 24 * 7;
 
 // 开启缓存加密后,加密密钥。采用aes加密
 export const cacheCipher = {
-  key: '_11111000001111@',
-  iv: '@11111000001111_',
+  key: fromEnvCharCodes(import.meta.env.VITE_CACHE_CIPHER_KEY_CHAR_CODE),
+  iv: fromEnvCharCodes(import.meta.env.VITE_CACHE_CIPHER_IV_CHAR_CODE),
 };
 
 // 开启登录密码加密,采用aes加密
 export const loginCipher = {
-  key: '_11111000001111@',
-  iv: '@11111000001111_',
+  key: fromEnvCharCodes(import.meta.env.VITE_LOGIN_CIPHER_KEY_CHAR_CODE),
+  iv: fromEnvCharCodes(import.meta.env.VITE_LOGIN_CIPHER_IV_CHAR_CODE),
 };
 
 // 是否加密缓存,默认生产环境加密

+ 4 - 2
src/store/constant.ts

@@ -1,2 +1,4 @@
-export const MOCK_LOGIN_UESRNAME = 'autoAdmin';
-export const MOCK_LOGIN_PASSWORD = 'autoAdmin123';
+import { fromEnvCharCodes } from '/@/utils/env';
+
+export const MOCK_LOGIN_UESRNAME = fromEnvCharCodes(import.meta.env.VITE_MOCK_LOGIN_USERNAME_CHAR_CODE);
+export const MOCK_LOGIN_PASSWORD = fromEnvCharCodes(import.meta.env.VITE_MOCK_LOGIN_PASSWORD_CHAR_CODE);

+ 1 - 6
src/store/modules/user.ts

@@ -3,7 +3,7 @@ import type { ErrorMessageMode, SuccessMessageMode } from '/#/axios';
 import { defineStore } from 'pinia';
 import { store } from '/@/store';
 import { PageEnum } from '/@/enums/pageEnum';
-import { ROLES_KEY, TOKEN_KEY, USER_INFO_KEY, LOGIN_INFO_KEY, DB_DICT_DATA_KEY, TENANT_ID, PWD_KEY } from '/@/enums/cacheEnum';
+import { ROLES_KEY, TOKEN_KEY, USER_INFO_KEY, LOGIN_INFO_KEY, DB_DICT_DATA_KEY, TENANT_ID } from '/@/enums/cacheEnum';
 import { getAuthCache, setAuthCache } from '/@/utils/auth';
 import { AutoLoginParams, GetUserInfoModel, LoginParams, ThirdLoginParams } from '/@/api/sys/model/userModel';
 import { autoLoginApi, doLogout, getUserInfo, loginApi, phoneLoginApi, thirdLogin } from '/@/api/sys/user';
@@ -93,11 +93,6 @@ export const useUserStore = defineStore({
     },
   },
   actions: {
-    /** 设置用户密码并加密,理论上加密、解密的工作应仅在此模块进行 */
-    setPassword(password: string) {
-      // setAuthCache(PWD_KEY, AES.encrypt(password, PWD_KEY));
-      setAuthCache(PWD_KEY, btoa(password));
-    },
     setToken(info: string | undefined) {
       this.token = info ? info : ''; // for null or undefined value
       setAuthCache(TOKEN_KEY, info);

+ 0 - 2
src/utils/cache/persistent.ts

@@ -17,7 +17,6 @@ import {
   TENANT_ID,
   LOGIN_INFO_KEY,
   OAUTH2_THIRD_LOGIN_TENANT_ID,
-  PWD_KEY,
   MODAL_TYPE,
 } from '/@/enums/cacheEnum';
 import { DEFAULT_CACHE_TIME } from '/@/settings/encryptionSetting';
@@ -25,7 +24,6 @@ import { toRaw } from 'vue';
 import { pick, omit } from 'lodash-es';
 
 interface BasicStore {
-  [PWD_KEY]: string | undefined;
   [TOKEN_KEY]: string | number | null | undefined;
   [USER_INFO_KEY]: UserInfo;
   [ROLES_KEY]: string[];

+ 4 - 2
src/utils/encryption/signMd5Utils.js

@@ -1,6 +1,8 @@
 import md5 from 'md5';
-//签名密钥串(前后端要一致,正式发布请自行修改)
-const signatureSecret = 'dd05f1c54d63749eda95f9fa6d49v442a';
+import { fromEnvCharCodes } from '/@/utils/env';
+
+// 签名密钥串(前后端要一致,正式发布请自行修改,通过环境变量配置)
+const signatureSecret = fromEnvCharCodes(import.meta.env.VITE_SIGNATURE_SECRET_CHAR_CODE);
 
 export default class signMd5Utils {
   /**

+ 9 - 0
src/utils/env.ts

@@ -94,6 +94,15 @@ export function isProdMode(): boolean {
   return import.meta.env.PROD;
 }
 
+/**
+ * 从 Vite 环境变量中读取逗号分隔的 charCode 数组,还原为字符串
+ * @param charCodeStr 环境变量值,如 "95,49,49,64"
+ */
+export function fromEnvCharCodes(charCodeStr: string | undefined): string {
+  if (!charCodeStr) return '';
+  return String.fromCharCode(...charCodeStr.split(',').map(Number));
+}
+
 export function getHomePath(key): string {
   let homePath = '/micro-vent-3dModal/dashboard/analysis';
   switch (key) {

+ 7 - 0
types/global.d.ts

@@ -74,6 +74,13 @@ declare global {
     VITE_BUILD_COMPRESS: 'gzip' | 'brotli' | 'none';
     VITE_BUILD_COMPRESS_DELETE_ORIGIN_FILE: boolean;
     VITE_GLOB_DOMAIN_URL: string;
+    VITE_CACHE_CIPHER_KEY_CHAR_CODE: string;
+    VITE_CACHE_CIPHER_IV_CHAR_CODE: string;
+    VITE_LOGIN_CIPHER_KEY_CHAR_CODE: string;
+    VITE_LOGIN_CIPHER_IV_CHAR_CODE: string;
+    VITE_MOCK_LOGIN_USERNAME_CHAR_CODE: string;
+    VITE_MOCK_LOGIN_PASSWORD_CHAR_CODE: string;
+    VITE_SIGNATURE_SECRET_CHAR_CODE: string;
     PROD: boolean;
   }