跳转至

端到端验收脚本(跑通全流程)

项目 内容
版本 v1.0
目标 让任何一个新成员/渠道伙伴/客户演示员,能按本脚本在 30 分钟内跑通完整业务闭环
环境 本地 wrangler dev 或已部署的 Cloudflare Worker

本文档对齐 v1/README.md 的"推荐使用流",并补齐每一步的预期结果、校验点、常见坑。所有命令均在 v1/ 目录执行。


0. 环境准备(一次性,约 10 分钟)

cd v1
npm install
(cd web && npm install)

# 首次需要创建 Cloudflare 资源
npx wrangler d1 create safe-site-v1-db
# 将输出的 database_id 写回 wrangler.jsonc

npx wrangler r2 bucket create safe-site-v1-files
npx wrangler r2 bucket create safe-site-v1-files-preview
npx wrangler queues create safe-site-v1-jobs

npm run d1:migrate:local

校验点: - wrangler d1 execute safe-site-v1-db --local --command "SELECT name FROM sqlite_master WHERE type='table'" 应列出至少 10 张表。 - node -e "JSON.parse(require('fs').readFileSync('../docs/evaluation-report-schema.json','utf8')); console.log('schema OK')" 通过。


1. 启动本地服务

终端 1:

npm run build:web
npx wrangler dev
# 预期输出: http://127.0.0.1:8787

终端 2(可选,前端热更新):

cd web && npm run dev
# 预期输出: http://127.0.0.1:5173

冒烟测试

curl -s http://127.0.0.1:8787/api/health | jq .
# 预期: { "ok": true, ... }


2. 场景一:匿名用户快速评估(PLG 路径)

模拟一个学校负责人首次访问的完整路径。

2.1 打开首页

浏览器访问 http://127.0.0.1:8787/(或 5173)。

预期:进入四步向导页面,左侧 Chat/勾选区,右侧结构化预览。

2.2 完成 4 步向导

  • Step 1 场景:选择【学校疏散】
  • Step 2 条件:应参演 820 人、目标疏散时间 5 分钟
  • Step 3 表现:上报 45s / 到场 80s / 疏散完成 250s / 实际疏散 818 人
  • Step 4 生成

2.3 验收点

  • 右侧实时显示结构化字段已被填充。
  • 点击【生成报告】后返回 report_id
  • 后端产生一条 anonymous_session 记录和一条 quick_report 记录:
npx wrangler d1 execute safe-site-v1-db --local \
  --command "SELECT COUNT(*) FROM anonymous_sessions"
# 预期: 1
  • 可以下载/查看基础报告(HTML 预览即可,Word/PDF 在后续队列处理)。

常见坑: - 如果前端报 /api/public/* 404,检查 Worker 路由配置。 - 如果 R2 上传失败,检查 wrangler.jsonc 的 bucket 绑定。


3. 场景二:匿名数据合并到注册账户

3.1 注册租户

访问 /register: - 租户名:南山试点评估中心 - 管理员邮箱 + 密码

预期:注册成功跳转到 /app,JWT 已写入 Cookie/LocalStorage。

3.2 合并匿名会话

前端在注册成功后应自动携带 anonymous_session_id 调用合并接口:

curl -X POST http://127.0.0.1:8787/api/anonymous/merge \
  -H "Authorization: Bearer <JWT>" \
  -H "Content-Type: application/json" \
  -d '{"anonymous_session_id":"<从浏览器 localStorage 取>"}'

校验点: - quick_report 表中对应记录 user_id 已更新为注册用户 ID。 - 新用户在 /app 工作台能看到刚才生成的那份报告。


4. 场景三:完整评估闭环(ToB 路径)

4.1 建模板

  • 进入【模板中心】→ 新建模板:学校疏散标准评估模板 v1
  • 新建版本:粘贴 docs/evaluation-report-schema.json 的指标片段(或默认模板)
  • 点击【发布】

预期:版本状态由 草稿已发布,不可再编辑。

4.2 建项目

  • 【项目管理】→ 新建项目:第三小学春季消防演练评估
  • 客户:第三小学
  • 项目 brief:按附录 E 字段填写
  • 进入项目 → 绑定刚才发布的模板版本 ID

4.3 场次录入

  • 新建场次:2026-04-15 上午疏散
  • 按量化指标录入:
  • IDX-01 信息上报时间 = 45s
  • IDX-02 到场时间 = 80s
  • IDX-03 首人撤离 = 110s
  • IDX-04 全员疏散 = 250s
  • IDX-05 疏散完成率 = 99.76%
  • 提交场次

校验点: - 系统自动算分。可查询:

npx wrangler d1 execute safe-site-v1-db --local \
  --command "SELECT id, auto_score, final_grade FROM drill_sessions ORDER BY id DESC LIMIT 1"
- 预期 auto_score ≈ 82, final_grade = 良

4.4 组长调分(审计留痕)

  • 将 IDX-07 组织指挥从 85 调整为 90,填写原因
  • 提交后确认 manual_adjustments 表产生一条记录。

4.5 问题 + 整改

  • 录入 4 条问题(P-01 ~ P-04,按 docs/评估报告样板-GBT46792对齐.md 样例)
  • 为每个问题创建整改任务,指派责任人、截止时间
  • 模拟客户侧更新 C-03 为【已关闭】并上传验证照片

4.6 生成报告

  • 点击【生成报告】→ 进入队列 → 状态由 pendingready

校验点

npx wrangler d1 execute safe-site-v1-db --local \
  --command "SELECT id, status, file_key, version FROM reports ORDER BY id DESC LIMIT 1"
- status = readyfile_key 指向 R2 对象。 - 下载报告 → 应包含本样板 10 模块的全部必填内容。

4.7 客户签收

  • 以客户身份登录 → 签收报告
  • 预期:报告 signed_status = signedaudit_logs 增加签收记录。

5. 场景四:审计证据包导出

在完成 4.6 之后:

curl -X POST http://127.0.0.1:8787/api/reports/<report_id>/audit-bundle \
  -H "Authorization: Bearer <JWT>" -o audit-bundle.zip

预期产物audit-bundle.zip 包含 - report.pdf - operation_logs.csv - version_history.json - evidence/ 目录(照片、视频、清点名单) - chat_log.json(若走 AI-Chat 模式)

这是 ToG 投标时最硬的合规交付物,务必反复验证完整性。


6. 验收 Checklist(可直接贴到 PR/交付报告)

  • 匿名用户 4 步生成基础报告 < 3 分钟
  • 注册合并后历史报告归属正确
  • 模板发布后可绑定项目,历史场次不受后续模板修改影响
  • 场次自动评分结果与手工计算误差 = 0
  • 组长调分必须带原因并写入 manual_adjustments
  • 问题 → 整改 → 关闭状态流完整
  • 报告生成队列在 60s 内完成(50 页以内)
  • 审计证据包可完整下载并解压
  • 不同租户数据严格隔离(拿租户 A 的 JWT 访问租户 B 的项目应返回 403)
  • 删除/编辑关键对象的操作全部进入 audit_logs

7. 演示路径建议(客户/投标现场)

7 分钟黄金演示脚本

时间 动作 话术要点
0-1min 打开首页四步向导 "您的一位社区干事,不用注册、不用培训,3 分钟出一份国标格式的报告"
1-3min Chat 模式走一遍 "AI 每一步都在引用 GB/T 46792-2025 条款,非专业人员也能产出合规输出"
3-4min 下载基础报告 "Word/PDF 与国标附录 E 完全对齐,可直接归档迎检"
4-5min 切到 /app 后台 "若是第三方评估机构或渠道伙伴,这里是您的运营台"
5-6min 展示整改跟踪 + 审计证据包 "我们不止交一份报告,而是把合规证据链都给您"
6-7min 讲商业模式 "免费基础版 / 进阶模板订阅 / 白标 OEM 三种合作方式"

修订记录

版本 日期 说明
v1.0 2026-04-23 初版端到端验收脚本,含 4 个核心场景 + 10 项 Checklist