Bläddra i källkod

📝 docs(story): 添加首页日期选择组件优化需求和技术说明

- 添加首页日期选择组件优化任务清单,包括组件替换、实现方案和交互逻辑更新
- 详细说明技术方案:使用Taro Picker组件替代原生date input解决小程序兼容性问题
- 记录技术决策更新:推荐使用Taro Picker组件提供更好的小程序兼容性
- 添加相关版本变更记录,包括需求添加和技术决策更新
yourname 3 månader sedan
förälder
incheckning
731d6f766a
1 ändrade filer med 54 tillägg och 0 borttagningar
  1. 54 0
      docs/stories/005.002.story.md

+ 54 - 0
docs/stories/005.002.story.md

@@ -119,6 +119,23 @@ Ready for Review
     - [ ] 更新活动选择页面集成测试
     - [ ] 更新E2E测试:验证简化的交互流程
 
+- [ ] 优化首页日期选择组件 (UI/UX优化)
+  - [ ] 替换原生 `<input type="date">` 组件
+    - [ ] 移除当前使用的原生 date input ([mini/src/pages/home/index.tsx:238-244](mini/src/pages/home/index.tsx#L238-L244))
+    - [ ] 解决小程序环境中原生 date input 的兼容性问题
+  - [ ] 实现小程序友好的日期选择方案
+    - [ ] **使用 Taro Picker 组件**
+      - [ ] 使用 `mode="date"` 的 Picker 组件
+      - [ ] 设置日期范围:`start` 为今日,`end` 为未来7天
+      - [ ] 使用 `fields="day"` 显示年月日选择器
+  - [ ] 更新日期选择交互逻辑
+    - [ ] 修改 `handleDateChange` 函数适配新的日期选择方式
+    - [ ] 保持与班次列表页日期选择逻辑的一致性
+    - [ ] 优化日期显示格式和用户体验
+  - [ ] 更新相关组件和样式
+    - [ ] 实现 Picker 组件的触发按钮样式
+    - [ ] 确保在小程序环境中的良好兼容性
+
 ## Dev Notes
 
 ### MVP限制说明
@@ -245,6 +262,41 @@ Ready for Review
 - 数据加载策略:懒加载(省份 → 城市 → 区县)
 - 错误处理:网络错误、数据为空等场景
 
+### 首页日期选择组件优化技术说明
+**问题分析**:
+- 当前使用原生 `<input type="date">` 组件在小程序环境中存在兼容性问题
+- 不同平台(iOS/Android)的日期选择器样式和行为不一致
+- 与班次列表页的日期选择体验不统一
+
+**解决方案:使用 Taro Picker 组件**
+**优势**:
+- **原生体验**:使用小程序原生 Picker 组件,确保最佳兼容性和用户体验
+- **功能完善**:支持日期范围限制、默认值设置、粒度控制等
+- **一致性**:与项目中已有的省市区选择器使用相同的组件模式
+- **维护性**:使用官方组件,减少自定义代码和维护成本
+
+**实现方案**:
+```typescript
+<Picker
+  mode="date"
+  value={searchParams.date}
+  start={today}
+  end={future7Days}
+  fields="day"
+  onChange={handleDateChange}
+>
+  <View className="picker-trigger">
+    <Text>{formatDate(searchParams.date)}</Text>
+  </View>
+</Picker>
+```
+
+**实现要点**:
+- 移除原生 date input,替换为 Taro Picker 组件
+- 日期格式:显示中文格式的日期(如"2025-10-19")
+- 交互方式:点击触发 Picker 弹出层,支持日期范围选择
+- 状态管理:保持与现有状态管理逻辑的一致性
+
 ### mini-demo页面结构分析
 **首页 (home/home)**:
 - 轮播海报展示 [Source: mini-demo/pages/home/home.wxml#L4] - **MVP限制:使用固定的一张静态图片,不从API获取轮播图数组**
@@ -308,6 +360,8 @@ Ready for Review
 ## Change Log
 | Date | Version | Description | Author |
 |------|---------|-------------|--------|
+| 2025-10-19 | 2.2 | **技术决策更新**:推荐使用 Taro Picker 组件替代水平滚动方案,提供更好的小程序兼容性 | John (PM) |
+| 2025-10-19 | 2.1 | 添加首页日期选择组件优化需求,解决小程序兼容性问题 | John (PM) |
 | 2025-10-18 | 2.0 | 更新数据模型概念,集成故事5.1已实现功能,添加省市区三级联动和动态路线类型判断 | John (PM) |
 | 2025-10-16 | 1.8 | 移除基础数据实体任务,迁移到Story 5.1 | Bob (Scrum Master) |
 | 2025-10-15 | 1.7 | 修正Taro测试位置,统一使用mini/tests/目录 | Winston (Architect) |