- 添加用户认证模块 (JWT + 密码管理) - 添加 ChatGPT 账户管理功能 - 添加卡密管理功能 (创建、批量生成、查询) - 添加邀请功能 - 配置数据库迁移和路由系统
44 lines
858 B
Go
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)
|
|
}
|
|
}
|