From: cheng Date: Sat, 20 Sep 2025 06:44:30 +0000 (+0800) Subject: Merge branch 'sdk650pathc0423' of codeup.aliyun.com:64191456b9581d62e8f81ac0/FD230... X-Git-Tag: leiniao_debug_1.0.0_20250922_020716~35^2^2~3 X-Git-Url: http://git.snicker.com.cn/css/static/gitweb.css?a=commitdiff_plain;h=bef9f7da98d97738fb5aeb546e0e41990f39a824;p=mirrors%2FFD230.git Merge branch 'sdk650pathc0423' of codeup.aliyun.com:64191456b9581d62e8f81ac0/FD230 into sdk650pathc0423 --- bef9f7da98d97738fb5aeb546e0e41990f39a824 diff --cc code/sdk/zhihui/leiniao/imsl_ln/ln_api.h index fe5207e19,788da3493..f76634bba --- a/code/sdk/zhihui/leiniao/imsl_ln/ln_api.h +++ b/code/sdk/zhihui/leiniao/imsl_ln/ln_api.h @@@ -311,21 -293,58 +311,58 @@@ uint32_t ln_ota_download_flow_http(cons /* Emoji 表情接口 */ uint32_t ln_emoji_report_status_http(const char *device_id, - const char *device_token, - const char *character_id, - const char *eyes_color, - const char *eyes_shape, - const char *status); + const char *device_token, + const char *character_id, + const char *eyes_color, + const char *eyes_shape, + const char *status); uint32_t ln_emoji_report_all_http(const char *device_id, - const char *device_token, - const LnEmojiGroup *groups, - int group_count); + const char *device_token, + const LnEmojiGroup *groups, + int group_count); /* ============================== WebSocket 客户端接口 ============================== */ - int ln_ws_start(void); + + /* WebSocket命令枚举 */ + typedef enum { + WS_CMD_UNKNOWN = 0, + WS_CMD_CHARACTER_CHANGE, + WS_CMD_CHARACTER_CONFIG_CHANGE, + WS_CMD_SLEEP_MODE_START, + WS_CMD_SLEEP_MODE_END, + WS_CMD_DEVICE_BIND, + WS_CMD_DEVICE_UNBIND, + WS_CMD_SCHEDULE_REMINDER, + WS_CMD_SCHEDULE_REMINDER_CFG, + WS_CMD_DOWNLOAD_EMOJI, + WS_CMD_DELETE_EMOJI, + WS_CMD_PING, + WS_CMD_PONG, + WS_CMD_MAX + } ws_command_t; + + /* 消息数据结构 */ + typedef struct { + char device_id[64]; + uint32_t timestamp; + char message_id[64]; + ws_command_t command; + char command_str[32]; + char *raw_json; // 原始JSON字符串,用于需要完整数据的场景 + } ws_data_msg_t; + + /* 消息处理回调函数类型 */ + typedef void (*ws_message_callback_t)(const ws_data_msg_t *data_msg, ws_command_t type); + + /* WebSocket接口函数 */ + int ln_ws_start(ws_message_callback_t callback); int ln_ws_send_text(const char *text); int ln_ws_stop(void); + int ln_ws_stop_async(void); + + /* 回调函数注册接口 */ + void ln_ws_register_message_callback(ws_message_callback_t callback); #ifdef __cplusplus }