2
0
Эх сурвалжийг харах

📝 docs(story): update travel service core documentation

- add page migration tasks from mini-demo with specific requirements and MVP limitations
- add MVP restriction notes including no waypoints, popular routes, driver location, coupons, and membership system
- add mini-demo migration guide with technical stack conversion and component refactoring instructions
- add detailed mini-demo page structure analysis for home, activity selection, and schedule list pages
- update frontend implementation tasks to focus on page migration from mini-demo
- add change log entries for documentation updates on 2025-10-15
yourname 4 сар өмнө
parent
commit
7d9c9193d8

+ 62 - 3
docs/stories/005.001.story.md

@@ -14,6 +14,23 @@ Draft
 3. 显示路线详细信息(上车点、下车点、出发时间、车型、价格)
 4. 支持按价格、出发时间排序
 
+## 页面迁移任务 (从mini-demo迁移)
+- [ ] 迁移首页 (mini-demo/pages/home/home) - 路线查询入口页面
+  - [ ] 轮播海报展示(MVP阶段使用固定的一张静态图片,不从API获取轮播图数组)
+  - [ ] 出行方式选择(大巴拼车、商务车、包车)
+  - [ ] 出发地/目的地选择器(省市区三级联动)
+  - [ ] 日期选择
+  - [ ] **注意:MVP阶段不实现热门路线展示**
+- [ ] 迁移活动选择页面 (mini-demo/pages/select-activity/select-activity) - 活动筛选页面
+  - [ ] 去程活动筛选(前往目的地观看活动)
+  - [ ] 返程活动筛选(从出发地观看活动后返回)
+  - [ ] 活动卡片展示(图片、名称、时间、地点、匹配点)
+- [ ] 迁移班次列表页面 (mini-demo/pages/schedule-list/schedule-list) - 路线列表展示
+  - [ ] 路线列表展示(上车点、下车点、出发时间、车型、价格)
+  - [ ] 排序功能(价格、出发时间)
+  - [ ] 筛选功能
+  - [ ] **注意:MVP阶段不实现司机当前位置显示**
+
 ## Tasks / Subtasks
 - [ ] 创建路线实体和活动实体 (AC: 1, 2, 3)
   - [ ] 在 `src/server/modules/routes/` 创建 `route.entity.ts`
@@ -28,8 +45,10 @@ Draft
   - [ ] 在 `src/server/api/activities/index.ts` 使用 `createCrudRoutes` 创建通用CRUD路由
   - [ ] 配置搜索字段:name, description
   - [ ] 配置筛选字段:type (去程活动/返程活动)
-- [ ] 实现前端路线查询页面 (AC: 1, 3, 4)
-  - [ ] 在 `src/client/home/pages/` 创建 `RouteList.tsx` 页面
+- [ ] 实现前端页面迁移 (从mini-demo迁移) (AC: 1, 2, 3, 4)
+  - [ ] 迁移首页 - 基于 `mini-demo/pages/home/home` 在 `src/client/home/pages/` 创建 `HomePage.tsx`
+  - [ ] 迁移活动选择页面 - 基于 `mini-demo/pages/select-activity/select-activity` 在 `src/client/home/pages/` 创建 `ActivitySelectPage.tsx`
+  - [ ] 迁移班次列表页面 - 基于 `mini-demo/pages/schedule-list/schedule-list` 在 `src/client/home/pages/` 创建 `ScheduleListPage.tsx`
   - [ ] 集成查询表单和结果展示
   - [ ] 使用React Query调用通用CRUD API
 - [ ] 实现前端活动筛选组件 (AC: 2)
@@ -42,6 +61,15 @@ Draft
 
 ## Dev Notes
 
+### MVP限制说明
+根据 [docs/mvp.md](docs/mvp.md),以下功能在MVP阶段暂时不要实现:
+- **没有途径点** - 路线只包含出发地和目的地
+- **没有热门路线** - 首页不展示热门路线推荐
+- **没有司机当前位置** - 班次列表不显示司机实时位置
+- **没有优惠券和积分商城** - 不实现优惠券和积分功能
+- **没有会员等级** - 不实现会员体系
+- **首页焦点图使用固定静态图** - 轮播图组件保留,但数据使用固定的一张静态图片(不从API获取轮播图数组)
+
 ### 数据模型
 - **Route实体**: 包含上车点、下车点、出发时间、车型、价格等字段 [Source: architecture/data-model-schema-changes.md#路线模型]
 - **Activity实体**: 包含活动名称、描述、类型(去程/返程)、开始日期、结束日期等字段 [Source: architecture/data-model-schema-changes.md#活动模型]
@@ -57,7 +85,10 @@ Draft
 ### 文件位置
 - **后端实体**: `src/server/modules/routes/route.entity.ts`, `src/server/modules/activities/activity.entity.ts` [Source: architecture/source-tree.md#实际项目结构]
 - **API路由**: `src/server/api/routes/index.ts`, `src/server/api/activities/index.ts` [Source: architecture/source-tree.md#实际项目结构]
-- **前端页面**: `src/client/home/pages/RouteList.tsx` [Source: architecture/source-tree.md#实际项目结构]
+- **前端页面**:
+  - `src/client/home/pages/HomePage.tsx` (首页)
+  - `src/client/home/pages/ActivitySelectPage.tsx` (活动选择页面)
+  - `src/client/home/pages/ScheduleListPage.tsx` (班次列表页面) [Source: architecture/source-tree.md#实际项目结构]
 - **前端组件**: `src/client/home/components/ActivityFilter.tsx` [Source: architecture/source-tree.md#实际项目结构]
 - **共享类型**: `src/share/route.types.ts`, `src/share/activity.types.ts` [Source: architecture/source-tree.md#实际项目结构]
 
@@ -74,6 +105,31 @@ Draft
 - **认证中间件**: 使用 `authMiddleware` 保护路由 [Source: src/server/api/users/index.ts#L17]
 - **前端调用**: 使用React Query调用通用CRUD API,支持分页、搜索、排序
 
+### mini-demo迁移指导
+- **迁移来源**: 所有页面迁移基于 `mini-demo/pages/` 目录下的对应页面 [Source: docs/prd/epic-005-travel-service-core.md#mini-demo页面分析]
+- **技术栈转换**: 将mini-demo原生小程序代码转换为Taro + React技术栈
+- **数据集成**: 将模拟数据替换为真实的后端API调用
+- **组件重构**: 保持原有UI体验,但使用项目标准的shadcn/ui组件库
+
+### mini-demo页面结构分析
+**首页 (home/home)**:
+- 轮播海报展示 [Source: mini-demo/pages/home/home.wxml#L4] - **MVP限制:使用固定的一张静态图片,不从API获取轮播图数组**
+- 出行方式选择(大巴拼车、商务车、包车) [Source: mini-demo/pages/home/home.wxml#L26]
+- 出发地/目的地选择器(省市区三级联动) [Source: mini-demo/pages/home/home.wxml#L37]
+- 日期选择 [Source: mini-demo/pages/home/home.wxml#L66]
+- 热门路线展示 [Source: mini-demo/pages/home/home.wxml#L78] - **MVP限制:不实现**
+
+**活动选择页面 (select-activity/select-activity)**:
+- 去程活动筛选(前往目的地观看活动) [Source: mini-demo/pages/select-activity/select-activity.wxml#L12]
+- 返程活动筛选(从出发地观看活动后返回) [Source: mini-demo/pages/select-activity/select-activity.wxml#L43]
+- 活动卡片展示(图片、名称、时间、地点、匹配点) [Source: mini-demo/pages/select-activity/select-activity.wxml#L22]
+
+**班次列表页面 (schedule-list/schedule-list)**:
+- 路线列表展示(上车点、下车点、出发时间、车型、价格)
+- 排序功能(价格、出发时间)
+- 筛选功能
+- **MVP限制:不显示司机当前位置**
+
 ### Testing
 **测试要求**:
 - **单元测试位置**: `__tests__/` 文件夹与源码并列 [Source: architecture/testing-strategy.md#单元测试]
@@ -90,6 +146,9 @@ Draft
 ## Change Log
 | Date | Version | Description | Author |
 |------|---------|-------------|--------|
+| 2025-10-15 | 1.4 | 补充MVP文档中标识为暂时不要的页面元素 | Bob (Scrum Master) |
+| 2025-10-15 | 1.3 | 明确迁移来源为mini-demo并添加页面结构分析 | Bob (Scrum Master) |
+| 2025-10-15 | 1.2 | 添加页面迁移任务和具体页面实现 | Bob (Scrum Master) |
 | 2025-10-15 | 1.1 | 更新为使用通用CRUD服务 | Bob (Scrum Master) |
 | 2025-10-15 | 1.0 | 初始故事创建 | Bob (Scrum Master) |