本目录(
docs_2/)是面向开源读者重写的文档集。原docs/保留了项目从需求到实现的全过程记录(决策日志、评审意见、联调过程),供追溯历史决策时查阅;日常使用与二次开发请以本目录为准。
BIM 问题管理平台是一个面向建模阶段 BIM 工程师的问题(碰撞、图面错误、净高不足等)跟踪管理平台:
| 痛点 | 本平台的应对 |
|---|---|
| 每人记录风格不统一,难以汇总 | 问题按「六要素」模板记录(楼层 → 图纸 → 位置 → 结论 → 详情 → 建议),分类挂四维度标准类目(类型 / 专业 / 专项 / 子项) |
| 一次面对几百条问题,抓不住重点 | 重要程度四档(紧急 / 普通 / 轻微 / 建议)+ 服务端筛选 / 排序 / 分页,紧急判定有明确规则 |
| 记录载体五花八门(Excel / Word / 各家平台),导出格式混乱 | 三档导出:Excel 全量清单(同步)、带图 HTML 报告(后台任务打包 ZIP)、Word 小批量报告(前端组装) |
| 想让 AI 帮着记录 / 批量处理,但平台没有 API | 全部业务能力开放为 REST API;AI 通过「代理执行」模式借用户的令牌操作,权限受发令人与 AI 动作清单双重约束,全部留痕 |
Ctrl+V 粘贴截图、拖拽、附件)、筛选、批量操作(改状态 / 改分类 / 改重要程度 / 删除,单次 ≤500 条,支持 dry-run 预演)、状态流转(关闭 / 重开)、答复讨论(答复可带图)。YYYY-NNN 编号)、账号管理(建号 / 停用 / 重置密码 / 平台角色)。| 层 | 选型 |
|---|---|
| 框架 | Nuxt 4(全栈:app/ 前端 SPA + Nitro server/ 后端) |
| 界面 | Nuxt UI v4(Tailwind CSS v4) |
| 数据库 | SQLite(默认,零配置,走 Node 22 内置 node:sqlite) / MySQL 8(多人共享开发库或既有基础设施) |
| ORM | Drizzle ORM 0.45(跨方言,双 config) |
| 鉴权 | nuxt-auth-utils(sealed 加密 Cookie 会话)+ 个人 Bearer Token(脚本 / AI) |
| 运行时 | Node.js ≥ 22 + pnpm 11 |
一条贯穿全项目的依赖纪律:禁止一切需要本地编译的原生模块。使用者是 BIM 工程师而非运维,装不上等于平台不存在 —— 因此 SQLite 走 node:sqlite(而非 better-sqlite3)、密码哈希用内置 crypto.scrypt(而非 bcrypt/argon2)、图像处理用纯 JS 的 jimp / @jsquash/webp(而非 sharp)。全部依赖均为纯 JS。
第一版(MVP)已完成:7 个业务页面 + 14 张表 + 58 个 REST 端点全部实现并联调通过。
| 项 | 状态 |
|---|---|
| BIM 模型展示页(web-ifc + Three.js,仅旋转浏览) | 暂缓;model_files 表已建,文件可上传存储 |
| 问题情况汇总页 / 报表统计端点 | 后置;模板已有现成范式 |
| MCP Server | 规划为 REST 之上的薄壳(只做协议翻译与转发,不重复实现权限与业务规则) |
| 项目归档 / 负责人移交 / 平台用户冻结后语义细化 | 契约层已有提案(见 docs/6_2接口契约.md 第 3.1c 节),待定案 |
| PostgreSQL 支持 | ORM 层已按跨方言约束编写,未做兼容性验证 |
| 文档 | 内容 |
|---|---|
| 02-getting-started.md | 安装、初始化、演示数据、登录 |
| 03-configuration.md | 环境变量、数据库切换、部署(反向代理 / HTTPS / 备份) |
| 04-user-guide.md | 页面导览、角色与权限、日常工作流、AI 接入指南 |
| 05-architecture.md | 技术选型理由、目录结构、前后端架构 |
| 06-database.md | 14 张表设计、通用约定、迁移与对拍 |
| 07-api.md | API 参考:鉴权、AI 代理执行、端点清单、错误码 |
| 08-development.md | 开发环境、常用命令、代码门禁、贡献规范 |
| 09-design-decisions.md | 关键设计决策及其理由(为什么这样设计) |