Files
qipai/docs/devlogs/2026-06-24-M08-A-顾客端.md
T

83 lines
4.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# M08-A 顾客端
## 本次工程增量
- 后端新增顾客端公开门店详情和房间列表接口:`GET /app-api/stores/:storeId``GET /app-api/stores/:storeId/rooms`,继续通过 `x-wechat-appid` 与可选 `tenant-id` 解析租户,房间只返回未删除且启用的公开数据。
- 小程序新增登录态封装,所有需登录接口自动携带 `Authorization: Bearer <token>`;首页门店卡片可进入门店详情。
- 门店详情页加载门店资料、公开房间列表和受控 Wi-Fi;Wi-Fi 只在登录后请求 `/app-api/stores/:storeId/wifi`
- 房间详情页接入报价、预占、测试支付创建和测试支付回调完成,形成顾客端下单链路的本地可验证入口。
- 新增 `scripts/check-miniapp-m08-a.mjs`,检查小程序页面注册、固定生产 API 域名、登录和 M08-A 关键接口调用。
## 验收结果
- `node scripts/check-miniapp-m08-a.mjs`PASS。
- `npm run build``backend/`):PASS。
- `node tests/store-discovery.test.mjs`PASS。
- `node tests/pricing.test.mjs`PASS。
- `node tests/payment.test.mjs`PASS。
- `npm test``backend/`):PASS。
## 状态
M08-A 仍为 `PARTIAL`。本次完成顾客端第一段工程闭环,但订单列表、开门、续费、取消、换房、分享、余额、优惠券、套餐、个人中心、生产微信支付调起和真机合法域名验证仍未完成,游标继续停留在 M08-A。
## 提交
- 工程提交:`4ac2c96`
- 远端校验:push 后执行 `HEAD == origin/main`
## 2026-06-24 续接:订单列表与详情
- 后端新增顾客端订单查询服务和路由:`GET /app-api/orders``GET /app-api/orders/:orderId`,按本人 `qipai_order_user_access` 与门店管理范围裁剪数据。
- 小程序新增 `pages/orders/list``pages/orders/detail`,可查看我的订单、订单详情、状态历史、取消测算和取消订单入口;房间预占成功后可直接进入订单详情。
- `scripts/check-miniapp-m08-a.mjs` 扩展检查订单页注册和订单相关真实 API 调用。
验收:
- `node scripts/check-miniapp-m08-a.mjs`PASS。
- `npm test``backend/`):PASS。
状态:
- M08-A 仍为 `PARTIAL`;开门、续费、换房、分享、余额、优惠券、套餐、个人中心、真实微信支付调起和真机合法域名验证待继续。
## 2026-06-24 续接:顾客端开门入口
- 后端新增顾客订单开门权限仓储,`GET/POST` 链路只允许本人未撤销订单、订单状态为 `PAID/RESERVED/IN_PROGRESS` 且处于开始前 30 分钟到结束时间之间的订单开门。
- 新增 `POST /app-api/orders/:orderId/open-door`,按订单上下文构造最小 `device.write` 权限并调用现有门控服务;顾客端强制 `holdopen=0`,不暴露后台设备控制接口。
- 小程序订单详情页新增“开门”按钮,调用订单绑定的 app-api 开门入口。
- `scripts/check-miniapp-m08-a.mjs` 扩展检查 `open-door` 调用。
验收:
- `node scripts/check-miniapp-m08-a.mjs`PASS。
- `node tests/device-control.test.mjs`PASS。
- `npm test``backend/`):PASS。
状态:
- M08-A 仍为 `PARTIAL`;续费、换房、分享、余额、优惠券、套餐、个人中心、真实微信支付调起和真机合法域名/实物开门验证待继续。
## 2026-06-25 续接:顾客端续费、换房与分享
- 后端新增顾客专用订单调整入口:`POST /app-api/orders/:orderId/renew``POST /app-api/orders/:orderId/change-room`
- 顾客续费只允许本人未撤销订单访问,继续复用服务端时段冲突、状态和价格计算;顾客换房额外限制目标房间必须属于原订单门店,避免跨门店改单。
- 小程序订单详情页新增续费分钟、换房目标房间 ID、分享有效期输入;续费/换房调用真实 app-api 并显示差价,分享调用 `POST /app-api/orders/:orderId/shares` 生成临时口令。
- `scripts/check-miniapp-m08-a.mjs` 扩展检查 `/renew``/change-room``/shares` 调用。
验收:
- `npm run build``backend/`):PASS。
- `node scripts/check-miniapp-m08-a.mjs`PASS。
- `node tests/order-management.test.mjs`PASS。
- `npm test``backend/`):PASS。
状态:
- M08-A 仍为 `PARTIAL`;余额、优惠券、套餐、个人中心、生产微信支付调起、真机合法域名和实物开门验证待继续。
提交:
- 工程提交:`874b9b8`
- 远端校验:待本轮 push 后执行 `HEAD == origin/main`