|
|
@@ -74,34 +74,34 @@ Ready for Review
|
|
|
- [x] 首页查询 → 活动选择 → 班次列表完整流程
|
|
|
- [x] 省市区三级联动功能测试
|
|
|
- [x] 路线类型动态判断逻辑测试
|
|
|
-- [ ] 优化首页出发地目的地选择器布局 (UI/UX优化)
|
|
|
- - [ ] 创建弹出层选择器组件 `AreaPicker.tsx`
|
|
|
- - [ ] 组件位置:`mini/src/components/AreaPicker.tsx`
|
|
|
- - [ ] 功能:省市区三级联动选择器,模仿mini-demo的 `picker mode="multiSelector"` 交互
|
|
|
- - [ ] 集成现有省市区API:`/api/v1/areas/provinces`, `/api/v1/areas/cities`, `/api/v1/areas/districts`
|
|
|
- - [ ] 支持弹出层显示/隐藏控制
|
|
|
- - [ ] 支持省市区数据动态加载(省份 → 城市 → 区县)
|
|
|
- - [ ] 支持选择确认和取消操作
|
|
|
- - [ ] 显示已选择的省市区文本
|
|
|
- - [ ] 更新首页布局和交互逻辑
|
|
|
- - [ ] 移除现有的平铺 `AreaCascader` 和 `LocationSearch` 组件
|
|
|
- - [ ] 添加出发地/目的地选择按钮,点击触发弹出层
|
|
|
- - [ ] 布局优化:从当前的多行平铺改为一行紧凑布局(出发地 + 交换按钮 + 目的地)
|
|
|
- - [ ] 显示已选择的省市区文本(如"北京市朝阳区")
|
|
|
- - [ ] 添加交换出发地和目的地功能
|
|
|
- - [ ] 简化首页查询逻辑
|
|
|
- - [ ] 修改 `SearchParams` 接口:移除 `startLocation`/`endLocation`,添加 `startAreaIds`/`endAreaIds`
|
|
|
- - [ ] 更新查询验证:只需验证省市区选择,不需要精确地点
|
|
|
- - [ ] 修改导航参数:传递省市区ID数组而不是地点ID
|
|
|
- - [ ] 更新活动选择页面:接收省市区参数,直接根据省市区查询活动,无需精确地点选择
|
|
|
- - [ ] 更新相关页面和组件
|
|
|
- - [ ] 更新 `ActivitySelectPage.tsx`:接收省市区参数,直接根据省市区查询活动,无需精确地点选择
|
|
|
- - [ ] 更新 `ScheduleListPage.tsx`:适配新的查询参数格式
|
|
|
- - [ ] 更新API调用:修改查询参数格式
|
|
|
- - [ ] 编写组件单元测试和集成测试
|
|
|
- - [ ] `AreaPicker` 组件单元测试:测试弹出层交互、数据加载、选择确认
|
|
|
- - [ ] 首页集成测试:测试完整的省市区选择流程
|
|
|
- - [ ] 更新E2E测试:验证新的交互流程
|
|
|
+- [x] 优化首页出发地目的地选择器布局 (UI/UX优化)
|
|
|
+ - [x] 创建弹出层选择器组件 `AreaPicker.tsx`
|
|
|
+ - [x] 组件位置:`mini/src/components/AreaPicker.tsx`
|
|
|
+ - [x] 功能:省市区三级联动选择器,模仿mini-demo的 `picker mode="multiSelector"` 交互
|
|
|
+ - [x] 集成现有省市区API:`/api/v1/areas/provinces`, `/api/v1/areas/cities`, `/api/v1/areas/districts`
|
|
|
+ - [x] 支持弹出层显示/隐藏控制
|
|
|
+ - [x] 支持省市区数据动态加载(省份 → 城市 → 区县)
|
|
|
+ - [x] 支持选择确认和取消操作
|
|
|
+ - [x] 显示已选择的省市区文本
|
|
|
+ - [x] 更新首页布局和交互逻辑
|
|
|
+ - [x] 移除现有的平铺 `AreaCascader` 和 `LocationSearch` 组件
|
|
|
+ - [x] 添加出发地/目的地选择按钮,点击触发弹出层
|
|
|
+ - [x] 布局优化:从当前的多行平铺改为一行紧凑布局(出发地 + 交换按钮 + 目的地)
|
|
|
+ - [x] 显示已选择的省市区文本(如"北京市朝阳区")
|
|
|
+ - [x] 添加交换出发地和目的地功能
|
|
|
+ - [x] 简化首页查询逻辑
|
|
|
+ - [x] 修改 `SearchParams` 接口:移除 `startLocation`/`endLocation`,添加 `startAreaIds`/`endAreaIds`
|
|
|
+ - [x] 更新查询验证:只需验证省市区选择,不需要精确地点
|
|
|
+ - [x] 修改导航参数:传递省市区ID数组而不是地点ID
|
|
|
+ - [x] 更新活动选择页面:接收省市区参数,直接根据省市区查询活动,无需精确地点选择
|
|
|
+ - [x] 更新相关页面和组件
|
|
|
+ - [x] 更新 `ActivitySelectPage.tsx`:接收省市区参数,直接根据省市区查询活动,无需精确地点选择
|
|
|
+ - [x] 更新 `ScheduleListPage.tsx`:适配新的查询参数格式
|
|
|
+ - [x] 更新API调用:修改查询参数格式
|
|
|
+ - [x] 编写组件单元测试和集成测试
|
|
|
+ - [x] `AreaPicker` 组件单元测试:测试弹出层交互、数据加载、选择确认
|
|
|
+ - [x] 首页集成测试:测试完整的省市区选择流程
|
|
|
+ - [x] 更新E2E测试:验证新的交互流程
|
|
|
|
|
|
- [ ] 优化活动选择页面用户体验 (UI/UX优化)
|
|
|
- [ ] 移除活动选择页面的地点选择区域
|
|
|
@@ -410,7 +410,13 @@ James (Developer Agent)
|
|
|
- ✅ 迁移班次列表页面:显示路线详细信息,支持日期选择和排序
|
|
|
- ✅ 编写完整的测试套件:包含组件单元测试、页面集成测试和E2E流程测试
|
|
|
- ✅ 遵循MVP限制:使用固定轮播图,不实现热门路线和司机位置显示
|
|
|
-- ⚠️ **优化发现**:活动选择页面无需重新选择地点,应直接使用首页传递的省市区参数查询活动
|
|
|
+- ✅ **省市区选择器优化完成**:
|
|
|
+ - ✅ 创建弹出层选择器组件 `AreaPicker.tsx`,支持省市区三级联动
|
|
|
+ - ✅ 更新首页布局为紧凑布局(出发地 + 交换按钮 + 目的地)
|
|
|
+ - ✅ 实现省市区数据动态加载和选择确认功能
|
|
|
+ - ✅ 简化查询逻辑,使用省市区ID数组替代精确地点选择
|
|
|
+ - ✅ 更新活动选择页面和班次列表页面适配新的查询参数格式
|
|
|
+ - ✅ 后端API已支持省市区ID查询参数
|
|
|
- ⚠️ **待优化**:移除活动选择页面的地点选择区域,简化用户操作流程
|
|
|
|
|
|
### File List
|
|
|
@@ -418,17 +424,20 @@ James (Developer Agent)
|
|
|
- `src/server/api/locations/index.ts` - 地点API路由
|
|
|
- `src/server/api.ts` - 主API配置(添加用户端路由注册)
|
|
|
- `src/server/utils/jwt.util.ts` - 修复jsonwebtoken导入
|
|
|
+- `src/server/api/routes/index.ts` - 路线API路由(支持省市区ID查询)
|
|
|
- `mini/src/api.ts` - 更新API客户端,添加省市区、地点和路线客户端
|
|
|
- `mini/src/components/AreaCascader.tsx` - 省市区三级联动组件
|
|
|
- `mini/src/components/LocationSearch.tsx` - 地点搜索组件
|
|
|
- `mini/src/components/RouteFilter.tsx` - 路线筛选组件
|
|
|
-- `mini/src/pages/home/index.tsx` - 首页
|
|
|
-- `mini/src/pages/select-activity/ActivitySelectPage.tsx` - 活动选择页面
|
|
|
-- `mini/src/pages/schedule-list/ScheduleListPage.tsx` - 班次列表页面
|
|
|
+- `mini/src/components/AreaPicker.tsx` - 弹出层省市区选择器组件
|
|
|
+- `mini/src/pages/home/index.tsx` - 首页(已更新为紧凑布局)
|
|
|
+- `mini/src/pages/select-activity/ActivitySelectPage.tsx` - 活动选择页面(支持省市区参数)
|
|
|
+- `mini/src/pages/schedule-list/ScheduleListPage.tsx` - 班次列表页面(支持省市区参数)
|
|
|
- `mini/src/app.config.ts` - 更新路由配置
|
|
|
- `mini/tests/components/AreaCascader.test.tsx` - 省市区组件单元测试
|
|
|
- `mini/tests/components/LocationSearch.test.tsx` - 地点搜索组件单元测试
|
|
|
- `mini/tests/components/RouteFilter.test.tsx` - 路线筛选组件单元测试
|
|
|
+- `mini/tests/components/AreaPicker.test.tsx` - 弹出层省市区选择器单元测试
|
|
|
- `mini/tests/pages/HomePage.test.tsx` - 首页集成测试
|
|
|
- `mini/tests/pages/ActivitySelectPage.test.tsx` - 活动选择页面集成测试
|
|
|
- `mini/tests/pages/ScheduleListPage.test.tsx` - 班次列表页面集成测试
|