package service import ( "time" "with_you/internal/pkg/jwt" ) // JWTService JWT服务接口 type JWTService interface { GenerateAccessToken(userID, username string) (string, error) GenerateRefreshToken(userID, username string) (string, error) ParseToken(tokenString string) (*jwt.Claims, error) ValidateToken(tokenString string) error } // jwtServiceImpl JWT服务实现 type jwtServiceImpl struct { jwt *jwt.JWT } // NewJWTService 创建JWT服务 func NewJWTService(secret string, accessExpire, refreshExpire int64) JWTService { return &jwtServiceImpl{ jwt: jwt.New(secret, time.Duration(accessExpire)*time.Second, time.Duration(refreshExpire)*time.Second), } } // GenerateAccessToken 生成访问令牌 func (s *jwtServiceImpl) GenerateAccessToken(userID, username string) (string, error) { return s.jwt.GenerateAccessToken(userID, username) } // GenerateRefreshToken 生成刷新令牌 func (s *jwtServiceImpl) GenerateRefreshToken(userID, username string) (string, error) { return s.jwt.GenerateRefreshToken(userID, username) } // ParseToken 解析令牌 func (s *jwtServiceImpl) ParseToken(tokenString string) (*jwt.Claims, error) { return s.jwt.ParseToken(tokenString) } // ValidateToken 验证令牌 func (s *jwtServiceImpl) ValidateToken(tokenString string) error { return s.jwt.ValidateToken(tokenString) }