feat(ota): 新增OTA远程升级功能
- 创建OTA版本管理表结构,支持版本名称、构建号、APK文件等信息存储 - 实现后台OTA版本管理界面,包含新增、编辑、删除和发布功能 - 开发API接口用于设备版本检查和更新包下载 - 实现版本发布逻辑,自动归档旧版本并计算APK文件哈希值 - 添加强制更新、目标设备白名单和最低版本限制功能 - 集成文件上传和选择组件,支持APK文件管理 - 实现版本状态管理(草稿、已发布、已归档)和权限控制
This commit is contained in:
22
sql/ota_version.sql
Normal file
22
sql/ota_version.sql
Normal file
@@ -0,0 +1,22 @@
|
||||
-- OTA 版本管理表
|
||||
-- 用于芬太尼智能药品管理柜的 OTA 远程升级功能
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `ota_version` (
|
||||
`id` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT,
|
||||
`version_name` VARCHAR(20) NOT NULL COMMENT '版本名称,如 1.1.0',
|
||||
`version_code` INT(11) UNSIGNED NOT NULL COMMENT '版本号(构建号),用于比较',
|
||||
`apk_file` VARCHAR(255) NOT NULL COMMENT 'APK 文件路径(相对于 upload 目录)',
|
||||
`file_size` BIGINT(20) UNSIGNED DEFAULT NULL COMMENT '文件大小(字节)',
|
||||
`sha256` CHAR(64) DEFAULT NULL COMMENT 'APK 文件 SHA-256 哈希值',
|
||||
`update_log` TEXT NOT NULL COMMENT '更新日志',
|
||||
`is_force_update` TINYINT(1) UNSIGNED NOT NULL DEFAULT '0' COMMENT '是否强制更新:0=否,1=是',
|
||||
`status` ENUM('draft','published','archived') NOT NULL DEFAULT 'draft' COMMENT '状态:草稿/已发布/已归档',
|
||||
`target_devices` TEXT DEFAULT NULL COMMENT '目标设备 IMEI,逗号分隔;NULL=所有设备',
|
||||
`min_version` VARCHAR(20) DEFAULT NULL COMMENT '最低可升级版本,NULL=不限制',
|
||||
`creator_id` INT(11) UNSIGNED DEFAULT NULL COMMENT '创建人ID',
|
||||
`createtime` INT(10) UNSIGNED DEFAULT NULL COMMENT '创建时间',
|
||||
`updatetime` INT(10) UNSIGNED DEFAULT NULL COMMENT '更新时间',
|
||||
PRIMARY KEY (`id`),
|
||||
UNIQUE KEY `idx_version_code` (`version_code`),
|
||||
KEY `idx_status_version` (`status`, `version_code`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='OTA 版本管理表';
|
||||
Reference in New Issue
Block a user