aiot/ota/
base.rs

1use serde_json::Value;
2use std::collections::HashMap;
3
4use crate::alink::alink_topic::ALinkSubscribeTopic;
5use crate::alink::{AlinkRequest, AlinkResponse};
6use crate::subdev::base::DeviceInfoId;
7use enum_iterator::IntoEnumIterator;
8use enum_kinds::EnumKind;
9use serde::{Deserialize, Serialize};
10
11/// 固件升级包信息
12#[derive(Deserialize, Serialize, Debug, Clone)]
13#[serde(rename_all = "camelCase")]
14pub struct PackageData {
15    /// 大小
16    pub size: u64,
17    /// 版本
18    pub version: String,
19    /// 是否使用了差分升级
20    pub is_diff: Option<u8>,
21    /// 包Url
22    pub url: String,
23    /// MD5
24    pub md5: Option<String>,
25    /// 签名
26    pub sign: String,
27    /// 签名方法
28    pub sign_method: String,
29    /// 升级包所属模块名
30    pub module: Option<String>,
31    /// 升级批次标签列表和推送给设备的自定义信息。
32    /// _package_udi表示自定义信息的字段。
33    /// 单个标签格式:"key":"value"。
34    pub ext_data: Option<Value>,
35}