This site is under construction.
Nomad

3.3 订单模块

Order Module

3.3 订单模块

订单模块包含以下功能:

3.3.1 订单列表与筛选 (Order List & Filtering)

1. 功能概述 (Feature Overview)

本功能为已登录用户提供一个集中的订单中心,用户可以在此查看所有历史和当前的机票预订记录。页面支持通过订单状态、预订日期等多种条件进行筛选,帮助用户快速定位和管理他们的订单。

2. 优先级 (Priority)

  • MoSCoW 评级: Must Have

3. 用户故事 (User Stories)

  • US-01 [Must Have]: 作为一个已预订机票的用户,我希望能在一个页面上看到我所有的订单列表,以便我能方便地追踪我的行程和消费记录

  • US-02 [Should Have]: 作为一个拥有多个订单的用户,我希望能根据订单状态(如"待支付")或预订日期进行筛选,以便快速找到我需要处理或查看的特定订单

4. 验收标准 (Acceptance Criteria)

场景1: 用户成功查看订单列表 (Happy Path)

  • Given 用户已登录且拥有至少一个订单
  • When 用户访问"我的订单"页面
  • Then 页面应以列表形式、按预订时间的倒序,展示该用户的订单摘要

场景2: 用户的订单列表为空

  • Given 用户已登录但从未下过单
  • When 用户访问"我的订单"页面
  • Then 页面应显示一个友好的空状态提示,如"您还没有任何订单记录"

场景3: 用户成功按状态筛选订单

  • Given 用户的订单列表中包含"待支付"和"待出行"两种状态的订单
  • When 用户在筛选栏中选择"待支付"并点击"筛选"
  • Then 订单列表应只显示状态为"待支付"的订单

场景4: 用户从列表页成功跳转至详情页

  • Given 用户位于订单列表页
  • When 用户点击任意一个订单卡片
  • Then 系统应将用户导航至该订单的"订单详情页"

场景5: 用户删除历史订单

  • Given 用户位于订单列表页
  • When 用户点击任意一个订单卡片上的“删除订单”按钮
  • Then 系统应弹出二次确认窗口
  • When 用户点击确认
  • Then 系统执行软删除操作,并刷新页面显示

5. UI与交互设计简述 (UI/UX Notes)

  • 页面布局:

    • 位于个人中心,通常是进入"我的订单"的默认视图
  • 所需UI元素:

    • 筛选区: 位于列表顶部,提供订单状态下拉菜单、预订日期范围选择器、订单号/关键词输入框,以及一个"筛选"按钮
    • 订单列表区: 以卡片形式纵向排列,每张订单卡片应包含摘要信息:订单号码、预定日期、“删除订单”按钮 订单状态标签、订单号、航线(如 上海-北京)、主要乘机人、航班日期、总金额
  • 关键交互:

    • 点击订单卡片跳转至订单详情页
    • 使用筛选条件动态更新订单列表

3.3.2 订单详情与操作 (Order Details & Actions)

1. 功能概述 (Feature Overview)

本功能向用户展示特定订单的所有详细信息,包括完整的航班、乘机人、价格和支付信息。同时,它也为处于特定状态的订单提供最核心的后续操作入口,如对未支付订单进行支付或取消。

2. 优先级 (Priority)

  • MoSCoW 评级: Must Have

3. 用户故事 (User Stories)

  • US-01 [Must Have]: 作为一个用户,我希望能查看我订单的所有细节,以便在出行前核对航班、乘机人等所有信息是否准确无误

  • US-02 [Must Have]: 作为一个创建了订单但还未支付的用户,我希望能在订单详情页找到"去支付"的按钮,以便完成我的预订

  • US-03 [Must Have]: 作为一个创建了订单但决定放弃的用户,我希望能方便地取消这个未支付的订单,以便避免后续的支付提醒

4. 验收标准 (Acceptance Criteria)

场景1: 用户成功查看一个"待出行"的订单详情 (Happy Path)

  • Given 用户有一个状态为"待出行"(已支付)的订单
  • When 用户从订单列表页点击进入该订单的详情页
  • Then 页面应完整、准确地展示该订单的订单号、状态、航班信息、乘机人信息和支付明细

场景2: 用户对"待支付"的订单进行支付

  • Given 用户正在查看一个"待支付"的订单详情
  • When 用户点击"去支付"按钮
  • Then 系统应将用户导航至支付页面,并携带当前订单的信息

场景3: 用户成功取消一个"待支付"的订单

  • Given 用户正在查看一个"待支付"的订单详情
  • When 用户点击"取消订单"并在确认弹窗中选择"确认"
  • Then 该订单的状态应更新为"已取消"
  • And 页面应刷新,并显示订单的最新状态,"去支付"和"取消订单"按钮应不再可见

场景4: 用户尝试取消一个"待出行"的订单 [Could Have]

  • Given 用户正在查看一个"待出行"(已支付)的订单详情
  • When 用户尝试寻找"取消订单"的按钮
  • Then 页面上不应显示"取消订单"的按钮,但可以显示一个(暂无功能的)"申请退款"按钮

5. UI与交互设计简述 (UI/UX Notes)

  • 页面布局:

    • 顶部是醒目的订单状态标签(如"待支付",配有倒计时)和订单号
    • 主体内容分为多个信息卡片:航班信息、乘机人信息、价格明细等
  • 所需UI元素:

    • 各信息区块,展示所有详细、非脱敏的数据
    • 动态操作区: 如果订单状态是"待支付",则显示"去支付"和"取消订单"按钮;如果订单状态是"待出行",则这些按钮消失
  • 关键交互:

    • 点击"去支付"按钮导航至支付页面
    • 点击"取消订单"触发确认弹窗,确认后更新订单状态
    • 订单状态变化时动态显示/隐藏相应操作按钮