diff --git a/README.md b/README.md index 2cc02ab..60c2431 100644 --- a/README.md +++ b/README.md @@ -122,14 +122,27 @@ sudo ufw allow 8888/tcp ### 6. 嵌入主页(可选) -本项目也可作为 [mainPage](https://git.zikai.wang/zikai/zMainPage) 的一个页签嵌入展示。方式是在 mainPage 所在站点的 Apache 配置中,把 `/ttf/` 反向代理到本地 8888: +本项目可作为 [mainPage](https://git.zikai.wang/zikai/zMainPage) 的一个页签集成展示。采用**构建期组件集成 + git submodule**: -```apache -ProxyPass /ttf/ http://127.0.0.1:8888/ -ProxyPassReverse /ttf/ http://127.0.0.1:8888/ +- mainPage 通过 git submodule 把本项目作为子目录(`third_party/timeTableFix`)引入,并直接 `import` 本项目的 `src/App.vue` 作为懒加载路由组件。 +- 集成时共享 mainPage 的构建、依赖(`ical.js`)与 KeepAlive 缓存,不再是 iframe,无运行期割裂。 +- 本项目 `App.vue` 已做样式隔离(scoped + `ttf-` 前缀类名),全局重置仅在独立 app(`main.js`)加载,作为组件嵌入时不污染宿主。 + +**升级流程**(mainPage 侧更新本项目到新版本): + +```bash +cd mainPage +git submodule update --remote third_party/timeTableFix # 拉取最新 +cd third_party/timeTableFix && git checkout master # 固定到目标分支 +cd ../.. +git add third_party/timeTableFix # 更新 gitlink +git commit -m "chore: 升级 timeTableFix 子模块" +npm run build # 重新构建 mainPage ``` -mainPage 的 `src/config/app.config.js` 中 `timeTableFix.pageUrl = '/ttf/'` 即指向此代理。代理时 Apache 会把 Host 改写为 `127.0.0.1:8888`(localhost),无需在本项目的 `allowedHosts` 中加 `zikai.wang`。本项目本身完全独立,移除该代理与 mainPage 页签不影响其独立运行。 +本项目本身完全独立:脱离 mainPage 仍可独立 `npm run build` / `npm test` / systemd 部署。移除 mainPage 中的页签仅需删其 `src/modules/timetable/` 并 `git submodule deinit`,不影响本项目。 + +> 旧的 iframe 嵌入方式(Apache `/ttf/` 反代到 8888)仍可保留,用于经 `https://zikai.wang/ttf/` 单独访问独立 app,与组件集成互不冲突。 ## 使用(启动 / 关闭) diff --git a/src/App.vue b/src/App.vue index 05581ed..2f85d99 100644 --- a/src/App.vue +++ b/src/App.vue @@ -1,4 +1,8 @@