refactor/google-analytics #14

Merged
zhangxiang merged 15 commits from refactor/google-analytics into dev 2026-04-23 21:31:41 +08:00
Owner
No description provided.
zhangxiang added 15 commits 2026-04-23 21:31:36 +08:00
- 响应式间距:移动端 gap-1,桌面端 gap-2
- 响应式文字:移动端 text-xs,桌面端 text-sm
- 响应式图标:移动端 w-3.5 h-3.5,桌面端 w-4 h-4
- 增加点击区域:添加 p-1 扩大可点击范围
- 防止布局错位:使用 shrink-0 防止元素被压缩
- 支持横向滚动:overflow-x-auto 处理内容溢出
根本原因:负边距(-ml-1/-mr-1)和不对称样式导致视觉偏移

修复内容:
- 移除所有负边距
- 统一图标大小为 w-4 h-4 (16px)
- 使用一致的间距系统 gap-1.5
- 对称的点击区域 p-1.5 rounded
根本原因:元素padding不一致导致高度差异
- Home图标: p-1.5 → 高度28px
- 文字链接: py-1 → 高度22px
- 结果:垂直不对齐,看起来"歪"

修复内容:
- 移除所有不对称的padding
- 统一使用gap-2间距
- 箭头颜色从#E5E5E5改为#CCCCCC(更可见)
- 箭头大小调整为w-3.5 h-3.5
根本原因:SVG图标和文字的baseline不同
- items-center 按中心对齐,但SVG和文字的"中心"定义不同
- 导致视觉上图标和文字不在同一水平线

修复方案:
- 使用 items-baseline 替代 items-center(按基线对齐)
- 添加 leading-none 移除额外行高
- 确保所有元素使用相同的基线对齐方式
- py-3 md:py-4 → py-1.5 md:py-2
- 移动端: 12px → 6px
- 桌面端: 16px → 8px
This reverts commit 3b21774493.
根因:PageHeader 的 pt-32 (128px) 导致面包屑和标题距离过远
- pt-32 pb-20 → pt-16 pb-16
- 顶部间距: 128px → 64px (减少64px)
- 底部间距: 80px → 64px (减少16px)
- 保持 breadcrumb 的 items-baseline 垂直对齐修复不变
Breadcrumb 修改:
- items-baseline → items-center(水平中心线对齐)
- Home 图标外层添加 w-5 h-5 + justify-center(固定尺寸确保居中)
- 箭头添加 shrink-0 防止被压缩
- 确保 🏠 / > / 文字 三者视觉中心在同一水平线

PageHeader 修改:
- pt-16 pb-16 → pt-8 pb-12(进一步缩小与面包屑的间距)
根因(通过浏览器精确测量确认):
- w-5 h-5 使 Home 容器高度为 23px,而文字容器仅 16px
- 高度差 7px 导致 items-center 无法正确对齐

修复(基于实测数据):
- 移除 Home 的 w-5 h-5 固定尺寸容器
- Home 图标缩小为 w-[14px] h-[14px] 匹配文字尺寸
- 箭头缩小为 w-3 h-3
- div 改为 span 减少块级布局影响
- gap 调整为 gap-1.5/gap-0.5 更紧凑
新策略:不再依赖Tailwind工具类,直接用style属性强制控制
- nav: lineHeight=1 消除行高差异
- 所有元素: display:inline-flex + verticalAlign:middle
- SVG图标: display:block 防止inline布局干扰
根因(通过Playwright精确测量确认):
- Home SVG top=76, 箭头 SVG top=92, 差异16px
- Home链接没有 alignItems:'center'
- 箭头容器有 alignItems:'center' → 导致SVG被居中

修复:
- 给Home链接添加 alignItems:'center', justifyContent:'center'
- 移除无效的 verticalAlign:'middle'
- 所有SVG统一使用 display:'block'

验证结果:
- Home SVG top=91, 箭头 SVG top=92, 差异1px 
根因(通过Playwright Chromium+WebKit双引擎测量确认):
globals.css 第1148行 a,button { min-height:44px; min-width:44px }
在移动端强制所有链接最小44px,导致:
- Home链接容器44px,SVG仅14px → SVG贴容器顶部
- 文字链接容器44px,文字仅12px → 文字贴容器顶部
- 箭头SVG不受影响(不是<a>标签) → 保持自然大小
→ 三者center差异高达16px

修复:
1. 面包屑链接添加 style={{ minHeight:0, minWidth:0 }} 覆盖全局规则
2. 扁平化结构:所有元素直接作为nav的flex子元素
3. 移除嵌套的span容器,用Fragment替代

验证结果(Chromium + WebKit 双引擎):
- Home SVG center=83
- 箭头 SVG center=83
- 文字 center=82.5
- 差异仅0.5px 
根因:
产品页筛选按钮分类名称与产品数据分类不匹配
- 页面按钮: ['软件产品', '云服务', '数据分析', '信息安全']
- 产品数据: ['企业软件', '数据产品']

修复:
修改筛选按钮分类为 ['全部', '企业软件', '数据产品']

验证:
- 全部: 4个产品
- 企业软件: 3个产品 (erp, crm, cms)
- 数据产品: 1个产品 (bi)
根因:
运营时长计算逻辑错误,days 显示的是总天数而非剩余天数
- 原代码: days = 总天数 (98)
- 显示结果: 0年 3个月 98天 

修复:
- totalDays = 总天数
- years = totalDays / 365
- months = (totalDays % 365) / 30
- days = totalDays % 30 (剩余天数)
- 显示结果: 0年 3个月 8天 

验证:
- 成立日期: 2026-01-15
- 当前日期: 2026-04-23
- 总天数: 98天
- 正确显示: 0年 3个月 8天
移除SealButton组件,使用更通用的Button组件替代
删除冗余的trackServiceInterest调用,简化点击事件追踪
zhangxiang merged commit 9650e56dcf into dev 2026-04-23 21:31:41 +08:00
zhangxiang deleted branch refactor/google-analytics 2026-04-23 21:31:41 +08:00
Sign in to join this conversation.
No Reviewers
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: novalon/novalon-website#14