2026年2月12日
所有新增的文件都已添加 LS 前缀,符合项目命名规范:
VehicleManagementViewController.swift → LSVehicleManagementViewController.swiftVehicleDetailViewController.swift → LSVehicleDetailViewController.swiftStationMapViewController.swift → LSStationMapViewController.swiftTrainingViewController.swift → LSTrainingViewController.swiftExamViewController.swift → LSExamViewController.swiftAccidentReportViewController.swift → LSAccidentReportViewController.swift所有类定义都已更新为带 LS 前缀:
VehicleManagementViewController → LSVehicleManagementViewControllerVehicleDetailViewController → LSVehicleDetailViewControllerStationMapViewController → LSStationMapViewControllerTrainingViewController → LSTrainingViewControllerExamViewController → LSExamViewControllerAccidentReportViewController → LSAccidentReportViewControllerReportCardView → LSReportCardViewVehicleManagementView → LSVehicleManagementViewStationMapView → LSStationMapViewVehicleManagementCell → LSVehicleManagementCellLSRouter.swiftTheRouter 框架WorkbenchRouter.swift 中注册所有工作台路由所有工作台相关路由都在 WorkbenchRouter.registerWorkbenchRouter() 中注册:
| 路由路径 | 页面 | 便捷方法 |
|---|---|---|
app://WorkbenchRouter/vehicleManagement |
LSVehicleManagementViewController | WorkbenchRouter.openVehicleManagement() |
app://WorkbenchRouter/vehicleDetail |
LSVehicleDetailViewController | WorkbenchRouter.openVehicleDetail(vehicleId:) |
app://WorkbenchRouter/stationMap |
LSStationMapViewController | WorkbenchRouter.openStationMap() |
app://WorkbenchRouter/training |
LSTrainingViewController | WorkbenchRouter.openTraining() |
app://WorkbenchRouter/exam |
LSExamViewController | WorkbenchRouter.openExam() |
app://WorkbenchRouter/accidentReport |
LSAccidentReportViewController | WorkbenchRouter.openAccidentReport() |
// 跳转到车辆管理
WorkbenchRouter.openVehicleManagement()
// 跳转到车辆详情(带参数)
WorkbenchRouter.openVehicleDetail(vehicleId: "NO.0088")
所有 ViewController 都实现了 TheRouterable 协议来接收路由参数:
@objcMembers
class LSVehicleDetailViewController: LSBaseViewController, TheRouterable {
static var patternString: [String] {
[WorkbenchRouter.Path.vehicleDetail]
}
var vehicleId: String? // TheRouter 会自动注入参数
override func viewDidLoad() {
super.viewDidLoad()
// 直接使用 vehicleId,无需手动获取
}
}
TheRouter 会自动将 userInfo 中的参数注入到对应的属性中。
所有 Workbench 相关代码都位于正确的目录下:
LSCarHome/LSCarHome/
├── Core/
│ └── Router/
│ ├── AppRouter.swift
│ ├── WorkbenchRouter.swift # 工作台路由(新增)
│ ├── UserRouter.swift
│ ├── TaskCenterRouter.swift
│ └── RouterGuide.md # 路由使用指南(新增)
└── Modules/
└── Workbench/
├── Controllers/
│ └── LSWorkbenchViewController.swift
├── Models/
│ └── WorkbenchModel.swift
├── ViewModels/
│ └── WorkbenchViewModel.swift
└── Views/
├── Accident/
│ └── LSAccidentReportViewController.swift
├── Exam/
│ └── LSExamViewController.swift
├── Station/
│ └── LSStationMapViewController.swift
├── Training/
│ └── LSTrainingViewController.swift
├── VehicleManagement/
│ ├── LSVehicleManagementViewController.swift
│ └── LSVehicleDetailViewController.swift
├── LSCarStatusView.swift
├── LSCustomPercentView.swift
├── LSExamView.swift
├── LSMapView.swift
├── LSTrainingView.swift
└── LSVehicleCardView.swift
✅ 所有文件编译通过,无语法错误
✅ 所有类名引用已更新
✅ 路由系统已迁移到 TheRouter
✅ 路由跳转功能正常
✅ 参数传递功能正常
✅ 符合项目命名规范
LS 前缀Modules/Workbench 目录下Core/Router 目录下LSBaseViewController 作为所有 ViewController 的基类app://ModuleRouter/pageName