diff --git a/mayfly_go_web/package.json b/mayfly_go_web/package.json
index 9f08c35d..dc88bb1b 100644
--- a/mayfly_go_web/package.json
+++ b/mayfly_go_web/package.json
@@ -14,6 +14,7 @@
"cropperjs": "^1.5.11",
"echarts": "^5.3.3",
"element-plus": "^2.2.9",
+ "jsencrypt": "^3.2.1",
"jsoneditor": "^9.9.0",
"lodash": "^4.17.21",
"mitt": "^3.0.0",
@@ -23,7 +24,7 @@
"sql-formatter": "^7.0.3",
"vue": "^3.2.37",
"vue-clipboard3": "^1.0.1",
- "vue-router": "^4.0.16",
+ "vue-router": "^4.1.2",
"vuex": "^4.0.2",
"xterm": "^4.19.0",
"xterm-addon-fit": "^0.5.0"
diff --git a/mayfly_go_web/src/common/openApi.ts b/mayfly_go_web/src/common/openApi.ts
index 2bd17f60..e72c5136 100644
--- a/mayfly_go_web/src/common/openApi.ts
+++ b/mayfly_go_web/src/common/openApi.ts
@@ -2,6 +2,8 @@ import request from './request'
export default {
login: (param: any) => request.request('POST', '/sys/accounts/login', param, null),
+ changePwd: (param: any) => request.request('POST', '/sys/accounts/change-pwd', param, null),
+ getPublicKey: () => request.request('GET', '/common/public-key', null, null),
captcha: () => request.request('GET', '/sys/captcha', null, null),
logout: (param: any) => request.request('POST', '/sys/accounts/logout/{token}', param, null),
getMenuRoute: (param: any) => request.request('Get', '/sys/resources/account', param, null)
diff --git a/mayfly_go_web/src/common/rsa.ts b/mayfly_go_web/src/common/rsa.ts
new file mode 100644
index 00000000..8f907e56
--- /dev/null
+++ b/mayfly_go_web/src/common/rsa.ts
@@ -0,0 +1,37 @@
+import openApi from './openApi';
+import JSEncrypt from 'jsencrypt'
+import { notBlank } from './assert';
+
+var encryptor: any = null
+
+export async function getRsaPublicKey() {
+ let publicKey = sessionStorage.getItem('RsaPublicKey')
+ if (publicKey) {
+ return publicKey
+ }
+ publicKey = await openApi.getPublicKey() as string
+ sessionStorage.setItem('RsaPublicKey', publicKey)
+ return publicKey
+}
+
+/**
+ * 公钥加密指定值
+ *
+ * @param value value
+ * @returns 加密后的值
+ */
+export async function RsaEncrypt(value: any) {
+ // 不存在则返回空值
+ if (!value) {
+ return ""
+ }
+ if (encryptor != null) {
+ return encryptor.encrypt(value)
+ }
+ console.log(value)
+ encryptor = new JSEncrypt()
+ const publicKey = await getRsaPublicKey() as string;
+ notBlank(publicKey, "获取公钥失败")
+ encryptor.setPublicKey(publicKey)//设置公钥
+ return encryptor.encrypt(value)
+}
\ No newline at end of file
diff --git a/mayfly_go_web/src/views/login/component/AccountLogin.vue b/mayfly_go_web/src/views/login/component/AccountLogin.vue
index b17cdd7a..c43d37f4 100644
--- a/mayfly_go_web/src/views/login/component/AccountLogin.vue
+++ b/mayfly_go_web/src/views/login/component/AccountLogin.vue
@@ -1,54 +1,75 @@
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
![]()
+
+
+
+
+
+
+ 登 录
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
![]()
-
-
-
-
-
-
- 登 录
-
-
-
+
+
+
+
+
+
+
+