# zWhiteBoard 共享记事本前端 -- textarea + WebSocket 实时同步、心跳、断线重连。复用 zTools2 后端 API。 ## 集成方式 便携式组件,两种运行模式: - **独立运行**:`npm run dev` / `npm run build`,自带 i18n 与全局样式。 - **嵌入 mainPage**:作为 git submodule 挂在 zMainPage `third_party/zWhiteBoard`,经构建期组件 import 集成(非 iframe)。mainPage 侧包装器 `Whiteboard.vue` 套 `PageShell` 并透传 `:locale` / `:boardId` props。 ## 后端接口(zTools2 提供,不改动) - `GET /api/wb/{id}` -- 预取白板内容(不存在则服务端新建) - `WS /api/ws/wb/{id}` -- 实时同步:hello / edit / ping / clear(C->S);init / pong / update / cleared / error(S->C) 全量文本同步(非 OT/CRDT,last-writer-wins),400ms debounce,3s 心跳,2s 固定重连。 ## 开发 ```bash npm install npm test # 单元测试 npm run dev # 开发服务器(代理 /api -> 本地 zTools2:6867,含 ws:true) npm run build # 产物在 dist/ ```