package router import ( "file-manger-server/service/dao" "file-manger-server/util" "file-manger-server/util/share" "github.com/gin-gonic/gin" "github.com/spf13/cast" ) type loginVo struct { Token string `json:"token"` Expire int64 `json:"expire"` } func Login(c *gin.Context) { param := share.GetJsonAnyParam(c) username, _ := param("username") password, _ := param("password") userDao := dao.UserDao{} user, err := userDao.Login(cast.ToString(username), cast.ToString(password)) if err != nil { c.JSON(200, CreateResultError(400, err.Error())) return } token, expire, err := util.GenerateToken(user.Id, user.Role) if err != nil { c.JSON(200, CreateResultError(400, err.Error())) return } vo := loginVo{ Token: token, Expire: expire, } c.JSON(200, CreateResultData(vo)) } func Register(c *gin.Context) { param := share.GetJsonAnyParam(c) username, _ := param("username") password, _ := param("password") userDao := dao.UserDao{} err := userDao.Register(cast.ToString(username), cast.ToString(password)) if err != nil { c.JSON(200, CreateResultError(400, err.Error())) return } c.JSON(200, CreateResult()) }