ln 兼容未知命令解析
authorhcj <1224667075@qq.com>
Mon, 29 Sep 2025 01:54:42 +0000 (09:54 +0800)
committerhcj <1224667075@qq.com>
Mon, 29 Sep 2025 01:54:42 +0000 (09:54 +0800)
code/sdk/zhihui/leiniao/imsl_ln/ln_api_websocket.c

index 2b08d7a..063a5bd 100644 (file)
@@ -932,6 +932,11 @@ static int ln_ws_parse_data_message(const char *json_str, ws_data_msg_t *data_ms
         strncpy(data_msg->command_str, command->valuestring, sizeof(data_msg->command_str) - 1);
         data_msg->command_str[sizeof(data_msg->command_str) - 1] = '\0';
         data_msg->command = ln_ws_parse_command_string(command->valuestring);
+        
+        // 对于未知命令,记录日志但不返回错误
+        if (data_msg->command == WS_CMD_UNKNOWN) {
+            printf("[LN][WS] Unknown command received: %s\n", command->valuestring);
+        }
     } else {
         printf("[LN][WS] Missing or invalid command in message\n");
         cJSON_Delete(root);
@@ -1185,6 +1190,16 @@ static void ln_ws_default_message_handler(const ws_data_msg_t *data_msg, ws_comm
                 printf("[LN][WS] Story Audio URL: %s\n", data_msg->audio_url);
             }
             break;
+        case WS_CMD_UNKNOWN:
+            if (data_msg) {
+                printf("[LN][WS] Default: Processing unknown command message\n");
+                printf("[LN][WS] Unknown command details: command=%s, deviceId=%s, messageId=%s\n", 
+                       data_msg->command_str, data_msg->device_id, data_msg->message_id);
+                if (data_msg->raw_json) {
+                    printf("[LN][WS] Raw JSON: %s\n", data_msg->raw_json);
+                }
+            }
+            break;
         default:
             printf("[LN][WS] Default: Processing unknown command: %d\n", type);
             break;