usercontroller.go 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. package controller
  2. import (
  3. "github.com/gin-gonic/gin"
  4. "trading-go/model"
  5. "trading-go/response"
  6. "trading-go/util"
  7. )
  8. // Register
  9. // @Tags 用户模块
  10. // @Summary 创建用户
  11. // @param uid formData string false "用户ID"
  12. // @param name formData string false "用户名"
  13. // @param avatar formData string false "头像"
  14. // @Success 200 {string} json{"code","data","message"}
  15. // @Router /user/register [post]
  16. func Register(c *gin.Context) {
  17. var user model.User
  18. user.Uid = c.PostForm("uid")
  19. user.Name = c.PostForm("name")
  20. user.Avatar = c.PostForm("avatar")
  21. err := user.Register()
  22. if err != nil {
  23. msg := err.Error()
  24. response.Fail(c.Writer, msg, 500)
  25. } else {
  26. msg := "register succeed"
  27. response.Success(c.Writer, msg, nil)
  28. }
  29. }
  30. // Login
  31. // @Tags 用户模块
  32. // @Summary 登录
  33. // @param uid formData string false "用户ID"
  34. // @Success 200 {string} json{"code","data","token"}
  35. // @Router /user/login [post]
  36. func Login(c *gin.Context) {
  37. var user model.User
  38. user.Uid = c.PostForm("uid")
  39. err, nu := user.Login()
  40. if err != nil && err.Error() == "sql: no rows in result set" {
  41. err = util.NoSuchUserError
  42. msg := err.Error()
  43. response.Fail(c.Writer, msg, 403)
  44. return
  45. }
  46. if err != nil {
  47. msg := err.Error()
  48. response.Fail(c.Writer, msg, 500)
  49. return
  50. }
  51. token, err := util.CreatToken(nu.Uid)
  52. if err != nil {
  53. msg := err.Error()
  54. response.Fail(c.Writer, msg, 500)
  55. return
  56. }
  57. data := gin.H{
  58. "token": token,
  59. "user_info": nu,
  60. }
  61. response.Success(c.Writer, "success", data)
  62. }