feat(phase2e-2): 前端 mediasoup-client 集成 + Pinia meeting Store(Task 9)
- frontend/src/api/meeting.js:12 个 REST 接口封装,统一 unwrap envelope.data - frontend/src/services/websocket.js:新增 sendWithAck(Promise 化 + 超时 + 序列号) - frontend/src/utils/mediasoup-client.js:MediaEngine 包装 Device/Transport/Producer/Consumer - frontend/src/store/meeting.js:Pinia 会议状态机,桥接 14 个 WS 事件 + cleanupStaleMeetings - frontend/src/constants/meeting.js:状态枚举 + 事件名集中管理 - frontend/src/pages/meeting/debug.vue:临时调试页(H5 原生 video/audio DOM 绕过 uni 组件限制) - backend:meeting.consume.resume WS 事件 + create/join 响应透传 router_id + rtp_capabilities - 文档:frontend/meeting.md、websocket.md、CURRENT_STATUS、plan 全部同步 Task 9 落地 Made-with: Cursor
This commit is contained in:
@@ -1,5 +1,7 @@
|
||||
package dto
|
||||
|
||||
import "encoding/json"
|
||||
|
||||
// ====== 会议模块基础 DTO(Phase 2e-2)======
|
||||
|
||||
// MeetingRoomDTO 会议房间传输对象
|
||||
@@ -66,8 +68,11 @@ type CreateMeetingRoomRequest struct {
|
||||
}
|
||||
|
||||
// CreateMeetingRoomResponse 创建会议响应
|
||||
// Task 9 起返回 router_id + rtp_capabilities,便于前端创建会议后立即 Device.load
|
||||
type CreateMeetingRoomResponse struct {
|
||||
Room MeetingRoomDTO `json:"room"`
|
||||
Room MeetingRoomDTO `json:"room"`
|
||||
RouterID string `json:"router_id,omitempty"`
|
||||
RtpCapabilities json.RawMessage `json:"rtp_capabilities,omitempty"`
|
||||
}
|
||||
|
||||
// JoinMeetingRoomRequest 加入会议请求
|
||||
@@ -78,9 +83,10 @@ type JoinMeetingRoomRequest struct {
|
||||
|
||||
// JoinMeetingRoomResponse 加入会议响应
|
||||
type JoinMeetingRoomResponse struct {
|
||||
Room MeetingRoomDTO `json:"room"`
|
||||
Participant MeetingParticipantDTO `json:"participant"`
|
||||
RouterID string `json:"router_id,omitempty"` // mediasoup Router ID(Task 7 接入 Node 后填充)
|
||||
Room MeetingRoomDTO `json:"room"`
|
||||
Participant MeetingParticipantDTO `json:"participant"`
|
||||
RouterID string `json:"router_id,omitempty"` // mediasoup Router ID(Task 7 接入 Node 后填充)
|
||||
RtpCapabilities json.RawMessage `json:"rtp_capabilities,omitempty"` // Router RTP 能力(Task 9);前端 mediasoup-client Device.load 直接使用
|
||||
}
|
||||
|
||||
// LeaveMeetingRoomResponse 离开会议响应
|
||||
|
||||
Reference in New Issue
Block a user