From 9160e6e1a94adc7c965f7fb67e1ed012bc8c22cd Mon Sep 17 00:00:00 2001 From: xiao12feng8 <16507319+xiao12feng8@user.noreply.gitee.com> Date: Tue, 23 Dec 2025 15:38:35 +0800 Subject: [PATCH] =?UTF-8?q?=E8=BF=9E=E6=8E=A5=E7=9B=B4=E6=92=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Zhibo/admin/src/api/room.js | 43 + Zhibo/admin/src/views/room/list/index.vue | 123 +- .../zbkj/admin/controller/RoomController.java | 93 +- .../admin/task/live/LiveStatusSyncTask.java | 105 + .../com/zbkj/common/model/live/LiveChat.java | 29 + Zhibo/zhibo-h/crmeb-front/pom.xml | 11 + .../zbkj/front/config/WebSocketConfig.java | 25 + .../front/controller/LiveRoomController.java | 48 +- .../controller/SrsCallbackController.java | 86 - .../zbkj/front/websocket/LiveChatHandler.java | 170 + .../com/zbkj/service/dao/LiveChatDao.java | 10 + .../zbkj/service/service/LiveChatService.java | 22 + .../service/impl/LiveChatServiceImpl.java | 38 + .../livestreaming/LiveChatAdapter.java | 75 + .../example/livestreaming/MainActivity.java | 20 +- .../livestreaming/RoomDetailActivity.java | 105 +- .../example/livestreaming/RoomsAdapter.java | 8 +- .../livestreaming/WaterfallRoomsAdapter.java | 14 + .../example/livestreaming/net/ApiService.java | 8 +- .../livestreaming/net/LiveChatClient.java | 177 + .../main/res/layout/activity_room_detail.xml | 52 + live-streaming/Dockerfile | 12 + live-streaming/docker-compose.yml | 35 + live-streaming/docker/srs/srs.conf | 91 + live-streaming/package-lock.json | 5242 +++++++++++++++++ live-streaming/package.json | 27 + live-streaming/server/.gitkeep | 1 + live-streaming/server/index.js | 155 + .../server/middleware/errorHandler.js | 15 + live-streaming/server/middleware/validate.js | 28 + live-streaming/server/routes/rooms.js | 81 + live-streaming/server/routes/srs.js | 97 + live-streaming/server/store/roomStore.js | 116 + live-streaming/server/utils/srsHttpApi.js | 90 + live-streaming/server/utils/streamUrl.js | 26 + 35 files changed, 7115 insertions(+), 163 deletions(-) create mode 100644 Zhibo/zhibo-h/crmeb-admin/src/main/java/com/zbkj/admin/task/live/LiveStatusSyncTask.java create mode 100644 Zhibo/zhibo-h/crmeb-common/src/main/java/com/zbkj/common/model/live/LiveChat.java create mode 100644 Zhibo/zhibo-h/crmeb-front/src/main/java/com/zbkj/front/config/WebSocketConfig.java delete mode 100644 Zhibo/zhibo-h/crmeb-front/src/main/java/com/zbkj/front/controller/SrsCallbackController.java create mode 100644 Zhibo/zhibo-h/crmeb-front/src/main/java/com/zbkj/front/websocket/LiveChatHandler.java create mode 100644 Zhibo/zhibo-h/crmeb-service/src/main/java/com/zbkj/service/dao/LiveChatDao.java create mode 100644 Zhibo/zhibo-h/crmeb-service/src/main/java/com/zbkj/service/service/LiveChatService.java create mode 100644 Zhibo/zhibo-h/crmeb-service/src/main/java/com/zbkj/service/service/impl/LiveChatServiceImpl.java create mode 100644 android-app/app/src/main/java/com/example/livestreaming/LiveChatAdapter.java create mode 100644 android-app/app/src/main/java/com/example/livestreaming/net/LiveChatClient.java create mode 100644 live-streaming/Dockerfile create mode 100644 live-streaming/docker-compose.yml create mode 100644 live-streaming/docker/srs/srs.conf create mode 100644 live-streaming/package-lock.json create mode 100644 live-streaming/package.json create mode 100644 live-streaming/server/.gitkeep create mode 100644 live-streaming/server/index.js create mode 100644 live-streaming/server/middleware/errorHandler.js create mode 100644 live-streaming/server/middleware/validate.js create mode 100644 live-streaming/server/routes/rooms.js create mode 100644 live-streaming/server/routes/srs.js create mode 100644 live-streaming/server/store/roomStore.js create mode 100644 live-streaming/server/utils/srsHttpApi.js create mode 100644 live-streaming/server/utils/streamUrl.js diff --git a/Zhibo/admin/src/api/room.js b/Zhibo/admin/src/api/room.js index 36ea82bf..afd84d9d 100644 --- a/Zhibo/admin/src/api/room.js +++ b/Zhibo/admin/src/api/room.js @@ -88,6 +88,49 @@ export function roomListApi(params) { }) } +// 创建直播房间 +export function liveRoomCreateApi(data) { + return request({ + url: '/admin/room/live/create', + method: 'post', + data + }) +} + +// 编辑直播房间 +export function liveRoomUpdateApi(data) { + return request({ + url: '/admin/room/live/update', + method: 'post', + data + }) +} + +// 删除直播房间 +export function liveRoomDeleteApi(id) { + return request({ + url: `/admin/room/live/delete/${id}`, + method: 'post' + }) +} + +// 切换直播状态 +export function liveRoomToggleStatusApi(id) { + return request({ + url: `/admin/room/live/toggle-status/${id}`, + method: 'post' + }) +} + +// 获取直播间弹幕记录 +export function liveRoomChatHistoryApi(roomId, limit = 100) { + return request({ + url: `/admin/room/live/chat/${roomId}`, + method: 'get', + params: { limit } + }) +} + // 房间详情 export function roomDetailApi(id) { return request({ diff --git a/Zhibo/admin/src/views/room/list/index.vue b/Zhibo/admin/src/views/room/list/index.vue index e18c7088..8b9176c6 100644 --- a/Zhibo/admin/src/views/room/list/index.vue +++ b/Zhibo/admin/src/views/room/list/index.vue @@ -4,6 +4,9 @@
+
+ 新增直播间 +
@@ -50,6 +53,7 @@ @@ -70,7 +74,7 @@ - + {{ detailData.id }} {{ detailData.title }} @@ -82,6 +86,21 @@ {{ detailData.streamUrls && detailData.streamUrls.flv }} {{ detailData.streamUrls && detailData.streamUrls.hls }} + + +
+
+ 💬 弹幕记录 + 刷新 +
+ + + + + +
暂无弹幕记录
+
+ @@ -108,11 +127,26 @@ 保存
+ + + + + + + + + + + +