优化手表二维码slice 176/2 176/head 177/target/1
authorluozheng <1732036298@qq.com>
Fri, 17 May 2024 11:36:15 +0000 (19:36 +0800)
committerluozheng <1732036298@qq.com>
Fri, 17 May 2024 11:36:15 +0000 (19:36 +0800)
code/sdk/application/wearable/fd230app/nativeui/watchQRcode/src/WatchQRCodePresenter.cpp

index 51b31e9..851f5aa 100644 (file)
@@ -32,6 +32,7 @@ namespace OHOS
     void WatchQRCodePresenter::OnStart()
     {
         Presenter<WatchQRCodeView>::OnStart();
+        ScreenAlwaysOnCtr(1);
     }
 
     void WatchQRCodePresenter::OnResume(void)
@@ -42,6 +43,7 @@ namespace OHOS
     void WatchQRCodePresenter::OnStop(void)
     {
         Presenter<WatchQRCodeView>::OnStop();
+        ScreenAlwaysOnCtr(0);
         return;
     }
 
@@ -91,9 +93,37 @@ namespace OHOS
         return true;
     }
 
+    // 获取当前手表的Mac地址
+    static std::string GetCurrentWatchMacAddress()
+    {
+        uint8_t btaddr[6] = {0};
+        uint32_t len = 6;
+        char btaddr_str[64] = {0};
+        uint8_t ret = uapi_get_nv_btaddr((uint8_t *)btaddr, &len);
+
+        if (ret == ERRCODE_SUCC)
+        { // 检查获取是否成功
+            int index = 0;
+            for (int i = 0; i < 6; ++i)
+            {
+                sprintf_s(btaddr_str + index, len, "%02X:", btaddr[i]);
+                index += 3;
+            }
+            btaddr_str[index - 1] = '\0';
+            return btaddr_str;
+        }
+        else
+        {
+            return ""; // 如果获取失败,返回空字符串
+        }
+    }
+
     std::string WatchQRCodePresenter::WatchQRCodeGetQRCodeStr()
     {
-        std::string str = "https://www.kumi.top/p-i-kumi.html?c=5&p=5&m=ea:33:29:55:9b:fc";
-        return str;
+        std::string QRCodeStr = "https://www.kumi.top/p-i-kumi.html?c=5&p=5";
+        std::string MacAddress = GetCurrentWatchMacAddress(); // 假设这是获取当前手表 Mac 地址的函数
+        QRCodeStr += "&m=" + MacAddress;
+        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "QRCodeStr:%s", QRCodeStr.c_str());
+        return QRCodeStr;
     }
 }