# 代理首页佣金展示 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`