Files
sar 8d60704eda feat: 实现前端卡密管理界面
- 卡密列表展示与分页功能

- 单个/批量创建卡密

- 卡密删除与批量删除

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

- 启用/禁用状态切换

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

- Toast 通知系统 (vue-sonner)

- 登录页面错误提示优化

- 后端登录错误消息中文化
2026-01-13 21:34:56 +08:00

44 lines
858 B
Go

package main
import (
"log"
"net/http"
"os"
"gpt-manager-go/internal/config"
"gpt-manager-go/internal/db"
"gpt-manager-go/internal/router"
)
func main() {
// 加载 .env 文件
if err := config.LoadEnv(".env"); err != nil {
log.Printf("Warning: Failed to load .env file: %v", err)
}
// 初始化数据库连接
if err := db.Init(); err != nil {
log.Fatalf("Failed to initialize database: %v", err)
}
defer db.Close()
// 执行数据库迁移
if err := db.Migrate(db.DB); err != nil {
log.Fatalf("Failed to run migrations: %v", err)
}
// 设置路由
handler := router.SetupRoutes(db.DB)
// 获取端口
port := os.Getenv("PORT")
if port == "" {
port = "8080"
}
log.Printf("Server starting on port %s...", port)
if err := http.ListenAndServe(":"+port, handler); err != nil {
log.Fatalf("Server failed: %v", err)
}
}