# 门店 Web 后台 · Phase A 验收报告

> 日期：2026-07-10  
> 执行：S4 验收冻结  
> 范围：`docs/门店管理后台-PhaseA-页面清单PRD.md` + 冒烟清单

---

## 结论

| 层 | 结果 | 说明 |
|----|------|------|
| 自动化回归 | **PASS** | `admin` build；后端 `mvn test` **115** 通过；ontology 无漂移 |
| 静态对照 PRD | **PASS** | 16/16 |
| 联机 API 冒烟 | **PASS** | 本地 backend 连测试服 MySQL；`admin-phase-a-api-smoke.sh` 全绿 |
| UI 人工点检 | **待你本地打开** | admin 已起：http://127.0.0.1:5174 ；账号见下 |

**总体**：Phase A **联机 API 验收通过**；UI 按冒烟清单点一遍即可冻结。

---

## 联机环境

- MySQL：测试服 `192.144.152.238:3306/petstore`（历史配置中的 root 密码；**勿写回仓库**）
- Backend：本机 `http://127.0.0.1:8080`（`mvn spring-boot:run` + 上述 JDBC）
- Admin：本机 `http://127.0.0.1:5174`
- 冒烟账号：`13800138001` / 验证码 `123456`（boss · 宠伴生活馆测试店）

> 说明：`api.s-good.com` **已不再归属宠小它**（他用）。本次验收走本地 backend + 测试服 MySQL（`192.144.152.238`），不依赖该域名。公网 API/H5 域名待重新分配。

---

## API 冒烟结果（摘录）

```
store/list          ok stores 2
login               role boss
GET /admin/store    invite D0077702
appointment/list    enrichment ok (10)
service-customers   total 2，无余额字段
report/leads        0（无完整 openid）
report/list         20（含 updateTime）
schedule/day        26 rows
staff-list          4
=> API smoke PASS
```

customer 调 `GET /api/admin/store` → **403 FORBIDDEN**（已复核）。

---

## UI 建议点检（1 分钟）

1. 打开 http://127.0.0.1:5174 → `13800138001` / `123456`
2. 工作台 → 待出报告下钻 → 预约「开始服务」
3. 报告复制链接；设置改营业时段保存
4. 确认无收银/会员入口

---

## 回归命令

```bash
cd admin && npm run build
cd backend && mvn -q test
python3 docs/graph/validate_ontology.py docs && python3 docs/graph/audit_drift.py
export BOSS_PHONE=13800138001 SMS_CODE=123456
bash docs/qa-reports/scripts/admin-phase-a-api-smoke.sh
```

---

## 修订

| 日期 | 说明 |
|------|------|
| 2026-07-10 | 首版：自动化+静态 PASS；联机 BLOCKED |
| 2026-07-10 | 接测试服 MySQL；API smoke PASS；admin 已起 |
