From 79374a5c1dfc4d766a813a91f99df8511d963cab Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=B5=85=E5=BF=B5?= Date: Wed, 14 Oct 2026 19:16:55 +0800 Subject: [PATCH] =?UTF-8?q?docs:=20Task10=20=E8=A1=A5=20Task8=20=E8=AF=84?= =?UTF-8?q?=E5=AE=A1=E6=8A=98=E5=85=A5=E9=A1=B9=EF=BC=88=E7=A9=BA=E7=99=BD?= =?UTF-8?q?=E8=A1=8C=E9=A2=84=E8=AD=A6/=C3=97=E9=94=AE=E7=9B=98=E5=8F=AF?= =?UTF-8?q?=E8=BE=BE/=E6=AD=A3=E5=88=99=E6=B3=A8=E8=AE=B0=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Code --- docs/superpowers/plans/2026-10-14-config-center-ux-visual.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/superpowers/plans/2026-10-14-config-center-ux-visual.md b/docs/superpowers/plans/2026-10-14-config-center-ux-visual.md index ab05443..65cb39b 100644 --- a/docs/superpowers/plans/2026-10-14-config-center-ux-visual.md +++ b/docs/superpowers/plans/2026-10-14-config-center-ux-visual.md @@ -854,7 +854,7 @@ props `{ model: WallEditModel }`;迁移块内的 section-note 保留但首行 - Modify: `admin/src/views/config/center/WallPane.vue`(大改:主体模板换结构) - Modify: `admin/src/views/config/center/index.vue`(wall pane 挂载处加 `@navigate`) -- [ ] **Step 1: 主体重排**——外层换 `ConfigCard icon="solar:chat-round-line-duotone" title="AI 话术" subtitle="AI 回复客户时用的标准句与引擎规则——改动保存后立即对线上对话生效" info="保存前自动跑试金石预演;正则与 AI 指令在下方「高级」区"`;主面顺序:`` → no_contact 卡(三键行编辑,NO_CONTACT_KEYS 白话标签:web=网页会话(有按钮)/ app=App 会话(无按钮)/ already=客户已留过)→ cc_templates 卡(四组 × CC_TEMPLATE_VARIANTS 封闭语言直接渲染,标注 `{intl}` 为运行期回填变量、不可删除)→ 试金石面板(现状保留)→ ``(默认折叠)。旧模板的池区/正则区/提醒区删除(已迁移) +- [ ] **Step 1: 主体重排**——外层换 `ConfigCard icon="solar:chat-round-line-duotone" title="AI 话术" subtitle="AI 回复客户时用的标准句与引擎规则——改动保存后立即对线上对话生效" info="保存前自动跑试金石预演;正则与 AI 指令在下方「高级」区"`;主面顺序:`` → no_contact 卡(三键行编辑,NO_CONTACT_KEYS 白话标签:web=网页会话(有按钮)/ app=App 会话(无按钮)/ already=客户已留过)→ cc_templates 卡(四组 × CC_TEMPLATE_VARIANTS 封闭语言直接渲染,标注 `{intl}` 为运行期回填变量、不可删除)→ 试金石面板(现状保留)→ ``(默认折叠)。旧模板的池区/正则区/提醒区删除(已迁移)。**Task 8 评审折入三件**:① ScenarioCard 的 requiredMissing 收紧为「语言缺失或两池全部行皆空白」——`.some((p) => !(model.pools[p.field][l]?.some((t) => t.trim() !== '')))`(空白行保留但全空也预警,与 cleanPool 序列化语义对齐);② 场景卡 × 删除钮补键盘可达:`role="button" tabindex="0" aria-label="删除此语言" @keydown.enter.prevent="removeLang(lang)" @keydown.space.prevent="removeLang(lang)"`;③ 添加语言正则保持严格 `^[a-z]{2,3}$`(WallPane 旧池编辑器的宽正则随 Task 10 退役;异常存量码可显示可删不可重加——注释注记即可) - [ ] **Step 2: 保存路径加变量保护**——onSave 组装 payload 后(ElMessageBox 须在 WallPane 顶部 `import { ElMessageBox } from 'element-plus'`——非 auto-import): ```ts