licensing-cotton/cmd/server/main.go
2025-11-01 15:19:24 +08:00

44 lines
1.0 KiB
Go

package main
import (
"net/http"
"licensing-cotton/internal/database"
"licensing-cotton/internal/handlers"
"licensing-cotton/internal/logger"
"licensing-cotton/internal/security"
)
func main() {
passphrase := "2718"
// 1. 初始化数据库
if err := database.InitDB("mydb.db"); err != nil {
logger.Fatal("数据库初始化失败: %v", err)
}
// 2. 初始化 ECC 密钥
if err := security.InitECCKey(); err != nil {
logger.Fatal("生成ECC密钥对失败: %v", err)
}
// 初始化私钥
if err := security.InitEd25519Keys(passphrase); err != nil {
logger.Fatal("Failed to initialize keys: %v", err)
}
// 3. 初始化默认管理员
if err := handlers.EnsureDefaultAdmin("admin", "admin123"); err != nil {
logger.Warn("初始化默认管理员失败: %v", err)
}
// 4. 注册路由
mux := handlers.RegisterRoutes()
// 5. 启动HTTP服务器
logger.Info("服务器启动中,监听 :8895 ...")
if err := http.ListenAndServe("0.0.0.0:8895", mux); err != nil {
logger.Fatal("服务器启动失败: %v", err)
}
}