AWTK 架构设计
工程目录
 -3rd:第三方拓展控件
 	-awtk-widget-annular-sector-selector:环形选择器
 	-awtk-widget-fold-list-view:折叠列表视图
 	-awtk-widget-gauge-pointer-view:表-指针视图
 	-awtk-widget-label-value:文本值
 	-awtk-widget-number-label:数值文本
 	-awtk-widget-slide-menu-circle:弧形滑动菜单
 	-awtk-widget-slide-view-ex:滑动视图
 	-awtk-widget-slider-circle:弧形滑动条
 	-awtk-widget-time-clock-view:时钟视图
 	-mcntl:
 		-lib:库文件
 		-src:
 			-cJSON.h:cjson头文件
 			-mcntl_apis.h:mcntl接口头文件
 				-mcntl-init:mcntl初始化
 				-mcntl-deinit:mcntl去初始化
 			-mcntl_bind_spis.h:mcntl绑定接口头文件
 				-enum mcntl_bind_err:mcntl绑定错误枚举
 					-MCNTL_BIND_ERR_SUCESS:mcntl绑定错误 成功
 					-MCNTL_BIND_ERR_LOGOUT:mcntl绑定错误 登出
 					-MCNTL_BIND_ERR_NODEVICE:mcntl绑定错误 无设备
 					-MCNTL_BIND_ERR_TIMEOUT:mcntl绑定错误 超时
 					-MCNTL_BIND_ERR_UNKNOW:mcntl绑定错误 未知
 					-MCNTL_BIND_ERR_PARAM:mcntl绑定错误 参数
 					-MCNTL_BIND_ERR_DEVICE:mcntl绑定错误 设备
 					-MCNTL_BIND_ERR_BINDED:mcntl绑定错误 已绑定
 					-MCNTL_BIND_ERR_RESP_CODE:mcntl绑定错误 响应码
 					-MCNTL_BIND_ERR_UNBINDED:mcntl绑定错误 未绑定
 					-MCNTL_BIND_ERR_NOINIT:mcntl绑定错误 未初始化
 					-MCNTL_BIND_ERR_CANCEL:mcntl绑定错误 取消
 					-MCNTL_BIND_ERR_NOSTART:mcntl绑定错误 未启动
 					-MCNTL_BIND_ERR_BUSY:mcntl绑定错误 繁忙
 					-MCNTL_BIND_ERR_NOACCOUNT:mcntl绑定错误 无用户 
 					-MCNTL_BIND_ERR_NOPERMISSION:mcntl绑定错误 无权限
 					-MCNTL_BIND_ERR_IN_OTA:mcntl绑定错误 在OTA
 				-struct mcntl_bind_state:mcntl 绑定状态结构体
 					-bool binded:已绑定
 					-bool login:登录
 				-struct mcntl_bind_info:mcntl 绑定信息
 					-char* token:
 					-char* uid:
 					-int homegroupid:首页group id
 					-unit_t deviceId:主设备id
 				-struct mcntl_bind_callbacks:mcntl 绑定回调
 				-struct mcntl_bind_config:mcntl 绑定配置
 					-struct mcntl_bind_callbacks* cbs:mcntl 绑定回调函数
 					-void* cb_ctx:回调上下文	
 				-typedef void (*mcntl_bind_qrcode_cb)(void* cb_ctx, const char* qr_content):定义新类型 mcntl二维码绑定回调函数
 				-typedef void (*mcntl_bind_reset_cb)(void* cb_ctx, int error):定义新类型 mcntl重新绑定 回调函数
 				-typedef void (*mcntl_bind_refresh_result_cb)(void* cb_ctx, int error, const char* token):mcntl 绑定刷新结果回调	
 				-int mcntl_bind_get_state(struct mcntl_bind_state* out_state):获取绑定状态
 				-int mcntl_bind_get_info(struct mcntl_bind_info* out_info):获取绑定信息
 				-int mcntl_bind_init(const struct mcntl_bind_config* cfg, const char* sn):mcntl绑定初始化
 				-int mcntl_bind_refresh_token(mcntl_bind_refresh_result_cb ecb, void* cb_ctx, int timeout_ms):mcntl绑定刷新token
 				-int mcntl_bind_reinit(const char* sn):mcntl绑定重新初始化
 				-void mcntl_bind_release():mcntl 绑定释放
 				-int mcntl_bind_start(mcntl_bind_qrcode_cb qcb, mcntl_bind_result_cb ecb, void* cb_ctx):mcntl开始绑定
 				-int mcntl_bind_stop(void):mcntl结束绑定
 			-mcntl_cjson.h:mcntl cjson头文件
 				-typedef cJSON mcntl_cjson:定义新类型
 				- mcntl_cjson_create_object cJSON_CreateObject:宏定义,将cJSON_CreateObject定义为mcntl_cjson_create_object
 				-mcntl_cjson_create_object:创建cjson对象
 				-mcntl_cjson_create_array:创建cjson数组
 				-mcntl_cjson_add_item_to_object(object, name, i):cjson对象添加item
 				-mcntl_cjson_detach_item_from_object(object, i):cjson对象移除item
 				-mcntl_cjson_add_item_to_array(array, i):cjson数组添加item
 				
 				-mcntl_cjson_create_int_array(numbers, count):创建cjson整型数组
 				-mcntl_cjson_create_float_array(numbers, count):创建cjson浮点数组
 				-mcntl_cjson_create_double_array(numbers, count):创建cjson双精度数组
 				-mcntl_cjson_create_string_array(strings, count):创建cjson字符串数组
 				
 				-mcntl_cjson_add_null_to_object(object, name):cjson对象添加null
 				-mcntl_cjson_add_true_to_object(object, name):cjson对象添加true
 				-mcntl_cjson_add_false_to_object(object, name):cjson对象添加false
 				-mcntl_cjson_add_bool_to_object(object, name, b):cjson对象添加bool
 				-mcntl_cjson_add_number_to_object(object, name, n):cjson对象添加数字
 				-mcntl_cjson_add_string_to_object(object, name, s):cjson对象添加字符串
 				-mcntl_cjson_add_string_to_object_not_cs(object, name, i):cjson对象添加字符串非cs
 				-mcntl_cjson_add_raw_to_object(object, name, s):cjson对象添加raw数据
 				-mcntl_cjson_add_object_to_object:cjson对象添加对象
 				
 				-mcntl_cjson_add_null_to_array(object, name):cjson数组添加null
 				-mcntl_cjson_add_true_to_array(object, name):cjson数组添加true
 				-mcntl_cjson_add_false_to_array(object, name):cjson数组添加false
 				-mcntl_cjson_add_bool_to_array(object, name, b):cjson数组添加bool
 				-mcntl_cjson_add_number_to_array(object, name, n):cjson数组添加数字
 				-mcntl_cjson_add_string_to_array(object, name, s):cjson数组添加字符串
 				-mcntl_cjson_add_raw_to_array(object, name, s):cjson数组添加raw数据
 				
 				-mcntl_cjson_object_is_null(object):判断cjson对象是否是null
 				-mcntl_cjson_object_is_bool(object):判断cjson对象是否是bool
 				-mcntl_cjson_object_is_number(object):判断cjson对象是否是数值
 				-mcntl_cjson_object_is_string(object):判断cjson对象是否是字符串
 				-mcntl_cjson_object_is_array(object):判断cjson对象是否是数组
 				
 				-mcntl_cjson_set_string_of_object(object, s):设置cjson对象字符串
 				-mcntl_cjson_set_number_of_object(object, n):设置cjson对象数值
 				-mcntl_cjson_object_for_each(element, object):遍历cjson对象
 				-mcntl_cjson_object_get_name(element):获取cjson对象名称
 				
 				-mcntl_cjson_array_for_each(element, array):遍历cjson数组
 				-mcntl_cjson_get_object_item:cjson获取对象item
 				-mcntl_cjson_get_array_item:cjson获取数组item
 				-mcntl_cjson_get_array_num:cjson获取数组数值
 				-mcntl_cjson_free:释放cjson
 				-mcntl_cjson_version:获取cjson版本
 			-mcntl_dev_cntl.h:mcntl 设备控制头文件
 				-typedef struct mcntl_dev_cntl_http_conn_cfg:http连接配置
 					-uint32_t msg_id:消息id
 					-size_t params_str_len:参数字符串长度
 					-char* params_str:参数字符串
 				-typedef struct mcntl_dev_cntl_http_conn_ctx:http连接上下文
 					-uint32_t msg_id:消息id
 					-uint16_t http_code:http code
 					-size_t result_str_len:结果字符串长度
 					-char* result_str:结果字符串
 					-void* user_data_ptr:用户数据指针
 				-typedef struct mcntl_dev_cntl_cache_rw_cfg:raw缓存配置
 					-uint32_t msg_id:消息id
 					-size_t params_str_len:参数字符串长度
 					-char* params_str:参数字符串
 					-size_t topic_str_len:topic字符串长度
 					-char* topic_str:topic字符串
 				-typedef struct mcntl_dev_cntl_cache_rw_ctx:raw缓存上下文
 					-uint32_t msg_id:消息id
 					-size_t result_str_len:结果字符串长度
 					-char* result_str:结果字符串
 					-size_t topic_str_len:topic字符串长度
 					-char* topic_str:topic字符串
 				-typedef struct mcntl_dev_cntl_gl_notify_cb_ctx:
 				
 				-typedef struct mcntl_dev_cntl_check_bind_cfg:检查绑定配置
 					-size_t sn_string_len:sn字符串长度
 					-char* sn_string:sn字符串
 					-size_t dev_id_string_len:设备id字符串长度
 					-char* dev_id_string:设备id字符串
 				-typedef struct mcntl_dev_cntl_file_cfg:文件配置
 					-char* file_url_str:文件url字符串
 					-size_t file_url_len:文件url长度
 					-const char* file_type:文件类型
 					-char* file_id_str:文件id字符串
 					-size_t file_id_len:文件id长度
 					-uint16_t wait_s:http下载等待时间
 				-typedef struct mcntl_dev_cntl_db_err_ctx:回调错误上下文
 					-uint8_t err_code:错误代码
 					-uint8_t err_recovery_count:错误恢复次数
 					-void* user_data_ptr:用户数据指针
 				-typedef struct mcntl_req_id_t:请求id字符串
 					-char req_id_stirng[33]:请求id字符串
 				-typedef struct mcntl_devcntl_get_stamp:获取时间戳
 					-char stamp_string[15]:时间戳字符串
 				-typedef struct mcntl_devcntl_cache_t:缓存类型
 					-size_t max_cache_bytes:缓存最大字节数
 					-size_t del_cache_bytes:缓存删除字节数
 					-time_t db_backup_timeval_s:备份时间(s)
 					-mcntl_dev_cntl_db_err_ctx db_err_cb_ctx:错误回调上下文
 					-mcntl_dev_cntl_db_err_cb db_err_cb_ptr:错误回调指针
 				-typedef void (*mcntl_dev_cntl_http_conn_cb)(mcntl_dev_cntl_http_conn_ctx* ctx):声明一个函数指针类型。这个函数指针类型指向的函数没有返回值(void),并且接受一个指向mcntl_dev_cntl_http_conn_ctx类型的指针作为参数
 				-typedef void (*cntl_dev_cntl_notify_cb)(mcntl_dev_cntl_gl_notify_cb_ctx* ctx):声明一个函数指针类型。这个函数指针类型指向的函数没有返回值(void),并且接受一个指向mcntl_dev_cntl_gl_notify_cb_ctx类型的指针作为参数
 				-typedef void (*mcntl_dev_cntl_file_get_cb)(mcntl_dev_cntl_http_conn_ctx* ctx):声明一个函数指针类型。这个函数指针类型指向的函数没有返回值(void),并且接受一个指向mcntl_dev_cntl_http_conn_ctx类型的指针作为参数
 				-typedef void (*mcntl_dev_cntl_db_err_cb)(mcntl_dev_cntl_db_err_ctx* ctx):声明一个函数指针类型。这个函数指针类型指向的函数没有返回值(void),并且接受一个指向mcntl_dev_cntl_db_err_ctx:类型的指针作为参数
 			-mcntl_http.h:mcntl http头文件
 				-MCNTL_HTTP_LOG_LEVEL 1:http log 等级
             	-MCNTL_HTTP_REQUEST_TIMEOUT 6000:http请求超时时间
                -MCNTL_HTTP_DOWNLOAD_TIMEOUT 20000:http下载超时时间
                -MCNTL_HTTP_MAX_PIPELINE_FOR_REQ 10:http请求最大管道数
                -MCNTL_HTTP_SUBTYPE_GET_REQ:http子类型get请求 
                -MCNTL_HTTP_SUBTYPE_GET_ACK:http子类型get确认
                -MCNTL_HTTP_SUBTYPE_PUT_REQ:http子类型req请求
                -MCNTL_HTTP_SUBTYPE_PUT_ACK:http子类型put确认
                -MCNTL_HTTP_SUBTYPE_PUT_BODY_REQ:http子类型put body请求 
                -MCNTL_HTTP_SUBTYPE_PUT_BODY_ACK:http子类型put body确认
                -MCNTL_HTTP_SUBTYPE_POST_REQ:http子类型post请求 
                -MCNTL_HTTP_SUBTYPE_POST_ACK:http子类型post确认
                -MCNTL_HTTP_SUBTYPE_FDOWN_REQ:http子类型FDOWN请求 
                -MCNTL_HTTP_SUBTYPE_FDOWN_ACK:http子类型FDOWN确认
                -MCNTL_HTTP_SUBTYPE_AT_REFRESH_REQ:http子类型刷新请求 
                -MCNTL_HTTP_SUBTYPE_AT_REFRESH_ACK:http子类型刷新确认
                -MCNTL_HTTP_SUBTYPE_INNER_AT_AUTO_REFRESH:httpn内部自动刷新 
                -MCNTL_HTTP_SUBTYPE_AT_PWD_EXPIRED_NOTIFY:http token密码过期提醒
                
                -void mcntl_http_init(void):http初始化
                -void mcntl_http_deinit(void):http去初始化
                -void mcntl_cross_file_init(void):交叉文件初始化
                -void mcntl_cross_file_deinit(void):交叉文件去初始化
 			-mcntl_main_cntl_apis.h:mcntl 主cntl接口头文件
 				-typedef enum MAIN_UI_EVENT:
 					-MAIN_UI_TRANS_MSMART_EVENT:msmart联网通知
 					-MAIN_UI_DEV_CONTROL_EVENT:设备控制
 					-MAIN_UI_SCENE_CONTROL_EVENT:场景控制
 					-MAIN_UI_SSE_HTTP_UPDATE:http/sse推送
 					-MAIN_UI_KNOB_PARAMS:旋钮自身/传感参数
 					-MAIN_UI_NOTIFY_UI_EVENT:main通知ui事件
 					-MAIN_UI_NOTIFY_MAIN_EVENT:ui通知main事件
 				-typedef enum SSE_HTTP_UPDATE_SUBTYPE:
 					-NOTIFY_USUAL_FUNCTION_UPDATE:sse推送常用功能变更
 					-NOTIFY_SPID_MODULE_UPDATE:推送spid与物模型对应
 					-NOTIFY_DEVICE_PROPERTY_UPDATE:推送设备属性更新
 					-NOTIFY_DEVICE_MESSAGE:推送绑定/解绑消息
 					-NOTIFY_SCREEN_SAVER_UPDATE:推送屏保消息
 				-typedef enum KNOB_PARAMS_SUBTYPE:
 					-NOTICE_BRIGHT_SCREEN:通知ui亮屏
 					-NOTICE_ROTATION_POSITION:通知ui旋转位置
 					-NOTICE_BATTERY_POWER:通知ui当前电量
 					-NOTICE_SCREEN_INTENSITY_UPDATE:通知ui屏幕亮度变化
 					-NOTICE_VOLUME_UPDATE:通知ui音量设置变化
 					-NOTICE_ENVIRONMENTAL_DATA:通知ui环境数据
 					-NOTICE_WEATHER_DATA:通知ui天气数据
 				-typedef enum MAIN_NOTIFY_UI_EVENT_SUBTYPE:
 					-NOTICE_DISPLAY_INTERFACE:通知ui展示界面
 					-NOTICE_ROOM_INFORMATION_UPDATE:通知ui设备信息、房间修改
 					-NOTICE_ROOM_LIST_DISPLAY:通知ui获取房间列表,展示供用户选择
 					-NOTICE_DEVICE_ONLINE_STATUS:通知ui设备在线/离线
 					-NOTICE_NIGHT_MODE_SET:通知ui设置夜间模式
 					-NOTICE_AI_FAST_CONTROL:通知ui AI快控开关
 					-NOTICE_LOW_POWER_MODE:通知ui 进入低电量模式
 					-NOTICE_REQUEST_RESULT_RESPONSE:通知ui请求执行结果
 					-NOTICE_REQUESR_SPID_TEMPLATE:通知ui请求:spid与物模型对应关系
 					-NOTICE_REQUEST_ROOM_LIST:通知ui请求:当前家庭房间列表
 					-NOTICE_REQUEST_ROOM_FUNCTION:通知ui请求:当前房间的常用功能
 					-NOTICE_REQUEST_INDOOR_HUMITURE:通知ui请求:室内温湿度
 					-NOTICE_REQUEST_DEV_SYSTEM_INFORMATION:通知ui请求:设备系统信息
 					-NOTICE_REQUEST_DEV_SENSING_PARAMETERS:通知ui请求:设备传感参数
 					-NOTICE_REQUEST_MESSAGE_CENTER_MESSAGE_ALL:通知ui请求:消息中心所有消息
 				-typedef enum UI_NOTIFY_MAIN_EVENT_SUBTYPE:
 					-NOTICE_AUTHORIZATION_RESULT = 0x01:UI通知MAIN用户授权结果
                      -NOTICE_USER_CHOOSE_ROOM:UI通知MAIN用户选择房间结果
                      -NOTICE_USE_LOG:使用日志通知
                      -NOTICE_MESBOX_GET_ALL_MESSAGE:UI通知获取消息中心所有消息
                      -NOTICE_MESBOX_MESSAGE_STATUS_UPDATE:UI更新消息状态
                      -NOTICE_MESBOX_MESSAGE_CLEAN:UI通知清除消息
                      -NOTICE_FACTORY_RESET:UI通知恢复出厂
                      -NOTICE_RESTART:UI通知重启
                      -NOTICE_ROTATION_STEP_SET: UI通知设置旋转步进
                      -NOTICE_ENTER_SCREEN_SAVER_DURATION:UI通知设置无操作进入屏保的时间
                      -NOTICE_SCREEN_SAVER_DISPLAY_DURATION:UI通知设置屏保显示时间
                      -NOTICE_BRIGHTNESS_SET:UI通知设置屏幕亮度
                      -NOTICE_VOLUME_SET:UI通知设置音量
                      -NOTICE_LIGHT_SCREEN_SENSING_DISTANCE_SET:UI通知设置靠近亮屏的感应距离
                      -NOTICE_ENVIRONMENTAL_DATA_GET:UI读取室内环境参数(低功耗模式下) 
 				-typedef enum spid_type:
 					-DEV_TEMPLET:设备模板
 					-UI_TEMPLET:UI模板
 				-main_ui_spid_module_get(uint8_t spid_type):根据spid和物模型实例获取相应	
 				-main_ui_room_list_get():获取房间列表信息
 				-main_ui_current_room_function_get():获取当前房间的通用功能
 				-main_ui_msg_list_get():从消息中心获取消息列表
 				-main_ui_envirnmental_data_get():获取环境信息
 				-main_ui_get_self_device_info():获取设备信息
 				-main_ui_get_self_sensor_info():获取传感器信息
 				-mcntl_main_cntl_init(void* in_str):主控制初始化
 				-mcntl_main_cntl_deinit(void):主控制去初始化
 				-mcntl_main_cntl_cycle_check(void):循环检查
 				-mcntl_main_cntl_deinit_reg(void):控制注册去初始化
 			-mcntl_msg_box_apis.h:mcntl 消息盒头文件
 				-typedef enum mcntl_msgbox_ret_e:
 					-MCNTL_MSGBOX_RET_SUCCESS:消息成功
                      -MCNTL_MSGBOX_RET_PARAM:消息参数
                      -MCNTL_MSGBOX_RET_FILE_PATH:消息文件路径
                      -MCNTL_MSGBOX_RET_FILE_MEM:消息文件缓存
                      -MCNTL_MSGBOX_RET_DATABASE_ERR:消息数据库错误
                      -MCNTL_MSGBOX_RET_BACKUP_DATABASE_ERR:消息备份数据库错误
                      -MCNTL_MSGBOX_RET_BACKUP_FAILED:消息备份失败
                      -MCNTL_MSGBOX_RET_NO_BACKUP_DATABASE:消息无备份数据库
                      -MCNTL_MSGBOX_RET_RECOVER_FAILED:消息恢复失败
 				-typedef enum mcntl_msgbox_type_e:
 					-MCNTL_MSGBOX_TYPE_LOCAL:信息种类 本地
                      -MCNTL_MSGBOX_TYPE_CLOUD:信息种类 云端
                      -MCNTL_MSGBOX_TYPE_SYSTEM_OTA:信息种类 系统OTA
                      -MCNTL_MSGBOX_TYPE_NETWORK_ERR:信息种类 网络错误
                      -MCNTL_MSGBOX_TYPE_REBIND:信息种类 重新绑定
                      -MCNTL_MSGBOX_TYPE_TIME_CALIBRATION:信息种类 时间校准 
                      -MCNTL_MSGBOX_TYPE_OUT_OF_MEMORY:信息种类 缓存不足
                      -MCNTL_MSGBOX_TYPE_ALL = 0xFFFF:信息种类 用于设置状态
 				-typedef enum mcntl_msgbox_sub_msg_type_e:
 					-MCNTL_MSGBOX_SUB_TYPE_xxx:
    				-MCNTL_MSGBOX_SUB_TYPE_ALL = 0xFFFF:用于设置状态
 				-typedef enum mcntl_msgbox_msg_status_e:
					-MCNTL_MSGBOX_MSG_STATUS_UNREAD:消息状态 未读
                      -MCNTL_MSGBOX_MSG_STATUS_READ:消息状态 已读
                      -MCNTL_MSGBOX_MSG_STATUS_NOT_PROCESSED:消息状态 未进行
                      -MCNTL_MSGBOX_MSG_STATUS_ALL = 0xFF:消息状态 用于消息中心更新特定状态
 				-typedef struct mcntl_msgbox_t:
 					-uint32_t msg_id:信息id
                      -uint16_t msg_type:信息类型 // mcntl_msgbox_type_e
                      -uint16_t msg_sub_type:信息子类型 // mcntl_msgbox_device_msg_type_e
                      -char* msg_title:信息标题
                      -char* msg_data:消息数据
                      -uint8_t msg_status:信息状态
                      -uint64_t time:时间
 				-typedef struct mcntl_msgbox_recv_t:
 					-uint16_t msg_type:消息类型
                      -uint16_t msg_sub_type:消息子类型
                      -char* msg_title:消息标题
                      -char* msg_data:消息数据
                      -uint32_t validity_period:认证有效期
 				-typedef struct mcntl_msgbox_specified_type_msg_t:
 				     -uint16_t msg_type:消息类型
                      -uint16_t msg_sub_type_start:消息子类型开始
                      -uint16_t msg_sub_type_end:消息子类型结束
                      -mcntl_msgbox_msg_status_e msg_status:消息状态
                 -typedef void (*mcntl_msgbox_callback_t)(mcntl_msgbox_t** msg, uint32_t num):消息中心回调
				-typedef void (*mcntl_msgbox_update_callback_t)(uint32_t num):消息中心更新回调
				-typedef void (*mcntl_msgbox_database_callback_t)(void):消息中心数据库回调
				-mcntl_msgbox_ret_e mcntl_msgbox_insert(mcntl_msgbox_recv_t* msg):插入消息
				-uint32_t mcntl_msgbox_get_all_number(mcntl_msgbox_msg_status_e status):获取所有消息的数量
				-mcntl_msgbox_ret_e mcntl_msgbox_init(uint32_t msg_num_max):消息中心初始化
				-mcntl_msgbox_ret_e mcntl_msgbox_deinit(void):消息中心去初始化
				-mcntl_msgbox_ret_e mcntl_msgbox_backup_database(void):消息中心备份数据库
				-mcntl_msgbox_ret_e mcntl_msgbox_backup_database_recover(void):消息中心备份数据库恢复
				-mcntl_msgbox_ret_e mcntl_msgbox_database_reset(void):消息中心数据库重置
				-mcntl_msgbox_set_notify_cb(mcntl_msgbox_callback_t cb):设置提醒回调
				-mcntl_msgbox_set_update_cb(mcntl_msgbox_update_callback_t cb):设置更新回调
				-mcntl_msgbox_set_status(uint32_t* msg_id, uint32_t num, mcntl_msgbox_msg_status_e status):设置状态
				-mcntl_msgbox_update_specified_status(uint16_t msg_type, uint16_t msg_sub_type, mcntl_msgbox_msg_status_e old_status, mcntl_msgbox_msg_status_e new_status):更新特定状态
				-mcntl_msgbox_get_msg(uint32_t offset, uint32_t number, mcntl_msgbox_specified_type_msg_t* msg, mcntl_msgbox_callback_t cb):获取消息
				-mcntl_msgbox_set_database_cb(mcntl_msgbox_database_callback_t cb):设置数据库回调
 			-mcntl_msg.h:mcntl 消息头文件
 				-typedef enum mcntl_result:
 					-MCNTL_RESULT_SUCCESS = 0:消息结果 成功
                      -MCNTL_RESULT_FAILED = 1:消息结果 失败
                      -MCNTL_RESULT_QUEUE_NOT_READY = 2:消息结果 队列尚未准备
 				-typedef enum mcntl_msg_type:
 				     -MCNTL_MSG_TYPE_THREAD_START = 0:线程间通讯开始枚举,没有实际作用
                      -MCNTL_MSG_TYPE_THREAD_SSE:SSE注册、通知消息
                      -MCNTL_MSG_TYPE_THREAD_KV: KV相关的消息
                      -MCNTL_MSG_TYPE_THREAD_SELF:向线程自身发送消息
                      -MCNTL_MSG_TYPE_THREAD_CROSS_FILE_SERVER: 跨芯片传输文件
                      -MCNTL_MSG_TYPE_THREAD_CROSS_FILE_CLIENT:跨芯片传输文件
                      -MCNTL_MSG_TYPE_THREAD_HTTP:HTTP收发请求消息
                      -MCNTL_MSG_TYPE_THREAD_MSMART:main与msmart交互的消息
                      -MCNTL_MSG_TYPE_THREAD_UI_TO_MAIN:ui 到 main
                      -MCNTL_MSG_TYPE_THREAD_MAIN_TO_UI:main 到 ui
                      -MCNTL_MSG_TYPE_PROCESS_START = 100: 进程间通讯开始枚举,没有实际作用,
                      小于此枚举,msg_data存放malloc的内存地址,消息处理后需要在消费端释放
                      大于此枚举,msg_data存放实际消息内容,msg_data无需释放
                      -MCNTL_MSG_TYPE_PROCESS_MSDK: MSDK相关的进程通讯消息
                      -MCNTL_MSG_TYPE_PROCESS_MSPEECH: 语音SDK相关的进程通讯消息
                  -typedef struct mcntl_msg:
                      -uint8_t type:通信类型mcntl_msg_type_t
                      -uint32_t msg_id:消息id
                      -uint32_t msg_len:sizeof(struct ms_uicntl_msg) + msg_data消息体长度
                      -char src_name[20 + 1]:消息源线程接收队列名称,以'\0'结束
                      -char dest_name[20 + 1]:消息目的线程接收队列名称,以'\0'结束
                      -uint8_t msg_data[]:柔性数组,此处存放具体数据,具体事件
 			-mcntl_queue.h:mcntl 队列头文件
 				-mcntl_result_t mcntl_queue_open(char* queue_name, uint32_t msg_max_size, ms_osal_queue_ipc_msg_cb cb):队列打开
 				-mcntl_result_t mcntl_queue_close(char* queue_name):队列关闭
 				-mcntl_result_t mcntl_queue_send(char* src, char* dest, mcntl_msg_type_t type, uint32_t msg_id, uint8_t* msg, uint32_t msg_len):队列发送
 				-int32_t mcntl_queue_get_pending(char* queue_name):队列获取pending
 			-mcntl_settings_apis.h:mcntl 设置接口头文件
 				-typedef enum mcntl_factoryreset_ret_e:
 					MCNTL_FACTORYRESET_SUCCESS      = (0):恢复出厂成功
                      MCNTL_FACTORYRESET_OFFLINE_ERR  = (-1):恢复出厂已绑定但未联网
                      MCNTL_FACTORYRESET_UNBIND_ERR   = (-2):恢复出厂未绑定错误
 				-typedef enum mcntl_mutliwakeup_e:
 				    -MCNTL_MUTLIWAKEUP_SET  = 0x00:设置状态
    				-MCNTL_MUTLIWAKEUP_GET  = 0x01:获取状态
    			-mcntl_settings_init(void):设置初始化
    			-mcntl_settings_deinit(void):设置去初始化
    			-mcntl_factoryreset_ret_e mcntl_settings_factory_reset(void):设置恢复出厂设置
    			-typedef void (*mcntl_settings_qrcode_cb)(void *cb_ctx, const char *qr_content):设置二维码回调
    			-typedef void (*mcntl_settings_wakeupword_get_cb)(void *cb_ctx, bool succ, const char *json_str):设置获取唤醒词回调
    			-typedef void (*mcntl_settings_wakeupword_set_cb)(void *cb_ctx, bool succ):设置唤醒词设置回调
    			-int mcntl_settings_get_qrcode(mcntl_settings_qrcode_cb cb, void *cb_ctx , const char *app_id):设置获取二维码
    			-typedef void (*mcntl_settings_mutliwakeup_cb)(void *cb_ctx, mcntl_mutliwakeup_e cfg , bool flag):设置多次唤醒回调
    			-int mcntl_settings_set_mutliwakeup(mcntl_settings_mutliwakeup_cb cb, void *cb_ctx , bool flag):设置多次唤醒
    			-int mcntl_settings_get_mutliwakeup(mcntl_settings_mutliwakeup_cb cb, void *cb_ctx):获取多次唤醒
    			-int mcntl_permission_set(enum mcntl_permission_e permission , bool flag):设置权限
    			-int mcntl_permission_get(enum mcntl_permission_e permission , bool *flag):获取权限
    			-int mcntl_settings_get_wakeupword(mcntl_settings_wakeupword_get_cb cb, void *cb_ctx):获取唤醒词
    			-int mcntl_settings_set_wakeupword(mcntl_settings_wakeupword_set_cb cb, void *cb_ctx, const char *word):设置唤醒词
    			-typedef void (*mcntl_settings_tts_voice_get_cb)(void *cb_ctx, bool succ, const char *json_str):新类型 获取tts声音
    			-typedef void (*mcntl_settings_tts_voice_set_cb)(void *cb_ctx, bool succ):新类型 设置tts声音
    			-int mcntl_settings_get_tts_voice(mcntl_settings_tts_voice_get_cb cb, void *cb_ctx):获取tts声音
    			-int mcntl_settings_set_tts_voice(mcntl_settings_tts_voice_set_cb cb, void *cb_ctx, char *isp, char *voice_id):设置tts声音
 			-mcntl_sse_log_apis.h:mcntl sse 日志接口头文件
 				-typedef enum mcntl_sse_log_status_e:
 				    -MCNTL_SSE_LOG_STATUS_ONLINE = 0:SSE状态 在线
                     -MCNTL_SSE_LOG_STATUS_OFFLINE:SSE状态 离线
                     -MCNTL_SSE_LOG_STATUS_DATA:SSE状态 数据
 				-typedef struct mcntl_sse_log_t:
 				    -mcntl_sse_log_status_e status:状态
                     -char* batch_no:无批量
                     -char* start_time:开始时间
                     -char* end_time:结束时间
 				-typedef void (*mcntl_sse_log_callback_t)(mcntl_sse_log_t* msg):sse 日志回调
 			-mcntl_weather_apis.h:mcntl 天气接口头文件
 				-typedef enum mcntl_weather_err_e:
 				     -MCNTL_WEATHER_ERR_NONE:错误 空
                      -MCNTL_WEATHER_ERR_NETWORK:错误 网络
                      -MCNTL_WEATHER_ERR_BIND:错误 绑定
                      -MCNTL_WEATHER_ERR_GET_CITY_ID:错误 获取城市id
                      -MCNTL_WEATHER_ERR_NO_CITY_ID:错误 无城市id
                      -MCNTL_WEATHER_ERR_GET_WEATHER:错误 获取天气
 				-typedef struct mcntl_weather_t:
 				    -mcntl_weather_err_e error:天气错误
                      -char* weather_text:天气文本
                      -char* temperature:气温
                      -char* weather_status_icon:天气状态图标
 				-typedef void (*mcntl_weather_callback_t)(mcntl_weather_t* weather):天气回调
 				-mcntl_weather_get(mcntl_weather_callback_t cb):
 				-mcntl_weather_init(mcntl_weather_callback_t cb):
 				-mcntl_weather_deinit(void):
 			-ms_osal_queue.h:操作系统抽象层 队列头文件,Operating System Abstraction Layer
 				-ms_osal_result_t ms_osal_queue_create(ms_osal_queue_t* qhandle,const char* name,int32_t msgsize,int32_t queue_length):操作系统抽象层 队列创建
 				-ms_osal_result_t ms_osal_queue_send(ms_osal_queue_t* qhandle,void* msg,uint32_t msecs):操作系统抽象层 队列发送
 				-ms_osal_result_t ms_osal_queue_recv(ms_osal_queue_t* qhandle,void* msg,uint32_t msecs):操作系统抽象层 队列接收
 				-ms_osal_result_t ms_osal_queue_delete(ms_osal_queue_t* qhandle):操作系统抽象层 队列删除
 				-int32_t ms_osal_queue_get_msgs_waiting(ms_osal_queue_t* qhandle):操作系统抽象层 队列等待
 				-typedef void (*ms_osal_queue_ipc_msg_cb)(uint8_t type, char* src_queue, char* dest_queue, uint32_t msg_id, uint8_t* msg, uint32_t msg_len):操作系统抽象层 ipc队列消息回调
 				-typedef void (*ms_osal_queue_ipc_msg_parse)(uint8_t* msg, uint32_t msg_len, ms_osal_queue_ipc_msg_cb cb):操作系统抽象层 ipc队列消息解析
 			-ms_osal.h:操作系统抽象层 头文件
 				-typedef void* ms_osal_timer_t:时间
                  -typedef int ms_osal_timer_tick_t:
                  -typedef unsigned long ms_osal_timer_time_t:定时器时间
                  -typedef void* ms_osal_mutex_t:互斥锁
                  -typedef void* ms_osal_queue_t:队列
                  -typedef void* ms_osal_semaphore_t:
                  -typedef void* ms_osal_thread_t:线程
                  -typedef void* ms_osal_rwlock_t:
 	-sqlite:
 	 	-bin:sqlite3动态链接库
 	 	-src:
 	 		-sqilte3.h:sqlite3头文件
 	 		-sqilte3ext.h:sqlite3拓展头文件
 -awtk:awtk工具包
 -bin:
 	-data:json数据
 	-log:工程日志
 	-demo及.so:demo及动态链接库文件
 -design:
 	-fonts:字体
 		-config:配置
 			-default_18.txt:默认字符集
 			-default_expand.txt:默认拓展字符集
 			-default.txt:默认字符集
 			-NotoSansSC_Regular_18.txt:NotoSansSC字符集
 			-NotoSansSC_Regular.txt:NotoSansSC字符集
 		-default.ttf:默认字体文件,TrueType Font
 		-NotoSansSC_Regular.ttf:NotoSansSC字体文件
 	-images:图片
 		-x2:2倍图片
 		-x3:3倍图片
 		-xx:任意倍图片
 	-strings:字符串
 		-strings.xml:默认字符串样式
 	-styles:样式
 		-default.xml:默认样式
 	-ui:ui样式
 		-home_page.xml:默认主页样式
 -design_dll:设计动态链接库
 -doc:业务说明文档
 -lib:库文件
 -log:工程日志
 -res:资源文件夹
 	-assets:
 		-default
 			-inc:
 				-fonts
 				-images
 				-styles
 				-ui
 			-raw:
 			 	-fonts
 				-images
 				-styles
 				-ui
 	-assets_default.inc:
 	-assets.inc:
 -scripts:python工具脚本
 -src:
 	-common:导航页、基础控件、结构体、消息中心、字体图标、初始化、加载页、物模型
 		-ui_anim:动画
 			-ui_anim_scale.c:
 			-ui_anim.h:
 		-ui_page_load:加载页
 			-ui_load_locate_room.c:当前房间
 			-ui_load_message_center_list.c:消息中心
 			-ui_load_setting_about_this_machine_list.c:关于本机
 			-ui_load_setting_list.c:设置列表
 			-ui_load_setting_screen_save_list.c:设置屏保列表
 		-navigator.c:导航页
 			-MVVM:导入其他所有页面初始化
 			-navigator_window_init(const char *name, widget_t *win, void *ctx)
 		-navigator.h:导航页
 			请求打开指定的窗口:navigator_to(const char* target, bool_t disable_anim)
 			请求打开指定的窗口,并可传递参数和返回结果:navigator_to_with_context(const char* target, void* ctx, bool_t disable_anim)
			请求打开指定的窗口,并关闭当前窗口:navigator_replace(const char* target, bool_t disable_anim)
			如果目标窗口已经存在,直接切换到该窗口,否则打开新窗口:navigator_switch_to(const char* target, bool_t close_current, bool_t disable_anim)
			回到主屏:navigator_back_to_home(void)
			关闭当前窗口,回到前一窗口:navigator_back(void)
			关闭指定窗口:navigator_close(const char* target, bool_t disable_anim)
			请求关闭指定窗口:navigator_request_close(const char* target, bool_t disable_anim)
			注册全局事件navigator_global_widget_on(uint32_t type, event_func_t on_event, void* ctx)
 		-ui_base_arc.c:基类弧形滑动条
 			-ui_factory_create_base_arc(widget_t *super_view,int x,int y,int w,int h,const char *default_name):创建基类弧形滑动条
 		-ui_base_btn.c:基类按钮
 			-ui_factory_create_btn_frame(widget_t *super_widget, int x, int y, int width, int height):创建按钮大小
 			-ui_factory_set_bg_color(widget_t *self, uint16_t color):设置背景颜色
 			-ui_factory_set_radius(widget_t *self, uint16_t radius):设置圆角大小
 			-ui_factory_set_border_width(widget_t *self, uint16_t border):设置边框宽度
 			-ui_factory_set_icon_font_base_btn(widget_t *super_view,int x,int y,int w,int h,char *icon_font,int font_size):创建字体图标
 		-ui_base_label.c:基类文本
 			-ui_factory_create_base_label(widget_t *super_view,int x,int y,int w,int h,char *text,int font_size):创建基类文本
 		-ui_cache_data.h:缓存数据
 			-typedef struct ui_item_data_t:item数据,可用于设置页面
                uint32_t value:索引值
                const char* icon_name:字体图标名称
                const char* text:文本
                const char* text2:文本2
                const char* text3:文本3
                const char* next_win:下一级页面名称
 			-typedef struct ui_component_data_t:组成数据
             	ui_item_data_t *item_data:item数据
             	uint32_t size: 数据大小		
 			-typedef struct ui_message_data_t:消息数据
 			   const char *type:消息类型
                ui_item_data_t *item_data_list:item数据列表
                uint32_t size:数据大小
 			-typedef struct ui_cache_data_t:缓存数据
                bool bind_flag:绑定标志
                
                ///读取旋钮自身属性
                int rotate_step:步进   当前旋转步进
                int proximity_gear:人感档位 "proximity_gear":0(低)/1(中)/2(高)
                int brightness:knob brightness 亮度
                int brightness_auto:亮度自动
                int battery_value:电量
                int volume:音量
                int placement_status:放置状态///0(墙面底座)/1(手持)/2(桌面底座);
                int human_sense:人感
                int screen_save_enter_time:无操作进入屏保的时间 ms
                int screen_enter_sleep_time:屏幕进入休眠时间 ms
                ///旋钮系统信息
                char room_id[17]:房间id
                char systemVersion[17]:系统版本
                char appliance_code[33]:应用代码
                char homeGroupId[33]:房间group id
                char sn[33]:sn
                char screenId[33]:屏幕id
                char traceId[33]:
                char dataVersion[33]:数据版本
                int  canSelectSceneCount:可供选择场景数
                int  canSelectApplianceCount:可供选择应用数
                int  canSelectApplicationCount:可供选择应用数
                char device_type[17]:设备类型
                char wifi_address[64]:wifi地址
                char wifi_level[8]:wifi强度
                char ip[33]:ip
                char mac[33]:物理地址
                char app_version[33]:app版本
                char firmware_version[33]:应急版本
                void *room_data:房间数据
                void *outdoor_weather:室外天气
                void *indoor_ev:室内环境
                void *city_location:地理位置
                bool ui_kv_bind://是否绑定 			
 			-typedef struct ui_main_frame_type_e:主框架类型
 			   ui_main_frame_un_define = 0x00:       未定义
                ui_main_frame_scene = 0x01:           场景页
                ui_main_frame_home_page = 0x02:       主页
                ui_main_frame_device_plugin = 0x03:   设备插件
                ui_main_frame_app_indoor_ev = 0x04:   室内环境
                ui_main_frame_app_outdoor_ev = 0x05:  室外天气
 			-typedef struct ui_scene_widget_t:场景控件
 			   widget_t *bg_image:背景图片
                widget_t *bg_action:
                widget_t *image:      场景图片
                widget_t *back_icon:  返回图标
                widget_t *scene_name: 场景名称
                uint32_t scene_timer_id:场景定时器id
                uint32_t reset_timer_id:重置定时器id
                widget_t *scene_status: 场景状态  执行中 ,已执行 ,执行失败
                int image_index:图片索引
                char sceneId[32]:场景id
                char sceneName[256]:场景名称
                char roomId[17]:房间id
                char roomName[65]:房间名称 /// 16 * 4 bytes
                char source[17]:数据源   /// Meiju or Colmo or ...
                void *data:json数据        /// json data
 			-typedef struct ui_device_yeelight_curtain_widget_t:易来窗帘
 			   widget_t *curtain_info:窗帘信息      /// 0~100
                widget_t *curtain_per_unit:窗帘百分比/// %
                widget_t *curtain_open_btn:打开按钮  /// open
                widget_t *curtain_close_btn:关闭按钮 /// close
                widget_t *curtain_pause_btn:暂停按钮 /// pause
                widget_t *rotate_90:旋转90度         /// rotate
 			-typedef struct ui_device_base_air_conditioner_widget_t:空调控件
 			   widget_t *ac_mode:空调模式
                widget_t *percent_value:百分比的值
                widget_t *unit:单位
                widget_t *wind:风速
 			-typedef struct ui_device_yeelight_light_widget_t:易来灯光
 			   int page_depth:		  page depth 0-3 current default max = 3:
                widget_t *widget_win[3]:控件窗口
                widget_t *color2:    	色彩
                widget_t *tem_color: 	色温
                widget_t *percent_value: 百分比的值
                widget_t *unit:			单位
 			-typedef struct ui_central_fresh_air_widget_t:中央新风
 			   int page_depth: /// page depth 0-3 current default max = 3:
                widget_t *wind:			风速
                widget_t *ac_mode:		模式
                widget_t *percent:		百分比
                widget_t *circulation:   内循环
                widget_t *percent_value: 风量
                widget_t *unit:          单位
                widget_t *operation:     运行
 			-typedef struct ui_new_wind_integrated_macheine_widget_t:新风能源一体机
 			   int page_depth: /// page depth 0-3 current default max = 3:
                widget_t *wind_percent:	风速百分比
                widget_t *mode:			模式
                widget_t *percent:		百分比
                widget_t *circulation:   内循环
                widget_t *percent_value: 温度
                widget_t *unit:          单位
                widget_t *operation:     运行
 			-typedef struct ui_device_common_awtk_widget_t:设备通用awtk 组件
 			   widget_t *device_home_page_view: /// ex:设备主页
                widget_t *title_label:			标题文本
                widget_t *back_btn:			    返回按钮
                widget_t *circle_gesture_tap:	弧形滑动条
                widget_t *slider_value: 		滑动条当前值
                widget_t *bg_image:     		背景圆环
                widget_t *status_label: 		在线状态 && 离线状态 && 运行模式 && 其他状态等
                widget_t *power_btn:    		开机、关机
                widget_t *unit:         		单位 % K ....
                void *widget_sub:
 			-typedef struct ui_device_plugin_t:设备插件
 			   char appliance_code[33]:			app code
                char spid[33]:					spid
                char type[5]:					类型
                char sub_type[5]:				子类型
                bool on_line_status:			在线状态
                char device_img[256]:			设备图片
                char appliance_name[256]:		应用名称
                char roomId[16]:				房间id
                char roomName[65]:				房间名称
                char smartProductId[32]:		spid
                char productTemplateCode[256]:	 物模型实例code
                char source[17]: 				源 Meiju or Colmo or ...
                void *sse_json_data:			sse json数据
    		   ui_device_common_awtk_widget_t *device_page:设备页面
 			-typedef struct ui_app_ev_plugin_circle:圆形按钮,可用于室内外页面展示信息(气温、湿度..)
 			   widget_t *bg:背景
                widget_t *value:值
                widget_t *units:单位
                widget_t *des:描述
 			-typedef struct ui_app_ev_plugin_indoor_t:室内环境插件
 			   widget_t *back_icon:			  返回按钮
                widget_t *title_label:		   标题文本
                widget_t *air_quality:		   空气质量
                widget_t *air_quality_line:
                widget_t *air_quality_des:		空气质量描述
                ui_app_ev_plugin_circle *item_0:室内展示数据
                ui_app_ev_plugin_circle *item_1:室内展示数据2
                ui_app_ev_plugin_circle *item_2:室内展示数据3
                ui_app_ev_plugin_circle *item_3:室内展示数据4
                ui_app_ev_plugin_circle *item_4:室内展示数据5
                ui_app_ev_plugin_circle *item_5:室内展示数据6
 			-typedef struct ui_app_ev_plugin_out_weather_t:户外天气插件
 			   widget_t *back_icon:返回按钮
                widget_t *outdoor_title:户外标题
                widget_t *weather_icon:天气图标
                widget_t *weather_title:天气标题
                widget_t *date_label:日期文本
                widget_t *city_label:城市文本
                // widget_t *item_left:
                // widget_t *item_center:
                // widget_t *item_right:
                ui_app_ev_plugin_circle *item_left:展示数据信息
                ui_app_ev_plugin_circle *item_center:展示数据信息2
                ui_app_ev_plugin_circle *item_right:展示数据信息3
 			-typedef struct ui_app_ev_plugin_t:环境插件
 			   void *json_data:json数据
                void *ev_widget:环境控件
 			-typedef struct ui_home_page_item_t:主页item
 			   uint8_t type: 类型 0x00:undefine 0x01:设备 0x02:场景 0x03: 天气 0x04: 室内 :0x05  室外:0x06
                widget_t *bg_circle_icon:圆环背景图标
                widget_t *image:图片
                widget_t *info_text:信息文本
                widget_t *title:标题
 			-typedef struct ui_home_item_power_item_t:主页电源控件
 			   uint8_t percent:百分比
                uint8_t is_lightning:是否打开
                widget_t *bg_img:背景图片
                widget_t *percent_bg:百分比图片
                widget_t *lightning_icon:点亮图标
 			-typedef struct ui_home_page_t:主页
 			   widget_t *action_bg: /// click action
                widget_t *image:图片     /// image for scene
                widget_t *time_label:时间文本
                ui_home_item_power_item_t *power_icon:开关图标
                widget_t *wifi_icon:WiFi图标
                uint8_t item_count:item数量
                ui_home_page_item_t *item[3]:
 			-typedef struct ui_main_frame_widget_t:主框架item
 			   ui_main_frame_type_e type:主框架类型
                widget_t *super_view:当前视图
                void *json_data: json 数据
                void *page_data: 页面 数据 ex :ui_scene_widget_t  ui_home_page_t ui_device_plugin_t ui_app_ev_plugin_t
                char name[256]:名称
                char page_id[64]:页面id
 			-ui_deinit_main_frame(ui_main_frame_widget_t *base_data, ui_main_frame_type_e type):主框架去初始化
 			-ui_page_node_destory(void *data):页面节点销毁
 			-ui_page_node_compare(void *ctx, void *data):页面节点比对
 		-ui_circle_btn.c:圆形按钮,可用于室内外页面展示数据
 			-ui_creat_circle_bg:创建圆形按钮背景
 			-ui_creat_circle_value:创建圆形按钮数值
 			-ui_creat_circle_des:创建圆形按钮描述
 			-ui_creat_circle_units:创建圆形按钮单位
 		-ui_common.c:通用类
 		-ui_data_center.c:信息中心
            ret_t ui_create_data_center_queue(const void *data):创建数据中心队列
            ret_t ui_destory_data_center_queue():销毁数据中心队列
            ret_t ui_add_data_to_slist_with_tail(const main_message_t* msg,uint32_t msg_id):向中心数据添加最近数据
            ret_t ui_send_req_to_slist_with_tail(uint32_t msg_id,uint8_t type,uint8_t data[],uint32_t data_len,mcntl_msg_type_t msg_type,char *ui_req_id):向其他队列发送数据,比如网关
            ret_t ui_msg_node_destory(void* data):销毁消息节点
            ret_t ui_msg_node_compare(void* ctx, void* data):比对消息节点
            ret_t ui_msg_send_node_destory(void* data):销毁消息发送节点
            ret_t ui_msg_send_node_compare(void* ctx, void* data):比对消息发送节点
            ret_t ui_msg_cache_compare(void* data, void* ctx):比对消息缓存
            ret_t ui_msg_cahce_node_destory(void* data):销毁缓存节点
            ui_cache_dic_t *ui_find_ui_msg_cache_by_ui_widget_id(slist_t *slist, const char *ui_req_id):通过ui控件id寻找ui消息缓存
 		-ui_init.h:ui初始化
 			-ui_msg_cache_t:消息缓存结果
 			   uint8_t type:类型
                int priority:优先级 预留扩展
                mcntl_msg_type_t msg_type:消息类型
                uint32_t data_len:数据提长度
                uint32_t timestamp:时间戳
                uint32_t msg_id:消息 id
                char ui_req_id[256]:用户请求iddon‘t user with chinese 
                uint8_t data[]:json 数据
 			-ui_cache_dic_t:缓存字典
 			   char value[256]:值don‘t user with chinese 
                uint32_t timestamp:时间戳
                uint32_t key:信息 id
 			-main_message_t:
 			   uint8_t type:类型
                uint32_t data_len:数据长度
                uint8_t data[]:数据
 		-ui_keyframe_image.c:
 		-ui_page_load.c:ui加载页
 			-ret_t ui_cache_data_foreach(void *ctx, void *data):遍历缓存数据,创建视图、初始化、命名
 			-ui_load_scene_view(widget_t *parent, void *data):加载场景视图
 			-void ui_load_home_page(void):加载主页面
 				ui_get_widget_handle(INDEX_HOME_SLIDE_VIEW):获取控件句柄
 				ui_load_scene_view(home_slide_view, (void *)&data):加载场景页
 			-void ui_load_main_menu(void):加载主菜单
 		-ui_product_template.c:物模型实例模板,调试业务在这寻找物模型实例
 			-空调
 			-开关
 			-灯光
 			-窗帘
 			-中央新风
 			-新风能源一体机
 			-中央空调
 			-挂式空调
 			-立式空调
 		-ui_widget.c:自定义控件
 		-ui_font_icon.h:字体图标头文件
 			-通用返回
 				ui_icon_back_image_font
 			-通用开关
 				ui_icon_common_power
 			-窗帘
                 ui_icon_curtains_close 关闭
                 ui_icon_curtains_open 打开
                 ui_icon_curtains_pause 暂停
                 ui_icon_curtains_dropdown 下降
                 ui_icon_curtains_upward 上升
                 ui_icon_curtains_rotate_90 90度旋转
 			-灯光
                 ui_light_icon_color2 色彩
                 ui_icon_color_temperature 色温
             -中央新风
                 ac_icon_manual_control 手动控制
                 ac_icon_inner_loop 内循环
 			-新风能源一体机
                 ui_icon_dry_storage 抽湿
                 ui_icon_cool1_snow 制冷
                 ui_icon_dry1 抽湿
                 ui_icon_fresh_air 新风
                 ui_icon_heat2 制热
 			-空调
				air_conditioner_icon_icon_mid 中等大小空调图标
                 air_conditioner_icon_work_mode_auto 自动模式
                 air_conditioner_icon_work_mode_cool 制冷模式 
                 air_conditioner_icon_work_mode_heat 制热模式
                 air_conditioner_icon_work_mode_humidity 恒温模式
                 air_conditioner_icon_work_dry 抽湿模式
                 air_conditioner_icon_work_auto_dry 自动抽湿模式
                 air_conditioner_icon_work_fan 送风模式
 			-消息
 				ui_icon_message
 			-设置
                ui_icon_wallpaper       壁纸
                ui_icon_brightness      亮度
                ui_icon_sound           音量
                ui_icon_nearby_response 靠近亮屏
                ui_icon_sofa            沙发
                ui_icon_tips            "䞕"
                ui_icon_arrow_right     向右箭头
                ui_icon_automatic       自动
                ui_icon_power_switch    开关
 		-ui_string_literal.h:字符串常量
 			-配网字符串常量
                static const char *device_net_not_config = "网络未连接"
                static const char *device_net_connecting = "网络连接中..."
                static const char *device_net_connected = "网络已连接"
                static const char *device_net_connect_failed = "网络连接失败"
                static const char *device_net_check = "请检查后重试"
                static const char *meiju_scene_des = "请授权使用美的美居App\n下的设备及场景"
                static const char *colmo_scene_des = "请授权使用COLMO App\n下的设备及场景"
                static const char *meiju_normal_support = "请至App内配置常用功能"
                static const char knob_des_status[5][64] = {"网络未连接","网络连接中...","网络已连接","网络连接失败"}
                static const char knob_image_status[5][64] = {"knob_ic_nowifi","loading_0","knob_ic_success","knob_ic_wrong"}
 			-场景执行字符串常量
 				-static const char scene_exe_des_status[4][64] = {"执行中...","已执行","执行失败"}
 	-device_plugin:
 	-device_plugin_home:
 	-gesture:
 	-model:
 	-pages:
 	-port:
 	-service:
 	-test:
 	-view:
 	-application.c:应用主函数
 		-APP_SYSTEM_BAR:应用系统条
 		-APP_BOTTOM_SYSTEM_BAR:应用系统底部条
 		-APP_START_PAGE:应用起始页面
 		-extern ret_t on_screen_saver(void* ctx, event_t* e):屏保
 		-static ret_t on_out_of_memory(void* ctx, event_t* e):缓存耗尽
 		-static ret_t on_timer_mem_dump(const timer_info_t* timer):
 		-static ret_t custom_widgets_register(void):注册自定义控件
 		-static ret_t application_on_launch(void):当程序初始化完成时调用,全局只触发一次
 		-static ret_t application_on_exit(void):当程序退出时调用,全局只触发一次
 		-static void mcntl_ui_queue_msg_handler(uint8_t type, char* src_queue, char* dest_queue, uint32_t msg_id, uint8_t* msg, uint32_t msg_len):ui消息队列句柄
 		-ret_t application_init(void):程序初始化
 		-ret_t application_exit(void):退出程序
 	-main.c:工程主函数
 	-ui_colmo_knob_common.h
 -tests:测试文件
 	-main.cc:测试文件
 
                     
                    
                 
                    
                 
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号