@@ -0,0 +1,69 @@
|
||||
package main
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"log"
|
||||
"os"
|
||||
|
||||
"software-download-center/config"
|
||||
"software-download-center/database"
|
||||
"software-download-center/utils"
|
||||
|
||||
"github.com/gin-gonic/gin"
|
||||
)
|
||||
|
||||
func main() {
|
||||
// 初始化日志
|
||||
logger := utils.NewLogger()
|
||||
|
||||
// 检测操作系统
|
||||
osInfo := utils.DetectOS()
|
||||
logger.System(fmt.Sprintf("🖥️ 操作系统: %s (%s)", osInfo.OS, osInfo.Arch))
|
||||
|
||||
// 尝试初始化数据库(允许失败,等待管理员配置)
|
||||
if err := database.InitDB(); err != nil {
|
||||
logger.Warn("⚠️ 数据库初始化失败: " + err.Error())
|
||||
logger.System("ℹ️ 系统将在管理员配置数据库后自动连接")
|
||||
} else {
|
||||
logger.System("✅ 数据库初始化成功")
|
||||
}
|
||||
|
||||
// 初始化配置缓存
|
||||
if err := utils.InitConfigCache(); err != nil {
|
||||
logger.Warn("配置缓存初始化失败: " + err.Error())
|
||||
} else {
|
||||
logger.System("✅ 配置缓存初始化成功")
|
||||
}
|
||||
|
||||
// 设置 Gin 模式
|
||||
if os.Getenv("GIN_MODE") == "" {
|
||||
gin.SetMode(gin.ReleaseMode)
|
||||
}
|
||||
|
||||
// 创建 Gin 引擎
|
||||
r := gin.Default()
|
||||
|
||||
// 注册所有路由
|
||||
config.RegisterRoutes(r, logger)
|
||||
|
||||
// 启动服务器
|
||||
port := os.Getenv("PORT")
|
||||
if port == "" {
|
||||
port = "3355"
|
||||
}
|
||||
|
||||
logger.System("=============================================")
|
||||
logger.System("✅ 服务器启动成功")
|
||||
logger.System("📡 访问地址: http://localhost:" + port)
|
||||
env := os.Getenv("GIN_MODE")
|
||||
if env == "" {
|
||||
env = "production"
|
||||
}
|
||||
logger.System("🌍 当前环境: " + env)
|
||||
logger.System("🔄 兼容旧版访问:支持 /tool-status.json /update-info.json /media-types.json")
|
||||
logger.System("=============================================")
|
||||
|
||||
if err := r.Run(":" + port); err != nil {
|
||||
log.Fatal("服务器启动失败:", err)
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user