# Changelog: 推送页 B5 架构拆分 **日期**: 2026-06-02 ## 摘要 将单体 `PushPage.vue`(~1080 行)拆分为 composables + 8 个子组件,页面仅保留编排与生命周期,行为与 B4 一致。 ## 动机 - 降低推送页维护成本,对齐 Files 页的 `useFilesPage` + `components/files/` 模式 - 为后续独立推送 WS 频道、预览策略等改动提供清晰边界 ## 涉及文件 | 路径 | 说明 | |------|------| | `frontend/src/pages/PushPage.vue` | 重写为薄模板 | | `frontend/src/composables/push/*` | 表单、服务器选择、进度 WS、预览、历史/诊断 | | `frontend/src/components/push/*` | UI 子组件 | | `docs/design/plans/2026-06-02-push-refactor.md` | B5 标记完成 | ## 迁移 / 重启 - 仅前端:需 `npm run build-only` 并部署 `web/app/` 静态资源 - 后端无变更,无需重启 `nexus` ## 验证 ```bash cd frontend && npm run build-only ``` 本地已执行,构建成功(`PushPage-*.js` 约 33 kB gzip)。 ## 回滚 `git revert` 本批提交或恢复 `PushPage.vue` 单体版本;删除 `composables/push/` 与 `components/push/` 目录。