2024-10-18 14:15:55 +08:00

48 lines
867 B
Go

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