- 添加用户认证模块 (JWT + 密码管理) - 添加 ChatGPT 账户管理功能 - 添加卡密管理功能 (创建、批量生成、查询) - 添加邀请功能 - 配置数据库迁移和路由系统
61 lines
1.2 KiB
Go
61 lines
1.2 KiB
Go
package main
|
|
|
|
import (
|
|
"fmt"
|
|
"log"
|
|
|
|
"gpt-manager-go/internal/auth"
|
|
"gpt-manager-go/internal/config"
|
|
"gpt-manager-go/internal/db"
|
|
"gpt-manager-go/internal/models"
|
|
"gpt-manager-go/internal/repository"
|
|
)
|
|
|
|
func main() {
|
|
// 加载配置
|
|
config.LoadEnv(".env")
|
|
|
|
// 连接数据库
|
|
if err := db.Init(); err != nil {
|
|
log.Fatalf("Failed to connect database: %v", err)
|
|
}
|
|
defer db.Close()
|
|
|
|
// 执行迁移
|
|
if err := db.Migrate(db.DB); err != nil {
|
|
log.Fatalf("Failed to migrate: %v", err)
|
|
}
|
|
|
|
// 创建测试管理员
|
|
adminRepo := repository.NewAdminRepository(db.DB)
|
|
|
|
// 检查是否已存在
|
|
existing, _ := adminRepo.FindByUsername("admin")
|
|
if existing != nil {
|
|
fmt.Println("Admin user already exists!")
|
|
return
|
|
}
|
|
|
|
// 创建密码哈希
|
|
hash, err := auth.HashPassword("admin123")
|
|
if err != nil {
|
|
log.Fatalf("Failed to hash password: %v", err)
|
|
}
|
|
|
|
admin := &models.Admin{
|
|
Username: "admin",
|
|
Email: "admin@example.com",
|
|
PasswordHash: hash,
|
|
IsSuperAdmin: true,
|
|
IsActive: true,
|
|
}
|
|
|
|
if err := adminRepo.Create(admin); err != nil {
|
|
log.Fatalf("Failed to create admin: %v", err)
|
|
}
|
|
|
|
fmt.Println("✅ Test admin created successfully!")
|
|
fmt.Println(" Username: admin")
|
|
fmt.Println(" Password: admin123")
|
|
}
|