# Performance 页面迁移说明 ## 迁移版本 - **H5 原型基准**:`docs/h5_ui/pages/performance.html` - **桥文档版本**:v3.0 - **迁移日期**:2026-03-15 - **更新日期**:2026-03-15(Banner背景改用灵活的SVG实现) --- ## 样式调整清单 ### 1. 单位转换规则 遵循桥文档 §2.3 的混合单位策略: - **主要使用 `rpx`**:页面宽度、横向布局、卡片尺寸、间距 - **使用 `px`**:导航栏高度(44px)、图标点击区域 - **换算基准**:H5 CSS px → 小程序 rpx(750宽基准,1px = 1.8204rpx) ### 2. 自定义导航栏(.custom-nav) | 属性 | H5 值 | 小程序值 | 说明 | |------|------|--------|------| | height | 44px | 44px | 标准导航栏高度(使用px) | | font-size | text-base (16px) | 32rpx | 标题字号 | | icon size | w-5 h-5 (20px) | 24px | 返回按钮图标 | ### 3. Banner 区域(.banner-section) | 属性 | H5 值 | 小程序值 | 说明 | |------|------|--------|------| | 背景方案 | CSS 渐变 | SVG 图片 | 使用 `/assets/images/banner-bg-combined.svg` | | height | - | 480rpx | Banner 高度(可通过 WXSS 调整) | | padding | px-5 pt-2 pb-2 (20px 8px) | 24rpx 40rpx 32rpx | 内容区内边距 | #### Banner SVG 背景实现(灵活可调) - **方案**:SVG 做渐变底图(与 task-detail/task-list 保持一致) - **原因**:SVG pattern 在小程序 image 组件中不渲染 - **WXML 实现**: ```wxml ``` - **WXSS 实现**(可灵活调整): ```wxss .banner-section { position: relative; width: 100%; overflow: hidden; height: 480rpx; /* 调整此值改变 Banner 高度 */ } .banner-bg-img { position: absolute; top: 0; /* 调整此值改变背景垂直位置 */ left: 0; /* 调整此值改变背景水平位置 */ width: 100%; height: 100%; z-index: 0; } .banner-content { position: relative; z-index: 2; padding: 24rpx 40rpx 32rpx; /* 调整此值改变内容区内边距 */ height: 100%; display: flex; flex-direction: column; } ``` - **调整方式**: - 修改 `.banner-section` 的 `height` 调整 Banner 高度 - 修改 `.banner-bg-img` 的 `top/left` 调整背景位置 - 修改 `.banner-bg-img` 的 `width/height` 调整背景缩放 - 修改 `.banner-content` 的 `padding` 调整内容区域 #### 个人信息卡片 | 属性 | H5 值 | 小程序值 | 说明 | |------|------|--------|------| | avatar size | w-14 h-14 (56px) | 112rpx | 头像尺寸 | | avatar radius | rounded-2xl (16px) | 24rpx | 头像圆角 | | name font-size | text-xl (20px) | 40rpx | 姓名字号 | | role tag padding | px-2 py-0.5 (8px 2px) | 4rpx 16rpx | 角色标签内边距 | #### 收入概览卡片 | 属性 | H5 值 | 小程序值 | 说明 | |------|------|--------|------| | grid gap | gap-3 (12px) | 24rpx | 卡片间距 | | card padding | p-4 (16px) | 24rpx | 卡片内边距 | | card radius | rounded-xl (12px) | 24rpx | 卡片圆角 | | label font-size | text-xs (12px) | 22rpx | 标签字号 | | value font-size | text-2xl (24px) | 44rpx | 数值字号 | ### 4. Section 卡片(.section-card) | 属性 | H5 值 | 小程序值 | 说明 | |------|------|--------|------| | border-radius | rounded-2xl (16px) | 32rpx | 卡片圆角 | | padding | p-4 (16px) | 32rpx | 卡片内边距 | | margin | m-4 (16px) | 24rpx 24rpx 0 | 卡片外边距 | | box-shadow | shadow-sm | 0 1px 2px rgba(0,0,0,0.05) | 阴影 | ### 5. 收入档位卡片(.tier-card) | 属性 | H5 值 | 小程序值 | 说明 | |------|------|--------|------| | padding | p-3 (12px) | 24rpx | 内边距 | | border-radius | rounded-xl (12px) | 24rpx | 圆角 | | border | 1px solid | 2rpx solid | 边框 | | emoji size | text-2xl (24px) | 48rpx | 表情图标 | | rate value | text-lg (18px) | 36rpx | 费率数值 | | rate unit | text-xs (12px) | 22rpx | 单位字号 | | rate desc | text-[10px] | 20rpx | 描述字号 | #### 档位徽章 | 属性 | H5 值 | 小程序值 | 说明 | |------|------|--------|------| | top | -8px | -16rpx | 顶部偏移 | | padding | 2px 10px | 4rpx 20rpx | 内边距 | | font-size | 10px | 20rpx | 字号 | ### 6. 升级提示(.upgrade-hint) | 属性 | H5 值 | 小程序值 | 说明 | |------|------|--------|------| | padding | p-3 (12px) | 24rpx | 内边距 | | border-radius | rounded-xl (12px) | 24rpx | 圆角 | | emoji size | text-lg (18px) | 36rpx | 表情大小 | | label font-size | text-xs (12px) | 22rpx | 标签字号 | | hours font-size | text-sm (14px) | 26rpx | 小时数字号 | | bonus value | text-lg (18px) | 36rpx | 奖金数值 | ### 7. 业绩明细列表(.income-list) | 属性 | H5 值 | 小程序值 | 说明 | |------|------|--------|------| | icon box size | w-8 h-8 (32px) | 64rpx | 图标容器 | | icon box radius | rounded-lg (8px) | 16rpx | 图标圆角 | | label font-size | text-sm (14px) | 26rpx | 标签字号 | | desc font-size | text-[10px] | 20rpx | 描述字号 | | value font-size | text-base (16px) | 30rpx | 数值字号 | | total value | text-xl (20px) | 40rpx | 合计数值 | ### 8. 服务记录(.service-records-section) | 属性 | H5 值 | 小程序值 | 说明 | |------|------|--------|------| | avatar size | w-[38px] h-[38px] | 76rpx | 头像尺寸 | | avatar radius | rounded-lg (8px) | 16rpx | 头像圆角 | | name font-size | text-sm (14px) | 26rpx | 姓名字号 | | time font-size | text-xs (12px) | 22rpx | 时间字号 | | hours font-size | text-sm (14px) | 26rpx | 小时数字号 | | tag padding | px-1.5 py-px (6px 1px) | 2rpx 12rpx | 标签内边距 | | tag font-size | text-[11px] | 22rpx | 标签字号 | #### 日期分隔线 | 属性 | H5 值 | 小程序值 | 说明 | |------|------|--------|------| | date font-size | 11px | 22rpx | 日期字号 | | line height | 1px | 2rpx | 分隔线高度 | | padding | 14px 16px 4px | 20rpx 0 8rpx | 内边距 | ### 9. 客户列表(.customer-list) | 属性 | H5 值 | 小程序值 | 说明 | |------|------|--------|------| | avatar size | w-[38px] h-[38px] | 76rpx | 头像尺寸 | | avatar radius | rounded-lg (8px) | 16rpx | 头像圆角 | | name font-size | text-sm (14px) | 26rpx | 姓名字号 | | detail font-size | text-xs (12px) | 22rpx | 详情字号 | | icon size | - | 24px | 右侧箭头图标 | ### 10. 颜色映射(附录C) | 用途 | 色值 | 说明 | |------|------|------| | 主品牌色 | #0052d9 | primary | | 成功色 | #00a870 | success | | 背景色 | #f3f3f3 | gray-1 | | 正文色 | #242424 | gray-13 | | 次级文字 | #a6a6a6 | gray-6 | | 三级文字 | #8b8b8b | gray-7 | | 四级文字 | #c5c5c5 | gray-5 | | 分割线 | #f3f3f3 | gray-1 | ### 11. 渐变色系统 #### 头像渐变(8种) - `from-blue`: #60a5fa → #6366f1 - `from-pink`: #f472b6 → #f43f5e - `from-teal`: #2dd4bf → #10b981 - `from-green`: #4ade80 → #14b8a6 - `from-orange`: #fb923c → #f59e0b - `from-purple`: #c084fc → #8b5cf6 - `from-violet`: #a78bfa → #7c3aed - `from-amber`: #fbbf24 → #eab308 #### 档位卡片渐变 - 当前档位:#f0fdf4 → #dcfce7(绿色系) - 下一阶段:#fefce8 → #fef9c3(黄色系) - 升级提示:#eff6ff → #eef2ff(蓝色系) - 奖金按钮:#fbbf24 → #f97316(橙色系) --- ## 关键调整点 ### 1. 全局 line-height 设置 ```wxss page { line-height: 1.5; } view { line-height: inherit; } ``` **原因**:微信小程序 `` 组件不能直接设置 `line-height`,必须在外层 `` 设置(附录B.2.3) ### 2. 单位统一为 rpx(除特殊情况) - 主要尺寸使用 `rpx`,确保不同设备自适应 - 导航栏高度、图标点击区域使用 `px` - 换算公式:1px = 1.8204rpx(750宽基准) ### 3. 移除 CSS 变量依赖 - 原:`var(--color-gray-2, #eeeeee)` - 新:直接使用 `#eeeeee` - 原因:确保样式独立,不依赖全局变量 ### 4. Icon 尺寸调整 - 导航栏返回按钮:`size="24px"`(标准点击区域) - 列表箭头图标:`size="24px"` - 加载/错误图标:`size="40px"` ### 5. 复杂背景还原 - **Banner 背景**:使用 SVG 图片 `/assets/images/banner-bg-combined.svg`(与 task-detail/task-list 保持一致) - 原因:SVG pattern 在小程序 image 组件中不渲染 - **灵活可调**:通过 WXSS 可调整 Banner 高度、背景位置、内容区内边距 - 档位卡片使用双色渐变背景 - 头像使用 8 种预设渐变色 - 升级提示使用渐变背景 + 渐变按钮 ### 6. 数值字体特性 ```wxss .perf-value { font-variant-numeric: tabular-nums; } ``` 确保数字等宽对齐 --- ## 验收清单 - [x] 导航栏高度与H5对齐(44px) - [x] Banner SVG背景与H5对齐 - [x] Banner 高度可通过 WXSS 调整(480rpx) - [x] Banner 背景位置可通过 WXSS 调整 - [x] 个人信息卡片尺寸与H5对齐 - [x] 收入概览卡片样式与H5对齐 - [x] 档位卡片渐变背景与H5对齐 - [x] 档位徽章位置与H5对齐 - [x] 升级提示样式与H5对齐 - [x] 业绩明细列表与H5对齐 - [x] 服务记录样式与H5对齐 - [x] 日期分隔线与H5对齐 - [x] 客户列表样式与H5对齐 - [x] 头像渐变色与H5对齐 - [x] 所有字号与H5对齐 - [x] 所有间距与H5对齐 - [x] 所有圆角与H5对齐 - [x] 所有颜色与H5对齐 - [x] 行高设置正确(在view上设置) - [x] Banner背景使用灵活的SVG实现(与task-detail保持一致) --- ## 已知限制 1. **动画效果**:H5 中的 `bonus-highlight` 闪烁动画未实现(需要 CSS animation) 2. **backdrop-filter**:收入卡片的 `backdrop-blur` 效果在部分安卓设备可能不支持 3. **SVG兼容性**:banner-bg-combined.svg 需要确保存在于 `/assets/images/` 目录 --- ## 后续维护 - 若真机测试发现尺寸偏差,优先检查 line-height 设置 - 若需要调整 Banner 高度,修改 `.banner-section` 的 `height` 属性 - 若需要调整 Banner 背景位置,修改 `.banner-bg-img` 的 `top/left` 属性 - 若需要调整间距,参考附录A的spacing表 - 若需要调整字号,参考附录B的字体表 - 颜色调整参考附录C的颜色字典 - Banner背景问题参考task-detail页面的实现方式