platform-assistant/apps/api/AGENTS.md
Sisyphus afac18e843 feat(F002): W26 + W29.x + W30 + W31 平台助手全部改动首次 commit
- W26: NestJS API + Next.js Web + Prisma + SQLite scaffold
- W26: Lead 模型 + Crawler + 询价发布助手 (线索池 + 一键发布)
- W29.x: MCP 集成 (Integration 模型 + connectMcp + publish_rfq 5 工具端到端跑通)
- W30: 3 字段补充 (notes / quotationType / quotationDemand)
- W31 P1: 自动填 enterpriseId / userId (Prisma companyUserId 字段 + get_app_identity tool + lead.service.ts publishArgs)
- W31: detail 详情页 + admin UI 集成管理 (OpenAppListView + AuditLogListView)

关联: ~/Documents/02-平台开发/产品开发/F002-W31-交接文档.md
GIT-AUDIT-REPORT-2026-06-24.md
2026-06-24 11:07:11 +08:00

2.0 KiB
Raw Blame History

apps/api — NestJS 10 后端

生成: 2026-06-05 分支: main

OVERVIEW

NestJS 10 后端,Prisma ORM + SQLite,提供 RESTful API。端口 4000。JWT 认证。

STRUCTURE

api/
├── src/
│   ├── admin/         # 管理后台(租户/用户/配置/计划)
│   ├── auth/          # JWT + Passport 认证
│   ├── audit-log/     # 审计日志
│   ├── comparison/    # 比价模块
│   ├── crawler/       # 采集器调度 + execSync 调用脚本
│   ├── image/         # 三阶段生图(图库→Bing→AI)
│   ├── inquiry/       # 询价
│   ├── lead/          # 线索(核心,评分/状态流转/跟进)
│   ├── product/       # 商品
│   ├── reports/       # 报表
│   ├── rules/         # 规则中心
│   ├── users/         # 用户管理
│   ├── prisma/        # Prisma 服务封装
│   ├── common/        # 公共装饰器/过滤器
│   ├── app.module.ts  # 根模块(导入所有子模块)
│   └── main.ts        # 启动入口
└── prisma/
    └── schema.prisma  # 数据模型(~15 个模型)

WHERE TO LOOK

任务 位置 Notes
新增 API 端点 src/xxx/xxx.controller.ts ValidationPipe 全局自动转换
修改数据库模型 prisma/schema.prisma 改后必须 npm run db:init
采集器调度 src/crawler/ execSync 调用 scripts/tender-fetcher/
图片生成 src/image/image.service.ts 三阶段流水线

CONVENTIONS

  • Prisma 变更三步:generate → migrate → seed(db:init 一站式)
  • 采集器脚本路径:scripts/tender-fetcher/
  • 无测试框架
  • 端口 4000,CORS 白名单 localhost:3000/3001 + direv.cloud
  • 静态文件 /uploads → public/uploads

ANTI-PATTERNS

  • 不要在代码中硬编码脚本路径以外的文件路径
  • 采集器 state 文件不要手动删除(中电建用 systemId_招采公告 作 key)