44 lines
1.0 KiB
Go
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)
|
|
}
|
|
}
|