userinfo.go 2.1 KB

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