# 玩家端手机浏览器性能验收

本文档用于在真机上建立基线并验收性能优化（弱网、滚动、内存）。

## 环境

- 设备：iOS Safari + Android Chrome（至少各一台中低端机型）
- 网络：Chrome DevTools → Network → Fast 3G（或 Safari 网络链路调节器）
- 构建：`pnpm --filter @thebet365/player build` 后 `pnpm --filter @thebet365/player preview`

## 关键指标

| 指标 | 工具 | 目标（优化后） |
|------|------|----------------|
| LCP | Lighthouse Mobile | 弱网 &lt; 3s |
| `/api/player/matches` 体积 | Network 面板 | 列表（无 markets）显著小于串关 `scope=parlay` |
| `/api/player/home` | Network | 单次 `listPublished`，无重复全量查询 |
| 主 JS chunk | `dist/assets/*.js` | 首屏仅当前语言 i18n chunk |
| 滚动长任务 | Performance 录制 | 投注页滚动时少见 &gt; 50ms 块 |

## 必测路径

1. 冷启动首页（未登录 / 已登录）
2. 投注 → 展开多个联赛 → 纵向滚动
3. 投注 → 串关 Tab（应请求 `?scope=parlay`，且与赛事 Tab 共享缓存）
4. 赛事详情 → 展开波胆 → 多次点选
5. 弱网下首页 / 投注页下拉刷新

## 构建体积快照（本地）

```bash
pnpm --filter @thebet365/player build
# 查看 dist/assets 下 index、i18n-*、vue-vendor 等 chunk 大小
```

## API 契约变更

- `GET /player/matches`：默认返回**无 markets** 的赛事摘要
- `GET /player/matches?scope=parlay`：仅串关玩法 markets，且过滤无盘口赛事
- `GET /player/bets?matchId=`：按赛事筛选注单（详情页使用）
