From 40fd7f7e0810acc5ccfdaa0d5ef157fdaadd27d8 Mon Sep 17 00:00:00 2001 From: stary <834207172@qq.com> Date: Mon, 25 May 2026 20:37:36 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E7=9B=AE=E5=BD=95=E7=BB=93?= =?UTF-8?q?=E6=9E=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .vscode/tasks.json | 12 ---------- .../public/{ => assets}/images/FullScreen.png | Bin client/public/{ => assets}/images/Play.png | Bin client/public/{ => assets}/images/favicon.ico | Bin .../{ => assets}/images/head/三花猫.png | Bin .../public/{ => assets}/images/head/仓鼠.png | Bin .../{ => assets}/images/head/可达鸭.png | Bin .../{ => assets}/images/head/哈士奇.png | Bin .../{ => assets}/images/head/奶牛猫.png | Bin .../{ => assets}/images/head/布偶猫.png | Bin .../{ => assets}/images/head/无毛猫.png | Bin .../{ => assets}/images/head/暹罗猫.png | Bin .../public/{ => assets}/images/head/柯基.png | Bin .../public/{ => assets}/images/head/柴犬.png | Bin .../public/{ => assets}/images/head/橘猫.png | Bin .../public/{ => assets}/images/head/法斗.png | Bin .../{ => assets}/images/head/田园犬.png | Bin .../public/{ => assets}/images/head/白猫.png | Bin client/public/{ => assets}/images/head/羊.png | Bin .../{ => assets}/images/head/腊肠犬.png | Bin .../{ => assets}/images/head/荷兰猪.png | Bin .../public/{ => assets}/images/head/蓝猫.png | Bin .../public/{ => assets}/images/head/藏獒.png | Bin .../public/{ => assets}/images/head/边牧.png | Bin .../public/{ => assets}/images/head/金毛.png | Bin .../public/{ => assets}/images/head/黑猫.png | Bin client/public/{ => assets}/images/p1.png | Bin client/public/{ => assets}/images/p2.png | Bin .../public/{ => assets}/images/screenshot.png | Bin ...r_1d006f98-8352-47d5-bf35-c65a98dfc377.png | Bin ...r_be8f2ecc-726c-4b99-bcd0-818aa962e311.png | Bin .../uploads/avatars/user_XPMwGa7W.png | Bin client/public/{ => call/chat}/chatmessage.js | 8 +++---- .../public/{ => call/chat}/renderer-chat.js | 0 client/public/{ => call}/connectview.js | 8 +++---- .../controllers}/call-view-controller.js | 0 .../controllers}/invite-controller.js | 2 +- .../controllers}/profile-settings.js | 2 +- client/public/{ => call}/index.html | 6 ++--- client/public/{ => call}/main.js | 12 +++++----- .../public/{ => call/media}/media-config.js | 0 .../{ => call/media}/media-monitoring.js | 0 .../{ => call/media}/meeting-recorder.js | 0 .../public/{ => call/media}/renderer-media.js | 4 ++-- .../public/{ => call/media}/webrtc-stats.js | 0 client/public/{ => call}/models.js | 0 .../{ => call/participants}/participants.js | 0 .../renderer-participant-grid.js | 0 .../{ => call/renderers}/renderer-ui.js | 0 .../public/{ => call/renderers}/renderer.js | 18 +++++++------- .../{ => call/signaling}/connect-directory.js | 0 .../{ => call/signaling}/signaling-session.js | 4 ++-- client/public/{ => call}/store.js | 22 +++++++++--------- client/public/connect/connect.js | 8 +++---- .../connect/{connect.html => index.html} | 2 +- client/public/{ => docs}/README.md | 0 client/public/{ => docs}/code-structure.md | 0 client/public/{ => docs}/knowledge-graph.md | 0 client/public/endcall/endcall.js | 6 ++--- .../endcall/{endcall.html => index.html} | 2 +- client/public/recordings/index.html | 2 +- .../public/{js => render-streaming}/config.js | 0 .../{js => render-streaming}/icesettings.js | 0 .../public/{js => render-streaming}/main.js | 0 .../public/{js => render-streaming}/stats.js | 0 .../{js => render-streaming}/videoplayer.js | 6 ++--- client/public/{ => shared}/logger.js | 0 client/public/{ => shared}/utils.js | 0 client/public/{css => styles}/style.css | 0 client/src/{ => core}/peer.js | 2 +- client/src/{ => core}/renderstreaming.js | 4 ++-- client/src/{ => core}/sender.js | 8 +++---- client/src/{ => core}/signaling.js | 2 +- client/src/{ => input}/gamepadbutton.js | 0 client/src/{ => input}/gamepadhandler.js | 0 client/src/{ => input}/inputdevice.js | 4 ++-- client/src/{ => input}/inputremoting.js | 2 +- client/src/{ => input}/keymap.js | 0 client/src/{ => input}/mousebutton.js | 0 client/src/{ => input}/pointercorrect.js | 0 client/src/{ => input}/touchflags.js | 0 client/src/{ => input}/touchphase.js | 0 client/src/{ => utils}/charnumber.js | 0 client/src/{ => utils}/logger.js | 0 client/src/{ => utils}/memoryhelper.js | 0 client/test/{ => helpers}/domrect.js | 0 client/test/{ => helpers}/domvideoelement.js | 0 .../test/{ => helpers}/resizeobservermock.js | 0 client/test/{ => helpers}/testutils.js | 0 client/test/{ => mocks}/mocksignaling.js | 2 +- client/test/{ => mocks}/peerconnectionmock.js | 4 ++-- client/test/{ => unit}/inputdevice.test.js | 2 +- client/test/{ => unit}/inputremoting.test.js | 10 ++++---- .../test/{ => unit}/meeting-recorder.test.js | 2 +- client/test/{ => unit}/memoryhelper.test.js | 4 ++-- client/test/{ => unit}/peerconnection.test.js | 4 ++-- client/test/{ => unit}/pointercorrect.test.js | 6 ++--- .../test/{ => unit}/renderstreaming.test.js | 6 ++--- client/test/{ => unit}/sender.test.js | 8 +++---- client/test/{ => unit}/signaling.test.js | 6 ++--- src/server.ts | 18 ++++++++++---- 101 files changed, 108 insertions(+), 110 deletions(-) delete mode 100644 .vscode/tasks.json rename client/public/{ => assets}/images/FullScreen.png (100%) rename client/public/{ => assets}/images/Play.png (100%) rename client/public/{ => assets}/images/favicon.ico (100%) rename client/public/{ => assets}/images/head/三花猫.png (100%) rename client/public/{ => assets}/images/head/仓鼠.png (100%) rename client/public/{ => assets}/images/head/可达鸭.png (100%) rename client/public/{ => assets}/images/head/哈士奇.png (100%) rename client/public/{ => assets}/images/head/奶牛猫.png (100%) rename client/public/{ => assets}/images/head/布偶猫.png (100%) rename client/public/{ => assets}/images/head/无毛猫.png (100%) rename client/public/{ => assets}/images/head/暹罗猫.png (100%) rename client/public/{ => assets}/images/head/柯基.png (100%) rename client/public/{ => assets}/images/head/柴犬.png (100%) rename client/public/{ => assets}/images/head/橘猫.png (100%) rename client/public/{ => assets}/images/head/法斗.png (100%) rename client/public/{ => assets}/images/head/田园犬.png (100%) rename client/public/{ => assets}/images/head/白猫.png (100%) rename client/public/{ => assets}/images/head/羊.png (100%) rename client/public/{ => assets}/images/head/腊肠犬.png (100%) rename client/public/{ => assets}/images/head/荷兰猪.png (100%) rename client/public/{ => assets}/images/head/蓝猫.png (100%) rename client/public/{ => assets}/images/head/藏獒.png (100%) rename client/public/{ => assets}/images/head/边牧.png (100%) rename client/public/{ => assets}/images/head/金毛.png (100%) rename client/public/{ => assets}/images/head/黑猫.png (100%) rename client/public/{ => assets}/images/p1.png (100%) rename client/public/{ => assets}/images/p2.png (100%) rename client/public/{ => assets}/images/screenshot.png (100%) rename client/public/{ => assets}/uploads/avatars/avatar_1d006f98-8352-47d5-bf35-c65a98dfc377.png (100%) rename client/public/{ => assets}/uploads/avatars/avatar_be8f2ecc-726c-4b99-bcd0-818aa962e311.png (100%) rename client/public/{ => assets}/uploads/avatars/user_XPMwGa7W.png (100%) rename client/public/{ => call/chat}/chatmessage.js (96%) rename client/public/{ => call/chat}/renderer-chat.js (100%) rename client/public/{ => call}/connectview.js (96%) rename client/public/{ => call/controllers}/call-view-controller.js (100%) rename client/public/{ => call/controllers}/invite-controller.js (99%) rename client/public/{ => call/controllers}/profile-settings.js (99%) rename client/public/{ => call}/index.html (99%) rename client/public/{ => call}/main.js (90%) rename client/public/{ => call/media}/media-config.js (100%) rename client/public/{ => call/media}/media-monitoring.js (100%) rename client/public/{ => call/media}/meeting-recorder.js (100%) rename client/public/{ => call/media}/renderer-media.js (97%) rename client/public/{ => call/media}/webrtc-stats.js (100%) rename client/public/{ => call}/models.js (100%) rename client/public/{ => call/participants}/participants.js (100%) rename client/public/{ => call/participants}/renderer-participant-grid.js (100%) rename client/public/{ => call/renderers}/renderer-ui.js (100%) rename client/public/{ => call/renderers}/renderer.js (98%) rename client/public/{ => call/signaling}/connect-directory.js (100%) rename client/public/{ => call/signaling}/signaling-session.js (95%) rename client/public/{ => call}/store.js (98%) rename client/public/connect/{connect.html => index.html} (87%) rename client/public/{ => docs}/README.md (100%) rename client/public/{ => docs}/code-structure.md (100%) rename client/public/{ => docs}/knowledge-graph.md (100%) rename client/public/endcall/{endcall.html => index.html} (97%) rename client/public/{js => render-streaming}/config.js (100%) rename client/public/{js => render-streaming}/icesettings.js (100%) rename client/public/{js => render-streaming}/main.js (100%) rename client/public/{js => render-streaming}/stats.js (100%) rename client/public/{js => render-streaming}/videoplayer.js (98%) rename client/public/{ => shared}/logger.js (100%) rename client/public/{ => shared}/utils.js (100%) rename client/public/{css => styles}/style.css (100%) rename client/src/{ => core}/peer.js (99%) rename client/src/{ => core}/renderstreaming.js (99%) rename client/src/{ => core}/sender.js (96%) rename client/src/{ => core}/signaling.js (99%) rename client/src/{ => input}/gamepadbutton.js (100%) rename client/src/{ => input}/gamepadhandler.js (100%) rename client/src/{ => input}/inputdevice.js (99%) rename client/src/{ => input}/inputremoting.js (99%) rename client/src/{ => input}/keymap.js (100%) rename client/src/{ => input}/mousebutton.js (100%) rename client/src/{ => input}/pointercorrect.js (100%) rename client/src/{ => input}/touchflags.js (100%) rename client/src/{ => input}/touchphase.js (100%) rename client/src/{ => utils}/charnumber.js (100%) rename client/src/{ => utils}/logger.js (100%) rename client/src/{ => utils}/memoryhelper.js (100%) rename client/test/{ => helpers}/domrect.js (100%) rename client/test/{ => helpers}/domvideoelement.js (100%) rename client/test/{ => helpers}/resizeobservermock.js (100%) rename client/test/{ => helpers}/testutils.js (100%) rename client/test/{ => mocks}/mocksignaling.js (99%) rename client/test/{ => mocks}/peerconnectionmock.js (99%) rename client/test/{ => unit}/inputdevice.test.js (99%) rename client/test/{ => unit}/inputremoting.test.js (95%) rename client/test/{ => unit}/meeting-recorder.test.js (97%) rename client/test/{ => unit}/memoryhelper.test.js (97%) rename client/test/{ => unit}/peerconnection.test.js (99%) rename client/test/{ => unit}/pointercorrect.test.js (90%) rename client/test/{ => unit}/renderstreaming.test.js (96%) rename client/test/{ => unit}/sender.test.js (96%) rename client/test/{ => unit}/signaling.test.js (98%) diff --git a/.vscode/tasks.json b/.vscode/tasks.json deleted file mode 100644 index 92cac6b..0000000 --- a/.vscode/tasks.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "version": "2.0.0", - "tasks": [ - { - "type": "npm", - "script": "dev_secure", - "problemMatcher": [], - "label": "npm: dev_secure", - "detail": "ts-node ./src/index.ts -p 8080 -m private -s -k ./server.key -c ./server.crt" - } - ] -} \ No newline at end of file diff --git a/client/public/images/FullScreen.png b/client/public/assets/images/FullScreen.png similarity index 100% rename from client/public/images/FullScreen.png rename to client/public/assets/images/FullScreen.png diff --git a/client/public/images/Play.png b/client/public/assets/images/Play.png similarity index 100% rename from client/public/images/Play.png rename to client/public/assets/images/Play.png diff --git a/client/public/images/favicon.ico b/client/public/assets/images/favicon.ico similarity index 100% rename from client/public/images/favicon.ico rename to client/public/assets/images/favicon.ico diff --git a/client/public/images/head/三花猫.png b/client/public/assets/images/head/三花猫.png similarity index 100% rename from client/public/images/head/三花猫.png rename to client/public/assets/images/head/三花猫.png diff --git a/client/public/images/head/仓鼠.png b/client/public/assets/images/head/仓鼠.png similarity index 100% rename from client/public/images/head/仓鼠.png rename to client/public/assets/images/head/仓鼠.png diff --git a/client/public/images/head/可达鸭.png b/client/public/assets/images/head/可达鸭.png similarity index 100% rename from client/public/images/head/可达鸭.png rename to client/public/assets/images/head/可达鸭.png diff --git a/client/public/images/head/哈士奇.png b/client/public/assets/images/head/哈士奇.png similarity index 100% rename from client/public/images/head/哈士奇.png rename to client/public/assets/images/head/哈士奇.png diff --git a/client/public/images/head/奶牛猫.png b/client/public/assets/images/head/奶牛猫.png similarity index 100% rename from client/public/images/head/奶牛猫.png rename to client/public/assets/images/head/奶牛猫.png diff --git a/client/public/images/head/布偶猫.png b/client/public/assets/images/head/布偶猫.png similarity index 100% rename from client/public/images/head/布偶猫.png rename to client/public/assets/images/head/布偶猫.png diff --git a/client/public/images/head/无毛猫.png b/client/public/assets/images/head/无毛猫.png similarity index 100% rename from client/public/images/head/无毛猫.png rename to client/public/assets/images/head/无毛猫.png diff --git a/client/public/images/head/暹罗猫.png b/client/public/assets/images/head/暹罗猫.png similarity index 100% rename from client/public/images/head/暹罗猫.png rename to client/public/assets/images/head/暹罗猫.png diff --git a/client/public/images/head/柯基.png b/client/public/assets/images/head/柯基.png similarity index 100% rename from client/public/images/head/柯基.png rename to client/public/assets/images/head/柯基.png diff --git a/client/public/images/head/柴犬.png b/client/public/assets/images/head/柴犬.png similarity index 100% rename from client/public/images/head/柴犬.png rename to client/public/assets/images/head/柴犬.png diff --git a/client/public/images/head/橘猫.png b/client/public/assets/images/head/橘猫.png similarity index 100% rename from client/public/images/head/橘猫.png rename to client/public/assets/images/head/橘猫.png diff --git a/client/public/images/head/法斗.png b/client/public/assets/images/head/法斗.png similarity index 100% rename from client/public/images/head/法斗.png rename to client/public/assets/images/head/法斗.png diff --git a/client/public/images/head/田园犬.png b/client/public/assets/images/head/田园犬.png similarity index 100% rename from client/public/images/head/田园犬.png rename to client/public/assets/images/head/田园犬.png diff --git a/client/public/images/head/白猫.png b/client/public/assets/images/head/白猫.png similarity index 100% rename from client/public/images/head/白猫.png rename to client/public/assets/images/head/白猫.png diff --git a/client/public/images/head/羊.png b/client/public/assets/images/head/羊.png similarity index 100% rename from client/public/images/head/羊.png rename to client/public/assets/images/head/羊.png diff --git a/client/public/images/head/腊肠犬.png b/client/public/assets/images/head/腊肠犬.png similarity index 100% rename from client/public/images/head/腊肠犬.png rename to client/public/assets/images/head/腊肠犬.png diff --git a/client/public/images/head/荷兰猪.png b/client/public/assets/images/head/荷兰猪.png similarity index 100% rename from client/public/images/head/荷兰猪.png rename to client/public/assets/images/head/荷兰猪.png diff --git a/client/public/images/head/蓝猫.png b/client/public/assets/images/head/蓝猫.png similarity index 100% rename from client/public/images/head/蓝猫.png rename to client/public/assets/images/head/蓝猫.png diff --git a/client/public/images/head/藏獒.png b/client/public/assets/images/head/藏獒.png similarity index 100% rename from client/public/images/head/藏獒.png rename to client/public/assets/images/head/藏獒.png diff --git a/client/public/images/head/边牧.png b/client/public/assets/images/head/边牧.png similarity index 100% rename from client/public/images/head/边牧.png rename to client/public/assets/images/head/边牧.png diff --git a/client/public/images/head/金毛.png b/client/public/assets/images/head/金毛.png similarity index 100% rename from client/public/images/head/金毛.png rename to client/public/assets/images/head/金毛.png diff --git a/client/public/images/head/黑猫.png b/client/public/assets/images/head/黑猫.png similarity index 100% rename from client/public/images/head/黑猫.png rename to client/public/assets/images/head/黑猫.png diff --git a/client/public/images/p1.png b/client/public/assets/images/p1.png similarity index 100% rename from client/public/images/p1.png rename to client/public/assets/images/p1.png diff --git a/client/public/images/p2.png b/client/public/assets/images/p2.png similarity index 100% rename from client/public/images/p2.png rename to client/public/assets/images/p2.png diff --git a/client/public/images/screenshot.png b/client/public/assets/images/screenshot.png similarity index 100% rename from client/public/images/screenshot.png rename to client/public/assets/images/screenshot.png diff --git a/client/public/uploads/avatars/avatar_1d006f98-8352-47d5-bf35-c65a98dfc377.png b/client/public/assets/uploads/avatars/avatar_1d006f98-8352-47d5-bf35-c65a98dfc377.png similarity index 100% rename from client/public/uploads/avatars/avatar_1d006f98-8352-47d5-bf35-c65a98dfc377.png rename to client/public/assets/uploads/avatars/avatar_1d006f98-8352-47d5-bf35-c65a98dfc377.png diff --git a/client/public/uploads/avatars/avatar_be8f2ecc-726c-4b99-bcd0-818aa962e311.png b/client/public/assets/uploads/avatars/avatar_be8f2ecc-726c-4b99-bcd0-818aa962e311.png similarity index 100% rename from client/public/uploads/avatars/avatar_be8f2ecc-726c-4b99-bcd0-818aa962e311.png rename to client/public/assets/uploads/avatars/avatar_be8f2ecc-726c-4b99-bcd0-818aa962e311.png diff --git a/client/public/uploads/avatars/user_XPMwGa7W.png b/client/public/assets/uploads/avatars/user_XPMwGa7W.png similarity index 100% rename from client/public/uploads/avatars/user_XPMwGa7W.png rename to client/public/assets/uploads/avatars/user_XPMwGa7W.png diff --git a/client/public/chatmessage.js b/client/public/call/chat/chatmessage.js similarity index 96% rename from client/public/chatmessage.js rename to client/public/call/chat/chatmessage.js index 95750b4..dbfe275 100644 --- a/client/public/chatmessage.js +++ b/client/public/call/chat/chatmessage.js @@ -1,13 +1,13 @@ -import { createLogger } from './logger.js'; +import { createLogger } from '../../shared/logger.js'; const logger = createLogger('chat'); /** * 消息模块 * 处理聊天消息的发送、接收和显示 */ -import { showNotification, generateId } from './utils.js'; -import store from './store.js'; -import { mockMessages } from './models.js'; +import { showNotification, generateId } from '../../shared/utils.js'; +import store from '../store.js'; +import { mockMessages } from '../models.js'; const MAX_IMAGE_SIZE = 5 * 1024 * 1024; // 5MB diff --git a/client/public/renderer-chat.js b/client/public/call/chat/renderer-chat.js similarity index 100% rename from client/public/renderer-chat.js rename to client/public/call/chat/renderer-chat.js diff --git a/client/public/connectview.js b/client/public/call/connectview.js similarity index 96% rename from client/public/connectview.js rename to client/public/call/connectview.js index 176a086..fe1b195 100644 --- a/client/public/connectview.js +++ b/client/public/call/connectview.js @@ -1,13 +1,13 @@ -import { showNotification } from './utils.js'; +import { showNotification } from '../shared/utils.js'; import store from './store.js'; import { fetchConnectionDirectory, fetchOnlineUsers, renderConnectionIds, renderOnlineUsers -} from './connect-directory.js'; -import { createProfileSettingsController } from './profile-settings.js'; -import { createLogger } from './logger.js'; +} from './signaling/connect-directory.js'; +import { createProfileSettingsController } from './controllers/profile-settings.js'; +import { createLogger } from '../shared/logger.js'; const logger = createLogger('connectview'); diff --git a/client/public/call-view-controller.js b/client/public/call/controllers/call-view-controller.js similarity index 100% rename from client/public/call-view-controller.js rename to client/public/call/controllers/call-view-controller.js diff --git a/client/public/invite-controller.js b/client/public/call/controllers/invite-controller.js similarity index 99% rename from client/public/invite-controller.js rename to client/public/call/controllers/invite-controller.js index 45a80b4..6560386 100644 --- a/client/public/invite-controller.js +++ b/client/public/call/controllers/invite-controller.js @@ -1,4 +1,4 @@ -import { createLogger } from './logger.js'; +import { createLogger } from '../../shared/logger.js'; const logger = createLogger('invite'); const DEFAULT_CALLER_NAME = '\u9080\u8bf7\u65b9'; diff --git a/client/public/profile-settings.js b/client/public/call/controllers/profile-settings.js similarity index 99% rename from client/public/profile-settings.js rename to client/public/call/controllers/profile-settings.js index 845f86b..72f76ae 100644 --- a/client/public/profile-settings.js +++ b/client/public/call/controllers/profile-settings.js @@ -1,4 +1,4 @@ -import { createLogger } from './logger.js'; +import { createLogger } from '../../shared/logger.js'; const logger = createLogger('profile'); const DEFAULT_AVATAR = '/images/p1.png'; diff --git a/client/public/index.html b/client/public/call/index.html similarity index 99% rename from client/public/index.html rename to client/public/call/index.html index 1b720ae..306799b 100644 --- a/client/public/index.html +++ b/client/public/call/index.html @@ -7,7 +7,7 @@ VideoCall - 一对一视频通话 - + @@ -726,8 +726,8 @@ - - + + diff --git a/client/public/main.js b/client/public/call/main.js similarity index 90% rename from client/public/main.js rename to client/public/call/main.js index 9f3bf6c..c49c83e 100644 --- a/client/public/main.js +++ b/client/public/call/main.js @@ -1,15 +1,15 @@ import store from './store.js'; -import UIRenderer from './renderer.js'; -import { showNotification, randomMeetingId } from './utils.js'; -import chatMessage from './chatmessage.js'; -import { createCallViewController } from './call-view-controller.js'; +import UIRenderer from './renderers/renderer.js'; +import { showNotification, randomMeetingId } from '../shared/utils.js'; +import chatMessage from './chat/chatmessage.js'; +import { createCallViewController } from './controllers/call-view-controller.js'; import { bindConnectViewEvents, initWebSocket, loadUserSettings } from './connectview.js'; -import { createInviteController } from './invite-controller.js'; -import { createLogger } from './logger.js'; +import { createInviteController } from './controllers/invite-controller.js'; +import { createLogger } from '../shared/logger.js'; const logger = createLogger('main'); diff --git a/client/public/media-config.js b/client/public/call/media/media-config.js similarity index 100% rename from client/public/media-config.js rename to client/public/call/media/media-config.js diff --git a/client/public/media-monitoring.js b/client/public/call/media/media-monitoring.js similarity index 100% rename from client/public/media-monitoring.js rename to client/public/call/media/media-monitoring.js diff --git a/client/public/meeting-recorder.js b/client/public/call/media/meeting-recorder.js similarity index 100% rename from client/public/meeting-recorder.js rename to client/public/call/media/meeting-recorder.js diff --git a/client/public/renderer-media.js b/client/public/call/media/renderer-media.js similarity index 97% rename from client/public/renderer-media.js rename to client/public/call/media/renderer-media.js index 906bcdc..297407b 100644 --- a/client/public/renderer-media.js +++ b/client/public/call/media/renderer-media.js @@ -1,5 +1,5 @@ -import { createParticipantTile, getParticipantTile } from './renderer-participant-grid.js'; -import { createLogger } from './logger.js'; +import { createParticipantTile, getParticipantTile } from '../participants/renderer-participant-grid.js'; +import { createLogger } from '../../shared/logger.js'; const logger = createLogger('renderer-media'); diff --git a/client/public/webrtc-stats.js b/client/public/call/media/webrtc-stats.js similarity index 100% rename from client/public/webrtc-stats.js rename to client/public/call/media/webrtc-stats.js diff --git a/client/public/models.js b/client/public/call/models.js similarity index 100% rename from client/public/models.js rename to client/public/call/models.js diff --git a/client/public/participants.js b/client/public/call/participants/participants.js similarity index 100% rename from client/public/participants.js rename to client/public/call/participants/participants.js diff --git a/client/public/renderer-participant-grid.js b/client/public/call/participants/renderer-participant-grid.js similarity index 100% rename from client/public/renderer-participant-grid.js rename to client/public/call/participants/renderer-participant-grid.js diff --git a/client/public/renderer-ui.js b/client/public/call/renderers/renderer-ui.js similarity index 100% rename from client/public/renderer-ui.js rename to client/public/call/renderers/renderer-ui.js diff --git a/client/public/renderer.js b/client/public/call/renderers/renderer.js similarity index 98% rename from client/public/renderer.js rename to client/public/call/renderers/renderer.js index c9ebe2e..5290c02 100644 --- a/client/public/renderer.js +++ b/client/public/call/renderers/renderer.js @@ -1,7 +1,7 @@ -import { formatTime, formatTimestamp, toggleElement, toggleButtonState } from './utils.js'; -import { mockCallSession } from './models.js'; -import chatMessage from './chatmessage.js'; -import store from './store.js'; +import { formatTime, formatTimestamp, toggleElement, toggleButtonState } from '../../shared/utils.js'; +import { mockCallSession } from '../models.js'; +import chatMessage from '../chat/chatmessage.js'; +import store from '../store.js'; import { buildUserCountLabel, createUserEntryElement, @@ -10,11 +10,11 @@ import { getNetworkQualityDisplay, getRemoteVideoPlaceholderText } from './renderer-ui.js'; -import { renderChatMessagesInto } from './renderer-chat.js'; +import { renderChatMessagesInto } from '../chat/renderer-chat.js'; import { updateParticipantTileName as syncParticipantTileName, updateParticipantTilePlaceholder -} from './renderer-participant-grid.js'; +} from '../participants/renderer-participant-grid.js'; import { adjustVideoSize, clearParticipantGrid, @@ -22,8 +22,8 @@ import { removeParticipantTile, renderParticipantStreamMedia, renderSingleRemoteStreamMedia -} from './renderer-media.js'; -import { createLogger } from './logger.js'; +} from '../media/renderer-media.js'; +import { createLogger } from '../../shared/logger.js'; const logger = createLogger('renderer'); @@ -513,7 +513,7 @@ class UIRenderer { renderCallEnded() { logger.debug('Call ended'); clearParticipantGrid(this.elements.participantGrid); - window.location.href = './endcall/endcall.html'; + window.location.href = '/endcall/'; } renderParticipantLeft(connectionId) { diff --git a/client/public/connect-directory.js b/client/public/call/signaling/connect-directory.js similarity index 100% rename from client/public/connect-directory.js rename to client/public/call/signaling/connect-directory.js diff --git a/client/public/signaling-session.js b/client/public/call/signaling/signaling-session.js similarity index 95% rename from client/public/signaling-session.js rename to client/public/call/signaling/signaling-session.js index 737d3ae..db1b24b 100644 --- a/client/public/signaling-session.js +++ b/client/public/call/signaling/signaling-session.js @@ -1,5 +1,5 @@ -import { Signaling, WebSocketSignaling } from "../../module/signaling.js"; -import { createLogger } from './logger.js'; +import { Signaling, WebSocketSignaling } from '/module/core/signaling.js'; +import { createLogger } from '../../shared/logger.js'; const logger = createLogger('signaling'); diff --git a/client/public/store.js b/client/public/call/store.js similarity index 98% rename from client/public/store.js rename to client/public/call/store.js index d5892b4..87bd5fa 100644 --- a/client/public/store.js +++ b/client/public/call/store.js @@ -1,15 +1,15 @@ import { mockCallSession } from './models.js'; -import { RenderStreaming } from "../../module/renderstreaming.js"; -import { getServerConfig, getRTCConfiguration } from "../js/config.js"; -import { showNotification, generateId } from './utils.js'; -import chatMessage from './chatmessage.js'; -import { DEFAULT_PARTICIPANT_AVATAR, DEFAULT_PARTICIPANT_NAME, buildParticipantsSyncData, omitParticipant, removeParticipant, upsertParticipant } from './participants.js'; -import { AUDIO_CONFIG, VAD_CONFIG, VIDEO_ONLY_CONSTRAINT, buildVideoConstraints, getAdaptiveVideoBitrate, getResolutionLabel, getTargetResolutionBitrate } from './media-config.js'; -import { buildStatsLogPayload, createAudioAnalyser, getAudioLevel } from './media-monitoring.js'; -import { bindInviteSocketEvents, buildSocketUserInfoPayload, createSignalingInstance, ensureSignalingStarted, getActiveSignalingInstance, sendInviteSignal, sendSocketUserInfo } from './signaling-session.js'; -import { getNetworkQualityFromSummary, summarizeInboundStats } from './webrtc-stats.js'; -import { createLogger } from './logger.js'; -import { MeetingRecorder } from './meeting-recorder.js'; +import { RenderStreaming } from '/module/core/renderstreaming.js'; +import { getServerConfig, getRTCConfiguration } from '../render-streaming/config.js'; +import { showNotification, generateId } from '../shared/utils.js'; +import chatMessage from './chat/chatmessage.js'; +import { DEFAULT_PARTICIPANT_AVATAR, DEFAULT_PARTICIPANT_NAME, buildParticipantsSyncData, omitParticipant, removeParticipant, upsertParticipant } from './participants/participants.js'; +import { AUDIO_CONFIG, VAD_CONFIG, VIDEO_ONLY_CONSTRAINT, buildVideoConstraints, getAdaptiveVideoBitrate, getResolutionLabel, getTargetResolutionBitrate } from './media/media-config.js'; +import { buildStatsLogPayload, createAudioAnalyser, getAudioLevel } from './media/media-monitoring.js'; +import { bindInviteSocketEvents, buildSocketUserInfoPayload, createSignalingInstance, ensureSignalingStarted, getActiveSignalingInstance, sendInviteSignal, sendSocketUserInfo } from './signaling/signaling-session.js'; +import { getNetworkQualityFromSummary, summarizeInboundStats } from './media/webrtc-stats.js'; +import { createLogger } from '../shared/logger.js'; +import { MeetingRecorder } from './media/meeting-recorder.js'; const logger = createLogger('store'); class CallStateManager { diff --git a/client/public/connect/connect.js b/client/public/connect/connect.js index 8fc69bf..5de434e 100644 --- a/client/public/connect/connect.js +++ b/client/public/connect/connect.js @@ -1,4 +1,4 @@ -import { createLogger } from '../logger.js'; +import { createLogger } from '../shared/logger.js'; const logger = createLogger('legacy-connect'); /** @@ -6,7 +6,7 @@ const logger = createLogger('legacy-connect'); * 处理初始连接、创建通话和加入通话的功能 */ -import { showNotification, randomMeetingId } from '../utils.js'; +import { showNotification, randomMeetingId } from '../shared/utils.js'; const MAX_AVATAR_SIZE = 2 * 1024 * 1024; // 2MB @@ -20,7 +20,7 @@ function joinCall() { localStorage.setItem('connectionId', connectionId); // 跳转到通话界面 - window.location.href = '../index.html'; + window.location.href = '/'; } else { showNotification('请输入连接ID', 'error'); } @@ -39,7 +39,7 @@ function createCall() { localStorage.setItem('connectionId', connectionId); // 跳转到通话界面 - window.location.href = '../index.html'; + window.location.href = '/'; } diff --git a/client/public/connect/connect.html b/client/public/connect/index.html similarity index 87% rename from client/public/connect/connect.html rename to client/public/connect/index.html index ad059b6..3e77002 100644 --- a/client/public/connect/connect.html +++ b/client/public/connect/index.html @@ -6,7 +6,7 @@ VideoCall - 重定向 diff --git a/client/public/README.md b/client/public/docs/README.md similarity index 100% rename from client/public/README.md rename to client/public/docs/README.md diff --git a/client/public/code-structure.md b/client/public/docs/code-structure.md similarity index 100% rename from client/public/code-structure.md rename to client/public/docs/code-structure.md diff --git a/client/public/knowledge-graph.md b/client/public/docs/knowledge-graph.md similarity index 100% rename from client/public/knowledge-graph.md rename to client/public/docs/knowledge-graph.md diff --git a/client/public/endcall/endcall.js b/client/public/endcall/endcall.js index 3cf0a70..1517446 100644 --- a/client/public/endcall/endcall.js +++ b/client/public/endcall/endcall.js @@ -3,14 +3,14 @@ * 处理通话结束后的操作,如重新连接或返回连接界面 */ -import { showNotification } from '../utils.js'; +import { showNotification } from '../shared/utils.js'; // 重新连接 function reconnectCall() { showNotification('正在重新连接...'); // 跳转到通话界面 - window.location.href = '../index.html'; + window.location.href = '/'; } // 离开 @@ -19,7 +19,7 @@ function leaveCall() { localStorage.removeItem('connectionId'); // 跳转到连接界面 - window.location.href = '../connect/connect.html'; + window.location.href = '/connect/'; } // 绑定事件监听器 diff --git a/client/public/endcall/endcall.html b/client/public/endcall/index.html similarity index 97% rename from client/public/endcall/endcall.html rename to client/public/endcall/index.html index 21710db..d52a6c6 100644 --- a/client/public/endcall/endcall.html +++ b/client/public/endcall/index.html @@ -6,7 +6,7 @@ VideoCall - 通话结束 - +