端到端验收脚本(跑通全流程)¶
| 项目 | 内容 |
|---|---|
| 版本 | 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:
终端 2(可选,前端热更新):
冒烟测试:
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 生成报告¶
- 点击【生成报告】→ 进入队列 → 状态由
pending→ready
校验点:
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 = ready,file_key 指向 R2 对象。
- 下载报告 → 应包含本样板 10 模块的全部必填内容。
4.7 客户签收¶
- 以客户身份登录 → 签收报告
- 预期:报告
signed_status = signed,audit_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 |