userinfo.go 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. package entity
  2. import "time"
  3. // LoginRequest 登录请求参数
  4. type LoginRequest struct {
  5. UserName string `form:"username" binding:"required"`
  6. Password string `form:"password" binding:"required"`
  7. }
  8. // Login 登录返回数据结构
  9. type Login struct {
  10. Uid int64 `json:"uid"`
  11. Username string `json:"username"`
  12. Type int `json:"type"`
  13. Avatar string `json:"avatar"`
  14. Status int8 `json:"status"`
  15. Token string `json:"token"`
  16. Expire int64 `json:"expire"`
  17. ExpiresAt time.Time `json:"expires_at"`
  18. }
  19. // RegisterRequest 注册请求参数
  20. type RegisterRequest struct {
  21. UserName string `form:"username" binding:"required"`
  22. Password string `form:"password" binding:"required"`
  23. Email string `form:"email"`
  24. }
  25. // UserInfo 返回给接口的用户信息,带Code和Msg
  26. type UserInfo struct {
  27. Code ResCode
  28. Msg string
  29. Body User
  30. }
  31. type UserInfoAPI struct {
  32. Code ResCode `json:"code"`
  33. Msg string `json:"msg"`
  34. Body UserInfoAPIData `json:"data"`
  35. }
  36. type UserInfoAPIData struct {
  37. Uid int64 `json:"uid"`
  38. Username string `json:"username"`
  39. Type int `json:"type"`
  40. Status int8 `json:"status"`
  41. Token string `json:"token"`
  42. Avatar string `json:"avatar"`
  43. }
  44. // User 用户信息
  45. type User struct {
  46. Uid int64 `gorm:"column:uid" json:"uid"`
  47. Username string `gorm:"column:nickname" json:"username"`
  48. Email string `gorm:"column:email" json:"email"`
  49. Password string `gorm:"column:password" json:"password"`
  50. Avatar string `gorm:"column:avatar" json:"avatar"`
  51. Salt string `gorm:"column:salt" json:"salt"`
  52. Status int8 `gorm:"column:status;default:1" json:"status"`
  53. CreateAt time.Time `gorm:"column:create_at" json:"create_at"`
  54. UpdateAt time.Time `gorm:"column:update_at;default:CURRENT_TIMESTAMP" json:"update_at"`
  55. }
  56. // ChangePasswordRequest 修改密码提交的数据,用户id从jwt的中间件中获取
  57. type ChangePasswordRequest struct {
  58. Password string `form:"password" binding:"required"`
  59. }
  60. type ChangeEmailRequest struct {
  61. Email string `form:"email" binding:"required"`
  62. }