requirements.md 5.2 KB

Requirements Document

Introduction

微信小程序历史查询模块,允许用户选择日期区间查询股票池中股票的历史信息。以列表形式展示股票代码、名称、收盘价格、隔日最高价(从下一天的历史信息表中获取)以及隔日最高涨幅。当下一天数据不存在时,显示"-"。

Glossary

  • History_Query_Module: 微信小程序中的历史查询模块,负责展示股票池历史数据
  • Stock_Pool_History: 股票池历史数据表,存储每日入池股票的详细信息
  • Next_Day_Data: 下一交易日的历史数据,用于计算隔日最高价和涨幅
  • Date_Range_Picker: 日期区间选择器,用户选择查询的开始和结束日期
  • History_List: 历史数据列表组件,展示查询结果

Requirements

Requirement 1: 日期区间选择

User Story: As a 用户, I want 选择开始日期和结束日期, so that 我可以查询指定时间范围内的股票池历史数据。

Acceptance Criteria

  1. WHEN 用户进入历史查询页面, THE Date_Range_Picker SHALL 显示默认的日期区间(当前月份)
  2. WHEN 用户点击开始日期选择器, THE Date_Range_Picker SHALL 弹出日期选择控件供用户选择
  3. WHEN 用户点击结束日期选择器, THE Date_Range_Picker SHALL 弹出日期选择控件供用户选择
  4. WHEN 用户选择的开始日期晚于结束日期, THE History_Query_Module SHALL 提示用户"开始日期不能晚于结束日期"
  5. WHEN 用户完成日期选择, THE Date_Range_Picker SHALL 以"YYYY年MM月DD日"格式显示所选日期

Requirement 2: 历史数据查询

User Story: As a 用户, I want 点击查询按钮获取历史数据, so that 我可以查看指定日期区间内的股票池历史信息。

Acceptance Criteria

  1. WHEN 用户点击查询按钮, THE History_Query_Module SHALL 向后端发送包含开始日期和结束日期的查询请求
  2. WHEN 查询请求发送中, THE History_Query_Module SHALL 显示加载状态
  3. WHEN 后端返回数据成功, THE History_Query_Module SHALL 将数据渲染到历史列表中
  4. WHEN 后端返回空数据, THE History_Query_Module SHALL 显示"暂无数据"提示
  5. IF 网络请求失败, THEN THE History_Query_Module SHALL 显示错误提示并允许用户重试

Requirement 3: 历史数据列表展示

User Story: As a 用户, I want 以列表形式查看历史股票数据, so that 我可以了解每只股票的详细信息和次日表现。

Acceptance Criteria

  1. THE History_List SHALL 显示以下字段:股票代码、股票名称、收盘价格、隔日最高价、隔日最高涨幅
  2. WHEN 显示股票代码, THE History_List SHALL 展示完整的股票代码(如:000001)
  3. WHEN 显示股票名称, THE History_List SHALL 展示股票的中文名称
  4. WHEN 显示收盘价格, THE History_List SHALL 展示当日收盘价,保留两位小数
  5. WHEN 该股票存在下一交易日数据, THE History_List SHALL 从下一天的历史记录中获取并显示隔日最高价(day_highest_price字段)
  6. WHEN 该股票不存在下一交易日数据, THE History_List SHALL 在隔日最高价列显示"-"
  7. WHEN 该股票存在下一交易日数据, THE History_List SHALL 直接从下一天的历史记录中获取隔日最高涨幅(high_trend字段)
  8. WHEN 该股票不存在下一交易日数据, THE History_List SHALL 在隔日最高涨幅列显示"-"
  9. WHEN 涨幅为正数, THE History_List SHALL 以红色显示涨幅值
  10. WHEN 涨幅为负数, THE History_List SHALL 以绿色显示涨幅值
  11. WHEN 隔日最高涨幅大于等于2%, THE History_List SHALL 显示"成功"标签(绿色背景)
  12. WHEN 隔日最高涨幅小于等于-3%, THE History_List SHALL 显示"失败"标签(红色背景)
  13. WHEN 隔日最高涨幅在-3%到2%之间, THE History_List SHALL 不显示成功/失败标签

Requirement 4: 后端API支持

User Story: As a 系统, I want 提供历史数据查询API, so that 微信小程序可以获取带有隔日信息的历史数据。

Acceptance Criteria

  1. THE Stock_Pool_History_API SHALL 接收开始日期和结束日期作为查询参数
  2. WHEN 查询历史数据, THE Stock_Pool_History_API SHALL 返回指定日期区间内的所有股票池记录
  3. FOR EACH 返回的股票记录, THE Stock_Pool_History_API SHALL 查询该股票下一交易日的历史数据
  4. WHEN 下一交易日数据存在, THE Stock_Pool_History_API SHALL 在返回结果中包含隔日最高价字段(取自下一天记录的day_highest_price)
  5. WHEN 下一交易日数据存在, THE Stock_Pool_History_API SHALL 在返回结果中包含隔日最高涨幅字段(取自下一天记录的high_trend)
  6. WHEN 下一交易日数据不存在, THE Stock_Pool_History_API SHALL 返回null表示无数据

Requirement 5: 列表交互体验

User Story: As a 用户, I want 流畅地浏览历史数据列表, so that 我可以快速找到感兴趣的股票信息。

Acceptance Criteria

  1. WHEN 数据量较大, THE History_List SHALL 支持下拉加载更多数据
  2. WHEN 用户下拉刷新, THE History_Query_Module SHALL 重新查询并更新列表数据
  3. WHEN 列表滚动, THE History_List SHALL 保持表头固定可见
  4. THE History_List SHALL 每行显示完整信息,不截断文字