refactor: 清理死代码/提前失败/高内聚低耦合,重写文档

死代码清理:
- 删除未使用的 UI 组件 Card.vue / Tag.vue
- 移除 app.config.js 死字段 healthTimeoutMs(×2)与 isDev()
- 移除 PageShell.vue 死 prop padded(恒为默认值)
- 移除 useLocale.js 死导出 isZh/pick/locale
- 移除 router/index.js 不可达 try/catch,简化为直接 .map()
- 移除 package.json 重复依赖 ical.js(子模块自带)
- 移除 i18n 死键 common.notAvailable / common.serviceUnavailable
- 移除 vite.config.js 陈旧的 /448 /449 dev proxy(z449 为构建期组件,不走该 URL)

提前失败/日志:
- useI18nLazy.js switchLocale 加载语言包失败时 console.error 记录(原静默吞错)
- modules/index.js 字段不全的模块跳过时 console.warn 告警(原与文档承诺不符、静默跳过)
- deploy.sh 补齐 zWhiteBoard / zPDF_package 的 npm install 与子模块初始化
  (均为构建期组件 import,全新检出时缺少依赖会构建失败)

文档对齐现状(无 iframe、无外部域名):
- README 改写为简洁版,修正 iframe/ical.js/子模块数量过时描述
- architecture.md 修正 requiresAlive 示例(同源 /api/health,非外部域名)
  与「仅白板使用」断言(PDF 也用);移除已删 padded prop
- add-module.md 同步移除 padded、修正 requiresAlive 示例
- submodule-timeTableFix.md 修正 ical.js 归属(子模块自带,非父项目共享)
- submodule-zPDF_package.md 子项目数量 3 -> 4
- 新增 submodule-zWhiteBoard.md
- readme-fixes.md 记录本次勘误
This commit is contained in:
2026-07-28 11:47:25 +08:00
parent 5b1acbdeb7
commit 25dbceee2d
22 changed files with 216 additions and 168 deletions

View File

@@ -18,3 +18,36 @@
**修正**:三处均改为说明构建输出到 `dist/`,由 `npm run deploy` rsync 到 `/root/html`,并在「开发命令」补 `npm run deploy` 一行。
> 背景:本次升级 timeTableFix 子模块(新增时区选择)时,按 README 从 0 构建复现发现该不一致。
## 2026-07-28部署路径统一为 /var/www/html
**原描述(不一致)**
- `package.json``npm run deploy` 脚本 rsync 到 `/root/html`(依赖 `/root/html` 软链到 `/var/www/html`)。
- `deploy.sh` 与 README 用 `/var/www/html`Apache 标准 DocumentRoot不依赖软链
- `vite.config.js` 顶部注释写 `/root/html(软链到 /var/www/html)`
**问题**:全新 Ubuntu 安装时 `/root/html` 软链不存在,`npm run deploy` 会失败或写到错误位置;三处路径不统一。
**修正**`package.json` deploy 脚本与 `vite.config.js` 注释统一为 `/var/www/html`,与 `deploy.sh`、README、Apache DocumentRoot 一致。
## 2026-07-28iframe / ical.js / 子模块数量描述过时
**原描述(错误)**
- README「外部依赖」称白板页「iframe 嵌入外部服务 `https://f.zikai.wang`」。
- README「项目结构」注释称 zPDF_package「iframe 嵌入 zTools2」、白板「iframe 嵌入」。
- README「package.json」注释含 `ical.js`(子模块依赖被误列在父项目)。
- README 子模块只列 timeTableFix / z449漏 zPDF_package / zWhiteBoard克隆后安装依赖步骤也漏后两者。
- architecture.md 的 `requiresAlive` 示例为 `https://f.zikai.wang/health`且称「仅白板页签使用」PDF 也用)。
- architecture.md / add-module.md 提及 PageShell 的 `padded` prop已被移除
- submodule-timeTableFix.md 称「共享 mainPage 的依赖 `ical.js`」(实际子模块自带)。
**实际行为**
- 四个子模块timeTableFix / z449 / zPDF_package / zWhiteBoard均为**构建期组件 import**(非 iframe
- 白板与 PDF 页签的探针均为同源相对路径 `/api/health`(经反代/vite proxy 指向 zTools2非外部域名。
- `ical.js` 仅 timeTableFix 使用,由其自身 `package.json` 管理mainPage 的 `package.json` 不再列。
- PageShell 已无 `padded` prop默认即上下间距
**修正**README 改写为简洁版,结构/外部依赖/克隆步骤均对齐现状docs 各文件同步修正。