package middlewares import ( "github.com/gin-gonic/gin" "knowledge/api/dao" "knowledge/api/responses" ) // 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 } // 获取用户数据 adminUserDao := dao.AdminUserDao{} adminUser, err := adminUserDao.GetAdminUserFirstById(userId) if err != nil || adminUser == nil { responses.FailWithMessage("用户数据错误", c) c.Abort() return } if adminUser.Status == 2 { responses.FailWithMessage("用户审核中", c) c.Abort() return } if adminUser.Status == 3 { responses.FailWithMessage("用户已删除或禁用", c) c.Abort() return } if adminUser.IsDisabled == 1 { responses.FailWithMessage("用户已禁用", c) c.Abort() return } if adminUser.IsDeleted == 1 { responses.FailWithMessage("用户已删除", c) c.Abort() return } c.Next() } }