mirror of
https://github.com/wwiinnddyy/LanMountainDesktop.git
synced 2026-06-20 23:54:26 +08:00
2.6 KiB
2.6 KiB
课程表组件功能优化规格说明书
Why
当前课程表组件存在以下问题:
- 单双周课程解析逻辑存在缺陷,无法正确识别单周/双周/每周模式
- 课程无法动态移动,第一列始终显示进行中的课程,但存在无法正常移动的问题
- 缺少用户拖动交互功能
- 缺少拖动后的自动复位机制
What Changes
- 修复 ClassIsland 课程单双周解析逻辑
- 实现课程动态移动机制(当前课程结束自动上移)
- 实现课程表上下拖动交互功能
- 实现自动复位功能(课程结束后视图复位到最新进行中课程)
Impact
Affected specs
- 课程表组件功能规范
Affected code
Services/ClassIslandScheduleDataService.cs- 课表解析服务Views/Components/ClassScheduleWidget.axaml.cs- 课表组件
ADDED Requirements
Requirement: 单双周课程解析
系统 SHALL 能够正确解析包含单双周信息的课程数据。
Scenario: 单周课程
- WHEN 课程设置为单周上课
- THEN 课程仅在单周显示
Scenario: 双周课程
- WHEN 课程设置为双周上课
- THEN 课程仅在双周显示
Scenario: 每周课程
- WHEN 课程设置为每周上课
- THEN 课程在所有周显示
Requirement: 课程动态移动
系统 SHALL 实现课程的动态移动机制。
Scenario: 课程结束自动上移
- WHEN 当前进行中的课程结束
- THEN 课程列表自动向上移动
- AND THEN 下一个进行中或即将开始的课程移至视图可见区域
Scenario: 新课程移入视图
- WHEN 新的课程即将开始
- THEN 该课程自动移至视图可见区域
Scenario: 当日课程全部结束
- WHEN 当日所有课程已结束
- THEN 自动显示次日课程表
Requirement: 拖动交互功能
系统 SHALL 提供课程表的上下拖动功能。
Scenario: 拖动查看课程
- WHEN 用户在课程表区域进行上下拖动
- THEN 课程列表随拖动方向滚动
- AND THEN 拖动操作流畅、响应及时
Requirement: 自动复位功能
系统 SHALL 在用户手动拖动后自动复位到当前课程。
Scenario: 当前课程结束触发复位
- WHEN 用户手动拖动课程表后,当前课程结束
- THEN 视图自动复位到显示最新进行中课程的位置
MODIFIED Requirements
Requirement: 课程解析逻辑
当前: 单双周解析可能存在缺陷
修改后: 正确识别 WeekCountDiv 和 WeekCountDivTotal 参数,准确判断单周/双周/每周模式
REMOVED Requirements
(无)