feat: speedtest 网速测试服务(Go+Gin+SQLite,延迟/下载/上传 + 排行榜)
This commit is contained in:
@@ -0,0 +1,45 @@
|
||||
package main
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"log"
|
||||
|
||||
"speedtest/config"
|
||||
"speedtest/internal/db"
|
||||
"speedtest/internal/store"
|
||||
"speedtest/internal/web"
|
||||
)
|
||||
|
||||
func main() {
|
||||
// 1. Load configuration
|
||||
cfg, err := config.LoadConfig()
|
||||
if err != nil {
|
||||
log.Fatalf("加载配置失败: %v", err)
|
||||
}
|
||||
fmt.Println("配置加载成功")
|
||||
|
||||
// 2. Initialize database
|
||||
database, err := db.InitDB(cfg.Database)
|
||||
if err != nil {
|
||||
log.Fatalf("数据库初始化失败: %v", err)
|
||||
}
|
||||
fmt.Println("数据库初始化成功")
|
||||
|
||||
// 3. Create Store layer
|
||||
stores := store.NewStores(database)
|
||||
|
||||
// 4. Start Web server
|
||||
webServer, err := web.NewWebServer(*cfg, stores)
|
||||
if err != nil {
|
||||
log.Fatalf("Web 服务初始化失败: %v", err)
|
||||
}
|
||||
fmt.Printf("Web 服务启动在 %s\n", cfg.Web.Addr)
|
||||
go func() {
|
||||
if err := webServer.Start(); err != nil {
|
||||
log.Fatalf("Web 服务启动失败: %v", err)
|
||||
}
|
||||
}()
|
||||
|
||||
fmt.Println("SpeedTest 网速测试服务启动完成")
|
||||
select {} // Block main goroutine
|
||||
}
|
||||
Reference in New Issue
Block a user