user.go 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103
  1. package api
  2. import (
  3. "fmt"
  4. "github.com/gin-gonic/gin"
  5. "main/model/dbModel"
  6. )
  7. type RegistAndLoginStuct struct {
  8. UserName string `json:"userName"`
  9. PassWord string `json:"passWord"`
  10. }
  11. // @Tags User
  12. // @Summary 用户注册账号
  13. // @Produce application/json
  14. // @Param data body api.RegistAndLoginStuct true "用户注册接口"
  15. // @Success 200 {string} json "{"success":true,"data":{},"msg":"注册成功"}"
  16. // @Router /user/regist [post]
  17. func Regist(c *gin.Context) {
  18. var R RegistAndLoginStuct
  19. _ = c.BindJSON(&R)
  20. U := &dbModel.User{UserName: R.UserName, PassWord: R.PassWord}
  21. err, user := U.Regist()
  22. if err != nil {
  23. c.JSON(200, gin.H{
  24. "success": false,
  25. "msg": fmt.Sprintf("%v", err),
  26. "data": gin.H{
  27. "user": user,
  28. },
  29. })
  30. } else {
  31. c.JSON(200, gin.H{
  32. "success": true,
  33. "msg": "创建成功",
  34. "data": gin.H{
  35. "user": user,
  36. },
  37. })
  38. }
  39. }
  40. // @Tags User
  41. // @Summary 用户登录
  42. // @Produce application/json
  43. // @Param data body api.RegistAndLoginStuct true "用户登录接口"
  44. // @Success 200 {string} json "{"success":true,"data":{},"msg":"登陆成功"}"
  45. // @Router /user/login [post]
  46. func Login(c *gin.Context) {
  47. var L RegistAndLoginStuct
  48. _ = c.BindJSON(&L)
  49. U := &dbModel.User{UserName: L.UserName, PassWord: L.PassWord}
  50. if err, user := U.Login(); err != nil {
  51. c.JSON(200, gin.H{
  52. "success": false,
  53. "msg": "用户名密码错误",
  54. "data": gin.H{
  55. "user": user,
  56. },
  57. })
  58. } else {
  59. c.JSON(200, gin.H{
  60. "success": true,
  61. "msg": "登录成功",
  62. "data": gin.H{
  63. "user": user,
  64. },
  65. })
  66. }
  67. }
  68. type ChangePassWordStutrc struct {
  69. UserName string `json:"userName"`
  70. PassWord string `json:"passWord"`
  71. NewPassWord string `json:"newPassWord"`
  72. }
  73. // @Tags User
  74. // @Summary 用户修改密码
  75. // @Produce application/json
  76. // @Param data body api.ChangePassWordStutrc true "用户修改密码"
  77. // @Success 200 {string} json "{"success":true,"data":{},"msg":"修改成功"}"
  78. // @Router /user/changePassWord [post]
  79. func ChangePassWord(c *gin.Context) {
  80. var params ChangePassWordStutrc
  81. _ = c.BindJSON(&params)
  82. U := &dbModel.User{UserName: params.UserName, PassWord: params.PassWord}
  83. if err, _ := U.ChangePassWord(params.NewPassWord); err != nil {
  84. c.JSON(200, gin.H{
  85. "success": false,
  86. "msg": "修改失败,请检查用户名密码",
  87. "data": gin.H{},
  88. })
  89. } else {
  90. c.JSON(200, gin.H{
  91. "success": true,
  92. "msg": "修改成功",
  93. "data": gin.H{},
  94. })
  95. }
  96. }