- 创建OTA版本管理表结构,支持版本名称、构建号、APK文件等信息存储 - 实现后台OTA版本管理界面,包含新增、编辑、删除和发布功能 - 开发API接口用于设备版本检查和更新包下载 - 实现版本发布逻辑,自动归档旧版本并计算APK文件哈希值 - 添加强制更新、目标设备白名单和最低版本限制功能 - 集成文件上传和选择组件,支持APK文件管理 - 实现版本状态管理(草稿、已发布、已归档)和权限控制
58 lines
1.2 KiB
PHP
58 lines
1.2 KiB
PHP
<?php
|
|
|
|
namespace app\common\model;
|
|
|
|
use think\Model;
|
|
|
|
/**
|
|
* OTA 版本模型
|
|
*
|
|
* 供 API 控制器使用的公共模型,与后台管理模型共享数据访问。
|
|
*/
|
|
class OtaVersion extends Model
|
|
{
|
|
// 表名
|
|
protected $name = 'ota_version';
|
|
|
|
// 自动写入时间戳
|
|
protected $autoWriteTimestamp = 'int';
|
|
|
|
// 时间字段格式
|
|
protected $createTime = 'createtime';
|
|
protected $updateTime = 'updatetime';
|
|
|
|
// 追加属性
|
|
protected $append = [
|
|
'is_force_update_text',
|
|
'status_text',
|
|
];
|
|
|
|
/**
|
|
* 获取强制更新状态文本
|
|
*
|
|
* @return string
|
|
*/
|
|
public function getIsForceUpdateTextAttr()
|
|
{
|
|
return $this->getData('is_force_update') ? '强制更新' : '可选更新';
|
|
}
|
|
|
|
/**
|
|
* 获取状态文本
|
|
*
|
|
* @param string $value
|
|
* @param array $data
|
|
* @return string
|
|
*/
|
|
public function getStatusTextAttr($value, $data)
|
|
{
|
|
$statusMap = [
|
|
'draft' => '草稿',
|
|
'published' => '已发布',
|
|
'archived' => '已归档',
|
|
];
|
|
$status = $data['status'] ?? '';
|
|
return $statusMap[$status] ?? '未知';
|
|
}
|
|
}
|