continue;
}
- // 消息有效性检查
- if (!mail.data || mail.len <= 0)
- {
- continue;
- }
-
// 分类处理消息
const char *tag = "UNKNOWN";
if (mail.cmd == LN_HTTP_SERVICE_CMD_SSE_RECV) {
tag = "DEVICE_USER_ID";
} else if (mail.cmd == LN_HTTP_RECV_OTA_TASK) {
tag = "OTA_TASK";
- } else if (mail.cmd == LN_HTTP_RECV_OTA_DOWNLOAD_MSG) {
- tag = "OTA_DOWNLOAD_MSG";
- }
-
- printf("[%s] 数据长度: %u\n", tag, mail.len);
- /* 确保可打印:追加\0 */
- char *buf = (char *)malloc(mail.len + 1);
- if (buf) {
- memcpy(buf, mail.data, mail.len);
- buf[mail.len] = '\0';
- printf("[%s] 原始数据:%s\n", tag, buf);
/* 在收到 OTA_TASK 后,根据升级策略决定是否触发下载 */
- if (mail.cmd == LN_HTTP_RECV_OTA_TASK) {
- ln_handle_ota_task_response(buf, (int)mail.len);
+ if (mail.data) {
+ ln_handle_ota_task_response(mail.data, (int)mail.len);
}
+ } else if (mail.cmd == LN_HTTP_RECV_OTA_DOWNLOAD_MSG) {
+ tag = "OTA_DOWNLOAD_MSG";
/* 在收到 OTA_DOWNLOAD_MSG 后,解析状态并回调处理(进度/完成/失败) */
- if (mail.cmd == LN_HTTP_RECV_OTA_DOWNLOAD_MSG) {
+ if (mail.data)
+ {
OtaDownloadMsg m = {0};
- if (parse_ota_download_msg(buf, &m) == 0) {
+ if (parse_ota_download_msg(mail.data, &m) == 0) {
handle_ota_download_msg(&m);
+ } else {
+ printf("OTA_DOWNLOAD_MSG: parse failed\n");
}
}
- free(buf);
+ }
+ printf("[%s] 数据长度: %u\n", tag, mail.len);
+ if (mail.data)
+ {
+ printf("free(mail.data)\n");
+ free(mail.data);
}
}
}
}
int code = HttpClientGetResponseCode(&client);
+ printf("device getUserId: HTTP %d\n", code);
if (code == 200)
{
/* 成功响应:解析JSON,判断 data 是否为 null 或字符串 */
*out_status = LN_DEVICE_BIND_STATUS_ERROR;
}
+ printf("device getUserId: out_status %d\n", *out_status);
+
HttpClientUnprepare(&clientData);
HttpClientClse(&client);
return ERRCODE_SUCC;
fseek(fp, 0, SEEK_END);
long sz = ftell(fp);
fseek(fp, 0, SEEK_SET);
- if (sz <= 0 || sz > (10 * 1024 * 1024))
+ if (sz <= 0)
{
fclose(fp);
return NULL;
/* boundary */
char boundary[64];
- snprintf(boundary, sizeof(boundary), "----LNBOUNDARY-%u", (unsigned)uapi_tcxo_get_ms());
+ int boundary_len = snprintf(boundary, sizeof(boundary), "----LNBOUNDARY-%u", (unsigned)uapi_tcxo_get_ms());
+ if (boundary_len <= 0 || boundary_len >= (int)sizeof(boundary))
+ {
+ printf("chatstream: create boundary failed\n");
+ free(audio_buf);
+ return ERRCODE_FAIL;
+ }
/* 组包 */
char *body = NULL;
return ret;
}
- // 发送GET请求
ret = HttpClientSend(&client, LN_CHAT_URL, HTTP_POST, &clientData);
if (ret != 0)
{
fseek(fp, 0, SEEK_END);
long sz = ftell(fp);
fseek(fp, 0, SEEK_SET);
- if (sz <= 0 || sz > (10 * 1024 * 1024))
+ if (sz <= 0)
{
fclose(fp);
return NULL;
}
free(audio_buf);
- #ifdef SUPPORT_CAT1_SERVICE
+#ifdef SUPPORT_CAT1_SERVICE
/* CAT1 网络保活处理 */
cat1_api_add_cat1_vote();
cat1_api_wakeup_cat1(1);
cat1_api_keep_wakeup(1);
cat1_api_disable_cat1_cmd(1);
LOS_Msleep(500);
- #endif
+#endif
HttpClient client = {0};
HttpClientData clientData = {0};
return ret;
}
- // 发送GET请求
ret = HttpClientSend(&client, LN_STORY_CHOOSE_URL, HTTP_POST, &clientData);
if (ret != 0)
{