正式站导出「产品全量档案资料」必然崩溃:整包写法在 89 列下约 60MB/千行, 生产 Node 堆被 PM2 限到 768MB,实际只能撑约 5000 行,而档案表已有 7 万余行。 PM2 记录 exited with code [0] via signal [SIGABRT],error log 19 次 FATAL ERROR: Reached heap limit,最后一次 GC dump 763.5MB(= 堆上限)。 改成「先冻结行 id 快照 → 每 2000 行分批取数 → ExcelJS 流式写出 → 边生成边下发」, 服务端堆占用与导出总行数解耦;并加同机并发上限 3(超限 429)兜底。 - repository:listRows 全量取数改为 openRowSource。先冻结本次要导的有序 id 快照, 再按 id 分批取完整行并按冻结顺序重排,避免导出期间上游同步导致行集合错位。 - service:createWorkbook 整包 writeBuffer 改为 openWorkbook 流式写出。 useSharedStrings:false(共享字符串表会累积全部唯一文本且无法回收); 冻结首行走 addWorksheet 的 views 选项(流式 worksheet 的 views 只有 getter, 直接赋值会被静默忽略);并发额度在「正常写完」与「客户端断开」两条路径都归还。 - route:改为流式响应,不再发 Content-Length(改 chunked);监听 request.signal, 客户端断开时销毁生成流;响应头发出后生成失败只能掐断流,故在路由层记日志。 - 前端:下载态文案改为「正在生成并下载文件...」;无 Content-Length 时显示「已接收 X」; 收流中断统一提示为可读文案,不再只报网络错误。 - 测试:5 个用例,含冻结首行回归守护与「客户端中途断开不泄漏并发额度」守护。 验证:本地真实库 66033 行 × 89 列,NODE_OPTIONS=--max-old-space-size=768 下 首字节 0.5s / 总耗时 26.7s / 产物 25.8MB / 峰值 heapUsed 152.5MB(对照:整包写法 同规模在 4GB 堆直接 OOM)。3001 真实路由 13951 行:status 200、无 Content-Length、 chunked、首字节 0.2s、5.5s / 5.6MB。产物特性 10/10(表名、冻结首行、autoFilter A1:CK1、89 列宽度、表头加粗与文本、行数),并用 openpyxl 独立交叉复核一致。 jest 5/5 通过、type-check EXIT=0。 已知边界:只在本机 next dev 验证,未跑 next build / next start。
由壹点「产品开发平台」工作区
最后更新:2026-04-07
当前主线:资产中心 -> 自动组合 -> 草稿组 -> 包装方案 -> 正式入库 -> 轻仓库
这个工作区真正长期开发的项目在 furniture-3d-system/。
旧 CAD -> 装配编辑 -> 装配步骤 -> 回放 链仍保留,但它现在是兼容链,不是默认主线。
先看哪里
AGENTS.mdfurniture-3d-system/docs/workflow/团队协作模式.mdfurniture-3d-system/docs/workflow/模块边界说明.mdfurniture-3d-system/docs/workflow/主线同步操作手册.mdfurniture-3d-system/docs/README.md
工作区结构
.
├── furniture-3d-system/ 主项目
├── docs/ 工作区级协作与交接文档
├── 方案设定/ 设计稿与方案素材
├── flnxi_sucai/ 参考资料
└── README.md
当前文档规则
- 当前有效的协作入口只认
furniture-3d-system/docs/workflow/下那 3 份协作文档。 - 根目录
docs/前端UI改动清单.md是当前前端交接执行单,不是历史总结。 - 一次性阶段报告、完成报告、旧 UI 方案已清理,不再保留为默认入口。
常用命令
cd furniture-3d-system
npm install
npm run dev
npm run type-check
npm run build
补充说明
- 非代码参考资料默认不参与构建。
- 没有用户明确要求,不主动提交、推送、发版。
Description
Languages
TypeScript
91.1%
JavaScript
5.1%
C#
1%
PowerShell
0.7%
CSS
0.6%
Other
1.4%