优化结构

This commit is contained in:
Yvan
2026-08-22 12:13:16 +08:00
parent d987244d0e
commit b27a66e9d3
200 changed files with 1794 additions and 1715 deletions
+10 -11
View File
@@ -3,12 +3,11 @@ package middleware
import (
"context"
"errors"
"kra/internal/biz/system"
"net/http"
"strconv"
"strings"
"kra/internal/biz"
"github.com/gin-gonic/gin"
"golang.org/x/sync/singleflight"
)
@@ -18,7 +17,7 @@ const claimsKey = "admin_claims"
var refreshTokens singleflight.Group
type TokenAuthenticator interface {
AuthenticateToken(context.Context, string) (*biz.TokenAuthentication, error)
AuthenticateToken(context.Context, string) (*system.TokenAuthentication, error)
}
func Auth(auth TokenAuthenticator) gin.HandlerFunc {
@@ -54,7 +53,7 @@ func authenticate(c *gin.Context, auth TokenAuthenticator, allowQueryToken bool)
NoAuth(c, tokenErrorMessage(err))
return false
}
authentication, ok := value.(*biz.TokenAuthentication)
authentication, ok := value.(*system.TokenAuthentication)
if !ok || authentication == nil || authentication.Claims == nil {
SetTokenCookie(c, "", -1)
NoAuth(c, "无法处理此token")
@@ -95,23 +94,23 @@ func requestToken(c *gin.Context, allowQueryToken bool) string {
func tokenErrorMessage(err error) string {
message := "无法处理此token"
switch {
case errors.Is(err, biz.ErrTokenExpired):
case errors.Is(err, system.ErrTokenExpired):
message = "登录已过期,请重新登录"
case errors.Is(err, biz.ErrTokenMalformed):
case errors.Is(err, system.ErrTokenMalformed):
message = "这不是一个token"
case errors.Is(err, biz.ErrTokenSignatureInvalid):
case errors.Is(err, system.ErrTokenSignatureInvalid):
message = "无效签名"
case errors.Is(err, biz.ErrTokenNotValidYet):
case errors.Is(err, system.ErrTokenNotValidYet):
message = "token尚未激活"
case errors.Is(err, biz.ErrTokenDisabled):
case errors.Is(err, system.ErrTokenDisabled):
message = "您的帐户异地登陆或令牌失效"
}
return message
}
func Claims(c *gin.Context) *biz.AuthClaims {
func Claims(c *gin.Context) *system.AuthClaims {
value, _ := c.Get(claimsKey)
claims, _ := value.(*biz.AuthClaims)
claims, _ := value.(*system.AuthClaims)
return claims
}