|
@@ -119,6 +119,23 @@ Ready for Review
|
|
|
- [ ] 更新活动选择页面集成测试
|
|
- [ ] 更新活动选择页面集成测试
|
|
|
- [ ] 更新E2E测试:验证简化的交互流程
|
|
- [ ] 更新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
|
|
## Dev Notes
|
|
|
|
|
|
|
|
### MVP限制说明
|
|
### 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页面结构分析
|
|
### mini-demo页面结构分析
|
|
|
**首页 (home/home)**:
|
|
**首页 (home/home)**:
|
|
|
- 轮播海报展示 [Source: mini-demo/pages/home/home.wxml#L4] - **MVP限制:使用固定的一张静态图片,不从API获取轮播图数组**
|
|
- 轮播海报展示 [Source: mini-demo/pages/home/home.wxml#L4] - **MVP限制:使用固定的一张静态图片,不从API获取轮播图数组**
|
|
@@ -308,6 +360,8 @@ Ready for Review
|
|
|
## Change Log
|
|
## Change Log
|
|
|
| Date | Version | Description | Author |
|
|
| 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-18 | 2.0 | 更新数据模型概念,集成故事5.1已实现功能,添加省市区三级联动和动态路线类型判断 | John (PM) |
|
|
|
| 2025-10-16 | 1.8 | 移除基础数据实体任务,迁移到Story 5.1 | Bob (Scrum Master) |
|
|
| 2025-10-16 | 1.8 | 移除基础数据实体任务,迁移到Story 5.1 | Bob (Scrum Master) |
|
|
|
| 2025-10-15 | 1.7 | 修正Taro测试位置,统一使用mini/tests/目录 | Winston (Architect) |
|
|
| 2025-10-15 | 1.7 | 修正Taro测试位置,统一使用mini/tests/目录 | Winston (Architect) |
|