fix:修复启用/禁用个人规则失效的bug

This commit is contained in:
Roe-xin
2026-03-20 15:19:24 +08:00
parent 1207d2b91a
commit 69f86dbc0d
3 changed files with 116 additions and 40 deletions

View File

@ -27,11 +27,15 @@ import {
savePersonalRule,
updatePersonalRule,
deletePersonalRule,
updatePersonalRulesEnabled,
} from "../../utils/personalRulesManager";
import { compactDialog } from "../../services/apiClient";
import { ChatHistoryManager } from "../../utils/chatHistoryManager";
import { getCachedUserInfo } from "../../services/userService";
import { loadConversationHistory, selectConversation } from "./conversationHelper";
import {
loadConversationHistory,
selectConversation,
} from "./conversationHelper";
import { getVCDFileInfo } from "./vcdHelper";
import {
handleAddContextFile,
@ -138,16 +142,16 @@ export async function handleWebviewMessage(
break;
case "loadConversationHistory":
loadConversationHistory(
panel,
message.offset || 0,
message.limit || 10,
);
loadConversationHistory(panel, message.offset || 0, message.limit || 10);
break;
case "selectConversation":
if (message.conversationId) {
selectConversation(panel, message.conversationId, context.extensionPath);
selectConversation(
panel,
message.conversationId,
context.extensionPath,
);
}
break;
@ -261,7 +265,9 @@ export async function handleWebviewMessage(
verified: true,
});
} else {
const { InvitationService } = require("../../services/invitationService");
const {
InvitationService,
} = require("../../services/invitationService");
const isVerified = await InvitationService.isVerified(context);
panel.webview.postMessage({
command: "invitationCodeStatus",
@ -292,7 +298,9 @@ export async function handleWebviewMessage(
case "checkTrialExpiration":
{
const { TrialExpirationService } = require("../../services/trialExpirationService");
const {
TrialExpirationService,
} = require("../../services/trialExpirationService");
const trialService = new TrialExpirationService(context, panel);
await trialService.checkExpiration();
}
@ -300,7 +308,9 @@ export async function handleWebviewMessage(
case "verifyInvitationCode":
{
const { InvitationService } = require("../../services/invitationService");
const {
InvitationService,
} = require("../../services/invitationService");
const result = await InvitationService.verifyCode(message.code);
if (result.success) {
@ -390,7 +400,7 @@ export async function handleWebviewMessage(
case "openContextSettings":
panel.webview.postMessage({
command: "openSettingsTab",
tab: "context"
tab: "context",
});
break;
@ -401,7 +411,7 @@ export async function handleWebviewMessage(
canSelectFolders: false,
openLabel: "选择文件",
filters: {
"支持的文件": ["md", "txt", "v", "sv", "pdf"],
: ["md", "txt", "v", "sv", "pdf"],
},
});
@ -557,6 +567,19 @@ export async function handleWebviewMessage(
}
break;
case "updatePersonalRulesEnabled":
{
const success = await updatePersonalRulesEnabled(message.enabled);
if (success) {
const data = loadPersonalRules();
panel.webview.postMessage({
command: "personalRulesLoaded",
data: data,
});
}
}
break;
case "loadDocumentSets":
const { getDocumentSets } = await import("./contextHelper");
panel.webview.postMessage({