Files
chunyu_prject_react/.trae/documents/timestamp-tool-mobile-fix.md
T
2026-08-05 23:59:22 +08:00

2.4 KiB

时间戳工具移动端适配方案

问题分析

时间戳工具(/utility/timestamp)当前仅有一个桌面端组件 TimestampTool.tsx,通过 CSS Media Query 适配移动端。存在的问题:

当前移动端问题

  1. DatePicker 组件不友好 - antd 的 DatePicker + showTime 在移动端弹窗体验差,日期选择不便
  2. 双栏布局空间利用率低 - 两列面板在窄屏上内容拥挤
  3. 时区 Select 下拉框难用 - 7 个选项的下拉选择器在移动端操作困难
  4. 结果项溢出 - 复制按钮和长文本在小屏上布局错乱
  5. 触控目标偏小 - 按钮和输入框未针对触摸优化

当前状态

项目 状态
桌面端组件 TimestampTool.tsx (已有)
移动端组件 ❌ 不存在
路由配置 App.tsx 未区分移动/桌面端
移动端样式 仅依赖 CSS Media Query

实现方案

方案:创建独立移动端组件

遵循项目已有模式(如 RegexToolMobile、JsonFormatterMobile):

新增文件

文件 说明
src/pages/TimestampTool/TimestampToolMobile.tsx 移动端专用组件
src/pages/TimestampTool/TimestampToolMobile.css 移动端专用样式

修改文件

文件 修改内容
src/App.tsx 添加 TimestampToolMobile 的懒加载和路由条件渲染

移动端组件设计要点

  1. 单栏流式布局 - 上下排列,充分利用宽度
  2. 原生日期选择 - 使用 <input type="datetime-local"> 替代 antd DatePicker,移动端自动唤起原生选择器
  3. 时区快速切换 - 使用按钮组/分段控制器替代 Select 下拉
  4. 大号触控按钮 - 所有按钮最小 44px 高度
  5. 结果卡片化 - 每个结果独立卡片,易于阅读和操作
  6. 固定底部操作栏 - 获取当前时间、清空等常用操作固定在底部

核心功能保留

  • 时间戳 → 日期转换(自动识别秒/毫秒)
  • 日期 → 时间戳转换
  • 时区切换
  • 复制结果
  • 获取当前时间
  • 清空输入

验证步骤

  1. 桌面端访问 /utility/timestamp 显示原组件
  2. 移动端(≤768px)访问 /utility/timestamp 显示新移动端组件
  3. 测试时间戳输入转换功能正常
  4. 测试日期选择功能正常(原生日期选择器)
  5. 测试时区切换功能正常
  6. 测试复制功能正常
  7. 测试暗色模式切换正常