feat(授权): 添加后端服务支持自动获取授权码
- 新增 server 目录包含后端服务,支持通过 AK/SK 或用户名密码认证获取授权码 - 添加前端 API 模块实现授权码获取功能 - 更新 UI 增加获取授权码按钮和输入框布局 - 完善 README 文档说明后端配置和启动流程
This commit is contained in:
@@ -10,6 +10,7 @@
|
||||
|
||||
// 导入 HwICSUiSdk
|
||||
import { HwICSUiSdk, ICSEventKey, InteractionMode, ConfigKey } from '../hwICSUiSdk/HwICSUiSdk.esm.js';
|
||||
import { fetchOnceCode } from './api.js';
|
||||
|
||||
// ===== 全局状态 =====
|
||||
const state = {
|
||||
@@ -31,6 +32,7 @@ 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'),
|
||||
@@ -408,6 +410,24 @@ async function toggleAudio() {
|
||||
}
|
||||
}
|
||||
|
||||
async function handleGetOnceCode() {
|
||||
try {
|
||||
elements.getOnceCodeBtn.disabled = true;
|
||||
elements.getOnceCodeBtn.textContent = '🔄 获取中...';
|
||||
logger.info('正在获取授权码...');
|
||||
|
||||
const onceCode = await fetchOnceCode();
|
||||
elements.onceCode.value = onceCode;
|
||||
logger.info('授权码获取成功');
|
||||
|
||||
} catch (error) {
|
||||
logger.error('获取授权码失败', error.message);
|
||||
} finally {
|
||||
elements.getOnceCodeBtn.disabled = false;
|
||||
elements.getOnceCodeBtn.textContent = '🔑 获取授权码';
|
||||
}
|
||||
}
|
||||
|
||||
function clearLogs() {
|
||||
elements.logContainer.innerHTML = '';
|
||||
logger.info('日志已清空');
|
||||
@@ -417,6 +437,7 @@ function clearLogs() {
|
||||
function bindEvents() {
|
||||
elements.initBtn.addEventListener('click', initializeSDK);
|
||||
elements.destroyBtn.addEventListener('click', destroySDK);
|
||||
elements.getOnceCodeBtn.addEventListener('click', handleGetOnceCode);
|
||||
|
||||
elements.startChatBtn.addEventListener('click', startChat);
|
||||
elements.stopChatBtn.addEventListener('click', stopChat);
|
||||
|
||||
Reference in New Issue
Block a user