From 6561e9034bff5045f342d8dea7950bed7c18c202 Mon Sep 17 00:00:00 2001 From: H1d3rOne Date: Tue, 10 Mar 2026 01:37:24 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E5=AE=8C=E5=96=84=E5=BE=AE=E4=BF=A1?= =?UTF-8?q?=E6=8E=88=E6=9D=83=E7=99=BB=E5=BD=95=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 新增半屏授权登录窗口,从底部滑出 - 支持微信头像和昵称选择 - 新用户注册默认3个金币 - 新增注销账号功能,从数据库删除用户 - 删除旧的授权登录页面 - 退出登录和注销后跳转首页 - 优化登录交互体验 --- .../java/xuan/controller/UserController.java | 21 + .../java/xuan/service/UserInfoService.java | 15 +- xuan-deduct-uniapp/src/App.vue | 158 ++--- .../src/components/auth-modal/auth-modal.vue | 563 +++++++++++++----- xuan-deduct-uniapp/src/manifest.json | 3 +- xuan-deduct-uniapp/src/pages.json | 8 - xuan-deduct-uniapp/src/pages/auth/auth.vue | 283 --------- xuan-deduct-uniapp/src/pages/index/index.vue | 49 +- xuan-deduct-uniapp/src/pages/mine/account.vue | 47 +- xuan-deduct-uniapp/src/pages/mine/mine.vue | 2 +- xuan-deduct-uniapp/src/utils/api.js | 7 + 11 files changed, 593 insertions(+), 563 deletions(-) delete mode 100644 xuan-deduct-uniapp/src/pages/auth/auth.vue diff --git a/src/main/java/xuan/controller/UserController.java b/src/main/java/xuan/controller/UserController.java index 31f1155..851b8dc 100644 --- a/src/main/java/xuan/controller/UserController.java +++ b/src/main/java/xuan/controller/UserController.java @@ -245,4 +245,25 @@ public class UserController { } return result; } + + @PostMapping("/deleteAccount") + public Map deleteAccount(@RequestBody Map params) { + Map result = new HashMap<>(); + try { + String userId = params.get("userId").toString(); + + boolean deleted = userInfoService.deleteAccount(userId); + if (deleted) { + result.put("success", true); + result.put("message", "账号已注销"); + } else { + result.put("success", false); + result.put("error", "用户不存在"); + } + } catch (Exception e) { + result.put("success", false); + result.put("error", e.getMessage()); + } + return result; + } } diff --git a/src/main/java/xuan/service/UserInfoService.java b/src/main/java/xuan/service/UserInfoService.java index f667861..71038e2 100644 --- a/src/main/java/xuan/service/UserInfoService.java +++ b/src/main/java/xuan/service/UserInfoService.java @@ -16,7 +16,9 @@ public class UserInfoService { public UserInfo loginOrRegister(String openId, String nickname, String avatarUrl) { UserInfo user = userInfoRepository.findByOpenId(openId); if (user != null) { - return user; + user.setNickname(nickname); + user.setAvatarUrl(avatarUrl); + return userInfoRepository.save(user); } user = new UserInfo(); @@ -26,7 +28,7 @@ public class UserInfoService { user.setUsername(generateUsername()); user.setUserId(generateUserId()); user.setVipLevel(0); - user.setCoins(10); + user.setCoins(3); user.setStreakDays(0); return userInfoRepository.save(user); @@ -108,6 +110,15 @@ public class UserInfoService { return null; } + public boolean deleteAccount(String userId) { + UserInfo user = userInfoRepository.findByUserId(userId); + if (user != null) { + userInfoRepository.delete(user); + return true; + } + return false; + } + private String generateUsername() { String prefix = "玄机用户"; String suffix = generateRandomString(6); diff --git a/xuan-deduct-uniapp/src/App.vue b/xuan-deduct-uniapp/src/App.vue index aff7a6a..e758b8b 100644 --- a/xuan-deduct-uniapp/src/App.vue +++ b/xuan-deduct-uniapp/src/App.vue @@ -1,21 +1,11 @@ - - diff --git a/xuan-deduct-uniapp/src/pages/index/index.vue b/xuan-deduct-uniapp/src/pages/index/index.vue index ce86211..9d73a86 100644 --- a/xuan-deduct-uniapp/src/pages/index/index.vue +++ b/xuan-deduct-uniapp/src/pages/index/index.vue @@ -155,21 +155,66 @@ + +