DIP1 业务测试启动指南(UAT Ready)¶
版本:V1.0 / 日期:2026-08-10 / 维护人:DIP1 Code Agent 适用范围:本地 dev 环境业务测试(OL/BO/TL/SPO/FL/CUS 全角色) 前置:Docker Desktop 已启动(dip1-postgres / dip1-redis / dip1-mailpit / dip1-jaeger 四容器)
一、一键启动(3 个终端)¶
# 终端 1:基础设施(如已在运行可跳过)
cd dip1 && docker compose up -d
# 终端 2:后端 API(http://localhost:8000,文档 http://localhost:8000/docs)
cd dip1/backend
PYTHONIOENCODING=utf-8 .venv312/Scripts/python.exe -m uvicorn app.main:create_app --factory --port 8000
# 终端 3:运营后台 Web(http://localhost:3000)
cd dip1/frontend && pnpm --filter opr-admin dev
移动端(Expo Go 扫码,真机需与电脑同局域网):
cd dip1/frontend
pnpm --filter wkr-app start # 师傅端
pnpm --filter cst-app start # 客户端
# 真机调试前设置环境变量(Windows PowerShell 示例):
# $env:EXPO_PUBLIC_API_URL="http://<电脑局域网IP>:8000/api/v1"
二、首次初始化(仅新环境需要)¶
cd dip1/backend
PYTHONIOENCODING=utf-8 .venv312/Scripts/python.exe -m alembic upgrade head # 建 34 表 + 系统种子
PYTHONIOENCODING=utf-8 .venv312/Scripts/python.exe -m app.infrastructure.db.seed.cli # 开发管理员
PYTHONIOENCODING=utf-8 .venv312/Scripts/python.exe -m app.infrastructure.db.seed.demo # 演示数据(幂等,可重复跑)
三、测试账号与演示数据¶
| 角色 | 入口 | 账号 |
|---|---|---|
| OL/BO/TL/SPO(运营后台) | http://localhost:3000 | admin / admin123(TL 全权限) |
| 客户(cst-app) | Expo App | 手机号 +85292220001(陳太)/ +85292220002(林先生)/ +85292220003(黃小姐),OTP 发送后响应里直接回显 6 位码(dev 便利),输入即登录 |
| 师傅(wkr-app) | Expo App | 暂用开发账密入口 admin / admin123(见「五、已知限制」#1) |
演示数据(DEMO 前缀,可用 seed.demo 重置):
| 数据 | 内容 |
|---|---|
| 订单 ×4 | L1 新线索(陳太/衣櫃)→ L3 已預約(林先生/床/李師傅/後日 AM,含已确认报价 HK$418.78)→ L6 今日安装中(黃小姐/橱柜/陳師傅)→ DONE 已完成(陳太/餐桌/已收款) |
| 师傅 ×3 | 陳師傅 L2 / 李師傅 L1 / 黃師傅 L3(含技能矩阵与 NPS) |
| 楼宇 ×2 | 觀塘私楼(有电梯)/ 沙田唐楼(无电梯,触发楼层因子) |
| 品类 ×8 | 衣櫃/橱柜/床/餐桌/书柜/电视柜/书桌/组合定制(系统种子) |
四、推荐测试路径(按角色)¶
OL 运营:登录后台 → Dashboard → 订单看板(4 池分组)→ 打开 L1 订单 → 创建报价(试算器)→ 派单(DSP 推荐师傅)→ 阶段流转 L1→L2→L3 BO 审批:报价折扣 >15% 或触发封顶 → 出现 BO 审批标记;奖励 ≥HK$500 需 BO approve FL 师傅:wkr-app → 今日任务 → 订单详情 → L6 作业 6S checklist(6 项全勾才能提交)→ 拍照登记 → 流转 L7 CUS 客户:cst-app → OTP 登录 → 首页选品类询价 → 查看报价 → 确认报价 → 订单 Timeline 跟踪 → L8 评价 + 推荐码分享 TL 系统管理:后台 /admin → 用户/角色权限矩阵/审计日志/死信队列
五、已知限制(占位项,不影响主流程测试)¶
| # | 限制 | 说明 |
|---|---|---|
| 1 | 师傅 OTP 登录 | otp-verify 当前只签 CST 客户 token;师傅端请用账密入口(FL 版 OTP 通道待后端补充) |
| 2 | 文件上传 | 附件为元数据登记(R2 对象存储未接),照片不会真正上传 |
| 3 | 支付 | checkout 为占位成功(UNPAID),未接 FPS/ Stripe 网关 |
| 4 | 推送 | /push/register 登记设备,/push/send 仅写投递日志,未接 APNs/FCM |
| 5 | 飞书同步 | /admin/feishu-sync/* 返回 503(P1 ⏸ 暂不实施,ADR-008) |
| 6 | L2→L3/L3→L4/L5→L6 部分闸门 | 按 SPEC 定义待启用(见 DWLG-20260810-02 §四) |
六、问题反馈¶
测试中发现问题请记录:页面/操作步骤/期望/实际/截图,按 SFM 反馈机制提交(PJM §4.4)。后端日志在 uvicorn 终端,API 文档与在线调试:http://localhost:8000/docs。
演示数据重置:随时重跑 python -m app.infrastructure.db.seed.demo(只清 DEMO 前缀数据,不影响其他数据)。