增加不同产品的主界面卡片配置
authorCaisking <Casiking@zhihuishixun.com>
Wed, 16 Jul 2025 10:01:16 +0000 (18:01 +0800)
committerCaisking <Casiking@zhihuishixun.com>
Wed, 16 Jul 2025 10:01:16 +0000 (18:01 +0800)
code/sdk/application/wearable/fd230app/nativelauncher/include/UiConfig.h
code/sdk/application/wearable/fd230app/nativeui/main/src/MainModel.cpp
code/sdk/application/wearable/fd230app/nativeui/main/src/MainViewSample.cpp

index c90c8be..c6732a3 100644 (file)
 namespace OHOS
 {
     static const int CARD_SETTING_COUNT_MAX = 10;
+    //卡片排序
+#if(defined(BOARD_W9))
+    /*
+        W9主界面卡片:
+        心率,血氧,血压,心电,情绪,运动,睡眠,音乐
+    */
+    typedef enum
+    {
+        WATCH_FACE = 0, /* 主表盘枚举值不能修改 */
+        HEART_RATE,
+        BLOODOXGEN,
+        // BLOODPRESSURE,
+        // ECG,
+        // EMO,
+        TRAINING,
+        SLEEP,
+        MUSIC_PLAYER,
+        SETCARD,
+        MAX_CARD,
+    } CardId;
+#elif(defined(BOARD_N9))
+    /*
+         N9主界面卡片排序: 
+        心率,血氧,运动,睡眠,音乐,指南针,天气,活动
+    */
+    typedef enum
+    {
+        WATCH_FACE = 0, /* 主表盘枚举值不能修改 */
+        HEART_RATE,
+        BLOODOXGEN,
+        TRAINING,
+        SLEEP,
+        MUSIC_PLAYER,
+        COMPASS,
+        WEATHER,
+        GOAL,
+        SETCARD,
+        MAX_CARD,
+    } CardId;
+#else
     typedef enum
     {
         WATCH_FACE = 0, /* 主表盘枚举值不能修改 */
@@ -29,7 +69,7 @@ namespace OHOS
         SETCARD,
         MAX_CARD,
     } CardId;
-
+#endif
     /*自定义表盘最多5个*/
     typedef enum
     {
index c60caf1..e9c94a1 100644 (file)
@@ -28,34 +28,38 @@ namespace OHOS
     static const int DIAL_SETTING_VALUE_LEN = 64;\r
     /*默认卡片:心率,睡眠,快速训练*/\r
     // 更新主界面卡片需要更新Map\r
+#if defined(BOARD_N9)\r
     const CardInfo cardInfoMap[] = {\r
-    #if defined(BOARD_N9)\r
         /*\r
-            n9 排序\r
-            运动 心率 指南针 睡眠 血氧 每日目标 天气 音乐\r
+            N9主界面卡片排序: \r
+           心率,血氧,运动,睡眠,音乐,指南针,天气,活动\r
         */\r
-        {TRAINING, PNG_SET_CARD_TRAIN, true,STR_TRAINING},\r
-        {HEART_RATE, PNG_SET_CARD_HEART, true,STR_HEART_RATE},\r
-        {COMPASS, PNG_SET_CARD_COMPASS, false,STR_COMPASS},\r
-        {SLEEP, PNG_SET_CARD_SLEEP, true,STR_SLEEP},\r
-        {BLOODOXGEN, PNG_SET_CARD_BLOOD, false,STR_BLOOD_OXYGEN},\r
-        {GOAL, PNG_SET_CARD_ACTIVITY, true,STR_ACTIVITY},\r
-        {WEATHER, PNG_SET_CARD_WEATHER, false,STR_WEATHER},\r
-        {MUSIC_PLAYER, PNG_SET_CARD_PLAYER, false,STR_MUSIC},\r
-    #elif defined(BOARD_W9)\r
+       {HEART_RATE, PNG_SET_CARD_HEART, true,STR_HEART_RATE},\r
+       {BLOODOXGEN, PNG_SET_CARD_BLOOD, true,STR_BLOOD_OXYGEN},\r
+       {TRAINING, PNG_SET_CARD_TRAIN, true,STR_TRAINING},\r
+       {SLEEP, PNG_SET_CARD_SLEEP, true,STR_SLEEP},\r
+       {MUSIC_PLAYER, PNG_SET_CARD_PLAYER, true,STR_MUSIC},\r
+       {COMPASS, PNG_SET_CARD_COMPASS, true,STR_COMPASS},\r
+       {WEATHER, PNG_SET_CARD_WEATHER,true,STR_WEATHER},\r
+       {GOAL, PNG_SET_CARD_ACTIVITY, true,STR_ACTIVITY},\r
+    };\r
+#elif defined(BOARD_W9)\r
         /*\r
-            w9 排序\r
-            睡眠 运动 心率 音乐 每日运动 天气 指南针 血氧\r
+            W9主界面卡片:\r
+            心率,血氧,血压,心电,情绪,运动,睡眠,音乐\r
         */\r
-        {SLEEP, PNG_SET_CARD_SLEEP, true,STR_SLEEP},\r
-        {TRAINING, PNG_SET_CARD_TRAIN, true,STR_TRAINING},\r
-        {HEART_RATE, PNG_SET_CARD_HEART, true,STR_HEART_RATE},\r
-        {MUSIC_PLAYER, PNG_SET_CARD_PLAYER, false,STR_MUSIC},\r
-        {GOAL, PNG_SET_CARD_ACTIVITY, true,STR_ACTIVITY},\r
-        {WEATHER, PNG_SET_CARD_WEATHER, false,STR_WEATHER},\r
-        {COMPASS, PNG_SET_CARD_COMPASS, false,STR_COMPASS},\r
-        {BLOODOXGEN, PNG_SET_CARD_BLOOD, false,STR_BLOOD_OXYGEN},\r
-    #else    \r
+       const CardInfo cardInfoMap[] = {\r
+       {HEART_RATE, PNG_SET_CARD_HEART, true,STR_HEART_RATE},\r
+       {BLOODOXGEN, PNG_SET_CARD_BLOOD, true,STR_BLOOD_OXYGEN},\r
+    //    {BLOODPRESSURE, PNG_SET_CARD_BLOOD, true,STR_BLOOD_PRESSURE},\r
+    //    {ECG, PNG_SET_CARD_ECG, true,STR_ECG},\r
+    //    {EMO, PNG_SET_CARD_EMO, true,STR_EMO},\r
+       {TRAINING, PNG_SET_CARD_TRAIN, true,STR_TRAINING},\r
+       {SLEEP, PNG_SET_CARD_SLEEP, true,STR_SLEEP},\r
+       {MUSIC_PLAYER, PNG_SET_CARD_PLAYER, true,STR_MUSIC},\r
+    };\r
+#else    \r
+    const CardInfo cardInfoMap[] = {\r
         {HEART_RATE, PNG_SET_CARD_HEART, true,STR_HEART_RATE},\r
         {TRAINING, PNG_SET_CARD_TRAIN, true,STR_TRAINING},\r
         {COMPASS, PNG_SET_CARD_COMPASS, false,STR_COMPASS},\r
@@ -64,41 +68,45 @@ namespace OHOS
         {GOAL, PNG_SET_CARD_ACTIVITY, false,STR_ACTIVITY},\r
         {WEATHER, PNG_SET_CARD_WEATHER, false,STR_WEATHER},\r
         {MUSIC_PLAYER, PNG_SET_CARD_PLAYER, false,STR_MUSIC},\r
-    #endif\r
     };\r
+#endif\r
     /*维护卡片*/\r
+#if defined(BOARD_N9)\r
     CardInfoSet cardInfoSet[] = {\r
-    #if defined(BOARD_N9)\r
         /*\r
-            n9 排序\r
-            运动 心率 指南针 睡眠 血氧 每日目标 天气 音乐\r
+            N9主界面卡片排序: \r
+           心率,血氧,运动,睡眠,音乐,指南针,天气,活动\r
         */\r
-        {TRAINING, true},\r
         {HEART_RATE, true},\r
-        {COMPASS, false},\r
+        {BLOODOXGEN, true},\r
+        {TRAINING, true},\r
         {SLEEP, true},\r
-        {BLOODOXGEN, false},\r
+        {MUSIC_PLAYER, true},\r
+        {COMPASS, true},\r
+        {WEATHER, true},\r
         {GOAL, true},\r
-        {WEATHER, false},\r
-        {MUSIC_PLAYER, false},\r
-    #elif defined(BOARD_W9)\r
+    };\r
+#elif defined(BOARD_W9)\r
+        CardInfoSet cardInfoSet[] = {\r
         /*\r
-            w9 排序\r
-            睡眠 运动 心率 音乐 每日运动 天气 指南针 血氧\r
+            W9主界面卡片:\r
+            心率,血氧,血压,心电,情绪,运动,睡眠,音乐\r
         */\r
-        {SLEEP, true},\r
-        {TRAINING, true},\r
         {HEART_RATE, true},\r
-        {MUSIC_PLAYER, false},\r
-        {GOAL, true},\r
-        {WEATHER, false},\r
-        {COMPASS, false},\r
-        {BLOODOXGEN, false},\r
-    #else\r
+        {BLOODOXGEN, true},\r
+        // {BLOODPRESSURE, true},\r
+        // {ECG, true},\r
+        // {EMO, true},\r
+        {TRAINING, true},\r
+        {SLEEP, true},\r
+        {MUSIC_PLAYER, true},\r
+    };\r
+#else\r
         /*\r
             fd230 排序\r
             心率 运动 指南针 睡眠 血氧 每日目标 天气 音乐\r
         */\r
+        CardInfoSet cardInfoSet[] = {\r
         {HEART_RATE, true},\r
         {TRAINING, true},\r
         {COMPASS, false},\r
@@ -107,8 +115,8 @@ namespace OHOS
         {GOAL, false},\r
         {WEATHER, false},\r
         {MUSIC_PLAYER, false},\r
-    #endif\r
-    };\r
+        };\r
+#endif\r
     /*自定义map配置*/\r
     const DialInfo dialInfoMap[] = {\r
 #ifdef CUSTOM_Z1\r
@@ -160,19 +168,19 @@ namespace OHOS
     void MainModel::printCardSettings(void)\r
     {\r
         uint8_t i;\r
-        WEARABLE_LOGD(WEARABL_LOG_MODULE_APP, "_____________________________________________________\r\n");\r
+        WEARABLE_LOGE(WEARABL_LOG_MODULE_APP, "_____________________________________________________\r\n");\r
         for (i = 0; i < cardSettingCount; i++)\r
         {\r
             uint8_t cardId = cardSettings[i];\r
             const char *cardname = getCardNameFromMap(cardId);\r
-            WEARABLE_LOGD(WEARABL_LOG_MODULE_APP, "cardSettings[%d]:Id: %d, CardName: %s\r\n", i, cardId, cardname);\r
+            WEARABLE_LOGE(WEARABL_LOG_MODULE_APP, "cardSettings[%d]:Id: %d, CardName: %s\r\n", i, cardId, cardname);\r
         }\r
 \r
         for (uint8_t m = 0; m < (sizeof(cardInfoSet) / sizeof(cardInfoSet[0])); m++)\r
         {\r
-            WEARABLE_LOGD(WEARABL_LOG_MODULE_APP, "cardInfoSet[%d]:Id %d, Visible: %s\n", m, cardInfoSet[m].id, cardInfoSet[m].isVisible ? "true" : "false");\r
+            WEARABLE_LOGE(WEARABL_LOG_MODULE_APP, "cardInfoSet[%d]:Id %d, Visible: %s\n", m, cardInfoSet[m].id, cardInfoSet[m].isVisible ? "true" : "false");\r
         }\r
-        WEARABLE_LOGD(WEARABL_LOG_MODULE_APP, "_____________________________________________________\r\n");\r
+        WEARABLE_LOGE(WEARABL_LOG_MODULE_APP, "_____________________________________________________\r\n");\r
     }\r
 \r
     const char *MainModel::getCardNameFromMap(uint8_t cardId) const\r
@@ -237,7 +245,7 @@ namespace OHOS
                 {\r
                     if (cardInfoSet[i].id == cardSettings[j])\r
                     {\r
-                        //  WEARABLE_LOGD(WEARABL_LOG_MODULE_APP, "CardSettings:cardInfoSet[%d] is set cardSettings[%d]\r\n", i, j);\r
+                        WEARABLE_LOGE(WEARABL_LOG_MODULE_APP, "CardSettings:cardInfoSet[%d] is set cardSettings[%d]\r\n", i, j);\r
                         visible = true;\r
                         break;\r
                     }\r
@@ -268,7 +276,7 @@ namespace OHOS
             cardSettingCount = index;\r
         }\r
 \r
-        // printCardSettings();\r
+        printCardSettings();\r
         WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "InitCardSettings");\r
     }\r
     void MainModel::DeleteCardSetting(uint8_t index)\r
@@ -323,7 +331,7 @@ namespace OHOS
             // 设置其他卡片\r
             if (cardInfoSet[i].isVisible)\r
             {\r
-                //  WEARABLE_LOGD(WEARABL_LOG_MODULE_APP, "cardSettings[%d]\r\n", i);\r
+                WEARABLE_LOGE(WEARABL_LOG_MODULE_APP, "cardSettings[%d]\r\n", i);\r
                 cardSettings[mapindex++] = cardInfoSet[i].id;\r
             }\r
         }\r
@@ -340,7 +348,7 @@ namespace OHOS
         }\r
         (void)UtilsSetValue("card_setting", temp);\r
 \r
-        // printCardSettings();\r
+        printCardSettings();\r
         WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "DeleteCardSetting");\r
     }\r
 \r
index a2dad7c..b31e0fa 100644 (file)
@@ -33,6 +33,39 @@ namespace OHOS
         UICardPage *(MainViewSample::*func)(void);
     };
     // 严格按照Id对应
+    #if defined(BOARD_N9)
+     /*
+         N9主界面卡片排序: 
+        心率,血氧,运动,睡眠,音乐,指南针,天气,活动
+    */
+    static const MainViewMapper CardMapper[] = {
+        {WATCH_FACE, &MainViewSample::InitWatchFacePage},
+        {HEART_RATE, &MainViewSample::InitHeartRatePage},
+        {BLOODOXGEN, &MainViewSample::InitBloodOxygenPage},
+        {TRAINING, &MainViewSample::InitTrainingPage},
+        {SLEEP, &MainViewSample::InitSleepPage},
+        {MUSIC_PLAYER, &MainViewSample::InitMusicPlayerPage},
+        {COMPASS, &MainViewSample::InitCompassPage},
+        {WEATHER, &MainViewSample::InitWeatherPage},
+        {GOAL, &MainViewSample::InitGoalPage},
+        {SETCARD, &MainViewSample::InitSetMainPage},
+    };
+    #elif defined(BOARD_W9)
+    /*
+        W9主界面卡片:
+        心率,血氧,血压,心电,情绪,运动,睡眠,音乐
+    */
+    static const MainViewMapper CardMapper[] = {
+        {WATCH_FACE, &MainViewSample::InitWatchFacePage},
+        {HEART_RATE, &MainViewSample::InitHeartRatePage},
+        {BLOODOXGEN, &MainViewSample::InitBloodOxygenPage},
+        // TODO: card 血压,心电,情绪
+        {TRAINING, &MainViewSample::InitTrainingPage},
+        {SLEEP, &MainViewSample::InitSleepPage},
+        {MUSIC_PLAYER, &MainViewSample::InitMusicPlayerPage},
+        {SETCARD, &MainViewSample::InitSetMainPage},
+    };
+    #else
     static const MainViewMapper CardMapper[] = {
         {WATCH_FACE, &MainViewSample::InitWatchFacePage},
         {HEART_RATE, &MainViewSample::InitHeartRatePage},
@@ -44,11 +77,8 @@ namespace OHOS
         {WEATHER, &MainViewSample::InitWeatherPage},
         {MUSIC_PLAYER, &MainViewSample::InitMusicPlayerPage},
         {SETCARD, &MainViewSample::InitSetMainPage},
-
-#if 0
-        {ACTIVITY, &MainViewSample::InitActivityPage},
-#endif
     };
+    #endif
     MainViewSample::MainViewSample()
     {
         WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "MainViewSample::MainViewSample");
@@ -306,7 +336,7 @@ namespace OHOS
                                       "MainViewSample:: recordCard %d error", j);
                         return false;
                     }
-                    WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP,
+                    WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP,
                                   "MainViewSample:: recordCard[%d]:%p", j, recordCard[j]);
                     break;
                 }
@@ -330,7 +360,7 @@ namespace OHOS
             if (recordCard[cardId] != nullptr)
             {
                 mainSwipeGroup->HorAdd(recordCard[cardId]);
-                WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "MainViewSample:: HorViewLoad cardid = %d ViewIndex = %d",
+                WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "MainViewSample:: HorViewLoad cardid = %d ViewIndex = %d",
                               cardId, recordCard[cardId]->GetViewIndex());
             }
         }