Commit d850dd4f by luoqi

docs: 教条补撤销整批那节(含 key={i} 那个回归)

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
parent 58266293
...@@ -196,6 +196,32 @@ v1 **轻量**:不核销、不接宿主福利数据,福利就是**话术勾 ...@@ -196,6 +196,32 @@ v1 **轻量**:不核销、不接宿主福利数据,福利就是**话术勾
猜错的代价不对称:按客服理解一下子动 20 条,而主管以为只动了 1 条。 猜错的代价不对称:按客服理解一下子动 20 条,而主管以为只动了 1 条。
提示词里也定死了默认按**患者**理解。 提示词里也定死了默认按**患者**理解。
### 撤销整批(卡片上的入口,2026-08-03)
确认后的卡片终态多一个「撤销这批」,30 分钟内可点。
⚠️ 窗口按**确认那一刻**算,⛔ 不是提案生成时间 —— 主管可能盯着确认单改了二十分钟才点确认,
那二十分钟不该算进他的补救窗口。到点按钮自己消失,⛔ 别让他点了才被服务端拒。
⚠️ 弹窗必须**先说「客服已经打开过的收不回来」**:撤销几乎总是部分成功,
主管以为"点了就全回来了"的话,他会停止补救(比如不再逐条去打招呼),
而那几条其实还挂在别人手上。结果也要**如实报三个数**
`revoked / skippedTouched / alreadyReleased`),⛔ 不能只弹一句「已撤销」。
**不显示批次号**`#9a9fc222` 是 uuid 前 8 位,对主管没有任何意义(他不会拿它去查什么),
只是占位置 + 制造"我是不是该记下来"的负担。模型那边照旧拿得到完整 id
(走 `list_assignment_batches`),与界面显不显示无关。
**助手撤销时卡片要跟着变**`revoke_assignment` 是 MCP 工具、推不了侧信道,
但前端本来就收得到它的 `tool_result` —— 拿这个当同步信号,按 assignmentId 精确匹配。
不同步的话主管会看到两句互相矛盾的话:卡片写着「已分配」、助手说「已撤回 12 条」。
> 🔴 **踩过的坑:`key={i}` + 「把确认单钉到消息末尾」= 卡片状态全丢。**
> 助手每追加一句文本,sheet 在排序后数组里的下标就变 → React 卸载重建组件 →
> 主管删的条、拖的改派、逐条时效、以及"能不能撤销"的确认时刻**全部清空**。
> 症状是"确认完撤销按钮压根不出现",但真正丢的远不止那一个按钮。
> 现在确认单按 `requestId` 做 key。⛔ 凡是**带本地状态**的 block,key 都不能跟着位置走。
⚠️ 移除客服 = **他名下的条目一并移出本批**(患者留在池子里,下批再说), ⚠️ 移除客服 = **他名下的条目一并移出本批**(患者留在池子里,下批再说),
必须有二次确认并把这句话写在弹窗里 —— 否则主管以为只是把人从名单上划掉, 必须有二次确认并把这句话写在弹窗里 —— 否则主管以为只是把人从名单上划掉,
回头发现少了 20 个患者。要把这些人交给别人:先拖走,或回对话让助手重出一版。 回头发现少了 20 个患者。要把这些人交给别人:先拖走,或回对话让助手重出一版。
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment