From 74a869b63357f4c18b0903ee666837fd03d265fd Mon Sep 17 00:00:00 2001 From: TiaStars Date: Fri, 22 Nov 2024 14:34:12 +0800 Subject: [PATCH 1/3] bugfix --- .env.development | 2 +- src/layout/components/TagsView/index.vue | 4 +- src/store/getters.js | 1 + src/store/modules/user.js | 5 ++ .../assetsManagement/assetsAuth.vue | 82 ++++++++++++++++--- src/views/auditPages/unitManagement/index.vue | 31 +++---- src/views/system/user/index.vue | 12 +-- 7 files changed, 103 insertions(+), 34 deletions(-) diff --git a/.env.development b/.env.development index bc5430f..a4fa909 100644 --- a/.env.development +++ b/.env.development @@ -5,7 +5,7 @@ VUE_APP_TITLE = 若依管理系统 ENV = 'development' # 若依管理系统/开发环境 -VUE_APP_BASE_API = 'http://192.168.0.108:9015' +VUE_APP_BASE_API = 'http://192.168.0.119:9015' # 路由懒加载 VUE_CLI_BABEL_TRANSPILE_MODULES = true diff --git a/src/layout/components/TagsView/index.vue b/src/layout/components/TagsView/index.vue index 1e5bdc2..ecade49 100644 --- a/src/layout/components/TagsView/index.vue +++ b/src/layout/components/TagsView/index.vue @@ -27,7 +27,7 @@
- {{ name }} + {{ nickName }}
@@ -73,7 +73,7 @@ export default { // } ...mapGetters([ 'avatar', - 'name' + 'nickName' ]), }, watch: { diff --git a/src/store/getters.js b/src/store/getters.js index ed5119c..fc62259 100644 --- a/src/store/getters.js +++ b/src/store/getters.js @@ -8,6 +8,7 @@ const getters = { token: state => state.user.token, avatar: state => state.user.avatar, name: state => state.user.name, + nickName: state => state.user.nickName, useer: state => state.user.useer, introduction: state => state.user.introduction, roles: state => state.user.roles, diff --git a/src/store/modules/user.js b/src/store/modules/user.js index dce69d5..6434f40 100644 --- a/src/store/modules/user.js +++ b/src/store/modules/user.js @@ -6,6 +6,7 @@ const user = { token: getToken(), id: '', name: '', + nickName: '', avatar: '', roles: [], permissions: [], @@ -22,6 +23,9 @@ const user = { SET_NAME: (state, name) => { state.name = name }, + SET_NICK_NAME: (state, name) => { + state.nickName = name + }, SET_NAMEUSE: (state, name) => { state.useer = name }, @@ -68,6 +72,7 @@ const user = { } commit('SET_ID', user.userId) commit('SET_NAME', user.userName) + commit('SET_NICK_NAME', user.nickName) commit('SET_NAMEUSE', user) commit('SET_AVATAR', avatar) resolve(res) diff --git a/src/views/auditPages/assetsManagement/assetsAuth.vue b/src/views/auditPages/assetsManagement/assetsAuth.vue index 769923e..0af6e14 100644 --- a/src/views/auditPages/assetsManagement/assetsAuth.vue +++ b/src/views/auditPages/assetsManagement/assetsAuth.vue @@ -1,5 +1,6 @@ @@ -65,6 +65,7 @@ import { getCodeImg } from "@/api/login"; import Cookies from "js-cookie"; import { encrypt, decrypt } from '@/utils/jsencrypt' +import forge from 'node-forge' export default { name: "Login", @@ -92,7 +93,8 @@ export default { captchaEnabled: true, // 注册开关 register: false, - redirect: undefined + redirect: undefined, + publicKey:`MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAl8bS1kYTiMhIS5MZU253bc0ukaxrA1lfCziABFxQrC2c09tMrQGjuH6V1x2ofNBMGhOD9uWN/qkAQy/HwOe/NKUqCw6N0ov6guSrqMDW/BdZ3Bl0rmM1/95jTC1xffFFvej7xWNffIbaPI+bJ4WLX9NViNi9HmT0BRNzJ4d2R86LPPCa+bxLaPjsh2R2tBkbLkUot9769aJaPPiwPCZHMkuQenjHSmpWL0okleqMH8EGX7j6A5A/4IUXPMNKMMzkiSRpsIJ65GJmDAbnR3ZXRfC8MzVBBJB6zr5N0F4N9xZfF+JS/Yx726tCu+rA6GDCyTxtQ/wnKpPdwFP5nUWCWQIDAQAB` }; }, watch: { @@ -140,7 +142,27 @@ export default { Cookies.remove("password"); Cookies.remove('rememberMe'); } - this.$store.dispatch("Login", this.loginForm).then(() => { + // 生成一个 2048 位的 RSA 密钥对 + const lines = []; + lines.push('-----BEGIN PUBLIC KEY-----'); + for (let i = 0; i < this.publicKey.length; i += 64) { + lines.push(this.publicKey.slice(i, i + 64)); + } + lines.push('-----END PUBLIC KEY-----'); + lines.join('\n') + const publicKey = forge.pki.publicKeyFromPem(lines.join('\n')); + // 将待加密的字符串转换为字节数组 + var dataBytes = forge.util.encodeUtf8(this.loginForm.password); + // 加密数据 + var encryptedBytes = publicKey.encrypt(dataBytes, 'RSA-OAEP', { + md: forge.md.sha256.create(), + mgf1: { + md: forge.md.sha1.create() + } + }); + // 将加密后的字节数组转换为 Base64 编码的字符串 + var encryptedBase64 = forge.util.encode64(encryptedBytes); + this.$store.dispatch("Login", {...this.loginForm, password: encryptedBase64}).then(() => { this.$router.push({ path: this.redirect || "/" }).catch(()=>{}); }).catch(() => { this.loading = false; diff --git a/src/views/system/user/index.vue b/src/views/system/user/index.vue index 7f55ca1..576b0d6 100644 --- a/src/views/system/user/index.vue +++ b/src/views/system/user/index.vue @@ -252,8 +252,8 @@