feat(api): Add phone field to user profile endpoints

- Add Phone field to UserInfoWithPerms response struct
    - Add Phone to UpdateMeRequest for profile updates
    - Include phone in user info query and update handlers
master
veypi 3 weeks ago
parent e627ab0726
commit 78ae8440ef

@ -26,6 +26,7 @@ type UserInfoWithPerms struct {
Username string `json:"username"`
Nickname string `json:"nickname"`
Email *string `json:"email"`
Phone *string `json:"phone"`
Avatar string `json:"avatar"`
Permissions []UserPermissionInfo `json:"permissions"`
Roles []string `json:"roles"`
@ -70,6 +71,7 @@ func me(x *vigo.X) (*UserInfoWithPerms, error) {
Username: user.Username,
Nickname: user.Nickname,
Email: user.Email,
Phone: user.Phone,
Avatar: user.Avatar,
Permissions: userPerms,
Roles: roles,
@ -81,6 +83,7 @@ type UpdateMeRequest struct {
Nickname *string `json:"nickname,omitempty" src:"json" desc:"昵称"`
Avatar *string `json:"avatar,omitempty" src:"json" desc:"头像"`
Email *string `json:"email,omitempty" src:"json" desc:"邮箱"`
Phone *string `json:"phone,omitempty" src:"json" desc:"手机号"`
}
// updateMe 更新当前用户信息
@ -97,6 +100,9 @@ func updateMe(x *vigo.X, req *UpdateMeRequest) (*UserInfoWithPerms, error) {
if req.Avatar != nil {
updates["avatar"] = *req.Avatar
}
if req.Phone != nil {
updates["phone"] = *req.Phone
}
if req.Email != nil {
// 检查邮箱是否被其他用户使用
var count int64

Loading…
Cancel
Save