# 技术方案
# 注:大卡片、小组件、灵动岛脚本代码需维护在同一份文件上,根据不同字段内容区分
# 原生脚本交互接口
- 原生入参示例:
{
"deviceSn": "000000P0000000Q1A0681CAE921C0000",
"deviceId": "24189255812085",
"reqId": "4c99607f99b41df7d91b0cdeddb38799",
"createTime": "2023-06-15 08:55:13 +0000",
"deviceStatus": {},
"isOnline": "0/1"
}
// deviceId/deviceID:设备id,
// deviceStatus:设备状态
// isOnline:设备在线离线状态,String类型,0:离线;1:在线
# 脚本输出结果
- 脚本输出结构示例:
{
"display": true,
"setTimeout": 1.5,
"compact": {},
"minimal": {},
"expanded": {},
"locked": {}
}
# 显示隐藏控制字段
"display": true, // 控制灵动岛显示/隐藏,true:显示;false:隐藏
"setTimeout": 1.5, // Double型,显示/隐藏的延迟时间,传0则立即显示/隐藏
# 灵动岛常规状态:compact
"compact": {
"left": {
"type": "icon", // 展示类型,icon:图标;value:数值/text;language:多语言key
"value": "", // type为value/language时,使用该字段,传入具体值/多语言key
"placeholderImage": "", // 占位图,传本地资源图片名;若无,传全品类通用占位图或空字符串;仅传文件名,前后缀原生拼接,异常状态直接传异常icon图片名
"iconFromHttp": "", // icon地址,网络资源文件名,若无,则使用placeholderImage
"error": false, // 是否异常,true:展示黄色
},
"right": {
"type": "icon", // 展示类型,icon:图标;value:数值/text;language:多语言key
"value": "", // type为value/language时,使用该字段,传入具体值/多语言key
"placeholderImage": "", // 占位图,传本地资源图片名;若无,传全品类通用占位图或空字符串;仅传文件名,前后缀原生拼接,异常状态直接传异常icon图片名
"iconFromHttp": "", // icon地址,网络资源文件名,若无,则使用placeholderImage
"error": false, // 是否异常,true:展示黄色
}
}
# 灵动岛简短状态:minimal
"minimal": {
{
"placeholderImage": "", // 占位图,传本地资源图片名;若无,传全品类通用占位图或空字符串;仅传文件名,前后缀原生拼接,异常状态直接传异常icon图片名
"iconFromHttp": "", // icon地址,网络资源文件名,若无,则使用placeholderImage,异常状态直接传异常icon图片名
}
}
# 灵动岛展开状态:expanded
"expanded": {
"placeholderImage": "", // 占位图,传本地资源图片名;若无,传全品类通用占位图或空字符串;仅传文件名,前后缀原生拼接
"iconFromHttp": "", // icon地址,网络资源文件名,若无,则使用placeholderImage
"mainType": "language", // mainTitle类型,language:多语言key;value:数值/text
"mainTitle": "", // subTitle无值,显示成大字体;subTitle有值,显示成小字体
"subType": "language", // subTitle类型,language:多语言key;value:数值/text
"subTitle": "", // 有值,显示成大字体;
"trailingType": "value", // trailingString类型,language:多语言key;value:数值/text
"trailingString": "1h55m", // 右侧显示内容文案
"progress": 0.55, // 0.00~1.00的Double类型,代表进度条进度
"errorIcon": "", // 异常icon,没异常则传空字符串
"errorMsg": "", // 异常信息,没异常则传空字符串,只支持多语言key
}
# 灵动岛锁屏状态:locked
- 锁屏状态展示数据与展开状态基本一致,考虑到可能存在的样式布局问题,预留区分
"locked": {
"placeholderImage": "", // 占位图,传本地资源图片名;若无,传全品类通用占位图或空字符串;仅传文件名,前后缀原生拼接
"iconFromHttp": "", // icon地址,网络资源文件名,若无,则使用placeholderImage
"mainType": "language", // mainTitle类型,language:多语言key;value:数值/text
"mainTitle": "", // subTitle无值,显示成大字体;subTitle有值,显示成小字体
"subType": "language", // subTitle类型,language:多语言key;value:数值/text
"subTitle": "", // 有值,显示成大字体;
"trailingType": "value", // trailingString类型,language:多语言key;value:数值/text
"trailingString": "1h55m", // 右侧显示内容文案
"progress": 0.55, // 0.00~1.00的Double类型,代表进度条进度
"errorIcon": "", // 异常icon,没异常则传空字符串
"errorMsg": "", // 异常信息,没异常则传空字符串,只支持多语言key
}