docs: 精简 README(结构/依赖/使用),更新子模块 gitlink

- mainPage README 精简为结构/外部依赖/如何使用/开发命令
- 子模块 z449 (9ed486c) / timeTableFix (78d7afe) README 同步精简,细节移至各自 docs/
This commit is contained in:
Zikai
2026-07-24 09:15:38 +00:00
parent d9309756c7
commit 08c1b457e4
2 changed files with 18 additions and 22 deletions

View File

@@ -1,57 +1,52 @@
# mainPage · 作品集主页 # mainPage · 作品集主页
Zikai 的作品集主页 -- Vue 3 模块化多项目展示站。浅色极简、中英双语(英文按需懒加载)。 Zikai 的作品集主页 -- Vue 3 模块化多项目展示站。浅色极简、中英双语(英文按需懒加载)。每个项目页签是一个独立「模块」,由注册表自动生成页签与路由 -- 新增/删除页签只增删一个文件夹,互不影响。
每个项目页签是一个独立「模块」,由注册表自动生成页签与路由 -- 新增/删除页签只增删一个文件夹,互不影响。
> 架构细节、新增页签指南、子项目管理见 [`docs/`](./docs/)。 > 架构细节、新增页签指南、子项目管理见 [`docs/`](./docs/)。
---
## 项目结构 ## 项目结构
``` ```
mainPage/ mainPage/
├── index.html ├── index.html
├── package.json # 含 ical.jstimeTableFix 依赖)、vue-i18nz449 嵌入时共享) ├── package.json # 含 ical.js / vue-i18n子模块嵌入时共享)
├── vite.config.js # 构建输出到 /root/htmlemptyOutDir=false不清空既有文件 ├── vite.config.js # 构建输出到 /root/htmlemptyOutDir=false不清空既有文件
├── .gitmodules # git submodulethird_party/timeTableFix ├── .gitmodules # git submoduletimeTableFix / z449
├── README.md ├── README.md
├── docs/ # 架构 / 新增页签 / 子模块管理文档 ├── docs/ # 架构 / 新增页签 / 子模块管理文档
├── public/favicon.svg ├── public/favicon.svg
├── third_party/ ├── third_party/
│ ├── timeTableFix/ # ★ git submoduleICS 日程整理器,独立仓库 │ ├── timeTableFix/ # ★ git submoduleICS 日程整理器
│ └── z449/ # ★ git submodule移动游戏项目展示页,独立仓库 │ └── z449/ # ★ git submodule移动游戏项目展示页
└── src/ └── src/
├── main.js # 应用入口(挂载 i18n / router / 全局样式) ├── main.js # 应用入口(挂载 i18n / router / 全局样式)
├── App.vue # 根布局:顶栏 + 标签导航 + <KeepAlive router-view> + 页脚 ├── App.vue # 根布局:顶栏 + 标签导航 + <KeepAlive router-view> + 页脚
├── config/ ├── config/app.config.js # 集中配置:外部服务 URL白板地址 / 存活探针等)
│ └── app.config.js # 集中配置:外部服务 URL白板地址 / 存活探针等)
├── i18n/ # 国际化(中文同步注入;英文动态 import() 懒加载) ├── i18n/ # 国际化(中文同步注入;英文动态 import() 懒加载)
├── router/index.js # 路由表由模块注册表自动生成 ├── router/index.js # 路由表由模块注册表自动生成
├── modules/ # ★ 扩展点:每个页签一个文件夹 ├── modules/ # ★ 扩展点:每个页签一个文件夹
│ ├── index.js # 注册表import.meta.glob 约定式收集,带容错) │ ├── index.js # 注册表import.meta.glob 约定式收集,带容错)
│ ├── mobile-game/ # 移动游戏项目页签 │ ├── mobile-game/ # 移动游戏项目页签(包装 z449 子模块)
│ ├── whiteboard/ # 共享记事本页签iframe 嵌入 + 存活校验) │ ├── whiteboard/ # 共享记事本页签iframe 嵌入 + 存活校验)
│ ├── timetable/ # 日程整理页签(构建期 import 子模块 App.vue │ ├── timetable/ # 日程整理页签(包装 timeTableFix 子模块
│ └── calendar/ # 隐藏页(仅手动访问 /cqy │ └── calendar/ # 隐藏页(仅手动访问 /cqy
├── components/ # 共享组件TabNav / LanguageSwitcher / ui 基元含 PageShell ├── components/ # 共享组件TabNav / LanguageSwitcher / ui 基元含 PageShell
├── composables/ # useProjects / useLiveness / useI18nLazy / useLocale ├── composables/ # useProjects / useLiveness / useI18nLazy / useLocale
└── styles/ # variables.css主题令牌+ base.css └── styles/ # variables.css主题令牌+ base.css
``` ```
## 依赖的基础设施 ## 外部依赖
| 项 | 要求 | | 项 | 要求 |
|---|---| |---|---|
| Node.js | ≥ 18(开发于 18.19 + npm 9.2 | | Node.js | ≥ 18 |
| Web 服务器 | Apache 2.4(启用 `mod_rewrite`),对外静态服务 `/root/html` | | Web 服务器 | Apache 2.4(启用 `mod_rewrite`),对外静态服务构建产物 |
| SPA 回退 | history 模式需站点根 `.htaccess` 回退到 `index.html`(见下) | | SPA 回退 | history 模式需站点根 `.htaccess` 回退到 `index.html` |
| 共享记事本 | iframe 嵌入外部服务 `https://f.zikai.wang`URL 在 `src/config/app.config.js` 配置) |
> 共享记事本页签 iframe 嵌入外部服务(`https://f.zikai.wang/wb/share`URL 在 `src/config/app.config.js` 配置 > 子模块timeTableFix / z449为构建期组件集成非 iframe共享 mainPage 的构建与 KeepAlive 缓存
> 日程整理页签timeTableFix经 git submodule 构建期集成(非 iframe详见 [`docs/submodule-timeTableFix.md`](./docs/submodule-timeTableFix.md)。
> 移动游戏项目页签z449同样经 git submodule 构建期集成,子模块自带独立 i18n经 `:locale` prop 同步父项目语言,详见 [`docs/submodule-z449.md`](./docs/submodule-z449.md)。
## Ubuntu 从 0 安装 ## 如何使用
```bash ```bash
# 1. 安装 Node.js 18 # 1. 安装 Node.js 18
@@ -63,8 +58,9 @@ git clone --recursive https://git.zikai.wang/zikai/zMainPage.git mainPage
cd mainPage cd mainPage
# 若已 clone 但未带子模块git submodule update --init --recursive # 若已 clone 但未带子模块git submodule update --init --recursive
npm install npm install
# 子模块 z449 需各自安装依赖(构建期编译其 .vue # 子模块需各自安装依赖(构建期编译其 .vue
(cd third_party/z449 && npm install) (cd third_party/z449 && npm install)
(cd third_party/timeTableFix && npm install)
# 3. 构建(产物输出到 /root/html不清空既有文件 # 3. 构建(产物输出到 /root/html不清空既有文件
npm run build npm run build