From d7df999cf2f5523da5464aadb0fd4c463f6d59e5 Mon Sep 17 00:00:00 2001 From: caozehui <2427765068@qq.com> Date: Mon, 24 Mar 2025 19:22:56 +0800 Subject: [PATCH] =?UTF-8?q?=E7=99=BB=E5=BD=95=E6=8E=A5=E5=8F=A3=E5=8A=A0?= =?UTF-8?q?=E5=AF=86=E4=BC=A0=E8=BE=93=E7=99=BB=E5=BD=95=E4=BF=A1=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- frontend/package.json | 2 + frontend/src/api/user/interface/user.ts | 1 + frontend/src/api/user/login/index.ts | 8 +- .../components/Header/components/Avatar.vue | 3 +- frontend/src/stores/modules/user.ts | 2 +- .../src/views/login/components/LoginForm.vue | 85 ++++++++++++++----- 6 files changed, 77 insertions(+), 24 deletions(-) diff --git a/frontend/package.json b/frontend/package.json index 24e9bd7..a31c982 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -26,6 +26,7 @@ "md5": "^2.3.0", "mitt": "^3.0.1", "mkdirp": "^3.0.1", + "node-forge": "^1.3.1", "nprogress": "^0.2.0", "pinia": "^2.2.1", "pinia-plugin-persistedstate": "^3.2.1", @@ -45,6 +46,7 @@ "@types/html2canvas": "^1.0.0", "@types/md5": "^2.3.2", "@types/node": "^20.14.14", + "@types/node-forge": "^1.3.11", "@types/nprogress": "^0.2.0", "@types/qs": "^6.9.8", "@types/sortablejs": "^1.15.2", diff --git a/frontend/src/api/user/interface/user.ts b/frontend/src/api/user/interface/user.ts index 5ffd2d1..dd03e97 100644 --- a/frontend/src/api/user/interface/user.ts +++ b/frontend/src/api/user/interface/user.ts @@ -5,6 +5,7 @@ export namespace Login { export interface ReqLoginForm { username: string; password: string; + checked: boolean; } export interface ResLogin { accessToken: string; diff --git a/frontend/src/api/user/login/index.ts b/frontend/src/api/user/login/index.ts index 1bde68d..fea5e77 100644 --- a/frontend/src/api/user/login/index.ts +++ b/frontend/src/api/user/login/index.ts @@ -6,7 +6,7 @@ import type { Dict } from '@/api/interface' * @name 登录模块 */ // 用户登录 -export const loginApi = (params: Login.ReqLoginForm) => { +export const loginApi = (params: { username: string; password: string }) => { return http.post(`${rePrefix}/login`, params, { loading: false }) // return http.post(`/Register1`, params, { loading: false }) } @@ -43,3 +43,9 @@ export const getCurrentScene = () => { return http.get('/sysTestConfig/getCurrentScene', {}, { loading: false }) } +/** + * 获取RSA公钥 + */ +export const getPublicKey = () => { + return http.get('/admin/getPublicKey', {}, { loading: false }) +} diff --git a/frontend/src/layouts/components/Header/components/Avatar.vue b/frontend/src/layouts/components/Header/components/Avatar.vue index c74e29a..de46406 100644 --- a/frontend/src/layouts/components/Header/components/Avatar.vue +++ b/frontend/src/layouts/components/Header/components/Avatar.vue @@ -80,7 +80,8 @@ const authStore = useAuthStore(); const modeStore = useModeStore(); const AppSceneStore = useAppSceneStore(); import { useTheme } from "@/hooks/useTheme"; -import { useI18n } from "vue-i18n"; // 引入 vue-i18n 钩子 +import { useI18n } from "vue-i18n"; +import {getPublicKey} from "@/api/user/login"; // 引入 vue-i18n 钩子 const { changePrimary} = useTheme(); // 初始化 i18n diff --git a/frontend/src/stores/modules/user.ts b/frontend/src/stores/modules/user.ts index ea186f3..79fd3ab 100644 --- a/frontend/src/stores/modules/user.ts +++ b/frontend/src/stores/modules/user.ts @@ -26,7 +26,7 @@ export const useUserStore = defineStore({ // Set setUserInfo setUserInfo(userInfo: UserState["userInfo"]) { this.userInfo = userInfo; - }, + } }, persist: piniaPersistConfig(USER_STORE_KEY), }); diff --git a/frontend/src/views/login/components/LoginForm.vue b/frontend/src/views/login/components/LoginForm.vue index 359d96a..8492365 100644 --- a/frontend/src/views/login/components/LoginForm.vue +++ b/frontend/src/views/login/components/LoginForm.vue @@ -9,7 +9,7 @@ @@ -24,11 +24,14 @@ > + + 记住我 +