# P13 我的 · 设计说明（mine.vue）

> 单元：`mine` ｜ group=account ｜ P13 ｜ 依据：pages.json unit#23 + 规格表 P13 + 执行方案 §5.23
> 实现：`vue/src/pages/mine.vue` ｜ 组状态帧 fixtures：`design/fixtures/account.states.json`

## 1. 区块与密度对照（密度为可验收硬指标）

| 区块 | 实现落点 | 密度 | 达成 |
|---|---|---|---|
| ① 用户卡：头像+昵称+信用徽章+实名标识[开关显隐]+编辑资料 | `.ucard`（grad-brand 面）：AvatarUser(me) / 昵称 / Pill 信用98 + Pill 已实名（me.verified=true 显隐）/ 编辑资料→profile-edit | — | ✓ |
| ② 资产行：余额·保证金·优惠券 **只读** | `.asset` 三列：fmtMoney(128.60)/fmtMoney(0.00)/3张；点击仅 toast「只读展示」，**无充值/提现/明细入口**（红线） | 资产 3 | ✓ |
| ③ 我的订单四入口 | `.ogrid`：待支付(1)/待发货(0)/待收货(2)/售后(0)，角标=orderBadges → orders | 订单入口 4 | ✓ |
| ④ 我的拍卖 3 | 我发布的/我出价的/我的收藏 → my-auctions | — | ✓ |
| ⑤ 我的内容 4 | 帖子/信息/评论/浏览历史，**4 入口均 toast「原型示意」占位**（目标页不在 35 单元） | — | ✓ |
| ⑥ 工具区 4 | 收货地址/消息通知设置/在线客服/设置 → 各注册 key | **功能区 6 组（≥6）** | ✓ |
| ⑦ 未登录 | guest 帧：「点击登录」占位头像卡 → login；资产行变「登录后查看」引导行 | — | ✓ |
| TabBar | active=mine，中央发布→publish-sheet | — | ✓ |

## 2. 状态帧（STATES 顺序=状态板帧序）

| 帧 | 渲染 | 数据 |
|---|---|---|
| normal | 6 组满数据 | users.me / orderBadges |
| guest | 登录卡+资产引导行+各组入口常驻 | — |
| loading | 聚合骨架卡（/user/overview 一次拉齐语义） | — |
| error | ErrorRetry 黄条「已保留缓存内容」+正常内容随后 | — |
| extreme | 角标 99+（120/8/999/3 → badgeOf 折叠）+超长昵称截断+余额 299999.99+优惠券 999+ | 压测值登记 fixtures（含 coupons） |
| empty | N/A（na_reason：入口常驻无列表，功能区为固定导航结构） | — |

## 3. 九维 A–I

- **A 状态**：六态如上；未登录帧必出（§0.4）。
- **B 交互**：角标 >99 折叠「99+」；资产/内容入口点击 toast 说明；卡片按压态沿共享按钮/行样式。
- **C 表单**：N/A（表单在 profile-edit / address-edit，pages.json na_reason）。
- **D 文本**：金额 fmtMoney tabular；超长昵称单行省略（extreme 帧）；资产弱说明用 text-2 保证 ≥4.5 主链路。
- **E 弹层导航**：入口路由固定（E 行）；无本页弹层；铃铛→messages 与设置捷径在顶栏。
- **F 平台设备**：头像授权拒绝→默认头像+「点击设置」（guest 卡与 profile-edit 承接）；底部 safe-area 由 TabBar 组件处理。
- **G 性能**：聚合一次拉齐（I 行）；头像 lazy（AvatarUser 内建）。
- **H 无障碍**：入口行点击区 ≥44pt（padding 12px 行高 42+）；信用/实名状态=徽章色+文字双通道。
- **I 数据接口**：`GET /user/overview`（聚合）；字段映射见 docs/字段映射.md。

## 4. 决策点与字段/组件对应

| 决策触点 | 对应字段/组件 |
|---|---|
| 我的钱/订单/拍卖进展一眼清 | 资产三列（users.me.balance/deposit/coupons）+ 订单角标（orderBadges）+ 我的拍卖三行 |
| 实名/信用可信标识 | Pill 已实名（users.me.verified，后台开关语义显隐）+ Pill 信用98 |

## 5. 占位与素材缺口

- 「我的内容」4 入口：toast 占位（目标页不在 35 单元，pages.json notes；记入底座占位清单）。
- 资产「只读」为基准线口径：无充值/提现/明细页（红线 1）。
- 头像=avatar-shirakawa（manifest avatar 槽位白名单内，经 AvatarUser 渲染）。
- mock 无 user.phone_masked 等字段缺口不影响本页；余额/保证金/优惠券为示意样值【占位】。

## 7. 视觉验收修复轮（2026-10-10）

| 验收问题 | 处置 | 落点 |
|---|---|---|
| [中] guest 帧订单入口仍显个人角标（与「点击登录」矛盾、与铃铛红点口径不一） | 已修：角标渲染加 `state!=='guest'` 门控，未登录帧零个人数据 | mine.vue 订单 grid `v-if` |
| [低中] extreme 帧优惠券「999+」硬编码未登记 | 已补登记：fixtures `extreme_fixture_values.coupons` | account.states.json mine 段 |
| [低] loading 帧仅用户卡一张骨架、表达偏薄 | 已修：三段骨架（用户卡+资产+订单宫格）覆盖首屏主要区块 | mine.vue `.ldwrap/.ldgrid` |
| [低] 页脚示意披露在 guest 帧隐藏 | 已修：披露常显（文案补「登录后可见」） | mine.vue `.disc` |
| [低] 设置图标太阳语义弱 | **组内修不掉，已记录**：icons.js 为共享保护层无齿轮形，升级底座（fixtures pipeline_issues P-3）；文字通道保义 | — |
