56 lines
1.4 KiB
Go
56 lines
1.4 KiB
Go
package main
|
|
|
|
import (
|
|
"fmt"
|
|
"log"
|
|
|
|
"tyapi-server/internal/config"
|
|
"tyapi-server/internal/shared/middleware"
|
|
|
|
"go.uber.org/zap"
|
|
)
|
|
|
|
func main() {
|
|
// 固定的用户信息
|
|
userID := "93b2fb79-4def-4ad2-8004-08943fcf2fa9"
|
|
phone := "17537188270"
|
|
email := ""
|
|
userType := "user"
|
|
|
|
// 加载配置文件
|
|
cfg, err := config.LoadConfig()
|
|
if err != nil {
|
|
log.Fatalf("加载配置文件失败: %v", err)
|
|
}
|
|
|
|
// 创建logger
|
|
logger, err := zap.NewProduction()
|
|
if err != nil {
|
|
log.Fatalf("创建logger失败: %v", err)
|
|
}
|
|
defer logger.Sync()
|
|
|
|
// 创建JWT认证中间件
|
|
jwtAuth := middleware.NewJWTAuthMiddleware(cfg, logger)
|
|
|
|
// 生成token
|
|
token, err := jwtAuth.GenerateToken(userID, phone, email, userType)
|
|
if err != nil {
|
|
log.Fatalf("生成token失败: %v", err)
|
|
}
|
|
|
|
// 输出结果
|
|
fmt.Println("=== 管理员Token生成成功 ===")
|
|
fmt.Printf("用户ID: %s\n", userID)
|
|
fmt.Printf("手机号: %s\n", phone)
|
|
fmt.Printf("邮箱: %s\n", email)
|
|
fmt.Printf("用户类型: %s\n", userType)
|
|
fmt.Printf("过期时间: %s\n", cfg.JWT.ExpiresIn.String())
|
|
fmt.Println("\n=== Token ===")
|
|
fmt.Println(token)
|
|
fmt.Println("\n=== 使用说明 ===")
|
|
fmt.Println("在API请求的Authorization头部中使用:")
|
|
fmt.Printf("Authorization: Bearer %s\n", token)
|
|
fmt.Println("\n=== 示例curl命令 ===")
|
|
fmt.Printf("curl -H \"Authorization: Bearer %s\" http://localhost:8080/api/v1/user/profile\n", token)
|
|
} |