1
authorxue <2144439972@qq.com>
Tue, 17 Jun 2025 06:41:36 +0000 (14:41 +0800)
committerxue <2144439972@qq.com>
Tue, 17 Jun 2025 06:41:36 +0000 (14:41 +0800)
code/sdk/application/wearable/fd230app/CMakeLists.txt
code/sdk/application/wearable/fd230app/nativeui/applist/src/ApplistModel.cpp
code/sdk/application/wearable/fd230app/nativeui/bloodpressure/include/BPMainView.h
code/sdk/application/wearable/fd230app/nativeui/bloodpressure/src/BPMainPresenter.cpp
code/sdk/application/wearable/fd230app/nativeui/bloodpressure/src/BPMainView.cpp
code/sdk/application/wearable/fd230app/nativeui/bloodpressure/src/BPModel.cpp

index fbe7e9b..3e058f9 100644 (file)
@@ -228,6 +228,9 @@ set(SOURCES
     ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/bloodpressure/src/BPCalibrationView.cpp
     ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/bloodpressure/src/BPUnderCalibrationView.cpp
     ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/bloodpressure/src/BPValueView.cpp
+    ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/bloodpressure/src/BPCalibrationPassView.cpp
+    ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/bloodpressure/src/BPCalibrationErrorView.cpp
+    ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/bloodpressure/src/BPCalibrationMindView.cpp
     ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/bloodpressure/src/BPMainView.cpp
     ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/bloodpressure/src/BPMainPresenter.cpp
     ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/bloodpressure/src/BPModel.cpp
index f9fe987..745ed4f 100644 (file)
@@ -60,9 +60,9 @@ namespace OHOS
         {VIEW_HEART_CHART, PNG_APPLIST_HEART_IMAGE_BIG, PNG_APPLIST_HEART_IMAGE, PNG_APPLIST_DEFAULT_IMG, "心率", STR_HEART_RATE, nullptr},
 #endif
         {VIEW_BLOOD_RESULT, PNG_APPLIST_SPO2_IMAGE_BIG, PNG_APPLIST_SPO2_IMAGE, PNG_APPLIST_DEFAULT_IMG, "血氧", STR_BLOOD_OXYGEN, nullptr},
-#if defined(BOARD_W9) || defined(BOARD_N9)
+#if defined(BOARD_W9) || defined(BOARD_N9)||1
         /*W9与N9的Slice写宏里面*/
-        // {VIEW_BLOOD_PRESSURE_CALIBRATION, PNG_APPLIST_SPO2_IMAGE_BIG, PNG_APPLIST_SPO2_IMAGE, PNG_APPLIST_DEFAULT_IMG, "血压", STR_BP_CHECK, nullptr},
+        {VIEW_BLOOD_PRESSURE_CALIBRATION, PNG_APPLIST_SPO2_IMAGE_BIG, PNG_APPLIST_SPO2_IMAGE, PNG_APPLIST_DEFAULT_IMG, "血压", STR_BP_CHECK, nullptr},
         {VIEW_BLOOD_PRESSURE_CHECK, PNG_APPLIST_SPO2_IMAGE_BIG, PNG_APPLIST_SPO2_IMAGE, PNG_APPLIST_DEFAULT_IMG, "血压", STR_BLOOD_OXYGEN, nullptr},
 #endif
         {VIEW_SLEEP, PNG_APPLIST_SLEEP_IMAGE_BIG, PNG_APPLIST_SLEEP_IMAGE, PNG_APPLIST_DEFAULT_IMG, "睡眠", STR_SLEEP, nullptr},
index 4e17b0e..9498245 100644 (file)
@@ -7,8 +7,12 @@
 #include "BaseView.h"
 #include "components/ui_view_group.h"
 #include "bloodpressure/include/BPCalibrationView.h"
+#include "bloodpressure/include/BPCalibrationPassView.h"
+#include "bloodpressure/include/BPCalibrationMindView.h"
+#include "bloodpressure/include/BPCalibrationErrorView.h"
 #include "bloodpressure/include/BPUnderCalibrationView.h"
 #include "bloodpressure/include/BPValueView.h"
+//#include "BPMainPresenter.h"
 namespace OHOS
 {
     typedef enum : uint8_t
@@ -16,6 +20,9 @@ namespace OHOS
         BPCALIBRATIONVIEW = 0, // 主界面
         BPUNDERCALIBRATIONVIEW,     // BP校准界面
         BPVALUEVIEW,     // 血压输入界面
+        BPCALIBRATIONPASSVIEW,   //校准成功界面
+        BPCALIBRATIONERRORVIEW,   //校准失败界面
+        BPCALIBRATIONMINDVIEW,   //校准提醒界面
         MAX_BPVIEW,
     } BPVIEWID;
 
@@ -34,6 +41,10 @@ namespace OHOS
         bool ChangeBPCalibrationView(int16_t);
         bool ChangeBPUnderCalibrationView(int16_t);
         bool ChangeBPValueView(int16_t);
+        bool ChangeBPCalibrationPassView(int16_t thisView);
+        bool ChangeBPCalibrationErrorView(int16_t thisView);
+        bool ChangeBPCalibrationMindView(int16_t thisView);
+
 
         bool ClickFunc(int16_t interface);
         void ChangeView(int16_t hideView, int16_t showView);
@@ -42,6 +53,10 @@ namespace OHOS
         BPCalibrationView *p_BPCalibrationView{nullptr};
         BPUnderCalibrationView *p_BPUnderCalibrationView{nullptr};
         BPValueView *g_pBPValueView{nullptr};
+        BPCalibrationPassView *g_pBPCalibrationPassView{nullptr};
+        BPCalibrationErrorView *g_pBPCalibrationErrorView{nullptr};
+        BPCalibrationMindView *g_pBPCalibrationMindView{nullptr};
+        
 
     private:
         void DeInit();
index 219d87d..d111260 100644 (file)
@@ -11,6 +11,8 @@
 
 #include "bloodpressure/include/BPDetectionView.h"
 #include "bloodpressure/include/BPUnderCalibrationView.h"
+#include "bloodpressure/include/BPValueView.h"
+#include "bloodpressure/include/BPCalibrationPassView.h"
 #include "bloodpressure/include/BPMainView.h"
 
 #include "components/ui_label.h"
@@ -145,7 +147,7 @@ namespace OHOS
          if (strcmp(view.GetViewId(), "value_check") == 0)
         {
             WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "value_check");
-            
+             BPMainView::GetInstance()->ChangeView(BPVALUEVIEW,BPCALIBRATIONPASSVIEW);
            
         }
          if (strcmp(view.GetViewId(), "SBPLeft") == 0)
@@ -175,6 +177,18 @@ namespace OHOS
            
             BPValueView::DBP++;
            
+        }
+         if (strcmp(view.GetViewId(), "passcheckButton") == 0)
+        {
+            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "passcheckButton");
+             BPMainView::GetInstance()->ChangeView(BPCALIBRATIONPASSVIEW,BPCALIBRATIONERRORVIEW);
+           
+        }
+        if (strcmp(view.GetViewId(), "errorcheckButton") == 0)
+        {
+            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "errorcheckButton");
+             BPMainView::GetInstance()->ChangeView(BPCALIBRATIONERRORVIEW,BPCALIBRATIONMINDVIEW);
+           
         }
         WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "BPPresenter::OnClick");
         return true;
index 77a2656..75571d5 100644 (file)
@@ -61,6 +61,21 @@ namespace OHOS
             delete g_pBPValueView;
             g_pBPValueView = nullptr;
         }
+        if (g_pBPCalibrationPassView)
+        {
+            delete g_pBPCalibrationPassView;
+            g_pBPCalibrationPassView = nullptr;
+        }
+        if (g_pBPCalibrationErrorView)
+        {
+            delete g_pBPCalibrationErrorView;
+            g_pBPCalibrationErrorView = nullptr;
+        }
+        if (g_pBPCalibrationMindView)
+        {
+            delete g_pBPCalibrationMindView;
+            g_pBPCalibrationMindView = nullptr;
+        }
     }
 
     void BPMainView::OnStart()
@@ -151,7 +166,7 @@ namespace OHOS
         return true;
     }
 
-     bool BPMainView::ChangeBPValueView(int16_t thisView)
+    bool BPMainView::ChangeBPValueView(int16_t thisView)
     {
         // 检查视图是否已初始化
         if (group[thisView] == nullptr)
@@ -170,6 +185,64 @@ namespace OHOS
         return true;
     }
 
+    bool BPMainView::ChangeBPCalibrationPassView(int16_t thisView)
+    {
+        // 检查视图是否已初始化
+        if (group[thisView] == nullptr)
+        {
+            WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "BloodPressureView::ChangeBPCalibrationPassView");
+             g_pBPCalibrationPassView = new BPCalibrationPassView();
+            if (g_pBPCalibrationPassView == nullptr)
+            {
+                WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "BloodPressureView:: new scrollView[%d] fail", thisView);
+                return false;
+            }
+            // 初始化视图并添加到视图组
+            group[thisView] = g_pBPCalibrationPassView->BPCalibrationPassInit();
+            container_->Add(group[thisView]);
+        }
+        return true;
+    }
+
+     bool BPMainView::ChangeBPCalibrationErrorView(int16_t thisView)
+    {
+        // 检查视图是否已初始化
+        if (group[thisView] == nullptr)
+        {
+            WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "BloodPressureView::ChangeBPCalibrationErrorView");
+             g_pBPCalibrationErrorView = new BPCalibrationErrorView();
+            if (g_pBPCalibrationErrorView == nullptr)
+            {
+                WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "BloodPressureView:: new scrollView[%d] fail", thisView);
+                return false;
+            }
+            // 初始化视图并添加到视图组
+            group[thisView] = g_pBPCalibrationErrorView->BPCalibrationErrorInit();
+            container_->Add(group[thisView]);
+        }
+        return true;
+    }
+
+    bool BPMainView::ChangeBPCalibrationMindView(int16_t thisView)
+    {
+        // 检查视图是否已初始化
+        if (group[thisView] == nullptr)
+        {
+            WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "BloodPressureView::ChangeBPCalibrationMindView");
+             g_pBPCalibrationMindView = new BPCalibrationMindView();
+            if (g_pBPCalibrationMindView == nullptr)
+            {
+                WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "BloodPressureView:: new scrollView[%d] fail", thisView);
+                return false;
+            }
+            // 初始化视图并添加到视图组
+            group[thisView] = g_pBPCalibrationMindView->BPCalibrationMindInit();
+            container_->Add(group[thisView]);
+        }
+        return true;
+    }
+
+
     /**
      * 视图映射结构体 - 将视图ID映射到对应的视图切换函数
      */
@@ -183,6 +256,9 @@ namespace OHOS
         {BPCALIBRATIONVIEW, &BPMainView::ChangeBPCalibrationView},
         {BPUNDERCALIBRATIONVIEW, &BPMainView::ChangeBPUnderCalibrationView},
         {BPVALUEVIEW, &BPMainView::ChangeBPValueView},
+        {BPCALIBRATIONPASSVIEW, &BPMainView::ChangeBPCalibrationPassView},
+        {BPCALIBRATIONERRORVIEW, &BPMainView::ChangeBPCalibrationErrorView},
+        {BPCALIBRATIONMINDVIEW, &BPMainView::ChangeBPCalibrationMindView},
     };
 
     bool BPMainView::ClickFunc(int16_t interface)
@@ -225,4 +301,4 @@ namespace OHOS
         container_->Invalidate();
     }
 
-}
+  }
index 7c995d9..7f13754 100644 (file)
@@ -8,6 +8,7 @@
 #include <cmsis_os2.h>
 #include <service/graphic_service.h>
 
+
 extern "C" errcode_t uapi_get_timestamp_ms(uint32_t *tm);
 
 #include "AppViewIDs.h"
@@ -85,7 +86,8 @@ static void BP_TimerCallbackProc(int data) {
   {
     BPModel::GetInstance()->BP_StopTimer();
     //TODO:加判断?界面没有存在 直接就挂了 
-    BPMainView::GetInstance()->ChangeView(BPUNDERCALIBRATIONVIEW, BPVALUEVIEW);
+     BPMainView::GetInstance()->ChangeView(BPUNDERCALIBRATIONVIEW, BPVALUEVIEW);
+    
   }
   return;
 }