Merge remote-tracking branch 'origin/feat/Plugin-front-end' into feat/back-to-front
This commit is contained in:
@ -352,6 +352,27 @@ export function getWebviewContent(iconUri?: string): string {
|
||||
background: var(--vscode-charts-red);
|
||||
animation: none;
|
||||
}
|
||||
|
||||
/* 快捷操作按钮样式 */
|
||||
.quick-actions {
|
||||
display: flex;
|
||||
gap: 10px;
|
||||
margin-bottom: 15px;
|
||||
flex-wrap: wrap;
|
||||
}
|
||||
.quick-btn {
|
||||
padding: 8px 16px;
|
||||
background: var(--vscode-button-secondaryBackground);
|
||||
color: var(--vscode-button-secondaryForeground);
|
||||
border: 1px solid var(--vscode-button-border);
|
||||
border-radius: 6px;
|
||||
cursor: pointer;
|
||||
font-size: 13px;
|
||||
transition: all 0.2s;
|
||||
}
|
||||
.quick-btn:hover {
|
||||
background: var(--vscode-button-secondaryHoverBackground);
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
@ -444,6 +465,10 @@ export function getWebviewContent(iconUri?: string): string {
|
||||
// 实时更新分段消息(按后端返回顺序)
|
||||
console.log('[WebView] 实时更新段落, segments:', message.segments);
|
||||
updateSegmentsRealtime(message.segments, message.isComplete);
|
||||
// 如果对话完成,恢复发送按钮状态
|
||||
if (message.isComplete && typeof setSendButtonState === 'function') {
|
||||
setSendButtonState(false);
|
||||
}
|
||||
break;
|
||||
|
||||
case 'receiveSegments':
|
||||
@ -532,6 +557,37 @@ export function getWebviewContent(iconUri?: string): string {
|
||||
showQuestion(message.askId, message.question, message.options);
|
||||
break;
|
||||
|
||||
case 'conversationHistory':
|
||||
// 渲染会话历史列表(支持分页)
|
||||
renderConversationHistory({
|
||||
items: message.items || [],
|
||||
total: message.total || 0,
|
||||
hasMore: message.hasMore || false
|
||||
});
|
||||
break;
|
||||
|
||||
case 'clearChat':
|
||||
// 清空聊天界面
|
||||
const messagesContainer = document.getElementById('messages');
|
||||
if (messagesContainer) {
|
||||
messagesContainer.innerHTML = '';
|
||||
}
|
||||
break;
|
||||
|
||||
case 'addUserMessage':
|
||||
// 添加用户消息
|
||||
if (message.text) {
|
||||
addMessage(message.text, 'user');
|
||||
}
|
||||
break;
|
||||
|
||||
case 'addAiMessage':
|
||||
// 添加AI消息
|
||||
if (message.text) {
|
||||
addMessage(message.text, 'bot');
|
||||
}
|
||||
break;
|
||||
|
||||
default:
|
||||
console.log('[WebView] 未处理的消息类型:', message.command);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user