# 技术方案

# 考虑原生执行js脚本性能,状态岛输出数据迁移至大卡片脚本输出内容中,新增stateIslandModule字段

#

# stateIslandModule状态岛模块


{
    "unknown_status": false,
    "baseInfo": {},
    "powerModule": {},
    "animationModule": {},
    "mainFunModule": {},
    "minorFunModule": [],
    "stateIslandModule": {
        "runningStatus": {
            "isRunning": true, // true/false,是否上岛
            "icon": "", // icon图片文件名,暂定不取型号图,
            "iconFromHttp": false, // icon图片来源,true:网络资源;false:内置图片
            "isApng": true,
            "needMerge": true, // true/false,是否需要合并——无倒计时内容,则告知原生需要合并(同品类)
            "countDownInfo": [
                {
                    "type": "text", // language:多语言key,原生需转多语言;text:文案,直接显示
                    "value": "", // 多语言key或直接显示的内容
                }, {
                    "type": "text", // language:多语言key,原生需转多语言;text:文案,直接显示
                    "value": "00:25", // 多语言key或直接显示的内容
                } // 中间斜杠有原生拼接,当两个value都有值的情况下才需要拼接
                // 展示多少个拼接,就返回多少个元素
            ]
        }
    }
}

# 脚本输出内容

// "backData" = {
//     "environmentInfo": [ // 环境信息,依据设备传感器
//         {
//             "infoType": 0, // 0:室内温度;1:室内湿度;2:空气质量;新增待定
//             "icon": "", // icon图片文件名
//             "iconFromHttp": false, // icon图片来源,true:网络资源;false:内置图片
//             "desc": "", // String类型,环境信息描述,多语言key,不传则不显示
//             "valueType": "value", // value:具体数据;language:以多语言形式展示
//             "value": "", // String类型,环境信息值
//             "unit": "", // String类型,单位,有则显示,无则忽略
//         }, // 一台设备可存在多个环境信息,原生根据infoType分组
//     ],
//     // "countDown": { // TBC,状态岛二期实现
//     //     "icon": "", // icon图片文件名,暂定不取型号图,
//     //     "iconFromHttp": false, // icon图片来源,true:网络资源;false:内置图片
//     //     "time": "hh:mm", // String类型,倒计时时间,与大卡片保持一致
//     // }
//     // 状态岛实际归属【运行中】状态的其中一种场景
//     "runningStatus": {
//         "isRunning": true, // true/false,是否上岛
//         "icon": "", // icon图片文件名,暂定不取型号图,
//         "iconFromHttp": false, // icon图片来源,true:网络资源;false:内置图片
//         "isApng": true,
//         "needMerge": true, // true/false,是否需要合并——无倒计时内容,则告知原生需要合并(同品类)
//         "countDownInfo": [
//             {
//                 "type": "text", // language:多语言key,原生需转多语言;text:文案,直接显示
//                 "value": "", // 多语言key或直接显示的内容
//             }, {
//                 "type": "text", // language:多语言key,原生需转多语言;text:文案,直接显示
//                 "value": "00:25", // 多语言key或直接显示的内容
//             } // 中间斜杠有原生拼接,当两个value都有值的情况下才需要拼接
//             // 展示多少个拼接,就返回多少个元素
//         ]
//     }
// }

# AB空调状态岛示例代码

{
    "unknown_status": false,
    "baseInfo": {},
    "powerModule": {},
    "animationModule": {},
    "mainFunModule": {},
    "minorFunModule": [],
    "stateIslandModule": {
        "runningStatus": {
            "isRunning": true,
            "isApng": true,
            "iconFromHttp": true,
            "icon": "https://bigcard-icon.s3-accelerate.amazonaws.com/DeviceGIF/dashboard_ic_ac.png"
        }
    }
}