## REMOVED Requirements ### Requirement: Calendar View Route **Reason**: V1 日历页面已由 V2 版本完全替代,V1 路由不再需要 **Migration**: 用户应访问 `/calendar-v2` 路由,使用新版日历功能 --- ### Requirement: Budget View Route **Reason**: V1 预算页面已由 V2 版本完全替代,V1 路由不再需要 **Migration**: 用户应访问 `/budget-v2` 路由,使用新版预算管理功能 --- ### Requirement: Statistics V1 Default Route **Reason**: V1 统计页面已由 V2 版本完全替代,V1 默认路由不再需要 **Migration**: 系统默认路由应指向 `/statistics-v2`,用户将自动使用新版统计功能 --- ### Requirement: V1/V2 Version Toggle Logic **Reason**: V1 版本完全下线后,版本切换逻辑不再需要 **Migration**: 移除 `useVersionStore` 中的版本切换代码,简化路由守卫逻辑。所有用户默认使用 V2 版本。 --- ## Context 本规范定义了 EmailBill 前端路由系统中 V1 相关路由的移除操作。随着 V2 版本的稳定上线,V1 的日历、预算、统计三个核心模块的路由定义已成为遗留代码。 ### 受影响的路由 - `/calendar` → CalendarView.vue (V1 日历视图) - `/budget` → BudgetView.vue (V1 预算管理) - `/` → statisticsV1/Index.vue (V1 统计页面,默认首页) ### 现有版本控制机制 - `useVersionStore` 提供 `isV2()` 方法判断用户偏好 - 路由守卫根据版本偏好自动跳转到对应的 V1 或 V2 路由 - V2 路由命名规则: 原路由名 + `-v2` 后缀 ### 移除后的预期行为 - 访问 `/calendar`、`/budget`、`/` 将返回 404 或重定向到 V2 版本 - `useVersionStore` 中的版本切换逻辑被简化或移除 - 路由守卫不再需要判断 V1/V2 版本 --- ## Validation ### 验证标准 1. **路由配置文件** (`Web/src/router/index.js`): - 不包含 `/calendar`, `/budget`, `/` 的 V1 路由定义 - V2 路由 (`/calendar-v2`, `/budget-v2`, `/statistics-v2`) 正常工作 2. **版本控制逻辑** (`Web/src/stores/version.js` 或类似文件): - 移除或简化 `isV2()` 相关的版本切换代码 - 确保所有路由默认使用 V2 版本 3. **手动测试验证**: - 直接访问 `/calendar` 不会加载 V1 页面 - 直接访问 `/budget` 不会加载 V1 页面 - 访问根路径 `/` 自动跳转到 V2 统计页面或返回 404 - V2 路由 (`/calendar-v2`, `/budget-v2`, `/statistics-v2`) 正常访问 --- ## Dependencies 移除 V1 路由的前置条件: 1. V1 页面文件 (`CalendarView.vue`, `BudgetView.vue`, `statisticsV1/Index.vue`) 已删除 2. V2 页面功能已验证完整,可以完全替代 V1 3. 用户已迁移到 V2 版本,或系统强制使用 V2 移除后不影响: - V2 路由配置和页面功能 - 路由守卫的认证检查逻辑 (`requiresAuth`) - 其他非核心模块的路由 (如 `/login`, `/settings`)