From 6acec9fcb5cc42c23fd52b5628aae92cfc19e12d Mon Sep 17 00:00:00 2001 From: Roe-xin Date: Tue, 17 Mar 2026 15:39:02 +0800 Subject: [PATCH] =?UTF-8?q?refactor:=20=E9=87=8D=E6=9E=84=E6=B6=88?= =?UTF-8?q?=E6=81=AF=E8=B7=AF=E7=94=B1=E6=A8=A1=E5=9D=97=EF=BC=8C=E6=B7=BB?= =?UTF-8?q?=E5=8A=A0=E4=B8=AA=E4=BA=BA=E8=A7=84=E5=88=99=E7=AE=A1=E7=90=86?= =?UTF-8?q?=E5=8A=9F=E8=83=BD=20=20=20=20-=20=E6=8B=86=E5=88=86=E6=B6=88?= =?UTF-8?q?=E6=81=AF=E5=A4=84=E7=90=86=E9=80=BB=E8=BE=91=E5=88=B0=E7=8B=AC?= =?UTF-8?q?=E7=AB=8B=E7=9A=84=20helper=20=E6=A8=A1=E5=9D=97=20=20=20=20-?= =?UTF-8?q?=20=E6=96=B0=E5=A2=9E=E4=B8=AA=E4=BA=BA=E8=A7=84=E5=88=99?= =?UTF-8?q?=E7=9A=84=E5=A2=9E=E5=88=A0=E6=94=B9=E6=9F=A5=E8=B7=AF=E7=94=B1?= =?UTF-8?q?=E5=A4=84=E7=90=86=20=20=20=20-=20=E4=BC=98=E5=8C=96=E4=BB=A3?= =?UTF-8?q?=E7=A0=81=E7=BB=93=E6=9E=84=EF=BC=8C=E6=8F=90=E5=8D=87=E5=8F=AF?= =?UTF-8?q?=E7=BB=B4=E6=8A=A4=E6=80=A7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/panels/helpers/messageRouter.ts | 64 +++++++++++++++++++++++++++++ 1 file changed, 64 insertions(+) diff --git a/src/panels/helpers/messageRouter.ts b/src/panels/helpers/messageRouter.ts index 2f78904..c346df1 100644 --- a/src/panels/helpers/messageRouter.ts +++ b/src/panels/helpers/messageRouter.ts @@ -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; } }