“移动车道”是一套面向高速公路收费站移动终端的车道收费应用,开发目的是降低高峰期的收费压力,主要用于收费员在入口、出口车道完成车辆识别、通行介质读写、计费收费、异常处理、设备控制、流水查询和交接班等工作。
● 主导旧版 Activity/Fragment + RxJava 项目向 MVI + Jetpack Compose 架构演进,设计泛型 BaseViewModel,以 StateFlow 驱动 UI 状态、SharedFlow 处理一次性事件,使用 sealed class 约束状态,统一渲染多种全局对话框;接入 Koin、kotlinx.serialization 和 Navigation3,使用 GlobalDialogUtils、GlobalDataUtils 统一管理全局状态与跨 ViewModel 通信,完成核心页面现代化重构。
● 设计 ETC 硬件统一接入层,适配多家厂商手持设备 SDK,以 SdkUtils 作为统一入口,通过 DeviceModelEnum 进行策略分发,并记录设备型号、卡槽、耗时、请求和返回值,业务层无需感知厂商差异。
● 基于 HiveMQ MQTT 5.0 实现栏杆机、费额显示器和车道大屏远程控制,配置 QoS、60 秒 Keep Alive 和自动重连,统一生成Topic 与消息 ID,支持栏杆控制、设备重启和通行介质清理。
● 接入百度 OCR 通用车牌识别并实现自定义车牌键盘,覆盖 34 个省级简称、港澳、新能源和特种车牌,支持 11 种车牌颜色,统一识别和人工补录入口。
● 集成百度地图 SDK,使用 GCJ02 坐标系、ClusterManager 标记聚类和 DrivingRouteOverlay 路线叠加,实现设备位置和路径可视化。
● 封装 SM4 国密加密、PSAM 卡槽读取与在线密钥认证、MAC1/MAC2 双重校验流程,结合分步骤弹窗和耗时日志,形成可追踪的交易安全处理链路。
● 使用省份枚举和配置化参数管理江苏、安徽、新疆等省份差异化收费规则,新增省份时仅需扩展配置,不需要修改核心交易流程。
● 基于 JSch/SFTP 实现日志自动压缩上传和 APK OTA 更新,保留 7 天本地滚动日志,支持升级包完整性校验、进度回调和断点续传。