跳转至

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 前缀数据,不影响其他数据)。