/* 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
}