Files
dygou_go/main.go
T
2026-06-19 13:02:28 +08:00

42 lines
1.2 KiB
Go

package main
import (
"log"
"net/http"
"os"
)
func main() {
log.SetFlags(log.LstdFlags | log.Lmicroseconds)
state.paths = defaultAppPaths()
state.logs = newMemoryLogStore(800)
closeLogFile := initLogging(state.logs, state.paths.LogDir)
defer closeLogFile()
trace, closeTrace := initTrace(state.paths.LogDir, loadTraceConfig())
state.trace = trace
defer closeTrace()
state.config = loadConfig(state.paths.ConfigFile)
state.client = NewDouyuClient(state.config.TimeAPIURL, state.trace)
state.loadAccounts()
state.loadFont()
if err := os.MkdirAll(state.paths.SuccessDir, 0755); err != nil {
logEvent("图片", "warn", "成功图片目录创建失败,图片保存功能可能不可用: %v", err)
}
if serverTime, err := state.client.ServerTime(); err == nil {
logEvent("时间", "success", "服务端时间获取成功: %s", serverTime.In(cst).Format("2006-01-02 15:04:05.000"))
} else {
logEvent("时间", "error", "服务端时间获取失败: %v", err)
}
mux := http.NewServeMux()
state.registerRoutes(mux)
logEvent("系统", "success", "服务启动: http://%s | 账号: %d", serverAddr, state.accountCount())
if err := http.ListenAndServe(serverAddr, mux); err != nil {
logEvent("系统", "error", "服务退出: %v", err)
}
}