# 代理首页佣金展示 Spec

## 1. 背景

代理首页当前已经会请求 `getFundSummary()`，但佣金区域使用了 `v-if="isAgent && commissionSummary"`。

这会带来两个问题：

- 只要 `commissionSummary` 为空，首页代理佣金模块就整块不显示
- 首页顶部还保留了“佣金概览”标题文案，这个文案本次不再需要

本次需求明确为：

- 首页里去掉“佣金概览”这个标题文案
- 只要当前账号是代理账号，就显示首页代理佣金区域
- 不管接口有没有值，模块都要显示

---

## 2. 目标

- 首页代理佣金区域的外层显示条件改为仅判断 `isAgent`
- 首页不再展示“佣金概览”标题
- 当佣金概览数据未返回、为空或请求失败时，佣金卡片仍然保留，金额位置显示占位内容

---

## 3. 范围

### 页面

- `src/pages/agent-system/home/index.vue`

### 用户

- 代理账号显示：`user_type === 3`
- 企业账号不显示：`user_type === 4`

---

## 4. 数据来源与约束

### 数据来源

- 接口：`GET /api/admin/shops/fund-summary`
- 方法：`getFundSummary()`
- 现有状态：`commissionSummary`

### 关键字段

| 字段 | 类型 | 说明 |
|------|------|------|
| `available_commission` | number | 可提现佣金，单位分 |
| `total_commission` | number | 累计佣金，单位分 |
| `withdrawn_commission` | number | 已提现佣金，单位分 |
| `frozen_commission` | number | 冻结佣金，单位分 |

### 约束

1. 首页不得新增新的佣金概览接口请求
2. 首页直接复用现有 `commissionSummary`
3. 本次不改后端接口、不改接口字段

---

## 5. 展示规则

### 5.1 外层显示条件

首页代理佣金区域显示条件改为：

- `isAgent === true`

不再要求：

- `commissionSummary` 必须有值

### 5.2 标题文案

首页移除“佣金概览”标题文案，包括：

- 不再在卡片上方展示“佣金概览”
- 保留卡片内部的“可提现佣金”主标题

### 5.3 金额展示

佣金卡片继续展示以下内容：

- `可提现佣金`
- `累计佣金`
- `已提现`
- `冻结`

展示规则：

- 有值时，按现有金额格式化规则显示
- 无值时，显示 `--`
- 不允许因为空值显示错误金额

### 5.4 今日佣金区域

“今日佣金”区域继续跟随代理佣金模块一起显示。

展示规则保持现状：

- 日期无值显示 `--`
- 佣金金额无值显示 `¥0.00`
- 订单笔数无值显示 `0`
- 无当日数据时显示“今日暂无佣金数据”

---

## 6. 交互与状态

### 6.1 跳转

点击佣金卡片后跳转到：

- `/pages/agent-system/commission-center/index`

### 6.2 加载态

当 `commissionSummary` 还未返回时：

- 佣金卡片仍然显示
- 金额区域显示 `--`

### 6.3 异常态

当 `getFundSummary()` 请求失败时：

- 佣金卡片仍然显示
- 金额区域显示 `--`
- 不影响首页其他模块渲染

---

## 7. 非目标

- 不修改佣金中心页面结构
- 不修改提现管理页面结构
- 不新增首页专用佣金接口
- 不修改企业账号首页展示逻辑

---

## 8. 验收标准

### 用例 1：代理账号且接口有值

前置条件：

- `user_type === 3`
- `commissionSummary.available_commission = 85000`

期望：

- 首页显示代理佣金卡片
- 首页不显示“佣金概览”标题
- 主金额显示 `¥850.00`

### 用例 2：代理账号但接口无值

前置条件：

- `user_type === 3`
- `commissionSummary = null`

期望：

- 首页仍显示代理佣金卡片
- `可提现佣金 / 累计佣金 / 已提现 / 冻结` 均显示 `--`
- 今日佣金区域仍显示

### 用例 3：代理账号且接口失败

前置条件：

- `user_type === 3`
- `getFundSummary()` 请求失败

期望：

- 首页仍显示代理佣金卡片
- 金额不显示错误数据
- 页面其他内容正常渲染

### 用例 4：企业账号

前置条件：

- `user_type === 4`

期望：

- 首页不显示代理佣金区域

### 用例 5：不重复请求

前置条件：

- 首页已执行 `getFundSummary()`

期望：

- 不因本次需求新增第二次佣金接口请求
- 页面继续复用 `commissionSummary`
