# 各页面特殊结构速查表

> 基于 H5 源码扫描得出。处理对应页面时直接查表，不需要重新扫描。

---

| 页面 | safe-area-top | bottomNav | ai-float | position:fixed | ::before/::after | 其他风险 |
|---|---|---|---|---|---|---|
| board-finance | ✅ | ✅ | ✅ | ✅（筛选下拉） | ✅（tab 指示线） | `backdrop-filter: blur()` |
| board-coach | ✅ | ✅ | ✅ | ✅（筛选下拉） | ✅（tab 指示线） | — |
| board-customer | ✅ | ✅ | ✅ | ✅（筛选下拉） | ✅（tab 指示线） | CSS 渐变文字 |
| task-list | — | ✅ | ✅ | ✅（筛选下拉） | — | — |
| task-detail | — | — | — | — | ✅（气泡尖角） | — |
| task-detail-callback | — | — | — | — | — | — |
| task-detail-priority | — | — | — | — | — | — |
| task-detail-relationship | — | — | — | — | — | — |
| my-profile | ✅ | ✅ | — | — | — | — |
| coach-detail | — | — | — | — | — | — |
| customer-detail | — | — | — | — | ✅ | — |
| customer-service-records | — | — | ✅ | — | — | — |
| performance | — | — | ✅ | — | — | — |
| performance-records | — | — | ✅ | — | — | — |
| notes | ✅ | — | — | — | — | — |
| chat | ✅ | — | — | — | — | — |
| chat-history | ✅ | — | — | — | — | — |
| reviewing | — | — | — | — | — | `data:image/svg` |
| no-permission | — | — | — | — | — | `data:image/svg` |

✅ = 存在该结构，需按规则处理；— = 不存在。

---

## 处理规则速查

| 结构 | MP 处理方式 |
|------|-----------|
| `.safe-area-top` | 去除 `padding-top: env(safe-area-inset-top, 44px)`，MP 由 navigationBar 处理 |
| `#bottomNav` | 不迁移，MP 用原生 tabBar；H5 截图时隐藏 |
| `.ai-float-btn-container` | 双端截图前隐藏 |
| `<dev-fab />` | MP 截图前 `wx:if="{{false}}"` |
| `.filter-overlay` | 优先用组件遮罩层 |
| `.tab-active::after` | 额外 `<view>` 模拟 |
| `.speech-bubble::after` | 绝对定位 `<view>` + `transform: rotate(45deg)` |
| `data:image/svg+xml` | 导出 PNG/base64 或用 CSS 渐变模拟 |

---

## 页面导航栏模式

| 模式 | 页面 |
|------|------|
| A：系统默认 navBar | board-finance, board-coach, board-customer, task-list, my-profile |
| B：自定义 navBar | task-detail 系列, coach-detail, customer-detail, performance, notes, chat, chat-history, customer-service-records, performance-records |
