package controller import ( "github.com/gin-gonic/gin" "trading-go/model" "trading-go/response" "trading-go/util" ) // Register // @Tags 用户模块 // @Summary 创建用户 // @param uid formData string false "用户ID" // @param name formData string false "用户名" // @param avatar formData string false "头像" // @Success 200 {string} json{"code","data","message"} // @Router /user/register [post] func Register(c *gin.Context) { var user model.User user.Uid = c.PostForm("uid") user.Name = c.PostForm("name") user.Avatar = c.PostForm("avatar") err := user.Register() if err != nil { msg := err.Error() response.Fail(c.Writer, msg, 500) } else { msg := "register succeed" response.Success(c.Writer, msg, nil) } } // Login // @Tags 用户模块 // @Summary 登录 // @param uid formData string false "用户ID" // @Success 200 {string} json{"code","data","token"} // @Router /user/login [post] func Login(c *gin.Context) { var user model.User user.Uid = c.PostForm("uid") err, nu := user.Login() if err != nil && err.Error() == "sql: no rows in result set" { err = util.NoSuchUserError msg := err.Error() response.Fail(c.Writer, msg, 403) return } if err != nil { msg := err.Error() response.Fail(c.Writer, msg, 500) return } token, err := util.CreatToken(nu.Uid) if err != nil { msg := err.Error() response.Fail(c.Writer, msg, 500) return } data := gin.H{ "token": token, "user_info": nu, } response.Success(c.Writer, "success", data) }