package hdl import ( "applet/app/db" "applet/app/e" "applet/app/lib/validate" "applet/app/md" "applet/app/svc" "applet/app/utils" "fmt" "github.com/gin-gonic/gin" ) func Login(c *gin.Context) { var req md.LoginReq err := c.ShouldBindJSON(&req) if err != nil { err = validate.HandleValidateErr(err) err1 := err.(e.E) e.OutErr(c, err1.Code, err1.Error()) return } adminDb := db.AdminDb{} adminDb.Set() admin, err := adminDb.GetAdminByUserName(req.UserName) if err != nil { e.OutErr(c, e.ERR_DB_ORM, err) return } if utils.Md5(req.PassWord) != admin.Password { e.OutErr(c, e.ERR_INVALID_ARGS, "密码错误") return } ip := utils.GetIP(c.Request) key := fmt.Sprintf(md.AdminJwtTokenKey, ip, utils.AnyToString(admin.AdmId)) token, err := svc.HandleLoginToken(key, admin) if err != nil { e.OutErr(c, e.ERR, err.Error()) return } e.OutSuc(c, md.LoginResponse{ Token: token, }, nil) return }