007.004.schedule-page-optimization.story.md 4.7 KB

Story 007.004: 购票页面优化

Status

Ready for Review

Story

As a 小程序用户, I want 在班次页面暂时隐藏出发日期选择功能, so that 能够简化操作步骤,提升购票体验。

Acceptance Criteria

  1. 在班次页面暂时隐藏出发日期选择
  2. 保持现有的其他购票流程完整
  3. 验证购票功能正常工作

Tasks / Subtasks

  • 识别班次页面中的日期选择组件 (AC: 1)
    • 定位 mini/src/pages/schedule-list/ScheduleListPage.tsx 文件
    • 找到日期选择相关的UI组件(第225-256行)
    • 确认日期选择功能的具体实现
  • 隐藏日期选择功能 (AC: 1)
    • 注释或移除日期选择UI组件代码
    • 确保日期选择逻辑不再影响班次查询
    • 保持页面布局的完整性
  • 验证购票流程完整性 (AC: 2, 3)
    • 测试从首页到班次页面的导航
    • 验证班次列表正常显示
    • 测试选择班次并进入购票流程
    • 确保订单创建功能正常工作
  • 更新相关测试 (AC: 3)
    • 更新班次页面测试文件
    • 验证日期选择功能已隐藏
    • 确保现有功能无回归

Dev Notes

技术栈要求

  • 前端框架: Taro 4.x + React [Source: architecture/tech-stack.md#现有技术栈维护]
  • 小程序平台: 微信小程序 [Source: architecture/tech-stack.md#现有技术栈维护]
  • 状态管理: React Query (TanStack Query) [Source: architecture/tech-stack.md#现有技术栈维护]
  • UI组件: 自定义组件 + Heroicons [Source: architecture/tech-stack.md#现有技术栈维护]

项目结构

  • 班次页面位置: mini/src/pages/schedule-list/ScheduleListPage.tsx [Source: architecture/source-tree.md#实际项目结构]
  • 日期选择组件: 位于班次页面第225-256行,包含日期选择UI和逻辑
  • 测试文件位置: mini/tests/pages/ [Source: architecture/testing-strategy.md#taro小程序测试体系]

现有实现分析

  • 班次页面包含日期选择功能,生成未来7天的日期选项
  • 日期选择通过 selectedDate 状态管理
  • 日期变更触发 handleDateChange 函数,重新查询路线数据
  • 当前实现使用水平滚动视图显示日期选项

技术约束

  • 保持现有的班次查询API不变
  • 确保页面布局调整后不影响其他功能
  • 保持React Query数据获取逻辑完整

项目结构注意事项

  • 班次页面位于正确的项目结构位置
  • 修改仅限于前端UI层面,不涉及后端API
  • 需要确保页面布局调整后保持响应式设计

Testing

测试标准

  • 测试框架: Jest + @testing-library/react + React Query [Source: architecture/testing-strategy.md#taro小程序测试体系]
  • 测试位置: mini/tests/pages/schedule-list/ScheduleListPage.test.tsx [Source: architecture/testing-strategy.md#taro小程序测试体系]
  • 测试模式: 页面级集成测试 [Source: architecture/testing-strategy.md#taro小程序测试模式]

测试要求

  • 验证日期选择UI组件已隐藏
  • 确保班次列表正常显示和查询
  • 验证购票流程完整性
  • 确保现有功能无回归

测试策略

  • 使用统一的Taro API mock [Source: architecture/testing-strategy.md#taro小程序测试模式]
  • 使用React Query测试包装器 [Source: architecture/testing-strategy.md#taro小程序测试模式]
  • 验证页面渲染和用户交互 [Source: architecture/testing-strategy.md#taro小程序测试模式]

Change Log

Date Version Description Author
2025-10-31 1.0 创建故事草稿 Bob (Scrum Master)
2025-10-31 1.1 实现班次页面日期选择功能隐藏 James (Developer)

Dev Agent Record

Agent Model Used

  • James (Developer Agent)

Debug Log References

  • 成功识别班次页面中的日期选择组件(第225-256行)
  • 已隐藏日期选择UI组件,使用注释方式保留代码
  • 创建了完整的班次页面测试文件
  • 验证了购票流程完整性

Completion Notes List

  1. ✅ 成功识别并定位班次页面中的日期选择组件
  2. ✅ 通过注释方式隐藏了日期选择UI组件,保持代码完整性
  3. ✅ 验证了班次列表正常显示和购票流程完整性
  4. ✅ 创建了完整的班次页面测试文件,包含4个测试场景
  5. ✅ 所有相关测试通过,功能验证正常
  6. ✅ 构建成功,无编译错误

File List

QA Results