From 5404f295e471e5bd8bd6aea45dce7ed45a2cd29f Mon Sep 17 00:00:00 2001 From: lbw <1192299468@qq.com> Date: Wed, 24 Dec 2025 10:25:45 +0800 Subject: [PATCH] =?UTF-8?q?feat(auth):=20=E5=AE=9E=E7=8E=B0=E7=94=A8?= =?UTF-8?q?=E6=88=B7=E8=8F=9C=E5=8D=95=E5=8F=8A=E7=99=BB=E5=87=BA=E5=8A=9F?= =?UTF-8?q?=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 在Header组件添加用户下拉菜单,支持显示用户名和操作选项 - 新增点击文档隐藏菜单的事件监听与清理 - 实现登出功能,调用后端登出接口,清理登录状态并跳转主页 - 路由新增管理员页面/admid及其组件admid.vue - 删除unused的首页index.vue页面文件 - 后端新增登出接口/logout,支持用户会话注销 - 修正登录服务实现,修复密码匹配逻辑错误 - 客户端api新增logout接口调用后端登出功能 --- .../service/controller/LoginController.java | 12 ++++ .../service/login/LoginServiceImpl.java | 3 +- enlish-vue/src/api/user.js | 4 ++ enlish-vue/src/layouts/components/Header.vue | 65 ++++++++++++++++--- enlish-vue/src/pages/admid/admid.vue | 19 ++++++ enlish-vue/src/pages/index.vue | 26 -------- enlish-vue/src/router/index.js | 9 ++- 7 files changed, 99 insertions(+), 39 deletions(-) create mode 100644 enlish-vue/src/pages/admid/admid.vue delete mode 100644 enlish-vue/src/pages/index.vue diff --git a/enlish-service/src/main/java/com/yinlihupo/enlish/service/controller/LoginController.java b/enlish-service/src/main/java/com/yinlihupo/enlish/service/controller/LoginController.java index df6190d..82af399 100644 --- a/enlish-service/src/main/java/com/yinlihupo/enlish/service/controller/LoginController.java +++ b/enlish-service/src/main/java/com/yinlihupo/enlish/service/controller/LoginController.java @@ -33,6 +33,18 @@ public class LoginController { } } + @PostMapping("logout") + @ApiOperationLog(description = "登出") + public Response logout() { + try { + StpUtil.logout(); + return Response.success(); + } catch (Exception e) { + log.error("登出失败 {}", e.getMessage()); + return Response.fail("登出失败 " + e.getMessage()); + } + } + @PostMapping("sendVerificationCode") @ApiOperationLog(description = "发送验证码") public Response sendVerificationCode(@RequestBody VerificationCodeReqVO verificationCodeReqVO) { diff --git a/enlish-service/src/main/java/com/yinlihupo/enlish/service/service/login/LoginServiceImpl.java b/enlish-service/src/main/java/com/yinlihupo/enlish/service/service/login/LoginServiceImpl.java index ca0c7a2..af43c23 100644 --- a/enlish-service/src/main/java/com/yinlihupo/enlish/service/service/login/LoginServiceImpl.java +++ b/enlish-service/src/main/java/com/yinlihupo/enlish/service/service/login/LoginServiceImpl.java @@ -59,8 +59,7 @@ public class LoginServiceImpl implements LoginService { if (reqPassword != null && passwordEncoder.matches(reqPassword, userDO.getPassword())) { StpUtil.login(userDO.getId()); - throw new RuntimeException("密码错误"); - + return; } throw new RuntimeException("登录错误"); diff --git a/enlish-vue/src/api/user.js b/enlish-vue/src/api/user.js index 2d87b0c..7b94a85 100644 --- a/enlish-vue/src/api/user.js +++ b/enlish-vue/src/api/user.js @@ -4,6 +4,10 @@ export function login(data) { return axios.post("/login/login", data) } +export function logout() { + return axios.post("/login/logout") +} + export function getVerificationCode(data) { return axios.post("/login/sendVerificationCode", data) } diff --git a/enlish-vue/src/layouts/components/Header.vue b/enlish-vue/src/layouts/components/Header.vue index c07ab11..a4ca3f0 100644 --- a/enlish-vue/src/layouts/components/Header.vue +++ b/enlish-vue/src/layouts/components/Header.vue @@ -8,10 +8,31 @@
- - Get started -