Files
geMoldInsight/frontend
cjw e728dcd226 批次4后续专项完成:D11清偿 + OCC方案B实施 + 部署参数 + D2诚实标注 + CI门禁
① D11 HTML 报告 RustFS 单源化(TECH_DEBT P2 清偿):可视化产物写任务临时目录后
   裸传报告键 html/reports/{filename}(文件名寻址),/html StaticFiles 挂载删除,
   新增 html_report_router 根路径代理(报告键→遗留 JSON 包装→本地卷兜底→404,
   防穿越);URL 形状 /html/{filename} 不变,持久化引用零迁移;celery 摘除
   html_data 卷,镜像不再烤入陈旧报告;顺带删除 get_stp_file_with_data 死数据块
② OCC 方案 B(D10 清偿):run_occ(op_name, payload) 契约 + 常驻工作进程池
   (occ_process_pool + occ_worker 操作注册表),超时/崩溃 terminate 换新补位、
   任务级超时 recover 整体重建,残留线程泄漏根治;TopoDS 不跨进程(generate_cavity
   分模 + 方案 STEP 持久化全在子进程内,返回 export_manifest);删除内存形状缓存链、
   CADExporter.export_mold_results、shape_loader(→ stp_materializer)
③ OCC 方案 A 部署参数:CELERY_CONCURRENCY / CELERY_MAX_TASKS_PER_CHILD 进
   Dockerfile.celery + compose + .env.example
④ D2 诚实标注:铝价响应带 source: "simulated",前端按来源渲染标注(原硬编码
   "上海期货交易所"属虚假声明),死代码 getAluminumPrice 删除
⑤ CI 门禁:.gitea/workflows/ci.yml 三 job(pytest / 前端构建含 vue-tsc /
   openapi 漂移检测)

接口变更三件套随批完成(openapi 76→77 paths + gen:api + 前端构建通过;方案 B
接口面零变化)。测试基线 143 passed, 0 skipped(新增 16 项)。文档六处同步。

Co-Authored-By: Claude Code <noreply@anthropic.com>
2026-09-18 17:22:01 +08:00
..
2026-05-29 17:30:26 +08:00
2026-05-29 17:30:26 +08:00
x
2026-08-31 18:01:34 +08:00
2026-05-29 17:30:26 +08:00
2026-05-29 17:30:26 +08:00
2026-05-29 17:30:26 +08:00

geMoldInsight Frontend

这是 geMoldInsight 的独立前端工程,基于:

  • Vue 3
  • Vite
  • TypeScript
  • Pinia
  • Vue Router

当前推荐部署方式为:

独立前端部署 + 同域反代 + unified backend

即:

  • 前端由 Nginx 静态站点独立提供
  • /api、/health、/html 通过同域反代统一转发到一个 unified backend
  • 前端继续使用相对路径调用后端接口

本地开发

npm install
npm run dev

开发服务器默认:

  • 端口:5173
  • 已代理:/api、/health、/html

生产构建

npm run build

构建产物输出到:

  • frontend/dist/

该目录由前端 Nginx 镜像或外部静态站点托管,不再输出到仓库根目录 static/。


部署

当前仓库已提供:

以及根目录 Compose 中的 frontend 服务:

docker compose --profile frontend up -d

完整系统:

docker compose --profile full up -d

说明

前端历史上曾通过后端 static/ 目录托管;当前已切换为独立部署模式。后端默认不再负责提供 SPA 页面,但仍提供:

  • /api/*
  • /health
  • /html/*(gemold 分析产物)