/* 安全写入帮助函数 */
static inline void ln_safe_strcpy(char *dst, size_t dst_size, const char *src)
{
- if (!dst || dst_size == 0) return;
- if (src == NULL) {
+ if (!dst || dst_size == 0)
+ return;
+ if (src == NULL)
+ {
dst[0] = '\0';
return;
}
}
char *text = (char *)malloc((size_t)json_len + 1);
- if (!text) return;
+ if (!text)
+ return;
memcpy(text, json_buf, (size_t)json_len);
text[json_len] = '\0';
/* 基础字段 */
cJSON *cid = cJSON_GetObjectItem(data, "characterId");
cJSON *cname = cJSON_GetObjectItem(data, "characterName");
- ln_safe_strcpy(g_ln_character_config.character_id,
- sizeof(g_ln_character_config.character_id),
- (cid && cJSON_IsString(cid)) ? cid->valuestring : "");
-
- ln_safe_strcpy(g_ln_character_config.character_name,
- sizeof(g_ln_character_config.character_name),
- (cname && cJSON_IsString(cname)) ? cname->valuestring : "");
+ ln_safe_strcpy(g_ln_character_config.character_id,
+ sizeof(g_ln_character_config.character_id),
+ (cid && cJSON_IsString(cid)) ? cid->valuestring : "");
+
+ ln_safe_strcpy(g_ln_character_config.character_name,
+ sizeof(g_ln_character_config.character_name),
+ (cname && cJSON_IsString(cname)) ? cname->valuestring : "");
/* 头像配置 */
cJSON *avatar = cJSON_GetObjectItem(data, "characterAvatar");
cJSON *screenImage = cJSON_GetObjectItem(avatar, "screenImage");
cJSON *screenImageAsEmoji = cJSON_GetObjectItem(avatar, "screenImageAsEmoji");
- ln_safe_strcpy(g_ln_character_config.avatar_hair_color,
- sizeof(g_ln_character_config.avatar_hair_color),
- (hairColor && cJSON_IsString(hairColor)) ? hairColor->valuestring : "");
-
- ln_safe_strcpy(g_ln_character_config.avatar_eyes_color,
- sizeof(g_ln_character_config.avatar_eyes_color),
- (eyesColor && cJSON_IsString(eyesColor)) ? eyesColor->valuestring : "");
-
- ln_safe_strcpy(g_ln_character_config.avatar_hair_style,
- sizeof(g_ln_character_config.avatar_hair_style),
- (hairStyle && cJSON_IsString(hairStyle)) ? hairStyle->valuestring : "");
-
- ln_safe_strcpy(g_ln_character_config.avatar_eyes_shape,
- sizeof(g_ln_character_config.avatar_eyes_shape),
- (eyesShape && cJSON_IsString(eyesShape)) ? eyesShape->valuestring : "");
-
- ln_safe_strcpy(g_ln_character_config.avatar_screen_image,
- sizeof(g_ln_character_config.avatar_screen_image),
- (screenImage && cJSON_IsString(screenImage)) ? screenImage->valuestring : "");
-
- g_ln_character_config.avatar_screen_image_as_emoji =
- (screenImageAsEmoji && cJSON_IsBool(screenImageAsEmoji)) ?
- (cJSON_IsTrue(screenImageAsEmoji) ? 1 : 0) : 0;
+ ln_safe_strcpy(g_ln_character_config.avatar_hair_color,
+ sizeof(g_ln_character_config.avatar_hair_color),
+ (hairColor && cJSON_IsString(hairColor)) ? hairColor->valuestring : "");
+
+ ln_safe_strcpy(g_ln_character_config.avatar_eyes_color,
+ sizeof(g_ln_character_config.avatar_eyes_color),
+ (eyesColor && cJSON_IsString(eyesColor)) ? eyesColor->valuestring : "");
+
+ ln_safe_strcpy(g_ln_character_config.avatar_hair_style,
+ sizeof(g_ln_character_config.avatar_hair_style),
+ (hairStyle && cJSON_IsString(hairStyle)) ? hairStyle->valuestring : "");
+
+ ln_safe_strcpy(g_ln_character_config.avatar_eyes_shape,
+ sizeof(g_ln_character_config.avatar_eyes_shape),
+ (eyesShape && cJSON_IsString(eyesShape)) ? eyesShape->valuestring : "");
+
+ ln_safe_strcpy(g_ln_character_config.avatar_screen_image,
+ sizeof(g_ln_character_config.avatar_screen_image),
+ (screenImage && cJSON_IsString(screenImage)) ? screenImage->valuestring : "");
+
+ g_ln_character_config.avatar_screen_image_as_emoji =
+ (screenImageAsEmoji && cJSON_IsBool(screenImageAsEmoji)) ? (cJSON_IsTrue(screenImageAsEmoji) ? 1 : 0) : 0;
}
else
{
if (!device_id || !device_token)
return ERRCODE_FAIL;
- #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(200);
- #endif
+#endif
HttpClient client = (HttpClient){0};
HttpClientData clientData = (HttpClientData){0};
if (!device_id || !device_token)
return ERRCODE_FAIL;
- #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(200);
- #endif
+#endif
HttpClient client = (HttpClient){0};
HttpClientData clientData = (HttpClientData){0};
}
HttpClientSetCustomHeader(&client, header_buf);
- HTTPC_RESULT prep = ln_http_prepare_auto(&clientData, 2048, LN_CLIENT_PREPARE_SIZE);
+ HTTPC_RESULT prep = ln_http_prepare_auto(&clientData, 2048, LN_CLIENT_PREPARE_SIZE * 2);
if (prep != HTTP_SUCCESS)
{
return ERRCODE_FAIL;
HttpClientClse(&client);
return ERRCODE_SUCC;
}
-
\ No newline at end of file
if (!device_id || !device_token || !source_version)
return ERRCODE_FAIL;
- #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(200);
- #endif
+#endif
HttpClient client = (HttpClient){0};
HttpClientData clientData = (HttpClientData){0};
printf("[OTA] starting download: %s -> %s, total_size=%d bytes\n",
full_url, save_path, total_size);
- #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
/* 初始化HTTP客户端(与http_download风格一致) */
HttpClient client = {0};
return -1;
}
- HTTPC_RESULT prep = ln_http_prepare_auto(&client_data, 2048, LN_CLIENT_PREPARE_SIZE);
+ HTTPC_RESULT prep = ln_http_prepare_auto(&client_data, 2048, LN_CLIENT_PREPARE_SIZE * 3);
if (prep != HTTP_SUCCESS)
{
printf("[OTA] range prepare failed: %d\n", prep);
}
}
-
uint32_t ln_story_random_http(const char *device_id,
const char *device_token,
const char *story_theme)
return ERRCODE_FAIL;
}
- #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};
HttpClientSetCustomHeader(&client, header_buf);
/* 自适应准备 HTTP 缓冲区 */
- HTTPC_RESULT prep = ln_http_prepare_auto(&clientData, 2048, LN_CLIENT_PREPARE_SIZE);
+ HTTPC_RESULT prep = ln_http_prepare_auto(&clientData, 2048, LN_CLIENT_PREPARE_SIZE * 2);
if (prep != HTTP_SUCCESS)
{
printf("story random: prepare HTTP buffer failed (code: %d)\n", prep);
}
// 发送GET请求
- ret = HttpClientSend(&client, LN_STORY_RANDOM_URL, HTTP_POST, &clientData);
+ ret = HttpClientSend(&client, LN_STORY_RANDOM_URL, HTTP_POST, &clientData);
if (ret != 0)
{
printf("[OTA] send request failed, ret=0x%x\n", ret);