{
// 初始化时加载提醒数据
// LoadRemindersFromFile();
+ //创建kv文件夹
+ uapi_create_folder("/user/system/kvstore/");
// 读取绑定状态
char temp[10] = { 0 };
(void)UtilsGetValue("bind_status", temp, 10);
// ==================== 对话文本管理函数 ====================
std::string ThunderBirdModel::GetTextStr()
{
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "获取对话文本: %s", m_currentTimeStr.c_str());
return m_currentTimeStr;
}
void ThunderBirdModel::SetTextStr(const char *textId)
{
if (textId == nullptr) {
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SetTextStr: textId is null");
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "设置对话文本: textId is null");
return;
}
// 添加文本内容
m_currentTimeStr = textId;
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SetTextStr: added text, current length: %zu", m_currentTimeStr.length());
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "设置对话文本: %s", m_currentTimeStr.c_str());
}
void ThunderBirdModel::ClearTextStr()
// 更新网络状态信息(包括SIM卡、信号强度、网络连接等)
UpdateNetworkStatus();
- // 检查网络状态是否发生变化
- if (IsNetworkStatusChanged()) {
- if (HasNetwork()) {
- // 网络连接成功,调用HTTP服务获取设备Token
- do_ln_http_server_send_data(LN_HTTP_SERVICE_CMD_GET_DEVICE_TOKEN, NULL, 0);
- // 获取一下OTA 是否有最新版本
- ota_update_boot();
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "Network connected, calling HTTP service");
- #if JUHEPINGTAI
- uapi_init_all_websocket_servers();
- uapi_start_all_websocket_servers(); // 连接服务器
- #endif
- } else {
- // 网络断开,记录状态变化日志
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "Network disconnected");
+ // 检查网络状态是否有网
+ if(HasNetwork())
+ {
+ if(get_is_ln_get_device_token_success() == 0)
+ {
+ do_ln_http_server_send_data(LN_HTTP_SERVICE_CMD_GET_DEVICE_TOKEN, NULL, 0);
+ }
+ else
+ {
+ if (init_falg == false)
+ {
+ // 网络连接成功,调用HTTP服务获取设备Token
+ // 获取一下OTA 是否有最新版本
+ ota_update_boot();
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "Network connected, calling HTTP service");
+ #if JUHEPINGTAI
+ uapi_init_all_websocket_servers();
+ uapi_start_all_websocket_servers(); // 连接服务器
+ #endif
+ init_falg = true;
+ }
}
- // 重置网络状态变化标志位,避免重复处理
- SetNetworkStatusChanged(false);
}
#if JUHEPINGTAI
}
// 记录网络状态更新日志
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP,"Network status updated: sim=%d, power=%d, signal=%d, network=%d, type=%d, hasNetwork=%d",
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP,"Network status updated: sim=%d, power=%d, signal=%d, network=%d, type=%d, hasNetwork=%d",
m_simStatus, m_cat1PowerStatus, m_signalStrength, m_networkStatus, m_networkType, m_hasNetwork);
}
{
}
+ /**
+ * @brief WebSocket AI答案回调函数
+ * @param buf AI返回的文本内容(可能为NULL)
+ * @param type 消息类型
+ * @note 此函数由WebSocket服务器管理器调用,SetTextStr会进行深拷贝,内存安全
+ */
void ws_register_ai_answer_cb(char *buf, uint8_t type)
{
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "ws_register_ai_answer_cb:%s\n", buf ? buf : "<null>");
if (buf && buf[0] != '\0') {
// 先写入文本,再置对话标志,避免UI读到标志已置但文本尚未更新
- ThunderBirdModel::GetInstance()->SetTextStr(buf);
set_start_conversation_flag(START_CONVERSATION_FLAG_START);
+
+ // SetTextStr使用std::string,会自动进行深拷贝,内存安全
+ // ThunderBirdModel::GetInstance()->SetTextStr(buf);
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "buf processed: %s", buf);
} else {
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "ws_register_ai_answer_cb: empty buf, skip update");
}