Files
Neo-ZQYY/docs/audit/changes/2026-03-12__board-finance-overview-wxss-calibration.md
Neo 14a12342b5 chore(audit): 补追 96 份未入仓审计孤本 — 覆盖 2026-02-26 ~ 2026-04-08
这些审计记录原本堆积在 docs/audit/changes/changes/ 嵌套误产物目录下(由开发机迁移
79d3c2e 前后的不明批量操作产生)。由于同期 .gitignore 屏蔽了 docs/audit/ 全目录,
它们从未入过 git 任何分支 history。删除即永久丢失。

按 docs/specs/audit-gap-recovery/tasks.md 阶段 1 执行,将全部 96 份 D 类孤本
(主目录无同名、git history 亦无记录)复制到 docs/audit/changes/ 主目录入仓。

涵盖主题: P1-P18 全栈集成 / 多模块累积变更 / ETL bug 修复 / 业务日切 /
   召回与任务引擎改造 / 租户管理与审批 / 董事会财务 / 客户与助教详情 /
   DDL 基线合并 / Kiro 到 Claude Code 迁移

阶段 2(B 类内容漂移 1 份)和阶段 4(嵌套目录删除)独立推进。

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-20 06:35:42 +08:00

155 lines
10 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 变更审计记录board-finance WXSS 视觉校对(四轮)
| 字段 | 值 |
|------|-----|
| 日期 | 2026-03-12 04:30:06 |
| Prompt-ID | P20260312-042635 |
| Session-ID | 8e9d4de9 |
| Session 路径 | docs/audit/session_logs/2026-03/12/23_6e90da5b_041128 |
## 操作摘要
对小程序财务看板 `board-finance.wxss` 进行四轮视觉校对,共 62 处 WXSS 属性修正,使间距/字号/行高与 H5 原型精确对齐。同步更新了 `design-tokens.json``pitfalls.md` 经验教训文档。
- 原始原因:用户要求校对小程序财务看板「经营一览」部分与 H5 原型的视觉还原,所有行动遵守 miniprogram-h5-conversion.md 规范
- 直接原因WXSS 间距/字号与 H5 原型存在 2-4rpx 系统性偏差,需逐属性对齐
## 变更范围Changed
- 模块:`apps/miniprogram/miniprogram/pages/board-finance/`
- 文件:`board-finance.wxss`(纯样式修改,无逻辑变更)
- 影响板块:经营一览(深色板块)+ Tab 导航 + 筛选栏(全局共用样式)
## 修改明细23 处)
| # | 选择器 | 属性 | 旧值 | 新值 | H5 依据 |
|---|--------|------|------|------|---------|
| 1 | `.card-section` | margin | 28rpx | 32rpx | mx-4(16px→32rpx) |
| 2 | `.section-dark` | margin-bottom | 56rpx | 64rpx | mb-8(32px→64rpx) |
| 3 | `.card-header-dark` | gap | 22rpx | 24rpx | gap-3(12px→24rpx) |
| 4 | `.card-header-dark` | padding | 24rpx 28rpx | 28rpx 32rpx | 14px 16px→28rpx 32rpx |
| 5 | `.card-header-desc-dark` | margin-top | 6rpx | 4rpx | mt-0.5(2px→4rpx) |
| 6 | `.sub-section-label` | gap | 14rpx | 16rpx | gap-2(8px→16rpx) |
| 7 | `.sub-section-label` | padding | 0 28rpx 22rpx | 0 32rpx 24rpx | mb-3(12px→24rpx) |
| 8 | `.sub-label-desc` | font-size | 20rpx | 22rpx | text-xs(12px→22rpx) |
| 9 | `.overview-grid-3` | gap | 22rpx | 24rpx | gap-3(12px→24rpx) |
| 10 | `.overview-grid-3` | padding | 0 28rpx 22rpx | 0 32rpx 24rpx | mb-3+px-4 |
| 11 | `.cell-label-row` | gap | 4rpx | 8rpx | margin-left:4px→8rpx |
| 12 | `.compare-row` | margin-top | 6rpx | 4rpx | margin-top:2px→4rpx |
| 13 | `.confirmed-row` | margin/padding | 28rpx/22rpx | 32rpx/24rpx | px-4 py-3 |
| 14 | `.confirmed-right` | gap | 12rpx | 24rpx | gap-3(12px→24rpx) |
| 15 | `.section-divider-light` | margin | 28rpx | 32rpx | my-4(16px→32rpx) |
| 16 | `.overview-grid-2` | gap/padding | 22rpx/28rpx | 24rpx/32rpx | gap-3+p-3 |
| 17 | `.overview-cell-bg` | padding | 22rpx | 24rpx | p-3(12px→24rpx) |
| 18 | `.ai-insight-*` | margin/padding/gap | 28rpx/14rpx | 32rpx/16rpx | 16px→32rpx, 8px→16rpx |
| 19 | `.ai-insight-icon-img` | width/height | 30rpx | 32rpx | 18px→32rpx(87.5%) |
| 20 | `.ai-insight-title` | font-size | 24rpx | 22rpx | 13px→22rpx(87.5%) |
| 21 | `.board-tab` | padding | 22rpx 0 | 24rpx 0 | py-3(12px→24rpx) |
| 22 | `.filter-bar` | padding | 14rpx 28rpx | 16rpx 32rpx | px-4 py-2(16px 8px) |
| 23 | `.filter-bar-inner` | gap/padding | 14rpx/10rpx | 16rpx/12rpx | gap-2 p-1.5 |
## 第二轮修改明细5 处 line-height 补齐)
| # | 选择器 | 属性 | 旧值 | 新值 | H5 依据 |
|---|--------|------|------|------|---------|
| 24 | `.cell-value-white` / `.cell-value-red` / `.cell-value-gray` | line-height | (未设置) | 48rpx | text-xl lh=28px→87.5%=48rpx |
| 25 | `.cell-value-white-sm` / `.cell-value-gray-sm` | line-height | (未设置) | 48rpx | text-lg lh=28px→87.5%=48rpx |
| 26 | `.cell-label-light` | line-height | (未设置) | 28rpx | text-xs lh=16px→87.5%=28rpx |
| 27 | `.confirmed-label` | line-height | (未设置) | 34rpx | text-sm lh=20px→87.5%=34rpx |
| 28 | `.confirmed-value` | line-height | (未设置) | 48rpx | text-xl lh=28px→87.5%=48rpx |
## 第三轮修改明细2 处根因修复,基于 Playwright 实测 H5 元素尺寸)
| # | 选择器 | 属性 | 旧值 | 新值 | H5 依据 |
|---|--------|------|------|------|---------|
| 29 | `.overview-grid-2` | padding | 0 32rpx 32rpx | 0 32rpx | H5 grid-cols-2 mb=0底部间距由 ai-insight mt 提供,不应叠加 |
| 30 | `.ai-insight-line` | line-height | 1.5 (=36rpx) | 34rpx | H5 text-sm lh=20px→87.5%=34rpx |
根因分析:
- #29H5 中 `.grid-cols-2` 无 margin-bottomAI 洞察区的 `mt-4`(16px) 提供了两者之间的间距。MP 中 `.overview-grid-2` 底部 padding 32rpx + `.ai-insight-section` margin 32rpx 导致间距翻倍
- #30Tailwind `text-sm` 捆绑 `line-height: 20px`,之前用 CSS 默认 `1.5`=24rpx×1.5=36rpx偏大 2rpx
## 第四轮修改明细31 处板块2-6全面校对基于 Playwright 实测 H5 元素尺寸)
| # | 选择器 | 属性 | 旧值 | 新值 | H5 依据 |
|---|--------|------|------|------|---------|
| 31 | `.card-section-title` | margin-bottom | 16rpx | 24rpx | mb:12px→24rpx |
| 32 | `.card-header-desc-light` | color | #5e5e5e | #666666 | H5 实测 color:#666 |
| 33 | `.table-row` | padding | 22rpx 28rpx | 24rpx 32rpx | 12px 16px→24rpx 32rpx |
| 34 | `.table-row-label-bold` | font-size | 26rpx | 24rpx | 14px→24rpx(87.5%) |
| 35 | `.table-row-grid3` | gap, padding | 22rpx, 22rpx 28rpx | 24rpx, 24rpx 32rpx | 12px→24rpx, 12px 16px→24rpx 32rpx |
| 36 | `.cell-value-sm` | font-size | 26rpx | 24rpx | 14px→24rpx(87.5%) |
| 37 | `.gift-table-header` | padding | 14rpx 28rpx | 16rpx 32rpx | 8px 16px→16rpx 32rpx |
| 38 | `.gift-table-row` | padding | 22rpx 28rpx | 24rpx 32rpx | 12px 16px→24rpx 32rpx |
| 39 | `.total-balance-row` | padding | 22rpx 28rpx | 24rpx 32rpx | 12px 16px→24rpx 32rpx |
| 40 | `.total-balance-label` | font-size | 26rpx | 24rpx | 14px→24rpx(87.5%) |
| 41 | `.sub-title-row` | gap, margin-bottom | 12rpx, 16rpx | 16rpx, 24rpx | 8px→16rpx, 12px→24rpx |
| 42 | `.sub-title-text` | font-size | 26rpx | 24rpx | 14px→24rpx(87.5%) |
| 43 | `.rev-table-header` | padding | 14rpx 28rpx | 16rpx 32rpx | 8px 16px→16rpx 32rpx |
| 44 | `.rev-table-row` | padding | 22rpx 28rpx | 24rpx 32rpx | 12px 16px→24rpx 32rpx |
| 45 | `.flow-header` | padding | 16rpx 28rpx | 20rpx 32rpx | 10px 16px→20rpx 32rpx |
| 46 | `.flow-header-title` | font-size | 26rpx | 24rpx | 14px→24rpx(87.5%) |
| 47 | `.flow-detail-list` | padding, margin | 16rpx 28rpx, 8rpx 28rpx | 24rpx 32rpx, 16rpx 32rpx | 12px 16px→24rpx 32rpx, 8px 16px→16rpx 32rpx |
| 48 | `.flow-total-row` | padding | 20rpx 28rpx | 24rpx 32rpx | 12px 16px→24rpx 32rpx |
| 49 | `.flow-total-label` | font-size | 26rpx | 24rpx | 14px→24rpx(87.5%) |
| 50 | `.flow-sum-row` | padding | 20rpx 28rpx | 24rpx 32rpx | 12px 16px→24rpx 32rpx |
| 51 | `.flow-sum-label` | font-size | 26rpx | 24rpx | 14px→24rpx(87.5%) |
| 52 | `.flow-item-name` | font-size | 26rpx | 24rpx | 14px→24rpx(87.5%) |
| 53 | `.expense-group-label` | font-size, margin-bottom | 26rpx, 12rpx | 24rpx, 16rpx | 14px→24rpx, 8px→16rpx |
| 54 | `.expense-group-note` | margin-bottom | 12rpx | 16rpx | 8px→16rpx |
| 55 | `.expense-grid-3` | gap, margin-bottom | 12rpx, 8rpx | 16rpx, 32rpx | 8px→16rpx, 16px→32rpx |
| 56 | `.expense-grid-2` | gap, margin-bottom | 12rpx, 8rpx | 16rpx, 32rpx | 8px→16rpx, 16px→32rpx |
| 57 | `.expense-cell` | padding | 18rpx 16rpx | 20rpx 24rpx | 10px 12px→20rpx 24rpx |
| 58 | `.expense-cell-label` | margin-bottom | 6rpx | 8rpx | 4px→8rpx |
| 59 | `.coach-fin-header` | padding | 14rpx 24rpx | 16rpx 32rpx | 8px 16px→16rpx 32rpx |
| 60 | `.coach-fin-row` | padding | 16rpx 24rpx | 16rpx 32rpx | 8px 16px→16rpx 32rpx |
| 61 | `.coach-fin-bold` | font-size | 26rpx | 24rpx | 14px→24rpx(87.5%) |
| 62 | `.coach-fin-val` | font-size | 26rpx | 24rpx | 14px→24rpx(87.5%) |
系统性偏差根因:
- font-size 26rpx 偏差:初始实现用 `14px × 2 = 28rpx` 再手动减小到 26rpx但正确公式是 `14px × 2 × 0.875 = 24.5 → 24rpx`
- padding 水平方向 28rpx 偏差:初始实现用 `16px × 2 × 0.875 = 28rpx`,但间距应用 `px × 2 = 32rpx`(不走 87.5% 缩放)
- padding 垂直方向偏差同理:`12px × 2 = 24rpx`,不是 `12 × 2 × 0.875 = 21 → 22rpx`
## 风险与回滚Risk & Rollback
- 风险点:`.card-section``.section-body``.card-header-light` 为全局共用样式,修改影响全部 6 个板块经营一览、预收资产、应计收入、现金流入、现金流出、助教分析但这是正确的H5 原型中这些板块使用相同间距)
- 回滚要点:`git checkout -- apps/miniprogram/miniprogram/pages/board-finance/board-finance.wxss`
## 验证Verification
- 微信开发者工具预览,逐板块对比 H5 原型截图
- 重点检查Tab 导航高度、筛选栏间距、经营一览内部网格对齐
## 本次对话文件变更
### 修改
- `apps/miniprogram/miniprogram/pages/board-finance/board-finance.wxss` — 第四轮 31 处 WXSS 属性修正
- `docs/h5_ui/design-tokens.json` — 补充缩放公式说明
- `docs/miniprogram-dev/05-lessons/pitfalls.md` — 记录 87.5% 缩放经验教训
### 新增(审计基础设施)
- `docs/audit/prompt_logs/prompt_log_20260312_042635.md`
- `docs/audit/session_logs/2026-03/12/07_9ff81cd6_015224/sub_01_f18ce198.md`
- `docs/audit/session_logs/2026-03/12/09_6669a8da_021515/sub_01_b1190b35.md`
- `docs/audit/session_logs/2026-03/12/09_6669a8da_021515/sub_01_f18ce198.md`
## 改动注解
### `apps/miniprogram/miniprogram/pages/board-finance/board-finance.wxss`
- 变更类型:修改
- 原始原因用户要求对财务看板板块2-6预收资产、应计收入、现金流入、现金流出、助教分析进行全面视觉校对使小程序样式与 H5 原型精确对齐
- 思路分析:通过 Playwright 实测 H5 元素的实际 computed style逐选择器对比 MP 中的 rpx 值。发现系统性偏差根因font-size 误用 `14px × 2 = 28rpx` 再手动减小,正确公式应为 `14px × 2 × 0.875 = 24rpx`;水平 padding 误走 87.5% 缩放,实际间距应直接 `px × 2`
- 修改结果31 处属性修正,覆盖 `.table-row``.gift-table-*``.flow-*``.expense-*``.coach-fin-*` 等选择器。影响板块2-6的间距、字号、padding与板块1经营一览保持一致的缩放规则
### `docs/h5_ui/design-tokens.json`
- 变更类型:修改
- 原始原因:校对过程中发现缩放公式需要明确记录,避免后续页面重复犯错
- 修改结果:补充了 87.5% 缩放系数的适用范围说明
### `docs/miniprogram-dev/05-lessons/pitfalls.md`
- 变更类型:修改
- 原始原因:四轮校对积累的经验教训需要沉淀为团队知识
- 修改结果:记录了 rpx 换算的系统性偏差模式和正确公式
## 文件清单Files changed
- `apps/miniprogram/miniprogram/pages/board-finance/board-finance.wxss`
- `docs/h5_ui/design-tokens.json`
- `docs/miniprogram-dev/05-lessons/pitfalls.md`