From d86a69cec25ca031a002b25a881a18dec005c917 Mon Sep 17 00:00:00 2001 From: Charliechen114514 <725610365@qq.com> Date: Sun, 5 Jul 2026 08:21:51 +0800 Subject: [PATCH] =?UTF-8?q?fix(site):=20mermaid=20=E8=B7=B3=E8=BD=AC?= =?UTF-8?q?=E5=90=8E=E4=B8=8D=E6=B8=B2=E6=9F=93=20=E2=80=94=20onAfterRoute?= =?UTF-8?q?Change=20=E6=94=B9=E8=AE=A2=E9=98=85=E5=99=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ReadingProgress 与 mermaid 各自直接赋值 router.onAfterRouteChange (单值属性,非事件订阅),后挂载的 ReadingProgress 覆盖了 mermaid 的 回调,导致 SPA 跳转进含 mermaid 的页面时图不渲染、需 F5(首屏走 onMounted 不受影响,所以现象是"直接访问 URL 正常、跳转不显示、 F5 又正常")。 新增 router-hooks.ts 提供 subscribeAfterRouteChange 订阅器(订阅者 集合 + 单 dispatcher,带 try/catch 隔离),mermaid-client 与 ReadingProgress 改用之。治本:未来再加路由切换逻辑不会再互覆盖。 自查:grep 确认全局仅 router-hooks.ts 一处 onAfterRouteChange 赋值; vitepress dev 启动零 error;并行 build SUCCESS (34 task 全建)。 pre-commit update-translation-coverage hook 同步刷新了 README 翻译 覆盖率报告,一并纳入。 --- README.md | 2 +- .../theme/components/ReadingProgress.vue | 7 ++--- site/.vitepress/theme/mermaid-client.ts | 8 +++--- site/.vitepress/theme/router-hooks.ts | 28 +++++++++++++++++++ 4 files changed, 36 insertions(+), 9 deletions(-) create mode 100644 site/.vitepress/theme/router-hooks.ts diff --git a/README.md b/README.md index 8a965bcf3..1f15c1578 100644 --- a/README.md +++ b/README.md @@ -20,7 +20,7 @@ --- -![English Coverage](https://img.shields.io/badge/en_coverage-97%25-green.svg) 494/510 docs translated +![English Coverage](https://img.shields.io/badge/en_coverage-84%25-green.svg) 494/588 docs translated ## 这是什么项目 diff --git a/site/.vitepress/theme/components/ReadingProgress.vue b/site/.vitepress/theme/components/ReadingProgress.vue index 02fcf628b..938bbb9c2 100644 --- a/site/.vitepress/theme/components/ReadingProgress.vue +++ b/site/.vitepress/theme/components/ReadingProgress.vue @@ -1,12 +1,11 @@