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