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

Loading…
Cancel
Save