feat: 完善微信授权登录功能

- 新增半屏授权登录窗口,从底部滑出
- 支持微信头像和昵称选择
- 新用户注册默认3个金币
- 新增注销账号功能,从数据库删除用户
- 删除旧的授权登录页面
- 退出登录和注销后跳转首页
- 优化登录交互体验
This commit is contained in:
H1d3rOne committed 2026-03-10 01:37:24 +08:00
1 parent 832f282ff9
commit 6561e9034b
11 files changed
+593 -563

No files matched your search

@@ -245,4 +245,25 @@ public class UserController {
}
return result;
}
@PostMapping("/deleteAccount")
public Map<String, Object> deleteAccount(@RequestBody Map<String, Object> params) {
Map<String, Object> 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;
}
}
@@ -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);