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 - 通话结束 - +