feat:实现波形预览的功能
This commit is contained in:
@ -1,3 +1,5 @@
|
||||
import { getWaveformPreviewContent, getWaveformPreviewScript } from './waveformPreviewContent';
|
||||
|
||||
/**
|
||||
* 获取 WebView 面板的 HTML 内容
|
||||
*/
|
||||
@ -381,6 +383,7 @@ export function getWebviewContent(iconUri?: string): string {
|
||||
border-radius: 4px;
|
||||
margin-top: 10px;
|
||||
}
|
||||
${getWaveformPreviewContent()}
|
||||
.file-editor-section {
|
||||
margin-bottom: 15px;
|
||||
padding: 15px;
|
||||
@ -954,6 +957,23 @@ export function getWebviewContent(iconUri?: string): string {
|
||||
case 'receiveMessage':
|
||||
addMessage(message.text, 'bot');
|
||||
break;
|
||||
case 'vcdGenerated':
|
||||
// VCD 文件生成成功,显示带波形预览的消息
|
||||
const messageDiv = document.createElement('div');
|
||||
messageDiv.className = 'message bot-message';
|
||||
|
||||
const messageContent = document.createElement('div');
|
||||
messageContent.textContent = message.text;
|
||||
messageDiv.appendChild(messageContent);
|
||||
|
||||
// 添加波形预览组件
|
||||
if (message.vcdFilePath && message.fileName) {
|
||||
addWaveformPreviewToMessage(messageDiv, message.vcdFilePath, message.fileName);
|
||||
}
|
||||
|
||||
messagesEl.appendChild(messageDiv);
|
||||
messagesEl.scrollTop = messagesEl.scrollHeight;
|
||||
break;
|
||||
case 'fileContent':
|
||||
displayFileContent(message.content, message.filePath);
|
||||
break;
|
||||
@ -969,6 +989,12 @@ export function getWebviewContent(iconUri?: string): string {
|
||||
case 'fileUpdateError':
|
||||
addMessage(\`❌ \${message.error}\`, 'bot');
|
||||
break;
|
||||
case 'vcdInfo':
|
||||
// 接收到 VCD 文件信息,渲染波形预览
|
||||
if (message.containerId && message.vcdInfo) {
|
||||
renderWaveformInfo(message.containerId, message.vcdInfo);
|
||||
}
|
||||
break;
|
||||
}
|
||||
});
|
||||
|
||||
@ -992,6 +1018,8 @@ export function getWebviewContent(iconUri?: string): string {
|
||||
autoResizeTextarea();
|
||||
|
||||
messageInput.focus();
|
||||
|
||||
${getWaveformPreviewScript()}
|
||||
</script>
|
||||
</body>
|
||||
</html>`;
|
||||
|
||||
Reference in New Issue
Block a user