feat: 实现前端卡密管理界面

- 卡密列表展示与分页功能

- 单个/批量创建卡密

- 卡密删除与批量删除

- 卡密导出功能 (file-saver)

- 启用/禁用状态切换

- 状态判断 (有效/已使用/已失效)

- Toast 通知系统 (vue-sonner)

- 登录页面错误提示优化

- 后端登录错误消息中文化
This commit is contained in:
sar
2026-01-13 21:34:56 +08:00
parent 42c423bd32
commit 8d60704eda
143 changed files with 6646 additions and 91 deletions

60
backend/cmd/seed/main.go Normal file
View File

@@ -0,0 +1,60 @@
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")
}