WriteOff 注销用户
(ctx *gin.Context)
| 218 | |
| 219 | // WriteOff 注销用户 |
| 220 | func (uh *UserHandler) WriteOff(ctx *gin.Context) { |
| 221 | var req req.DeleteUserReq |
| 222 | if err := ctx.ShouldBindJSON(&req); err != nil { |
| 223 | apiresponse.ErrorWithMessage(ctx, "无效的请求参数") |
| 224 | return |
| 225 | } |
| 226 | |
| 227 | uc, ok := requireUser(ctx) |
| 228 | if !ok { |
| 229 | return |
| 230 | } |
| 231 | |
| 232 | // 删除用户 |
| 233 | if err := uh.svc.DeleteUser(ctx, req.Username, req.Password, uc.Uid); err != nil { |
| 234 | if errors.Is(err, service.ErrInvalidUserOrPassword) { |
| 235 | apiresponse.ErrorWithMessage(ctx, UserDeletedFailure) |
| 236 | return |
| 237 | } |
| 238 | apiresponse.ErrorWithMessage(ctx, UserDeletedFailure) |
| 239 | return |
| 240 | } |
| 241 | |
| 242 | // 清除令牌 |
| 243 | if err := uh.ijwt.ClearToken(ctx); err != nil { |
| 244 | apiresponse.ErrorWithMessage(ctx, "清除令牌失败") |
| 245 | return |
| 246 | } |
| 247 | |
| 248 | apiresponse.Success(ctx) |
| 249 | } |
| 250 | |
| 251 | // GetProfile 获取用户资料 |
| 252 | func (uh *UserHandler) GetProfile(ctx *gin.Context) { |
nothing calls this directly
no test coverage detected