Просмотр исходного кода

refactor(s8): let config wizard generate rules server-side

YY968XX 3 месяцев назад
Родитель
Сommit
1b0d103f99

+ 3 - 1
Web/src/views/aidop/s8/api/s8ConfigApi.ts

@@ -362,7 +362,9 @@ export interface S8WizardDraftDetail extends S8WizardDraftListItem {
 }
 
 export interface S8WizardDraftGenerateRulePayload {
-	rulePayload: S8WatchRuleCreatePayload;
+	// CONFIG-WIZARD-FRONTEND-RULE-PAYLOAD-CLEANUP-1:
+	// 后端兼容模式 — 缺省时由后端从 draft.wizard_json + 字典重建。前端保留 optional 以便未来 override。
+	rulePayload?: S8WatchRuleCreatePayload;
 }
 
 export interface S8WizardDraftGenerateRuleResult {

+ 3 - 4
Web/src/views/aidop/s8/config/components/WatchRuleWizardDialog.vue

@@ -697,10 +697,9 @@ async function generateRuleFromDraft() {
 	try {
 		const ok = await saveDraft();
 		if (!ok || currentDraftId.value == null) { saving.value = false; return; }
-		const payload = buildRulePayload();
-		if (!payload) { saving.value = false; return; }
-		payload.enabled = false; // 双保险
-		const result = await s8ConfigApi.wizardDrafts.generateRule(currentDraftId.value, { rulePayload: payload });
+		// CONFIG-WIZARD-FRONTEND-RULE-PAYLOAD-CLEANUP-1:
+		// 不再前端拼装 rulePayload,由后端基于 draft.wizard_json + 字典重建。
+		const result = await s8ConfigApi.wizardDrafts.generateRule(currentDraftId.value, {});
 		ElMessage.success(`正式规则已生成,默认停用(id=${result.ruleId})`);
 		emit('generated');
 		emit('saved');