OTA重构
2021-04-27 20:57:10 0 举报
H5调用提交作业
作者其他创作
大纲/内容
正在升级中...
网关类固件升级(LHDeviceTool isCameraG3:)
监听蓝牙返回数据的代理方法(-receiveDataFromBleDevice)
请求错误
isForDeveloperTest
HomeKit正常升级 HTTP请求获取最新版本信息
progress==-2重启中
WIFI类升级业务
业务层
请求检查固件升级
开始升级
固件升级进度更新
请求当前更新进度
蓝牙类
展示更新UI
progress==-4等待升级中更新UI状态
LHShowAlertView(视图添加子视图方式)
到左边流程点击升级
点击升级
FirmwareUpdateManager
OTA管理层
连接其他状态处理-断开、连接失败、连接中(之后补充)
开启更新进度通知
是
这有个30s提示蓝牙连接失败没看懂
各种条件判断switch(self.updateStatus)case LHBLEFirmwareUpdateStatusFechVersionFail: case LHBLEFirmwareUpdateStatusFetchInfoFail: case LHBLEFirmwareUpdateStatusBeginUpdateFail: case LHBLEFirmwareUpdateStatusFetchOffsetFail: case LHBLEFirmwareUpdateStatusSendHeaderInfoFail: case LHBLEFirmwareUpdateStatusSendUpdateDataFail:升级失败
菜单按钮(LMDialogMenuAction)
UI层
LHAlertViewContent协议(遵守协议的子事件视图)
Localized
弹窗提示是否加入升级等待队列
蓝牙 or zigbee?
否
失败弹窗
Common UI
dismiss(移除当前弹窗)
定时器轮询
检查是否有在升级队列
WIFI类UI
描述信息(NSString)
监听网格下载进度通知回调
第一次检查是否可升级的时候会检查一次进度,zigbee和WIFI类的逻辑处理有一定差别方法:-fetchSelectGatewayFirmwareStatus
弹窗方式
......
超链接(LMDialogLinkData)
请求PubKey,进入蓝牙连接模块,监听蓝牙连接状态
LHAlertView (弹窗视图)
displayToView:(添加到指定View)
子设备升级
满足循环请求条件
OAT管理
各种条件判断当self.updateStatus = LHBLEFirmwareUpdateStatusUpdateSuccessfully 升级成功
蓝牙类升级业务
progress==-3升级失败提示
没有在更新
ZigBee类
LMDialog 结构图
升级中UI
LMDialog
请求成功
show(默认通过present方式弹出到当前控制器)
日期选择器(LMDialogDatePicker)
图片(UIImge)
ZigBee固件升级(3种)
展示不需要更新UI
文本输入框(LMDialogTextField)
固件升级
LHAlertController(视图添加自控制器方式)
失败提示
根据不同状态修改 updateStatus 属性的值,展示对应的UI和操作
项目公共工具层
progress==-6未知
有一个假的升级状态展示,当updateStatus=LHBLEFirmwareUpdateStatusSendUpdateDataSucc
对外接口层
持续监听进度
查找当前在线固件信息
是否可升级
大标题(NSString)
self.isHomeKitUpgrade
LOG
presentToViewController:(指定present控制器)
按钮(LMDialogAction)
HTTP
LHAlert
蓝牙固件升级
复选框(LMDialogCheckBox)
调用接口开始更新
实现的事件
异常处理
在更新中
连接成功
定时器轮询0=progress 100
展示错误UI
给蓝牙发送数据获取更新版本信息
对外接口
蓝牙类UI
progress==-1 固件升级失败弹窗
self.isRemoveModel || self.deviceUpdateType == LHDeviceUpdateTypeGateway
progress==-5成功跳转成功页面
升级成功/失败UI
WIFI类
progress==-2更新完成(有个判断两种页面展示)
zigbee类UI
检查更新UI
正常云端升级
蓝牙是否连接
0 条评论
下一页