# 嵌入 mainPage zWhiteBoard 作为 [mainPage](https://git.zikai.wang/zikai/zMainPage) 的 git submodule(`third_party/zWhiteBoard`),经构建期组件 import 集成(非 iframe,与 timeTableFix / zPDF_package 同范式)。 ## 集成方式 - mainPage 侧 `src/modules/whiteboard/Whiteboard.vue` 套 `PageShell` 并透传 `:locale` / `:boardId` props。 - 构建期直接 `import` 本项目 `src/App.vue`,共享 mainPage 的构建与 KeepAlive 缓存。 - 组件内 `useWhiteboard.js` 同源 fetch `/api/wb/*` 与 WS `/api/ws/wb/*`,反代第一方自动携带 cookie,无需 CORS。 ## 便携式设计(无 host 依赖) 组件自身保持「无 host 依赖」: - 不持 `defineOptions({ name })`(避免与宿主组件名冲突)。 - 不引 mainPage 的 i18n,仅靠 `:locale` prop 驱动自有 i18n 实例。 - `useLocale` 直接读本子项目模块级 `i18n.global`,而非 `useI18n()`(后者嵌入时会解析到宿主实例,文案回退成 key)。 - `App.vue` 仅经 `:boardId` prop 决定连哪个白板,不耦合宿主路由。 详见 mainPage 的 `docs/submodule-zWhiteBoard.md`。