# 设置 · 设计说明（settings.vue）

> 单元：`settings` ｜ group=account ｜ P 依据：P13 工具区「设置[账号与安全·退出]」
> 实现：`vue/src/pages/settings.vue` ｜ 组状态帧 fixtures：`design/fixtures/account.states.json`

## 1. 区块与密度对照

| 区块 | 实现落点 | 密度 | 达成 |
|---|---|---|---|
| 组1 账号（3 行） | 账号与安全→account-security ｜ 消息通知→notifications ｜ 收货地址→addresses | 分组 3 · 行 6 | ✓ |
| 组2 通用（2 行） | 清除缓存（示意大小 23.5MB+行内 loading+成功 toast）｜ 关于（brand.name+version【占位】→协议半屏） | — | ✓ |
| 组3 退出 | 退出登录红字行→二次确认 Sheet「退出后需重新登录」（confirm 帧=实帧）→login | — | ✓ |
| guest 变形 | 顶部「点击登录」行→login；退出组隐藏 | — | ✓ |

## 2. 状态帧

| 帧 | 渲染 |
|---|---|
| normal | 三组六行 |
| loading | 清缓存行「清理中…」+行内 spinner（dims 注：清缓存中） |
| confirm | 退出二次确认 Sheet 实帧 |
| guest | 点击登录行+退出项隐藏 |
| error/empty/extreme | N/A（na_reason：静态设置页无数据请求/固定设置项/无极端位；清缓存失败 toast 归 B 基线） |

## 3. 九维 A–I

- **A**：差异=未登录变形（guest）。
- **B**：退出二次确认；清缓存 loading+完成 toast。
- **C**：N/A（无表单，na_reason）。
- **D**：缓存大小格式化展示（23.5MB 占位）。
- **E**：协议=半屏 Sheet（关于行入口）；退出=确认 Sheet。
- **F**：按 §0.5。
- **G**：N/A（轻页面，na_reason）。
- **H**：退出红字 price-deep 6.32:1；行点击区 44pt+。
- **I**：清缓存=本地；`GET /config/about`（占位）。

## 4. 决策点

| 决策触点 | 对应 |
|---|---|
| 退出/清缓存等低频操作安全收敛 | 二次确认+loading/toast 反馈；危险项红字独立组 |

## 5. 占位

- 版本号 brand.version=「v0.1.0（占位）」；缓存大小 23.5MB 示意；协议文本示意占位。
- **注销账号不做（基准线外）**——页面明示，不提供入口。

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

| 验收问题 | 处置 | 落点 |
|---|---|---|
| confirm 帧退出弹层随 board 模式页面根膨胀下坠（与 addresses/publish-sheet 同根因） | 已修：`.pg` 改 `flex:1 1 auto` → board 恒 812，弹层锚定帧内（probe 通过） | settings.vue `.pg` |
