} ln_http_data_mail_t;
/* ============================== 公共宏与URL路径 ============================== */
+#define LN_ENV_PRODUCTION 0 //正式环境
/* 接口基础配置 - 如需切换环境/密钥,在此调整 */
+#if LN_ENV_PRODUCTION
+#define LN_BASE_URL "https://ambybox-o.api.leiniao.com/ambybox-device-api" //正式环境服务器地址
+#define LN_SIGN_SECRET "E4Li2lvlrZu5dtioiNda6EBinzGtjB0JM1GG2u3cVHM=" //正式环境密钥
+#else
#define LN_BASE_URL "https://ambybox-api.test.leiniao.com/ambybox-device-api"
+#define LN_SIGN_SECRET "vDdXVXgPUEUM6_piUjz5AEhMvYTSFzQdPaN-ogKnSus="
+#endif
#define LN_INTERFACE_PATH "/v1/auth/getDeviceToken"
#define LN_FULL_URL LN_BASE_URL LN_INTERFACE_PATH
#define LN_CHAT_PATH "/v1/speechChat/chatStream"
#define LN_EMOJI_REPORT_URL LN_BASE_URL LN_EMOJI_REPORT_PATH
#define LN_EMOJI_REPORT_ALL_URL LN_BASE_URL LN_EMOJI_REPORT_ALL_PATH
#define LN_TIMELINE_GET_STATUS_URL LN_BASE_URL LN_TIMELINE_GET_STATUS_PATH
-#define LN_SIGN_SECRET "vDdXVXgPUEUM6_piUjz5AEhMvYTSFzQdPaN-ogKnSus="
/* 用户数据保存目录 */
#define LN_DATA_PATH "/user/userdata/leiniao"
#define LN_TOKEN_FILE LN_DATA_PATH "/token/device_token.json" //token
{
int scheduleId;
char *scheduleName; // 日程名称
+ char *displayText; //展示文本
} ScheduleReminderConfig;
/* 文件下载类型 */
free(g_schedule_reminder_config.scheduleName);
g_schedule_reminder_config.scheduleName = NULL;
}
+ if (g_schedule_reminder_config.displayText)
+ {
+ free(g_schedule_reminder_config.displayText);
+ g_schedule_reminder_config.displayText = NULL;
+ }
+ g_schedule_reminder_config.scheduleId = 0;
}
static void play_mp3_audio_from_file(char *file_path)
// 解析日程名称字段
cJSON *scheduleName = cJSON_GetObjectItem(data, "scheduleName");
+ cJSON *displayText = cJSON_GetObjectItem(data, "displayText");
ln_assign_dup(&g_schedule_reminder_config.scheduleName,
(scheduleName && cJSON_IsString(scheduleName)) ? scheduleName->valuestring : "");
+ ln_assign_dup(&g_schedule_reminder_config.displayText,
+ (displayText && cJSON_IsString(displayText)) ? displayText->valuestring : "");
// 打印解析结果
printf("[SCHEDULE_REMINDER_CONFIG] parsed successfully:\n");
printf(" scheduleName: %s\n", g_schedule_reminder_config.scheduleName ? g_schedule_reminder_config.scheduleName : "");
printf(" scheduleId: %d\n", g_schedule_reminder_config.scheduleId);
+ printf(" displayText: %s\n", g_schedule_reminder_config.displayText ? g_schedule_reminder_config.displayText : "");
// 推送任务提醒通知
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "[SCHEDULE_REMINDER_CONFIG] push task reminder notification\n");
- push_task_reminder_notification(g_schedule_reminder_config.scheduleName);
+ push_task_reminder_notification(g_schedule_reminder_config.displayText);
//震动
custom_VibratorFunc_int(0);
/* URL构建回调函数 */
static void ln_ws_url_callback(char *url, size_t url_size, char *header_buf, size_t header_size)
{
+#if LN_ENV_PRODUCTION
+ const char *base = "ws://ambybox-o.api.leiniao.com/ambybox-device-api/v1/websocket";
+#else
const char *base = "ws://ambybox-api.test.leiniao.com/ambybox-device-api/v1/websocket";
+#endif
const char *device_id = uapi_ln_get_device_id();
const char *token = uapi_ln_get_device_token();
if (!device_id) device_id = "";