refactor: 重构消息路由模块,添加个人规则管理功能
- 拆分消息处理逻辑到独立的 helper 模块 - 新增个人规则的增删改查路由处理 - 优化代码结构,提升可维护性
This commit is contained in:
@ -22,6 +22,12 @@ import {
|
||||
handleOpenFileDiff,
|
||||
startChangeSession,
|
||||
} from "../../utils/messageHandler";
|
||||
import {
|
||||
loadPersonalRules,
|
||||
savePersonalRule,
|
||||
updatePersonalRule,
|
||||
deletePersonalRule,
|
||||
} from "../../utils/personalRulesManager";
|
||||
import { compactDialog } from "../../services/apiClient";
|
||||
import { ChatHistoryManager } from "../../utils/chatHistoryManager";
|
||||
import { getCachedUserInfo } from "../../services/userService";
|
||||
@ -392,5 +398,63 @@ export async function handleWebviewMessage(
|
||||
vscode.env.openExternal(vscode.Uri.parse(message.url));
|
||||
}
|
||||
break;
|
||||
|
||||
case "loadPersonalRules":
|
||||
{
|
||||
const data = loadPersonalRules();
|
||||
panel.webview.postMessage({
|
||||
command: "personalRulesLoaded",
|
||||
data: data,
|
||||
});
|
||||
}
|
||||
break;
|
||||
|
||||
case "savePersonalRule":
|
||||
{
|
||||
const success = await savePersonalRule(
|
||||
message.name,
|
||||
message.content,
|
||||
message.enabled,
|
||||
);
|
||||
if (success) {
|
||||
const data = loadPersonalRules();
|
||||
panel.webview.postMessage({
|
||||
command: "personalRulesLoaded",
|
||||
data: data,
|
||||
});
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
case "updatePersonalRule":
|
||||
{
|
||||
const success = await updatePersonalRule(
|
||||
message.filename,
|
||||
message.name,
|
||||
message.content,
|
||||
message.enabled,
|
||||
);
|
||||
if (success) {
|
||||
const data = loadPersonalRules();
|
||||
panel.webview.postMessage({
|
||||
command: "personalRulesLoaded",
|
||||
data: data,
|
||||
});
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
case "deletePersonalRule":
|
||||
{
|
||||
const success = await deletePersonalRule(message.filename);
|
||||
if (success) {
|
||||
const data = loadPersonalRules();
|
||||
panel.webview.postMessage({
|
||||
command: "personalRulesLoaded",
|
||||
data: data,
|
||||
});
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user