package user import ( "authService/response" "authService/service/user" "authService/util" "authService/util/constants" "authService/validators" "github.com/gin-gonic/gin" ) // 获取当前登录用户信息 func Profile(c *gin.Context) { cacheUser, _ := util.GetFromGinContext[*validators.AuthUser](c, constants.UserCacheKey) // 获取用户信息 currentUser, err := user.Find(cacheUser.ID) if err != nil { response.Fail(c, err) return } response.Success(c, map[string]any{ "profile": user.Format(currentUser), }) } // 修改当前登录用户信息 func UpdateProfile(c *gin.Context) { type Validator struct { *validators.User OldPassword string `json:"oldPassword" form:"oldPassword" binding:"omitempty,min=6,max=20"` Password string `json:"password" form:"password" binding:"omitempty,min=6,max=20"` } var validator Validator err := c.ShouldBind(&validator) if err != nil { response.FailValidator(c, err) return } cacheUser, _ := util.GetFromGinContext[*validators.AuthUser](c, constants.UserCacheKey) updateErr := user.UpdateMySelf(validator.User, validator.OldPassword, validator.Password, cacheUser.ID) if updateErr != nil { response.Fail(c, updateErr) return } response.Success(c, map[string]any{}) }