From f31872fe17c82b7c47aa06556bcb69e7d58f33a5 Mon Sep 17 00:00:00 2001 From: acgist <289547414@qq.com> Date: Mon, 14 Aug 2023 07:59:18 +0800 Subject: [PATCH] =?UTF-8?q?[*]=20=E6=97=A5=E5=B8=B8=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- taoyao-client-web/src/App.vue | 10 ++-- taoyao-client-web/src/components/Taoyao.js | 53 +++++++++++++------ .../room/RoomClientListIdProtocol.java | 6 +-- .../protocol/room/RoomClientListProtocol.java | 30 +++++------ 4 files changed, 62 insertions(+), 37 deletions(-) diff --git a/taoyao-client-web/src/App.vue b/taoyao-client-web/src/App.vue index 74368ff..b4b4591 100644 --- a/taoyao-client-web/src/App.vue +++ b/taoyao-client-web/src/App.vue @@ -204,8 +204,12 @@ export default { * @return 是否执行完成 */ async callback(response, error) { - const me = this; - const { code, message, header, body } = response; + const { + code, + message, + header, + body + } = response; const { signal } = header; switch (signal) { case "media::track" : @@ -213,7 +217,7 @@ export default { console.info("新增媒体轨道", clientId, track); break; case "client::config" : - me.roomVisible = true; + this.roomVisible = true; break; case "platform::error": if (error) { diff --git a/taoyao-client-web/src/components/Taoyao.js b/taoyao-client-web/src/components/Taoyao.js index e7c6357..ddcf554 100644 --- a/taoyao-client-web/src/components/Taoyao.js +++ b/taoyao-client-web/src/components/Taoyao.js @@ -864,6 +864,9 @@ class Taoyao extends RemoteClient { case "session::resume": me.defaultSessionResume(message); break; + case "room::broadcast": + me.defaultRoomBroadcast(message); + break; case "room::client::list": me.defaultRoomClientList(message); break; @@ -2240,6 +2243,40 @@ class Taoyao extends RemoteClient { return response.body; } + /** + * 房间广播信令 + * + * @param {*} message 信令消息 + */ + defaultRoomBroadcast(message) { + console.debug("房间广播", message); + } + + /** + * 房间广播信令 + * + * @param {*} message 信令消息 + */ + roomBroadcast(message) { + this.push(protocol.buildMessage("room::broadcast", { + roomId : this.roomId, + ...message + })); + } + + /** + * @param {*} clientId 终端ID + * + * @returns 终端所有ID + */ + async roomClientListId(clientId) { + const response = await this.request(protocol.buildMessage("room::client::list::id", { + roomId : this.roomId, + clientId: clientId + })); + return response.body; + } + /** * 房间终端列表信令 * @@ -2257,22 +2294,6 @@ class Taoyao extends RemoteClient { }); } - /** - * @param {*} clientId 终端ID - * - * @returns 终端所有ID - */ - async roomClientListId(clientId) { - const me = this; - const response = await me.request( - protocol.buildMessage("room::client::list::id", { - roomId : me.roomId, - clientId: clientId - }) - ); - return response.body; - } - /** * 关闭房间信令 */ diff --git a/taoyao-signal-server/taoyao-signal/src/main/java/com/acgist/taoyao/signal/protocol/room/RoomClientListIdProtocol.java b/taoyao-signal-server/taoyao-signal/src/main/java/com/acgist/taoyao/signal/protocol/room/RoomClientListIdProtocol.java index 9664380..3d3dd9c 100644 --- a/taoyao-signal-server/taoyao-signal/src/main/java/com/acgist/taoyao/signal/protocol/room/RoomClientListIdProtocol.java +++ b/taoyao-signal-server/taoyao-signal/src/main/java/com/acgist/taoyao/signal/protocol/room/RoomClientListIdProtocol.java @@ -24,17 +24,17 @@ import com.acgist.taoyao.signal.protocol.ProtocolRoomAdapter; */ @Protocol @Description( + memo = "终端所有ID集合:消费者、生产者等等", body = """ { - "roomId": "房间ID", + "roomId" : "房间ID", "clientId": "终端ID(可选)" } { ... } """, - flow = "终端=>信令服务->终端", - memo = "终端所有ID集合:消费者、生产者等等" + flow = "终端=>信令服务->终端" ) public class RoomClientListIdProtocol extends ProtocolRoomAdapter { diff --git a/taoyao-signal-server/taoyao-signal/src/main/java/com/acgist/taoyao/signal/protocol/room/RoomClientListProtocol.java b/taoyao-signal-server/taoyao-signal/src/main/java/com/acgist/taoyao/signal/protocol/room/RoomClientListProtocol.java index a7a149e..3dae4d2 100644 --- a/taoyao-signal-server/taoyao-signal/src/main/java/com/acgist/taoyao/signal/protocol/room/RoomClientListProtocol.java +++ b/taoyao-signal-server/taoyao-signal/src/main/java/com/acgist/taoyao/signal/protocol/room/RoomClientListProtocol.java @@ -31,23 +31,23 @@ import com.acgist.taoyao.signal.protocol.ProtocolRoomAdapter; """ [ { - "ip": "终端IP", - "name": "终端名称", - "clientId": "终端ID", - "clientType": "终端类型", - "latitude": 纬度, - "longitude": 经度, - "humidity": 湿度, - "temperature": 温度, - "signal": 信号强度(0~100), - "battery": 电池电量(0~100), - "alarming": 是否发生告警(true|false), - "charging": 是否正在充电(true|false), + "ip" : "终端IP", + "name" : "终端名称", + "clientId" : "终端ID", + "clientType" : "终端类型", + "latitude" : 纬度, + "longitude" : 经度, + "humidity" : 湿度, + "temperature" : 温度, + "signal" : 信号强度(0~100), + "battery" : 电池电量(0~100), + "alarming" : 是否发生告警(true|false), + "charging" : 是否正在充电(true|false), "clientRecording": 是否正在录像(true|false), "serverRecording": 是否正在录像(true|false), - "lastHeartbeat": "最后心跳时间", - "status": {更多状态}, - "config": {更多配置} + "lastHeartbeat" : "最后心跳时间", + "status" : {更多状态}, + "config" : {更多配置} }, ... ]