2024-06-19 14:30:11 +08:00

56 lines
1018 B
Go

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()
}
}