From: luozheng <1732036298@qq.com> Date: Sun, 28 Sep 2025 07:32:26 +0000 (+0800) Subject: 优化获取网络状态接口 X-Git-Tag: V1.0.9_20251128_194606_LN~294^2~6 X-Git-Url: http://git.snicker.com.cn/css/static/gitweb.css?a=commitdiff_plain;h=7f79a09b5de3c6e1695b698343e54316d9bc49b8;p=mirrors%2FFD230.git 优化获取网络状态接口 --- diff --git a/code/sdk/application/wearable/ln/nativeapp/nativeui/thunderbird/include/ThunderBirdModel.h b/code/sdk/application/wearable/ln/nativeapp/nativeui/thunderbird/include/ThunderBirdModel.h index 900ac4746..d69f3bd44 100644 --- a/code/sdk/application/wearable/ln/nativeapp/nativeui/thunderbird/include/ThunderBirdModel.h +++ b/code/sdk/application/wearable/ln/nativeapp/nativeui/thunderbird/include/ThunderBirdModel.h @@ -157,8 +157,6 @@ namespace OHOS bool GetQrcodeChecked(); void SetQrcodeChecked(bool checked); bool getbind_status(); - - bool Get_is_ln_get_device_token_success(); // 日程提醒处理函数 void HandleScheduleReminder(const char* title, const char* content); @@ -244,8 +242,6 @@ namespace OHOS bool is_all_services_ready = false; bool init_falg = false; bool bind_status = false; - - int net_count = 0; }; } diff --git a/code/sdk/application/wearable/ln/nativeapp/nativeui/thunderbird/src/ThunderBirdModel.cpp b/code/sdk/application/wearable/ln/nativeapp/nativeui/thunderbird/src/ThunderBirdModel.cpp index 9874994cd..d4931b136 100644 --- a/code/sdk/application/wearable/ln/nativeapp/nativeui/thunderbird/src/ThunderBirdModel.cpp +++ b/code/sdk/application/wearable/ln/nativeapp/nativeui/thunderbird/src/ThunderBirdModel.cpp @@ -33,7 +33,7 @@ #include "AppViewIDs.h" #include "NativeRegisterManager.h" #include "graphic_service_wrapper.h" - #define JUHEPINGTAI 1 + #define JUHEPINGTAI 0 #if JUHEPINGTAI #include "websocket_server_manager.h" #endif @@ -1018,11 +1018,6 @@ m_statusTimer = nullptr; } } - // 获取token是否有效 其实是是否有外网 - bool ThunderBirdModel::Get_is_ln_get_device_token_success() - { - return get_is_ln_get_device_token_success(); - } /** * @brief 状态管理回调处理 */ @@ -1042,23 +1037,10 @@ 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); - // 重置网络计数 - net_count = 0; - } - else + if(get_is_ln_get_device_network_success()) { if (init_falg == false) { - // 有网之后需要延迟5s - net_count ++; - if(net_count < 5) - { - WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "有网之后需要延迟 %d", net_count); - return; - } //发送获取绑定用户ID do_ln_http_server_send_data(LN_HTTP_SERVICE_CMD_GET_USER_ID, NULL, 0); // 获取到设备是未绑定状态,但是内部有绑定记录 需要恢复出厂 diff --git a/code/sdk/application/wearable/ln/nativeapp/nativeui/thunderbird/src/ThunderBirdPresenter.cpp b/code/sdk/application/wearable/ln/nativeapp/nativeui/thunderbird/src/ThunderBirdPresenter.cpp index b75e9ada2..1d4356a45 100644 --- a/code/sdk/application/wearable/ln/nativeapp/nativeui/thunderbird/src/ThunderBirdPresenter.cpp +++ b/code/sdk/application/wearable/ln/nativeapp/nativeui/thunderbird/src/ThunderBirdPresenter.cpp @@ -640,12 +640,6 @@ namespace OHOS void ThunderBirdPresenter::UpdateQrcodeIfValid() { - // 不需要有网 小程序 也可以绑定 - // if(ThunderBirdModel::GetInstance()->Get_is_ln_get_device_token_success() == false) - // { - // return; - // } - // 检查IMEI是否有效 并且 二维码是否有效更新过 if (ThunderBirdModel::GetInstance()->IsIMEIValid() && ThunderBirdModel::GetInstance()->GetQrcodeChecked() == true) { return; diff --git a/code/sdk/zhihui/leiniao/imsl_ln/ln_api.c b/code/sdk/zhihui/leiniao/imsl_ln/ln_api.c index 67861eb9f..d1a917bd3 100644 --- a/code/sdk/zhihui/leiniao/imsl_ln/ln_api.c +++ b/code/sdk/zhihui/leiniao/imsl_ln/ln_api.c @@ -412,6 +412,17 @@ HTTPC_RESULT ln_http_prepare_auto(HttpClientData *clientData, int header_size, i /* ============================ WebSocket 业务消息 上层处理 ============================ */ void ln_ws_process_message(const ws_data_msg_t *data_msg, ws_command_t type) { + if(type == WS_CMD_CONNECTED) + { + printf("[LN][WS] Processing WebSocket Connected event\n"); + set_is_ln_get_device_network_success(1); + } + else + { + printf("[LN][WS] Processing WebSocket Disconnected event\n"); + set_is_ln_get_device_network_success(0); + } + if (!data_msg || !data_msg->raw_json) { printf("[WS] invalid data message\n"); @@ -1017,32 +1028,8 @@ static void ln_http_server_send_task(void const *arg) } if (mail.cmd == LN_HTTP_SERVICE_CMD_GET_DEVICE_TOKEN) { - - #ifdef SKIP_LN_PROTOCOL_TEST - continue; - #endif - if(get_is_ln_get_device_token_success() == 1) - { - printf("设备Token已经获取\n"); - continue; - } printf("LN_HTTP_SERVICE_CMD_GET_DEVICE_TOKEN:获取雷鸟设备Token\n"); - uint32_t ret = ln_get_device_token_http(uapi_ln_get_device_id(), uapi_ln_get_device_iccid(), uapi_ln_get_device_model(), uapi_ln_get_device_version()); - if (ret == ERRCODE_SUCC) - { - WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "[LN_HTTP_SERVER_SEND_TASK] 获取雷鸟设备Token成功\n"); - set_is_ln_get_device_token_success(1); - // ret = ln_ws_start(ln_ws_process_message); - if (ret != 0) - { - WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "[LN_HTTP_SERVER_SEND_TASK] 启动WebSocket失败: %d\n", ret); - } - } - else - { - WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "[LN_HTTP_SERVER_SEND_TASK] 获取雷鸟设备Token失败\n"); - set_is_ln_get_device_token_success(0); - } + ln_get_device_token_http(uapi_ln_get_device_id(), uapi_ln_get_device_iccid(), uapi_ln_get_device_model(), uapi_ln_get_device_version()); } else if (mail.cmd == LN_HTTP_SERVICE_CMD_SPEECH_CHAT_STREAM) { @@ -1213,6 +1200,7 @@ errcode_t uapi_ln_http_server_init(void) printf("create ln_send_service failed %d!\r\n", ret); return ERRCODE_FAIL; } + ln_ws_start(ln_ws_process_message); ln_init_required_dirs(); ln_load_init_config(); diff --git a/code/sdk/zhihui/leiniao/ln_api_cpp/ln_api_interface.cpp b/code/sdk/zhihui/leiniao/ln_api_cpp/ln_api_interface.cpp index d95786393..ecd7644dc 100644 --- a/code/sdk/zhihui/leiniao/ln_api_cpp/ln_api_interface.cpp +++ b/code/sdk/zhihui/leiniao/ln_api_cpp/ln_api_interface.cpp @@ -40,14 +40,14 @@ int get_start_conversation_flag(void) return g_start_conversation_flag; } -static int is_ln_get_device_token_success = 0; -void set_is_ln_get_device_token_success(int val) +static int is_ln_get_device_network_success = 0; +void set_is_ln_get_device_network_success(int val) { - is_ln_get_device_token_success = val; + is_ln_get_device_network_success = val; } -int get_is_ln_get_device_token_success(void) +int get_is_ln_get_device_network_success(void) { - return is_ln_get_device_token_success; + return is_ln_get_device_network_success; } // 获取OTA升级完状态 diff --git a/code/sdk/zhihui/leiniao/ln_api_cpp/ln_api_interface.h b/code/sdk/zhihui/leiniao/ln_api_cpp/ln_api_interface.h index 92ddb400d..5ec056bed 100644 --- a/code/sdk/zhihui/leiniao/ln_api_cpp/ln_api_interface.h +++ b/code/sdk/zhihui/leiniao/ln_api_cpp/ln_api_interface.h @@ -23,8 +23,10 @@ void set_start_conversation_flag(int flag); //获取开始对话标志:开始对话、结束对话、故事开始、故事结束 int get_start_conversation_flag(void); -void set_is_ln_get_device_token_success(int val); -int get_is_ln_get_device_token_success(void); +/* 设置是否设备是否真正有网络 */ +void set_is_ln_get_device_network_success(int val); +/* 获取是否设备是否真正有网络 */ +int get_is_ln_get_device_network_success(void); /* ota升级状态