实现用户信息修改同步到数据库功能

后端实现:
- UserInfoService新增updateUsername和updateAvatarUrl方法
- UserController新增/updateUsername和/updateAvatar接口
- 支持修改用户名和头像URL
- 数据同步保存到user_info表

前端实现:
- api.js新增updateUsername和updateAvatar方法
- “我的”页面editUsername方法改为调用后端API
- 修改成功后同步更新本地缓存
- 错误处理更友好

功能特点:
- 修改用户名实时同步到数据库
- 更新本地缓存确保数据一致性
- “我的账号”页面自动加载最新用户信息
- 所有页面数据来源统一
This commit is contained in:
H1d3rOne committed 2026-03-08 23:17:41 +08:00
1 parent aa0e7403d6
commit 5c8fcce387
4 files changed
+105 -8

No files matched your search

@@ -156,6 +156,54 @@ public class UserController {
return result;
}
@PostMapping("/updateUsername")
public Map<String, Object> updateUsername(@RequestBody Map<String, Object> params) {
Map<String, Object> result = new HashMap<>();
try {
String userId = params.get("userId").toString();
String username = params.get("username").toString();
UserInfo user = userInfoService.updateUsername(userId, username);
if (user != null) {
Map<String, Object> data = new HashMap<>();
data.put("username", user.getUsername());
result.put("success", true);
result.put("data", data);
} else {
result.put("success", false);
result.put("error", "用户不存在");
}
} catch (Exception e) {
result.put("success", false);
result.put("error", e.getMessage());
}
return result;
}
@PostMapping("/updateAvatar")
public Map<String, Object> updateAvatar(@RequestBody Map<String, Object> params) {
Map<String, Object> result = new HashMap<>();
try {
String userId = params.get("userId").toString();
String avatarUrl = params.get("avatarUrl").toString();
UserInfo user = userInfoService.updateAvatarUrl(userId, avatarUrl);
if (user != null) {
Map<String, Object> data = new HashMap<>();
data.put("avatarUrl", user.getAvatarUrl());
result.put("success", true);
result.put("data", data);
} else {
result.put("success", false);
result.put("error", "用户不存在");
}
} catch (Exception e) {
result.put("success", false);
result.put("error", e.getMessage());
}
return result;
}
@PostMapping("/permissionLog")
public Map<String, Object> addPermissionLog(@RequestBody Map<String, Object> params) {
Map<String, Object> result = new HashMap<>();