refactor(frontend): 移除对话控制面板及相关功能代码
移除不再需要的对话控制面板HTML结构、CSS样式和JavaScript功能代码
This commit is contained in:
@@ -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);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user