Merge branch 'sdk650pathc0423' of codeup.aliyun.com:64191456b9581d62e8f81ac0/FD230...
authorcheng <chengyf@zhihuishixun.com>
Sat, 20 Sep 2025 06:44:30 +0000 (14:44 +0800)
committercheng <chengyf@zhihuishixun.com>
Sat, 20 Sep 2025 06:44:30 +0000 (14:44 +0800)
1  2 
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
  }