视频会议保存

This commit is contained in:
duoaohui
2026-05-18 19:42:55 +08:00
parent 315884685f
commit ac8ec4c903
41 changed files with 5069 additions and 39 deletions

View File

@@ -42,6 +42,7 @@ type App struct {
ContactManageController *adminController.ContactManageController // 管理端好友关系管理控制器
GroupManageController *adminController.GroupManageController // 管理端群组管理控制器
MessageManageController *adminController.MessageManageController // 管理端消息管理控制器
MeetingManageController *adminController.MeetingManageController // 管理端会议管理控制器Phase B
WSHandler *wsApp.Handler // WebSocket 连接处理器
Hub *ws.Hub // WebSocket Hub 连接管理
PubSub *ws.PubSub // Redis Pub/Sub 消息路由
@@ -59,6 +60,8 @@ type App struct {
MeetingSignalService *meetingService.MeetingSignalService // 会议 WS 信令业务服务Task 6 落地)
MeetingLifecycleSvc *meetingService.MeetingLifecycleService // 会议生命周期状态机Task 8 落地)
MeetingController *meetingController.MeetingController // 会议 REST 控制器
MeetingRecordingController *meetingController.MeetingRecordingController // 会议录制 REST 控制器Phase B 新增)
MeetingRecordingService *meetingService.MeetingRecordingService // 会议录制业务服务Phase B 新增)
MeetingWSHandler *meetingController.MeetingWSHandler // 会议 WS 事件 Handler构造时自动注册路由到 Hub
MeetingCleanupTask *meetingTask.MeetingCleanupTask // 会议生命周期兜底定时任务Task 8 落地)
}
@@ -77,6 +80,7 @@ func NewApp(
contactManageCtrl *adminController.ContactManageController,
groupManageCtrl *adminController.GroupManageController,
msgManageCtrl *adminController.MessageManageController,
meetingManageCtrl *adminController.MeetingManageController,
wsHandler *wsApp.Handler,
hub *ws.Hub,
pubsub *ws.PubSub,
@@ -94,12 +98,16 @@ func NewApp(
meetingSignalSvc *meetingService.MeetingSignalService,
meetingLifecycleSvc *meetingService.MeetingLifecycleService,
meetingCtrl *meetingController.MeetingController,
meetingRecordingCtrl *meetingController.MeetingRecordingController,
meetingRecordingSvc *meetingService.MeetingRecordingService,
meetingWSHandler *meetingController.MeetingWSHandler,
meetingCleanup *meetingTask.MeetingCleanupTask,
) *App {
wsHandler.SetOfflinePusher(offlinePusher)
wsHandler.SetNotifyConnectHook(notifySvc)
wsHandler.SetMeetingDisconnectHook(meetingSignalSvc)
// Phase B通过 setter 注入录制停止钩子,避免 MeetingService ↔ MeetingRecordingService 构造期循环依赖
meetingSvc.SetRecordingStopper(meetingRecordingSvc)
return &App{
Config: cfg,
@@ -114,6 +122,7 @@ func NewApp(
ContactManageController: contactManageCtrl,
GroupManageController: groupManageCtrl,
MessageManageController: msgManageCtrl,
MeetingManageController: meetingManageCtrl,
WSHandler: wsHandler,
Hub: hub,
PubSub: pubsub,
@@ -130,9 +139,11 @@ func NewApp(
MeetingService: meetingSvc,
MeetingSignalService: meetingSignalSvc,
MeetingLifecycleSvc: meetingLifecycleSvc,
MeetingController: meetingCtrl,
MeetingWSHandler: meetingWSHandler,
MeetingCleanupTask: meetingCleanup,
MeetingController: meetingCtrl,
MeetingRecordingController: meetingRecordingCtrl,
MeetingRecordingService: meetingRecordingSvc,
MeetingWSHandler: meetingWSHandler,
MeetingCleanupTask: meetingCleanup,
}
}