package mw import ( "applet/app/e" "applet/app/svc" "github.com/gin-gonic/gin" ) // 检查权限, 签名等等 func Auth(c *gin.Context) { admin, newToken, err := svc.CheckUser(c) if err != nil { switch err.(type) { case e.E: err1 := err.(e.E) e.OutErr(c, err1.Code, err1.Error()) return default: e.OutErr(c, e.ERR_TOKEN_AUTH, err.Error()) return } } if admin != nil && admin.State == 2 { e.OutErr(c, e.ERR_TOKEN_AUTH, e.NewErr(401003, "账号已被禁用")) return } // 将当前请求的username信息保存到请求的上下文c上 c.Set("admin", admin) if len(newToken) > 0 { c.Header("new-token", newToken) // TODO::将新Token添加到返回的Header里,方便前端使用 } c.Next() }