From 889a97a04d502e2bcea24d46835165e0b5c2584a Mon Sep 17 00:00:00 2001 From: fengxiangdebaozi <10845145+fengxiangdebaozi@user.noreply.gitee.com> Date: Sun, 2 Aug 2026 14:33:31 +0800 Subject: [PATCH] feat(maf): Phase 6 - migrate frontend workbench to tdesign-react and extract shared desensitize hook --- .../src/lib/use-desensitize-subtree.ts | 70 +++ .../components/MafApprovalCard.tsx | 80 ++-- .../components/MafEventTimeline.tsx | 183 +++++--- .../components/MafFactFlowPanel.tsx | 65 ++- .../components/MafHealthGate.tsx | 30 +- .../components/MafRunHeader.tsx | 72 +-- .../components/MafSeatStatusPanel.tsx | 47 +- .../maf-roundtable/pages/MafRunDetailPage.tsx | 47 +- .../maf-roundtable/pages/MafSessionsPage.tsx | 437 ++++++++++-------- .../lib/use-desensitize-subtree.ts | 68 +-- 10 files changed, 641 insertions(+), 458 deletions(-) create mode 100644 frontend-web/src/lib/use-desensitize-subtree.ts diff --git a/frontend-web/src/lib/use-desensitize-subtree.ts b/frontend-web/src/lib/use-desensitize-subtree.ts new file mode 100644 index 00000000..9ea04189 --- /dev/null +++ b/frontend-web/src/lib/use-desensitize-subtree.ts @@ -0,0 +1,70 @@ +/** + * 区域级脱敏 Hook —— 把某个容器(DOM 子树)里的**所有文本节点**做脱敏, + * 用于「左/右侧面板 + 顶部标题」这类需要整片脱敏的区域:静态标题、动态内容、 + * 嵌套子组件文本一并覆盖,无需逐串包 `desensitize()`(那样易漏、难维护)。 + * + * 用法:`const ref = useDesensitizeSubtree();
…
`。 + * + * 设计要点: + * - 只读改文本节点(display-only),不碰 `/