design: 主页面布局 — 左侧社交(邀请+PK) + 右侧(礼物区+排行榜)

- 新增第 2 节:主页面整体布局(左/中/右三栏)
- 左侧:邀请好友 + 开房间PK(2-4人同seed竞速,V1.1+)
- 右侧:礼物区入口 + 城市排行榜(城市战队制,V1.1+)
- 城市战队:玩家选所属城市,礼物数计入战队积分排名
- playerState 新增 cityTeam 字段
- 章节重编号(2-10)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
manpengan
2026-03-29 00:06:44 +08:00
parent 86a7b32b8f
commit 25a38cbf05

View File

@@ -73,9 +73,99 @@
---
## 2. 地图结构
## 2. 主页面布局
### 2.1 MVP 导航(当前实现)
### 2.1 整体结构
```
┌─────────────────────────────────────────────┐
│ 顶部标题栏 │
│ 城市抓猫猫 · [设置齿轮] │
├────┬───────────────────────────────┬─────────┤
│ │ │ │
│ 左 │ 中央 3×3 棋盘(洲选择) │ 右 │
│ 侧 │ │ 侧 │
│ 边 │ ┌────┬────┬────┐ │ 边 │
│ 栏 │ │亚洲│欧洲│北美│ │ 栏 │
│ │ ├────┼────┼────┤ │ │
│ 邀 │ │南美│非洲│大洋│ │ 礼 │
│ 请 │ ├────┼────┼────┤ │ 物 │
│ 好 │ │南极│混战│期待│ │ 区 │
│ 友 │ └────┴────┴────┘ │ │
│ │ │ 排 │
│ 开 │ │ 行 │
│ 房 │ │ 榜 │
│ PK │ │ │
│ │ │ │
├────┴───────────────────────────────┴─────────┤
│ 底部信息栏 │
└─────────────────────────────────────────────┘
```
### 2.2 左侧边栏 — 社交入口
竖排 2 个按钮,常驻显示:
#### 邀请好友
- 点击生成小程序分享卡片,邀请好友加入游戏
- 分享卡片:游戏 Logo + "一起来抓猫猫!" + 邀请人头像
- 好友点击直接进入游戏
- MVP 阶段仅做分享邀请,不做邀请奖励
#### 开房间 PK
- 点击创建/加入多人竞技房间
- 房间模式:同一关卡 seed多人同时解题用时最短者胜
- 支持 2-4 人
- 房间流程:创建房间 → 分享房间码/二维码 → 等待 → 倒计时开始 → 同步竞技 → 结算排名
- 结算奖励:第 1 名获道具补给 + 专属 PK 冠军明信片
- 版本规划V1.1+ 上线(需要实时同步能力)
### 2.3 右侧边栏 — 礼物区 + 排行榜
竖排 2 个入口,常驻显示:
#### 礼物区(城市主题礼物区入口)
- 点击进入 5 个收集册(冰箱贴/邮票/猫猫/动物/地图)
- 图标上显示最新未查看的收藏品红点提示
- 详见第 4 节"收集系统"
#### 城市排行榜
- 玩家首次进入时选择一个"所属城市战队"(从已解锁城市中选,一旦选定不可更改,或每月可换 1 次)
- 排行维度:该城市战队全体成员收集的城市主题礼物总数量
- 排行榜包含:
| 排行类型 | 统计维度 | 刷新周期 |
|---------|---------|---------|
| 城市战队总榜 | 城市战队全体礼物总数 | 实时 |
| 城市战队周榜 | 本周新增礼物数 | 每周一重置 |
| 个人贡献榜 | 玩家在本战队的个人礼物数排名 | 实时 |
**城市战队机制:**
- 加入战队后,玩家获得的所有收藏品(冰箱贴/邮票/猫猫/动物/地图)都计入该城市战队积分
- 战队页面展示:战队排名、成员数、总礼物数、本周增量
- 战队封面:该城市猫猫 + 城市色
- 社交驱动:"为你的城市而战!" — 激发城市归属感和竞争感
- 版本规划V1.1+ 上线(需要服务端排行榜)
### 2.4 版本边界
| 功能 | MVP | V1.1+ |
|------|-----|-------|
| 中央 3×3 棋盘 | ✅ 直入亚洲城市页 | 完整洲选择 |
| 左侧-邀请好友 | ✅ 分享卡片 | 邀请奖励 |
| 左侧-开房间 PK | ❌ 不上线 | ✅ 实时多人竞技 |
| 右侧-礼物区 | ✅ 冰箱贴 + 邮票收集册 | 完整 5 册 |
| 右侧-排行榜 | ❌ 不上线 | ✅ 城市战队排行 |
---
## 3. 地图与导航
### 3.1 MVP 导航(当前实现)
MVP 只开放亚洲 6 城市,直入城市选择页,不启用完整多级导航。
@@ -222,7 +312,7 @@ Framework Ready: 全量 6 洲 48 国 127 城市的 catalog 已搭好,扩城市
---
## 3. 城市猫猫系统
## 4. 城市猫猫系统
### 3.1 猫猫收集
@@ -250,7 +340,7 @@ Framework Ready: 全量 6 洲 48 国 127 城市的 catalog 已搭好,扩城市
---
## 4. 收集系统 — 城市主题礼物区
## 5. 收集系统 — 城市主题礼物区
5 层收集体系,和导航层级一一对应,存放在"城市主题礼物区"。
@@ -438,11 +528,18 @@ Framework Ready: 全量 6 洲 48 国 127 城市的 catalog 已搭好,扩城市
collectedMaps: [
// { mapId, continentId, acquiredDate }
],
// 城市战队V1.1+
cityTeam: {
teamCityId: null, // 所属城市战队 id首次选择后锁定
joinedDate: null, // 加入日期
lastSwitchDate: null, // 上次更换日期(每月可换 1 次)
},
}
---
## 5. 每日挑战
## 6. 每日挑战
| 项目 | 规格 |
|------|------|
@@ -453,7 +550,7 @@ Framework Ready: 全量 6 洲 48 国 127 城市的 catalog 已搭好,扩城市
---
## 6. 广告入口设计
## 7. 广告入口设计
| 广告类型 | 触发点 | 频次控制 |
|---------|--------|---------|
@@ -467,7 +564,7 @@ Framework Ready: 全量 6 洲 48 国 127 城市的 catalog 已搭好,扩城市
---
## 7. 分享入口设计
## 8. 分享入口设计
| 触发点 | 分享内容 | 奖励 |
|--------|---------|------|
@@ -482,7 +579,7 @@ Framework Ready: 全量 6 洲 48 国 127 城市的 catalog 已搭好,扩城市
---
## 8. 难度设计思路
## 9. 难度设计思路
### 8.1 难度参数
@@ -516,7 +613,7 @@ Framework Ready: 全量 6 洲 48 国 127 城市的 catalog 已搭好,扩城市
---
## 9. 玩家存档模型
## 10. 玩家存档模型
所有玩家数据持久化到 `wx.Storage`key 为 `player_state`。