package middleware import ( response "base-go-v2/internal/reponse" "base-go-v2/internal/router" "base-go-v2/internal/utils/jwtx" "fmt" ) func AuthMiddleware() router.HandlerFunc { return func(c *router.Context) error { fmt.Println("===请求进入===") token := c.Header("token") if token == "" { fmt.Println("===未提供 Token===") c.Abort() return response.Fail(c). Code(response.HttpCode.Unauthorized). Message("未提供 Token"). Send() } tokenVerify := jwtx.VerifyToken(token) // Access Token 有效 if tokenVerify.IsValid { c.SetUserID(tokenVerify.Claims.UserID) return c.Next() } // Access Token 失效 → 返回刷新提示 if !tokenVerify.IsValid { fmt.Println("===Access Token 失效===") c.Abort() return response.Fail(c). Code(response.HttpCode.RefreshToken). Message("Access Token 已过期,请刷新"). Send() } fmt.Println("===请求通过===") return c.Next() } }