package middlewares import ( "github.com/gin-gonic/gin" "net/http" "vote-admin-api/api/dao" "vote-admin-api/api/responses" "vote-admin-api/consts" ) // Auth Auth认证 func Auth() gin.HandlerFunc { return func(c *gin.Context) { // 获取用户id userId := c.GetInt64("UserId") if userId == 0 { responses.Fail(c) c.Abort() return } // 获取用户数据 userDao := dao.UserDao{} user, err := userDao.GetUserById(userId) if err != nil || user == nil { c.JSON(http.StatusUnauthorized, gin.H{ "message": "用户数据错误", "code": consts.UserStatusError, "data": "", }) c.Abort() return } if user.UserStatus == 2 { c.JSON(http.StatusUnauthorized, gin.H{ "message": "用户已禁用", "code": consts.UserStatusError, "data": "", }) c.Abort() return } c.Next() } }