server: 平台抽象层+bilibili、服务端加密凭据库、角色中间件;web: 精简页面/路由、macOS 客户端(Swift)与多份方案文档;移除误入库的编译产物

This commit is contained in:
Qiufeng
2026-08-21 10:53:32 +08:00
parent 0daa9782c9
commit 3585c39bab
103 changed files with 5842 additions and 3197 deletions
+18 -5
View File
@@ -15,8 +15,11 @@ import (
"everypublish/server/internal/api"
"everypublish/server/internal/cache"
"everypublish/server/internal/config"
"everypublish/server/internal/credentials"
"everypublish/server/internal/db"
"everypublish/server/internal/models"
"everypublish/server/internal/platform"
"everypublish/server/internal/platform/bilibili"
"everypublish/server/internal/ws"
)
@@ -41,18 +44,28 @@ func main() {
}
log.Println("redis connected")
serverKey, err := ws.LoadOrCreateServerKey("./data/server_ed25519.key")
if err != nil {
log.Fatalf("server ed25519 key failed: %v", err)
}
hub := ws.NewHub()
credentialStore, err := credentials.Open(cfg.CredentialDir)
if err != nil {
log.Fatalf("credential store failed: %v", err)
}
registry := platform.NewRegistry()
biliAdapter := bilibili.New(credentialStore)
biliAdapter.MemberBase = cfg.BilibiliMemberBase
biliAdapter.PassportBase = cfg.BilibiliPassportBase
biliAdapter.UpOSScheme = cfg.BilibiliUpOSScheme
if err := registry.Register(biliAdapter); err != nil {
log.Fatalf("register bilibili adapter failed: %v", err)
}
dsp := ws.NewDispatcher(gdb, hub, cfg)
dsp.Registry = registry
dsp.Credentials = credentialStore
ctx, stopFn := signal.NotifyContext(context.Background(), os.Interrupt, syscall.SIGTERM)
defer stopFn()
go dsp.Start(ctx.Done())
router := api.Router(cfg, gdb, rds, hub, serverKey, dsp)
router := api.Router(cfg, gdb, rds, hub, dsp)
// 托管前端生产构建(STATIC_DIR 存在 index.html 时启用),SPA 回退
if cfg.StaticDir != "" {