# 私域综合小程序(商城版)
按 `docs/` 契约开发。当前为 **合并部署**(`mall-boot` 单进程 8080),本地进程部署,**暂不用 Docker**。
## 已完成
- P0 基座:`sql/`、`backend/`、`web-admin/`、`miniapp/`、`scripts/`、`deploy/`
- P1 认证:微信登录(mock)、商家登录 RBAC、JWT
- P2 商品域:C 端 M1~M4;商家端 B1~B17 + C1 上传;Web 轮播/分类/商品管理;写路径缓存失效
- M25 逆地理编码(未配置腾讯 key 时降级空结果,不阻断联调)
- P3 交易闭环(模拟支付):购物车/地址/券/预览/下单(M5~M14);模拟支付 M19;订单列表/详情/取消/确认收货(M15~M18);发货/备注/关单(B18~B22);售后申请与审核(M20/M24、B23/B24);经营看板(B25/B26);超时关单与支付补偿定时任务
- 冒烟脚本:`scripts/smoke-p3.ps1`(交易闭环);`scripts/smoke-member.ps1`(会员开通);`scripts/smoke-exception.ps1`(库存不足/幂等/关单回补/超时关单/重复支付与回调);`scripts/smoke-audit-ratelimit.ps1`(操作日志落库)
## 下一步(按 docs/08)
- 真实微信支付 JSAPI + 回调验签/幂等 + 真实退款 APIv3(需商户资质)
- P4 三端联调压测 / P5 上线;二期老年服务等扩展
## 横切能力(近期完成)
- 操作日志:B 端写接口 `@OpLog` → 表 `log_operation`
- 限流:Redis `rate:ip` / `rate:user`(默认 500/5 QPS)+ 下单 1 次/秒;超限错误码 `1004`
- 生产 Nginx/HTTPS:见 `deploy/README.md`;发布 `scripts/deploy-web.ps1`;验收 `scripts/check-prod-ready.ps1`
## 本地启动
敏感配置(JWT / DB / 微信)通过环境变量覆盖,见 `docs/07-开发环境与部署.md` 第 2 节;开发默认 `SPRING_PROFILES_ACTIVE=dev`。
```powershell
# 1) 确认 MySQL(root/123456) + Redis 已运行
# 2) 初始化库(首次,见 sql/README.md)
mysql -uroot -p123456 --default-character-set=utf8mb4 -e "SOURCE d:/a-shuju
# 私域综合小程序(商城版)
按 `docs/` 契约开发。当前为 **合并部署**(`mall-boot` 单进程 8080),本地进程部署,**暂不用 Docker**。
## 已完成
- P0 基座:`sql/`、`backend/`、`web-admin/`、`miniapp/`、`scripts/`、`deploy/`
- P1 认证:微信登录(mock)、商家登录 RBAC、JWT
- P2 商品域:C 端 M1~M4;商家端 B1~B17 + C1 上传;Web 轮播/分类/商品管理;写路径缓存失效
- M25 逆地理编码(未配置腾讯 key 时降级空结果,不阻断联调)
- P3 交易闭环(模拟支付):购物车/地址/券/预览/下单(M5~M14);模拟支付 M19;订单列表/详情/取消/确认收货(M15~M18);发货/备注/关单(B18~B22);售后申请与审核(M20/M24、B23/B24);经营看板(B25/B26);超时关单与支付补偿定时任务
- 冒烟脚本:`scripts/smoke-p3.ps1`(交易闭环);`scripts/smoke-member.ps1`(会员开通);`scripts/smoke-exception.ps1`(库存不足/幂等/关单回补/超时关单/重复支付与回调);`scripts/smoke-audit-ratelimit.ps1`(操作日志落库)
## 下一步(按 docs/08)
- 真实微信支付 JSAPI + 回调验签/幂等 + 真实退款 APIv3(需商户资质)
- P4 三端联调压测 / P5 上线;二期老年服务等扩展
## 横切能力(近期完成)
- 操作日志:B 端写接口 `@OpLog` → 表 `log_operation`
- 限流:Redis `rate:ip` / `rate:user`(默认 500/5 QPS)+ 下单 1 次/秒;超限错误码 `1004`
- 生产 Nginx/HTTPS:见 `deploy/README.md`;发布 `scripts/deploy-web.ps1`;验收 `scripts/check-prod-ready.ps1`
## 本地启动
敏感配置(JWT / DB / 微信)通过环境变量覆盖,见 `docs/07-开发环境与部署.md` 第 2 节;开发默认 `SPRING_PROFILES_ACTIVE=dev`。
```powershell
# 1) 确认 MySQL(root/123456) + Redis 已运行
# 2) 初始化库(首次,见 sql/README.md)
mysql -uroot -p123456 --default-character-set=utf8mb4 -e "SOURCE d:/a-shuju