refactor(frontend): 移除对话控制面板及相关功能代码

移除不再需要的对话控制面板HTML结构、CSS样式和JavaScript功能代码
This commit is contained in:
2026-04-30 10:11:40 +08:00
parent ad676cf0b8
commit bc46246333
3 changed files with 1 additions and 310 deletions

View File

@@ -53,20 +53,11 @@ const elements = {
initBtn: document.getElementById('initBtn'),
destroyBtn: document.getElementById('destroyBtn'),
getOnceCodeBtn: document.getElementById('getOnceCodeBtn'),
startChatBtn: document.getElementById('startChatBtn'),
stopChatBtn: document.getElementById('stopChatBtn'),
startSpeakBtn: document.getElementById('startSpeakBtn'),
stopSpeakBtn: document.getElementById('stopSpeakBtn'),
sendTextBtn: document.getElementById('sendTextBtn'),
interruptBtn: document.getElementById('interruptBtn'),
toggleAudioBtn: document.getElementById('toggleAudioBtn'),
clearLogBtn: document.getElementById('clearLogBtn'),
fullscreenBtn: document.getElementById('fullscreenBtn'),
toggleConfigBtn: document.getElementById('toggleConfigBtn'),
toggleControlBtn: document.getElementById('toggleControlBtn'),
toggleLogBtn: document.getElementById('toggleLogBtn'),
textInput: document.getElementById('textInput'),
logLevel: document.getElementById('logLevel'),
digitalHumanBox: document.getElementById('digitalHumanBox'),
@@ -82,7 +73,6 @@ const fullscreenState = {
const panelState = {
configPanel: false,
controlPanel: false,
logPanel: false
};
@@ -170,28 +160,10 @@ const eventListeners = {
};
function updateUIState() {
const { isInitialized, isChatting, isSpeaking } = state;
const { isInitialized } = state;
elements.initBtn.disabled = isInitialized;
elements.destroyBtn.disabled = !isInitialized;
elements.startChatBtn.disabled = !isInitialized || isChatting;
elements.stopChatBtn.disabled = !isInitialized || !isChatting;
elements.startSpeakBtn.disabled = !isInitialized || !isChatting || isSpeaking;
elements.stopSpeakBtn.disabled = !isInitialized || !isChatting || !isSpeaking;
elements.textInput.disabled = !isInitialized || !isChatting;
elements.sendTextBtn.disabled = !isInitialized || !isChatting;
elements.interruptBtn.disabled = !isInitialized || !isChatting;
elements.toggleAudioBtn.disabled = !isInitialized;
if (isChatting) {
elements.digitalHumanBox.classList.add('active');
} else {
elements.digitalHumanBox.classList.remove('active');
}
}
function updateConnectionStatus(connected) {
@@ -228,7 +200,6 @@ function togglePanel(panelId) {
const btnMap = {
configPanel: 'toggleConfigBtn',
controlPanel: 'toggleControlBtn',
logPanel: 'toggleLogBtn'
};
@@ -344,152 +315,6 @@ async function destroySDK() {
}
}
async function startChat() {
try {
logger.info('正在开始对话...');
const result = await HwICSUiSdk.startChat({
interactionMode: InteractionMode.AUDIO,
wakeupType: undefined,
preCheckPermissions: true
});
if (result.result) {
state.isChatting = true;
logger.info('对话已开始', { chatId: result.chatId, sessionId: result.sessionId });
updateUIState();
} else {
logger.error('开始对话失败', result);
}
} catch (error) {
logger.error('开始对话出错', error);
}
}
async function stopChat() {
try {
logger.info('正在停止对话...');
const result = await HwICSUiSdk.stopChat();
if (result.result) {
state.isChatting = false;
state.isSpeaking = false;
logger.info('对话已停止');
updateUIState();
} else {
logger.error('停止对话失败', result);
}
} catch (error) {
logger.error('停止对话出错', error);
}
}
async function startUserSpeak() {
try {
logger.info('开始语音识别...');
const result = await HwICSUiSdk.startUserSpeak({
preCheckPermissions: true
});
if (result.result) {
logger.info('语音识别已启动');
} else {
logger.error('启动语音识别失败', result);
}
} catch (error) {
logger.error('启动语音识别出错', error);
}
}
async function stopUserSpeak() {
try {
logger.info('停止语音识别...');
const result = await HwICSUiSdk.stopUserSpeak();
if (result.result) {
logger.info('语音识别已停止');
} else {
logger.error('停止语音识别失败', result);
}
} catch (error) {
logger.error('停止语音识别出错', error);
}
}
async function sendTextMessage() {
const text = elements.textInput.value.trim();
if (!text) {
logger.warn('请输入文本内容');
return;
}
try {
logger.info('发送文本消息...', { text });
const result = await HwICSUiSdk.sendTextQuestion({
text,
questionParam: undefined
});
if (result.result) {
logger.info('消息发送成功', { chatId: result.chatId });
elements.textInput.value = '';
} else {
logger.error('发送消息失败', result);
}
} catch (error) {
logger.error('发送消息出错', error);
}
}
async function interruptSpeaking() {
try {
logger.info('打断说话...');
const result = await HwICSUiSdk.interruptSpeaking();
if (result.result) {
logger.info('已打断说话');
} else {
logger.error('打断说话失败', result);
}
} catch (error) {
logger.error('打断说话出错', error);
}
}
async function toggleAudio() {
try {
if (state.isMuted) {
const result = await HwICSUiSdk.unmuteRemoteAudio();
if (result) {
state.isMuted = false;
elements.toggleAudioBtn.innerHTML = '<span class="icon">🔊</span> 静音';
logger.info('已取消静音');
}
} else {
const result = await HwICSUiSdk.muteRemoteAudio();
if (result) {
state.isMuted = true;
elements.toggleAudioBtn.innerHTML = '<span class="icon">🔇</span> 取消静音';
logger.info('已静音');
}
}
} catch (error) {
logger.error('切换音频状态出错', error);
}
}
async function handleGetOnceCode() {
try {
elements.getOnceCodeBtn.disabled = true;
@@ -579,22 +404,6 @@ function bindEvents() {
elements.destroyBtn.addEventListener('click', destroySDK);
elements.getOnceCodeBtn.addEventListener('click', handleGetOnceCode);
elements.startChatBtn.addEventListener('click', startChat);
elements.stopChatBtn.addEventListener('click', stopChat);
elements.startSpeakBtn.addEventListener('click', startUserSpeak);
elements.stopSpeakBtn.addEventListener('click', stopUserSpeak);
elements.sendTextBtn.addEventListener('click', sendTextMessage);
elements.textInput.addEventListener('keypress', (e) => {
if (e.key === 'Enter') {
sendTextMessage();
}
});
elements.interruptBtn.addEventListener('click', interruptSpeaking);
elements.toggleAudioBtn.addEventListener('click', toggleAudio);
elements.clearLogBtn.addEventListener('click', clearLogs);
elements.logLevel.addEventListener('change', () => {
if (state.isInitialized) {
@@ -604,7 +413,6 @@ function bindEvents() {
});
elements.toggleConfigBtn.addEventListener('click', () => togglePanel('configPanel'));
elements.toggleControlBtn.addEventListener('click', () => togglePanel('controlPanel'));
elements.toggleLogBtn.addEventListener('click', () => togglePanel('logPanel'));
elements.fullscreenBtn.addEventListener('click', toggleFullscreen);