#define LN_DEVICE_GET_CHARACTER_PATH "/v1/device/getCharacter"
#define LN_DEVICE_GET_USER_ID_PATH "/v1/device/getUserId"
#define LN_OTA_GET_TASK_PATH "/v1/upgrade/getTask"
+#define LN_EMOJI_REPORT_PATH "/v1/emoji/reportEmoji"
+#define LN_EMOJI_REPORT_ALL_PATH "/v1/emoji/reportAllEmoji"
#define LN_STORY_CHOOSE_URL LN_BASE_URL LN_STORY_CHOOSE_PATH
#define LN_STORY_RANDOM_URL LN_BASE_URL LN_STORY_RANDOM_PATH
#define LN_STORY_EXIT_INQUIRY_URL LN_BASE_URL LN_STORY_EXIT_INQUIRY_PATH
#define LN_DEVICE_GET_CHARACTER_URL LN_BASE_URL LN_DEVICE_GET_CHARACTER_PATH
#define LN_DEVICE_GET_USER_ID_URL LN_BASE_URL LN_DEVICE_GET_USER_ID_PATH
#define LN_OTA_GET_TASK_URL LN_BASE_URL LN_OTA_GET_TASK_PATH
+#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_SIGN_SECRET "vDdXVXgPUEUM6_piUjz5AEhMvYTSFzQdPaN-ogKnSus="
-/* OTA 包保存目录(最终文件仍将放在 /user/ 下)*/
-#define LN_OTA_SAVE_DIR "/user"
+/* OTA 包保存目录*/
+#define LN_OTA_SAVE_DIR "/user/update/update.fwpkg"
/* 用户数据保存目录 */
#define LN_DATA_PATH "/user/leiniao"
#define LN_HTTP_SERVICE_CMD_AUDIO_PAUSE 0x1005 /* 暂停播放 */
#define LN_HTTP_SERVICE_CMD_AUDIO_RESUME 0x1006 /* 恢复播放 */
+/* Emoji 上报结果接收命令 */
+#define LN_HTTP_RECV_EMOJI_REPORT 0x1007
+#define LN_HTTP_RECV_EMOJI_REPORT_ALL 0x1008
+
/* 故事-随机故事 请求体(可选主题)*/
typedef struct
{
char md5[65]; /* MD5(来自任务),仅状态为COMPLETED时有效 */
} OtaDownloadMsg;
+/* =================== Emoji 表情上报相关结构体 =================== */
+typedef struct
+{
+ const char *characterId; /* 角色ID */
+ const char *eyesColor; /* 瞳色 */
+ const char *eyesShape; /* 眼型 */
+ const char *status; /* 状态: download_success/download_fail/delete_success/delete_fail */
+} LnEmojiGroup;
+
/* 设备绑定状态 */
typedef enum
{
const char *device_token,
const char *source_version);
+/* 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);
+
+uint32_t ln_emoji_report_all_http(const char *device_id,
+ const char *device_token,
+ const LnEmojiGroup *groups,
+ int group_count);
+
/* ============================== WebSocket 客户端接口 ============================== */
int ln_ws_start(void);
int ln_ws_send_text(const char *text);
SIGN_SECRET = "vDdXVXgPUEUM6_piUjz5AEhMvYTSFzQdPaN-ogKnSus="
DEVICE_ID = "DEVICE_001"
DEVICE_ICCID = "86123456789012345678"
-CURRENT_VERSION = "1.0.0" # 当前固件版本
+CURRENT_VERSION = "1.3.107" # 当前固件版本
UPGRADE_PACKAGE_DIR = "upgrade_packages" # 升级包存储目录
# -------------------------- 工具函数 --------------------------
"timestamp": timestamp,
"nonce": nonce,
"signature": signature,
- "deviceModel": "abmybox_1",
+ "deviceModel": "AB101",
# 注意:升级后这里应该使用新的固件版本
"deviceVersion": CURRENT_VERSION,
"Content-Type": "application/json"
headers = {
"deviceId": DEVICE_ID,
"deviceToken": token,
- "deviceModel": "abmybox_1",
+ "deviceModel": "AB101",
"deviceVersion": CURRENT_VERSION,
"Content-Type": "application/json",
}