Merge #2126 into sdk650pathc0423 from refs/changes/2126/head 2129/target/1
author袁清梦 <3449750381@qq.com>
Fri, 22 Aug 2025 03:52:06 +0000 (03:52 +0000)
committer袁清梦 <3449750381@qq.com>
Fri, 22 Aug 2025 03:52:06 +0000 (03:52 +0000)
Code review from 袁清梦

* refs/changes/2126/head: (5 commits squashed)

  - 增加删除文件夹的通用函数

  - 优化表盘删除的函数

  - 增加不同产品的主界面卡片配置

  - 修复血氧结果显示溢出

  - 修复自定义表盘电量相关组件消失的bug

Signed-off-by: Caisking <3449750381@qq.com>
Merged-by: Caisking <3449750381@qq.com>
link: https://codeup.aliyun.com/64191456b9581d62e8f81ac0/FD230/change/2126
code/sdk/application/wearable/fd230/nativeapp/nativeui/bloodoxygen/src/BloodResultView.cpp
code/sdk/application/wearable/fd230/nativeapp/nativeui/clock/include/MainClockView.h
code/sdk/application/wearable/fd230/nativeapp/nativeui/main/src/MainModel.cpp
code/sdk/application/wearable/fd230/nativeapp/nativeui/main/src/MainViewSample.cpp
code/sdk/application/wearable/fd230/nativeapp/nativeui/set_dial/src/SetDialModel.cpp
code/sdk/application/wearable/nativeapp/nativelauncher/include/UiConfig.h
code/sdk/zhihui/utils/custom_utils.c
code/sdk/zhihui/utils/custom_utils.h

index d425c6f..3e743c6 100644 (file)
@@ -97,7 +97,7 @@ bool BloodResultView::InitLable() {
                DEFAULT_VECTOR_FONT_FILENAME, 30);
   /*初始化血氧值label*/
   InitUILabel(bloodLabel, 83, 32, 300, 300, "bloodtext", "--",
-              DEFAULT_VECTOR_FONT_FILENAME, 140);
+              DEFAULT_VECTOR_FONT_FILENAME, 120);
   /*初始化检测时间*/
   InitLabelExt(timeLabel, 53, 270, 360, 35, "time", STR_CHECKNO,
                DEFAULT_VECTOR_FONT_FILENAME, 30);
index 9ce7d13..13b254a 100644 (file)
          BatteryDisplayType batterySetting = BATTERY_DISPLAY_NONE; // 电池设置
          TimeDisplayPosition timePosition = TIME_DISPLAY_DEFAULT;  // 时间位置
          int64_t color_ = Color::White().full;                     // 电量颜色
-         int32_t power_ = -1;                                      // 电量
+         int32_t power_ = 101;                                      // 电量
          bool isBatteryIconVisible{false};                         // 电池暂停
      };
  } // namespace OHOS
index 4912744..b5cb320 100644 (file)
@@ -32,6 +32,37 @@ namespace OHOS
     static const int DIAL_SETTING_VALUE_LEN = 64;\r
     /*默认卡片:心率,睡眠,快速训练*/\r
     // 更新主界面卡片需要更新Map\r
+#if defined(BOARD_N9)\r
+    const CardInfo cardInfoMap[] = {\r
+        /*\r
+            N9主界面卡片排序: \r
+           心率,血氧,运动,睡眠,音乐,指南针,天气,活动\r
+        */\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
+        */\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
@@ -42,8 +73,44 @@ namespace OHOS
         {WEATHER, PNG_SET_CARD_WEATHER, false,STR_WEATHER},\r
         {MUSIC_PLAYER, PNG_SET_CARD_PLAYER, false,STR_MUSIC},\r
     };\r
+#endif\r
     /*维护卡片*/\r
+#if defined(BOARD_N9)\r
     CardInfoSet cardInfoSet[] = {\r
+        /*\r
+            N9主界面卡片排序: \r
+           心率,血氧,运动,睡眠,音乐,指南针,天气,活动\r
+        */\r
+        {HEART_RATE, true},\r
+        {BLOODOXGEN, true},\r
+        {TRAINING, true},\r
+        {SLEEP, true},\r
+        {MUSIC_PLAYER, true},\r
+        {COMPASS, true},\r
+        {WEATHER, true},\r
+        {GOAL, true},\r
+    };\r
+#elif defined(BOARD_W9)\r
+        CardInfoSet cardInfoSet[] = {\r
+        /*\r
+            W9主界面卡片:\r
+            心率,血氧,血压,心电,情绪,运动,睡眠,音乐\r
+        */\r
+        {HEART_RATE, true},\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
@@ -52,7 +119,8 @@ namespace OHOS
         {GOAL, false},\r
         {WEATHER, false},\r
         {MUSIC_PLAYER, false},\r
-    };\r
+        };\r
+#endif\r
     /*自定义map配置*/\r
     const DialInfo dialInfoMap[] = {\r
 #ifdef CUSTOM_Z1\r
@@ -181,7 +249,7 @@ namespace OHOS
                 {\r
                     if (cardInfoSet[i].id == cardSettings[j])\r
                     {\r
-                        //  WEARABLE_LOGE(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
@@ -212,8 +280,8 @@ namespace OHOS
             cardSettingCount = index;\r
         }\r
 \r
-        // printCardSettings();\r
-        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "InitCardSettings");\r
+        printCardSettings();\r
+        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "InitCardSettings");\r
     }\r
     void MainModel::DeleteCardSetting(uint8_t index)\r
     {\r
@@ -267,7 +335,7 @@ namespace OHOS
             // 设置其他卡片\r
             if (cardInfoSet[i].isVisible)\r
             {\r
-                //  WEARABLE_LOGE(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
@@ -284,8 +352,8 @@ namespace OHOS
         }\r
         (void)UtilsSetValue("card_setting", temp);\r
 \r
-        // printCardSettings();\r
-        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "DeleteCardSetting");\r
+        printCardSettings();\r
+        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "DeleteCardSetting");\r
     }\r
 \r
     void MainModel::AddCardSetting(uint8_t index)\r
index 29a89cd..edab4f5 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,10 +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");
@@ -328,7 +359,7 @@ namespace OHOS
                         WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "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;
                 }
@@ -352,7 +383,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());
             }
             else
index 32ddbfd..3f8b169 100644 (file)
@@ -207,7 +207,19 @@ uint16_t SetDialModel::GetDialIdFromName(const std::string &dialName) {
   }
   return 0; // 如果未找到对应的表盘名称,返回0或者其他适当的默认值
 }
-
+/*通过表盘Id查询名称*/
+std::string SetDialModel::GetdialPath(int Id) {
+  //判断Id是否在map中
+  if (registeredDials.find(Id) != registeredDials.end()) {
+    // 先将第一个字符串字面量转换为std::string,后续拼接会自动兼容
+    std::string path =
+        std::string(APP_DEFAULT_DIAL_PATH) + "/" + registeredDials[Id] + ".bin";
+    WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "GetdialPath is %s", path.c_str());
+    return path;
+  }
+  WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "GetdialPath is error");
+  return "";
+}
 /* 获取当前表盘Id */
 uint16_t SetDialModel::GetCurrentDialID() {
   if (registeredDials.find(currentDialID) != registeredDials.end()) {
@@ -252,8 +264,9 @@ bool SetDialModel::IsDialInstalled(uint16_t ID) {
     return false;
   }
 }
-/*删除自定义表盘*/
+/*删除自定义表盘文件*/
 bool SetDialModel::DeleteCustomDial(uint16_t Id) {
+#if 0
   // 删除配置文件
   std::string filename = GetSaveDir(Id) + "/" + std::to_string(Id) + ".bin";
   if (!uapi_delete_files(filename.c_str())) {
@@ -356,11 +369,19 @@ bool SetDialModel::DeleteCustomDial(uint16_t Id) {
                   "DeleteCustomDial: Invalid dial ID: %d", Id);
     return false; // ID 不合法
   }
+#endif
+  std::string dirpath = GetSaveDir(Id) + "/";
+  if (uapi_delete_folder(dirpath.c_str()) == -1) {
+    WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP,
+                  "DeleteCustomDial: Failed to delete dial directory: %s",
+                  dirpath.c_str());
+    return false;
+  }
 
   // 所有操作成功  重新加载list
   registeredDials.erase(Id);
   LoadAllDial();
-  WEARABLE_LOGI(WEARABLE_LOG_MODULE_APP,
+  WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP,
                 "DeleteCustomDial: Successfully deleted custom dial with ID %d",
                 Id);
   //删除表盘,更新id文件
index b04a143..c6732a3 100644 (file)
 #include "ohos_types.h"
 #include "graphic_config.h"
 
-namespace OHOS {
-    typedef enum {
+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, /* 主表盘枚举值不能修改 */
+        HEART_RATE,
+        TRAINING,
         COMPASS,
-        ACTIVITY,
+        SLEEP,
+        BLOODOXGEN,
+        GOAL,
+        WEATHER,
         MUSIC_PLAYER,
-        VIDEO_CARD1,
-        VIDEO_CARD2,
-        VIDEO_CARD3,
+        SETCARD,
         MAX_CARD,
     } CardId;
-    static const int CARD_SETTING_COUNT_MAX = MAX_CARD;
-
-    typedef enum {
+#endif
+    /*自定义表盘最多5个*/
+    typedef enum
+    {
         DIAL_CLOCK = 0,
+        DIAL_CLOCK_1 = 1,
+        DIAL_CLOCK_2 = 2,
+        DIAL_CLOCK_3 = 3,
+        DIAL_CLOCK_4 = 4,
+        DIAL_CLOCK_5 = 5,
         DIAL_MAX,
     } DialId;
 
-    typedef enum {
-        DIAL_DISPLAY_MODE_MAIN = 0,
-        DIAL_DISPLAY_MODE_AOD,
-        DIAL_DISPLAY_MODE_MAX,
-    } DialDispayMode;
-
-    #ifndef UNUSED
-    #define UNUSED(x) ((void)(x))
-    #endif
+    /*主界面上下拉界面*/
+    typedef enum
+    {
+        PULLUP,//主界面下拉
+        DROPDOWN,//主界面上拉
+        UNKOWNPAG,
+    }PULLPAGE;
 
-    #define LA_HORIZONTAL_RESOLUTION 400 // watch width
-    #define LA_VERTICAL_RESOLUTION 400   // watch height
-    #define NORMAL_BUTTON_WIDTH 100 // normal button width
-    #define NORMAL_BUTTON_HEIGHT 50 // normal button height
-    #define NORMAL_MARGIN 5 // normal margin
-    #define DIAL_SQUARE 250   // watch plate sauqre
-    #define SETTING_ITEM_HEIGHT 100   // setting item height
-    #define UN_OPACITY 255   // UN_OPACITY
-
-    #define MILLESECOND 1
-    #define SECOND 1000         // 1s 1000ms
-    #define MINUTE (60 * SECOND)  // 1min 60s
-    #define HOUR (60 * MINUTE)    // 1hour 60min
-
-    #define FONT_COMMON 20 // 20px
-    #define X_DRAG_OFFSET 20
-    #define DOUBLES 2
+#ifndef UNUSED
+#define UNUSED(x) ((void)(x))
+#endif
 
-#if !defined (_WIN32)
-    #define APP_RES_PATH "/user/res"
-    #define APP_MUSIC_PATH "/user/music"
-    #define APP_VIDEO_PATH "/user/video"
-    #define APP_DIAL_PATH "/user/dial"
+#define LA_HORIZONTAL_RESOLUTION 400 // watch width
+#define LA_VERTICAL_RESOLUTION 400   // watch height
+#define NORMAL_BUTTON_WIDTH 100      // normal button width
+#define NORMAL_BUTTON_HEIGHT 50      // normal button height
+#define NORMAL_MARGIN 5              // normal margin
+#define DIAL_SQUARE 250              // watch plate sauqre
+#define SETTING_ITEM_HEIGHT 100      // setting item height
+#define UN_OPACITY 255               // UN_OPACITY
+
+#define MILLESECOND 1
+#define SECOND 1000          // 1s 1000ms
+#define MINUTE (60 * SECOND) // 1min 60s
+#define HOUR (60 * MINUTE)   // 1hour 60min
+
+#define FONT_COMMON 20 // 20px
+#define X_DRAG_OFFSET 20
+#define DOUBLES 2
+
+#define APP_RES_PATH "/user/res"
+#ifdef  SINGLE_USER_PARTITION
+#define APP_MUSIC_PATH "/user/music/user_music"
 #else
-#ifdef RELEASE_VERSION
-    #define APP_RES_PATH "res/res"
-    #define APP_MUSIC_PATH "res/music"
-    #define APP_VIDEO_PATH "res/video"
-    #define APP_DIAL_PATH "res/dial"
-#else
-    #define APP_RES_PATH "../../../wearable/res/res"
-    #define APP_MUSIC_PATH "../../../wearable/res/music"
-    #define APP_VIDEO_PATH "../../../wearable/res/video"
-    #define APP_DIAL_PATH "../../../wearable/res/dial"
+#define APP_MUSIC_PATH "/user/userdata/music"
 #endif
+#define APP_VIDEO_PATH "/user/video"
+#define APP_DEFAULT_DIAL_PATH "/user/dial/res_dial" /*默认表盘安装路径*/
+#define APP_DOWNLOAD_DIAL_PATH "/user/dial/offline_dial" /*表盘市场安装路径*/
+#define APP_CUSTOM_DIAL_PATH "/user/dial/custom_dial" /*自定义表盘安装路径*/
+#define APP_LIST_PATH "/user/res/applist_icon"
+#define APP_HEARET_ICON_PATH "/user/res/heart_chart/hearticon"//心率动画
+
+#ifdef SINGLE_USER_PARTITION
+    #define RING_MUSIC "/user/music/ring/ring.mp3"
+#else
+    #define RING_MUSIC "/music/ring/ring.mp3"
 #endif
 
-    static constexpr const char *CARD_CONFIG_PATH = "/user/cardconfig.bin";
-
-    static constexpr const char *CLOCK_IAMGES = APP_RES_PATH"/clock/clock.bin";
-    static constexpr const char *PLAYER_IAMGES = APP_RES_PATH"/player/player.bin";
-    static constexpr const char *COMPASS_IAMGES = APP_RES_PATH"/compass/compass.bin";
-    static constexpr const char *DROPDOWN_IAMGES = APP_RES_PATH"/dropdown/dropdown.bin";
-    static constexpr const char *HEART_IAMGES = APP_RES_PATH"/heart/heart.bin";
-    static constexpr const char *PNG_BLUETOOTH_HINTS_PATH = APP_RES_PATH"/BLUETOOTH_HINTS.bin";
-    static constexpr const char *PNG_BLOODOXYGEN_IMAGE_PATH = APP_RES_PATH"/BLOODOXYGEN_VIEW.bin";
-
-    static constexpr const char *PNG_BLOOD_ICON_ENTER = APP_RES_PATH"/BLOOD_ICON_ENTER.bin";
-
-    static constexpr const char *PNG_AGREEING_IMAGE_PATH = APP_RES_PATH"/AGREEING.bin";
-    static constexpr const char *PNG_DISSGREE_IMAGE_PATH = APP_RES_PATH"/DISSGREE.bin";
-    static constexpr const char *PNG_MICROPHONE_OPEN_IMAGE_PATH = APP_RES_PATH"/MICRO_PHONE_OPEN.bin";
-    static constexpr const char *PNG_MICROPHONE_CLOSE_IMAGE_PATH = APP_RES_PATH"/MICRO_PHONE_CLOSE.bin";
-    static constexpr const char *PNG_HANDUP_IMAGE_PATH = APP_RES_PATH"/HANDUP.bin";
-    static constexpr const char *PNG_ANSWER_TMAGE_PATH = APP_RES_PATH"/ANSWER_PHONE.bin";
-    static constexpr const char *PNG_CALLING_TMAGE_PATH = APP_RES_PATH"/CALLING_PHONE.bin";
-    static constexpr const char *PNG_CALLER_TMAGE_PATH = APP_RES_PATH"/CALLER_LOG_IMAGE.bin";
-    static constexpr const char *PNG_NO_CALLER_LOG_IMAGE = APP_RES_PATH"/NO_CALLER_LOG_IMAGE.bin";
-    static constexpr const char *PNG_APPLIST_CALLER_IMAGE = APP_RES_PATH"/APPLIST_CALLER_IMAGE.bin";
-    static constexpr const char *PNG_APPLIST_COMPASS_IMAGE = APP_RES_PATH"/APPLIST_COMPASS_IMAGE.bin";
+#define MIN_BRIGHTNESS 51   /*最低亮度*/
+#define MAX_BRIGHTNESS 255  /*最高亮度*/
+#define MAX_BRIGHTNESS_HALF 127  /*最高亮度的一半*/
 
-    static constexpr const char *PNG_COUNTDOWN_TIME_IMAGE_0 = APP_RES_PATH"/COUNTDOWN_IMAGE_01.bin";
-    static constexpr const char *PNG_COUNTDOWN_TIME_IMAGE_1 = APP_RES_PATH"/COUNTDOWN_IMAGE_02.bin";
-    static constexpr const char *PNG_COUNTDOWN_TIME_IMAGE_2 = APP_RES_PATH"/COUNTDOWN_IMAGE_03.bin";
-    static constexpr const char *PNG_COUNTDOWN_TIME_IMAGE_3 = APP_RES_PATH"/COUNTDOWN_IMAGE_04.bin";
-    static constexpr const char *PNG_COUNTDOWN_TIME_IMAGE_4 = APP_RES_PATH"/COUNTDOWN_IMAGE_05.bin";
-    static constexpr const char *PNG_COUNTDOWN_TIME_IMAGE_5 = APP_RES_PATH"/COUNTDOWN_IMAGE_06.bin";
-    static constexpr const char *PNG_COUNTDOWN_TIME_IMAGE_6 = APP_RES_PATH"/COUNTDOWN_IMAGE_07.bin";
-    static constexpr const char *PNG_COUNTDOWN_TIME_IMAGE_7 = APP_RES_PATH"/COUNTDOWN_IMAGE_08.bin";
-    static constexpr const char *PNG_COUNTDOWN_TIME_IMAGE_8 = APP_RES_PATH"/COUNTDOWN_IMAGE_09.bin";
-    static constexpr const char *PNG_COUNTDOWN_TIME_IMAGE_9 = APP_RES_PATH"/COUNTDOWN_IMAGE_10.bin";
-    static constexpr const char *PNG_COUNTDOWN_TIME_IMAGE_10 = APP_RES_PATH"/COUNTDOWN_IMAGE_11.bin";
-    static constexpr const char *PNG_COUNTDOWN_TIME_IMAGE_11 = APP_RES_PATH"/COUNTDOWN_IMAGE_12.bin";
-    static constexpr const char *PNG_COUNTDOWN_TIME_IMAGE_12 = APP_RES_PATH"/COUNTDOWN_IMAGE_13.bin";
-    static constexpr const char *PNG_COUNTDOWN_TIME_IMAGE_13 = APP_RES_PATH"/COUNTDOWN_IMAGE_14.bin";
-    static constexpr const char *PNG_COUNTDOWN_TIME_IMAGE_14 = APP_RES_PATH"/COUNTDOWN_IMAGE_15.bin";
-    static constexpr const char *PNG_COUNTDOWN_TIME_IMAGE_15 = APP_RES_PATH"/COUNTDOWN_IMAGE_16.bin";
-    static constexpr const char *PNG_COUNTDOWN_TIME_IMAGE_16 = APP_RES_PATH"/COUNTDOWN_IMAGE_17.bin";
-    static constexpr const char *PNG_COUNTDOWN_TIME_IMAGE_17 = APP_RES_PATH"/COUNTDOWN_IMAGE_18.bin";
-    static constexpr const char *PNG_COUNTDOWN_TIME_IMAGE_18 = APP_RES_PATH"/COUNTDOWN_IMAGE_19.bin";
-    static constexpr const char *PNG_COUNTDOWN_TIME_IMAGE_19 = APP_RES_PATH"/COUNTDOWN_IMAGE_20.bin";
-    static constexpr const char *PNG_COUNTDOWN_TIME_IMAGE_20 = APP_RES_PATH"/COUNTDOWN_IMAGE_21.bin";
-    static constexpr const char *PNG_COUNTDOWN_TIME_IMAGE_21 = APP_RES_PATH"/COUNTDOWN_IMAGE_22.bin";
-    static constexpr const char *PNG_COUNTDOWN_TIME_IMAGE_22 = APP_RES_PATH"/COUNTDOWN_IMAGE_23.bin";
-    static constexpr const char *PNG_COUNTDOWN_TIME_IMAGE_23 = APP_RES_PATH"/COUNTDOWN_IMAGE_24.bin";
-
-    static constexpr const char *PNG_PROGRESS_BAR_TMAGE = APP_RES_PATH"/PROGRESS_BAR_TMAGE.bin";
-    static constexpr const char *TEMP_WAITING = APP_RES_PATH"/TEMP_WAITING.bin";
-    static constexpr const char *TEMP_REPORT = APP_RES_PATH"/TEMP_REPORT.bin";
-    static constexpr const char *TEMP_POINT = APP_RES_PATH"/TEMP_POINT.bin";
-    static constexpr const char *TEMP_REV_POINTER = APP_RES_PATH"/TEMP_REV_POINTER.bin";
-
-    static constexpr const char *PNG_BLOOD_FLOW_IMAGE_0 = APP_RES_PATH"/BLOOD_FLOW_IMAGE_02.bin";
-    static constexpr const char *PNG_BLOOD_FLOW_IMAGE_1 = APP_RES_PATH"/BLOOD_FLOW_IMAGE_03.bin";
-    static constexpr const char *PNG_BLOOD_FLOW_IMAGE_2 = APP_RES_PATH"/BLOOD_FLOW_IMAGE_04.bin";
-    static constexpr const char *PNG_BLOOD_FLOW_IMAGE_3 = APP_RES_PATH"/BLOOD_FLOW_IMAGE_05.bin";
-    static constexpr const char *PNG_BLOOD_FLOW_IMAGE_4 = APP_RES_PATH"/BLOOD_FLOW_IMAGE_06.bin";
-    static constexpr const char *PNG_BLOOD_FLOW_IMAGE_5 = APP_RES_PATH"/BLOOD_FLOW_IMAGE_07.bin";
-    static constexpr const char *PNG_BLOOD_FLOW_IMAGE_6 = APP_RES_PATH"/BLOOD_FLOW_IMAGE_08.bin";
-    static constexpr const char *PNG_BLOOD_FLOW_IMAGE_7 = APP_RES_PATH"/BLOOD_FLOW_IMAGE_09.bin";
-    static constexpr const char *PNG_BLOOD_FLOW_IMAGE_8 = APP_RES_PATH"/BLOOD_FLOW_IMAGE_10.bin";
-    static constexpr const char *PNG_BLOOD_FLOW_IMAGE_9 = APP_RES_PATH"/BLOOD_FLOW_IMAGE_11.bin";
-    static constexpr const char *PNG_BLOOD_FLOW_IMAGE_10 = APP_RES_PATH"/BLOOD_FLOW_IMAGE_12.bin";
-    static constexpr const char *PNG_BLOOD_FLOW_IMAGE_11 = APP_RES_PATH"/BLOOD_FLOW_IMAGE_13.bin";
-    static constexpr const char *PNG_BLOOD_FLOW_IMAGE_12 = APP_RES_PATH"/BLOOD_FLOW_IMAGE_14.bin";
-    static constexpr const char *PNG_BLOOD_FLOW_IMAGE_13 = APP_RES_PATH"/BLOOD_FLOW_IMAGE_15.bin";
-    static constexpr const char *PNG_BLOOD_FLOW_IMAGE_14 = APP_RES_PATH"/BLOOD_FLOW_IMAGE_16.bin";
-    static constexpr const char *PNG_BLOOD_FLOW_IMAGE_15 = APP_RES_PATH"/BLOOD_FLOW_IMAGE_17.bin";
-    static constexpr const char *PNG_BLOOD_FLOW_IMAGE_16 = APP_RES_PATH"/BLOOD_FLOW_IMAGE_18.bin";
-    static constexpr const char *PNG_BLOOD_FLOW_IMAGE_17 = APP_RES_PATH"/BLOOD_FLOW_IMAGE_19.bin";
-    static constexpr const char *PNG_BLOOD_FLOW_IMAGE_18 = APP_RES_PATH"/BLOOD_FLOW_IMAGE_20.bin";
-    static constexpr const char *PNG_BLOOD_FLOW_IMAGE_19 = APP_RES_PATH"/BLOOD_FLOW_IMAGE_21.bin";
-    static constexpr const char *PNG_BLOOD_FLOW_IMAGE_20 = APP_RES_PATH"/BLOOD_FLOW_IMAGE_22.bin";
-    static constexpr const char *PNG_BLOOD_FLOW_IMAGE_21 = APP_RES_PATH"/BLOOD_FLOW_IMAGE_23.bin";
-    static constexpr const char *PNG_BLOOD_FLOW_IMAGE_22 = APP_RES_PATH"/BLOOD_FLOW_IMAGE_24.bin";
-    static constexpr const char *PNG_BLOOD_FLOW_IMAGE_23 = APP_RES_PATH"/BLOOD_FLOW_IMAGE_25.bin";
-    static constexpr const char *PNG_BLOOD_FLOW_IMAGE_24 = APP_RES_PATH"/BLOOD_FLOW_IMAGE_26.bin";
-    static constexpr const char *PNG_BLOOD_FLOW_IMAGE_25 = APP_RES_PATH"/BLOOD_FLOW_IMAGE_27.bin";
-    static constexpr const char *PNG_BLOOD_FLOW_IMAGE_26 = APP_RES_PATH"/BLOOD_FLOW_IMAGE_28.bin";
-    static constexpr const char *PNG_BLOOD_FLOW_IMAGE_27 = APP_RES_PATH"/BLOOD_FLOW_IMAGE_29.bin";
-    static constexpr const char *PNG_BLOOD_FLOW_IMAGE_28 = APP_RES_PATH"/BLOOD_FLOW_IMAGE_30.bin";
-    static constexpr const char *PNG_BLOOD_FLOW_IMAGE_29 = APP_RES_PATH"/BLOOD_FLOW_IMAGE_31.bin";
-    static constexpr const char *PNG_BLOOD_FLOW_IMAGE_30 = APP_RES_PATH"/BLOOD_FLOW_IMAGE_32.bin";
-
-    static constexpr const char *PNG_SOUNDBUTTON2 = APP_RES_PATH"/SOUND_IMAGE.bin";
-    static constexpr const char *PNG_PULLBUTTON_FACE_IMAGE = APP_RES_PATH"/BLOOD_FLOW_IMAGE_01.bin";
-    static constexpr const char *MUSIC_2 = APP_RES_PATH"/mp3_48k_caiqing.mp3";
-    static constexpr const char *MUSIC_1 = APP_RES_PATH"/one.mp3";
-
-    static constexpr const char *PNG_SETTTING_BUTTON_IMAGE = APP_RES_PATH"/SETTTING_BUTTON.bin";
-    static constexpr const char *PNG_BLUETOOTH_IMAGE = APP_RES_PATH"/BLUETOOTH_IMAGE.bin";
-    static constexpr const char *PNG_WATCH_IMAGE = APP_RES_PATH"/WATCH_IMAGE.bin";
-    static constexpr const char *PNG_PHONE_IMAGE = APP_RES_PATH"/PHONE_IMAGE.bin";
-    static constexpr const char *PNG_REBOOT_BUTTON_IMAGE = APP_RES_PATH"/REBOOT_BUTTON.bin";
-    static constexpr const char *PNG_SHUTDOWN_BUTTON_IMAGE = APP_RES_PATH"/SHUTDOWN_BUTTON.bin";
-    static constexpr const char *PNG_SETTTING_REBOOT_IMAGE = APP_RES_PATH"/SETTTING_REBOOT.bin";
-    static constexpr const char *PNG_SETTTING_SHUTDOWN_IMAGE = APP_RES_PATH"/SETTTING_SHUTDOWN.bin";
-    static constexpr const char *PNG_SETTTING_DESKTOP_IMAGE = APP_RES_PATH"/SETTTING_DESKTOP.bin";
-    static constexpr const char *PNG_SET_DESKTOP_LIST_IMAGE = APP_RES_PATH"/SET_DESKTOP_LIST.bin";
-    static constexpr const char *PNG_SET_DESKTOP_HEXAGONS_IMAGE = APP_RES_PATH"/SET_DESKTOP_HEXAGONS.bin";
-    static constexpr const char *PNG_SET_DESKTOP_BG_IMAGE = APP_RES_PATH"/SET_DESKTOP_BG.bin";
-
-    static constexpr const char *PNG_CONNECT_PHONE_IMAGE = APP_RES_PATH"/CONNECT_PHONE.bin";
-    static constexpr const char *PNG_BLUETOOTH_STITLE = APP_RES_PATH"/BLUETOOTH_TITLE.bin";
-
-    static constexpr const char *PNG_NEW_DEVICE = APP_RES_PATH"/NEW_DEVICE.bin";
-    static constexpr const char *PNG_BT_LIST = APP_RES_PATH"/BT_LIST.bin";
-    static constexpr const char *PNG_SELECTION_BOX = APP_RES_PATH"/SELECTION_BOX.bin";
-    static constexpr const char *PNG_GANTAN = APP_RES_PATH"/GANTAN.bin";
-    static constexpr const char *PNG_RIGHT = APP_RES_PATH"/RIGHT.bin";
-
-    static constexpr const char *PNG_NEW_WLAN_WIFI = APP_RES_PATH"/FULL_SIGNAL_OPEN.bin";
-    static constexpr const char *FULL_SIGNAL_ENCRYPTION = APP_RES_PATH"/FULL_SIGNAL_ENCRYPTION.bin";
-
-    static constexpr const char *PNG_MAIN_FACE_IMAGE = APP_RES_PATH"/MAIN_FACE_IMAGE.bin";
-    static constexpr const char *B024_009_IMAGE_PATH = APP_RES_PATH"/HOURHAND.bin";
-    static constexpr const char *B024_010_IMAGE_PATH = APP_RES_PATH"/SECONDHAND.bin";
-    static constexpr const char *B024_011_IMAGE_PATH = APP_RES_PATH"/MINUTEHAND.bin";
-    static constexpr const char *ALARM_ADD_BUTTON_PATH = APP_RES_PATH"/BLUE_ADD.bin";
-    static constexpr const char *ALARM_CLOCK_CLOSE_ADD_PATH = APP_RES_PATH"/CLOSE_RING_CLOCK.bin";
-    static constexpr const char *ALARM_CLOCK_ADD_PATH = APP_RES_PATH"/POP_UP_CLOCK.bin";
-    static constexpr const char *ALARM_CLOCK_POP_ADD_PATH = APP_RES_PATH"/RING_CLOCK.bin";
-    static constexpr const char *ALARM_DELETE_ADD_PATH = APP_RES_PATH"/DELETE.bin";
-    static constexpr const char *ALARM_TRUE_ADD_PATH = APP_RES_PATH"/TRUE_ADD.bin";
-    static constexpr const char *TEMP_MEASURE = APP_RES_PATH"/TEMP_MEASURE.bin";
-    static constexpr const char *TEMP_UP_DROP = APP_RES_PATH"/TEMP_UP_DROP.bin";
-    static constexpr const char *TEMP_EXIT = APP_RES_PATH"/TEMP_EXIT.bin";
-    static constexpr const char *TEMP_ROTATE = APP_RES_PATH"/TEMP_ROTATE.bin";
-    static constexpr const char *TEMP_ICON_ENTER = APP_RES_PATH"/TEMP_ICON_ENTER.bin";
-    static constexpr const char *TEMP_BACKGROUND = APP_RES_PATH"/TEMP_BACKGROUND.bin";
-    static constexpr const char *TEMP_WARN = APP_RES_PATH"/TEMP_WARN.bin";
-    static constexpr const char *TEMP_LITTLE_MEASURE = APP_RES_PATH"/TEMP_LITTLE_MEASURE.bin";
-    static constexpr const char *TEMP_HOT = APP_RES_PATH"/TEMP_HOT.bin";
-    static constexpr const char *TEMP_COLD = APP_RES_PATH"/TEMP_COLD.bin";
-    static constexpr const char *TEMP_LIT_TIP = APP_RES_PATH"/TEMP_LIT_TIP.bin";
-    static constexpr const char *TEMP_ABOUT_STUDY = APP_RES_PATH"/TEMP_ABOUT_STUDY.bin";
-    static constexpr const char *TEMP_TRUE = APP_RES_PATH"/TEMP_TRUE.bin";
-    static constexpr const char *TEMP_DELETE = APP_RES_PATH"/TEMP_DELETE.bin";
-
-    static constexpr const char *COMPASS_CALIBRATE_IMAGE = APP_RES_PATH"/COMPASS_CALIBRATE_IMAGE.bin";
-    static constexpr const char *PNG_SETTING_NEXT_IMAGE = APP_RES_PATH"/SETTING_NEXT.bin";
-
-    static constexpr const char *PNG_VOICE_ASSISTANT_IMAGE01 = APP_RES_PATH"/VOICE_ASSISTANT_01.bin";
-    static constexpr const char *PNG_VOICE_ASSISTANT_IMAGE02 = APP_RES_PATH"/VOICE_ASSISTANT_02.bin";
-    static constexpr const char *PNG_VOICE_ASSISTANT_IMAGE03 = APP_RES_PATH"/VOICE_ASSISTANT_03.bin";
-    static constexpr const char *PNG_VOICE_ASSISTANT_IMAGE04 = APP_RES_PATH"/VOICE_ASSISTANT_04.bin";
-    static constexpr const char *PNG_VOICE_ASSISTANT_IMAGE05 = APP_RES_PATH"/VOICE_ASSISTANT_05.bin";
-    static constexpr const char *PNG_VOICE_ASSISTANT_IMAGE06 = APP_RES_PATH"/VOICE_ASSISTANT_06.bin";
-    static constexpr const char *PNG_VOICE_ASSISTANT_IMAGE07 = APP_RES_PATH"/VOICE_ASSISTANT_07.bin";
-    static constexpr const char *PNG_VOICE_ASSISTANT_IMAGE08 = APP_RES_PATH"/VOICE_ASSISTANT_08.bin";
-    static constexpr const char *PNG_VOICE_ASSISTANT_IMAGE09 = APP_RES_PATH"/VOICE_ASSISTANT_09.bin";
-    static constexpr const char *PNG_VOICE_ASSISTANT_IMAGE10 = APP_RES_PATH"/VOICE_ASSISTANT_10.bin";
-    static constexpr const char *PNG_VOICE_ASSISTANT_IMAGE11 = APP_RES_PATH"/VOICE_ASSISTANT_11.bin";
-    static constexpr const char *PNG_VOICE_ASSISTANT_IMAGE12 = APP_RES_PATH"/VOICE_ASSISTANT_12.bin";
-    static constexpr const char *PNG_VOICE_ASSISTANT_IMAGE13 = APP_RES_PATH"/VOICE_ASSISTANT_13.bin";
-    static constexpr const char *PNG_VOICE_ASSISTANT_IMAGE14 = APP_RES_PATH"/VOICE_ASSISTANT_14.bin";
-    static constexpr const char *PNG_VOICE_ASSISTANT_IMAGE15 = APP_RES_PATH"/VOICE_ASSISTANT_15.bin";
-    static constexpr const char *PNG_VOICE_ASSISTANT_IMAGE16 = APP_RES_PATH"/VOICE_ASSISTANT_16.bin";
-    static constexpr const char *PNG_VOICE_ASSISTANT_IMAGE17 = APP_RES_PATH"/VOICE_ASSISTANT_17.bin";
-    static constexpr const char *PNG_VOICE_ASSISTANT_IMAGE18 = APP_RES_PATH"/VOICE_ASSISTANT_18.bin";
-    static constexpr const char *PNG_VOICE_ASSISTANT_IMAGE19 = APP_RES_PATH"/VOICE_ASSISTANT_19.bin";
-    static constexpr const char *PNG_VOICE_ASSISTANT_IMAGE20 = APP_RES_PATH"/VOICE_ASSISTANT_20.bin";
-    static constexpr const char *PNG_VOICE_ASSISTANT_IMAGE21 = APP_RES_PATH"/VOICE_ASSISTANT_21.bin";
-    static constexpr const char *PNG_VOICE_ASSISTANT_IMAGE22 = APP_RES_PATH"/VOICE_ASSISTANT_22.bin";
-    static constexpr const char *PNG_VOICE_ASSISTANT_IMAGE23 = APP_RES_PATH"/VOICE_ASSISTANT_23.bin";
-    static constexpr const char *PNG_VOICE_ASSISTANT_IMAGE24 = APP_RES_PATH"/VOICE_ASSISTANT_24.bin";
-    static constexpr const char *PNG_VOICE_ASSISTANT_IMAGE25 = APP_RES_PATH"/VOICE_ASSISTANT_25.bin";
-    static constexpr const char *PNG_VOICE_ASSISTANT_IMAGE26 = APP_RES_PATH"/VOICE_ASSISTANT_26.bin";
-    static constexpr const char *PNG_VOICE_ASSISTANT_IMAGE27 = APP_RES_PATH"/VOICE_ASSISTANT_27.bin";
-    static constexpr const char *PNG_VOICE_ASSISTANT_IMAGE28 = APP_RES_PATH"/VOICE_ASSISTANT_28.bin";
-    static constexpr const char *PNG_VOICE_ASSISTANT_IMAGE29 = APP_RES_PATH"/VOICE_ASSISTANT_29.bin";
-    static constexpr const char *PNG_VOICE_ASSISTANT_IMAGE30 = APP_RES_PATH"/VOICE_ASSISTANT_30.bin";
-    static constexpr const char *PNG_VOICE_ASSISTANT_IMAGE31 = APP_RES_PATH"/VOICE_ASSISTANT_31.bin";
-    static constexpr const char *PNG_VOICE_ASSISTANT_IMAGE32 = APP_RES_PATH"/VOICE_ASSISTANT_32.bin";
-    static constexpr const char *PNG_VOICE_ASSISTANT_IMAGE33 = APP_RES_PATH"/VOICE_ASSISTANT_33.bin";
-    static constexpr const char *PNG_VOICE_ASSISTANT_IMAGE34 = APP_RES_PATH"/VOICE_ASSISTANT_34.bin";
-    static constexpr const char *PNG_VOICE_ASSISTANT_IMAGE35 = APP_RES_PATH"/VOICE_ASSISTANT_35.bin";
-    static constexpr const char *PNG_VOICE_ASSISTANT_IMAGE36 = APP_RES_PATH"/VOICE_ASSISTANT_36.bin";
-    static constexpr const char *PNG_VOICE_ASSISTANT_IMAGE37 = APP_RES_PATH"/VOICE_ASSISTANT_37.bin";
-    static constexpr const char *PNG_VOICE_ASSISTANT_IMAGE38 = APP_RES_PATH"/VOICE_ASSISTANT_38.bin";
-    static constexpr const char *PNG_VOICE_ASSISTANT_IMAGE39 = APP_RES_PATH"/VOICE_ASSISTANT_39.bin";
-    static constexpr const char *PNG_VOICE_ASSISTANT_IMAGE40 = APP_RES_PATH"/VOICE_ASSISTANT_40.bin";
-    static constexpr const char *PNG_VOICE_ASSISTANT_IMAGE41 = APP_RES_PATH"/VOICE_ASSISTANT_41.bin";
-    static constexpr const char *PNG_VOICE_ASSISTANT_IMAGE42 = APP_RES_PATH"/VOICE_ASSISTANT_42.bin";
-    static constexpr const char *PNG_VOICE_ASSISTANT_IMAGE43 = APP_RES_PATH"/VOICE_ASSISTANT_43.bin";
-    static constexpr const char *PNG_VOICE_ASSISTANT_IMAGE44 = APP_RES_PATH"/VOICE_ASSISTANT_44.bin";
-    static constexpr const char *PNG_VOICE_ASSISTANT_IMAGE45 = APP_RES_PATH"/VOICE_ASSISTANT_45.bin";
-    static constexpr const char *PNG_VOICE_ASSISTANT_IMAGE46 = APP_RES_PATH"/VOICE_ASSISTANT_46.bin";
-    static constexpr const char *PNG_VOICE_ASSISTANT_IMAGE47 = APP_RES_PATH"/VOICE_ASSISTANT_47.bin";
-    static constexpr const char *PNG_VOICE_ASSISTANT_IMAGE48 = APP_RES_PATH"/VOICE_ASSISTANT_48.bin";
-    static constexpr const char *PNG_VOICE_ASSISTANT_IMAGE49 = APP_RES_PATH"/VOICE_ASSISTANT_49.bin";
-    static constexpr const char *PNG_VOICE_ASSISTANT_IMAGE50 = APP_RES_PATH"/VOICE_ASSISTANT_50.bin";
-    static constexpr const char *PNG_VOICE_ASSISTANT_IMAGE51 = APP_RES_PATH"/VOICE_ASSISTANT_51.bin";
-    static constexpr const char *PNG_VOICE_ASSISTANT_IMAGE52 = APP_RES_PATH"/VOICE_ASSISTANT_52.bin";
-    static constexpr const char *PNG_VOICE_ASSISTANT_IMAGE53 = APP_RES_PATH"/VOICE_ASSISTANT_53.bin";
-    static constexpr const char *PNG_VOICE_ASSISTANT_IMAGE54 = APP_RES_PATH"/VOICE_ASSISTANT_54.bin";
-    static constexpr const char *PNG_VOICE_ASSISTANT_IMAGE55 = APP_RES_PATH"/VOICE_ASSISTANT_55.bin";
-    static constexpr const char *PNG_VOICE_ASSISTANT_IMAGE56 = APP_RES_PATH"/VOICE_ASSISTANT_56.bin";
-    static constexpr const char *PNG_VOICE_ASSISTANT_IMAGE57 = APP_RES_PATH"/VOICE_ASSISTANT_57.bin";
-    static constexpr const char *PNG_VOICE_ASSISTANT_IMAGE58 = APP_RES_PATH"/VOICE_ASSISTANT_58.bin";
-    static constexpr const char *PNG_VOICE_ASSISTANT_IMAGE59 = APP_RES_PATH"/VOICE_ASSISTANT_59.bin";
-    static constexpr const char *PNG_VOICE_ASSISTANT_IMAGE60 = APP_RES_PATH"/VOICE_ASSISTANT_60.bin";
-    static constexpr const char *PNG_VOICE_ASSISTANT_IMAGE61 = APP_RES_PATH"/VOICE_ASSISTANT_61.bin";
-    static constexpr const char *PNG_VOICE_ASSISTANT_IMAGE62 = APP_RES_PATH"/VOICE_ASSISTANT_62.bin";
-    static constexpr const char *PNG_VOICE_ASSISTANT_IMAGE63 = APP_RES_PATH"/VOICE_ASSISTANT_63.bin";
-    static constexpr const char *PNG_VOICE_ASSISTANT_IMAGE64 = APP_RES_PATH"/VOICE_ASSISTANT_64.bin";
-    static constexpr const char *PNG_VOICE_ASSISTANT_IMAGE65 = APP_RES_PATH"/VOICE_ASSISTANT_65.bin";
-    static constexpr const char *PNG_VOICE_ASSISTANT_IMAGE66 = APP_RES_PATH"/VOICE_ASSISTANT_66.bin";
-    static constexpr const char *PNG_VOICE_ASSISTANT_IMAGE67 = APP_RES_PATH"/VOICE_ASSISTANT_67.bin";
-    static constexpr const char *PNG_VOICE_ASSISTANT_IMAGE68 = APP_RES_PATH"/VOICE_ASSISTANT_68.bin";
-    static constexpr const char *PNG_VOICE_ASSISTANT_IMAGE69 = APP_RES_PATH"/VOICE_ASSISTANT_69.bin";
-    static constexpr const char *PNG_VOICE_ASSISTANT_IMAGE70 = APP_RES_PATH"/VOICE_ASSISTANT_70.bin";
-    static constexpr const char *PNG_VOICE_ASSISTANT_IMAGE71 = APP_RES_PATH"/VOICE_ASSISTANT_71.bin";
-    static constexpr const char *PNG_APPLIST_VOCASSIST_IMAGE = APP_RES_PATH"/APPLIST_VOCASSIST_IMAGE.bin";
-
-    static constexpr const char *PNG_STEP_SHOE_IMAGE_PATH = APP_RES_PATH"/SHOE_IMAGE.bin";
-
-    static constexpr const char *PNG_A004_070_IMAGE_PATH = APP_RES_PATH"/HEARTBEAT_IMAGE_01.bin";
-    static constexpr const char *PNG_A004_071_IMAGE_PATH = APP_RES_PATH"/HEARTBEAT_IMAGE_02.bin";
-    static constexpr const char *PNG_A004_072_IMAGE_PATH = APP_RES_PATH"/HEARTBEAT_IMAGE_03.bin";
-    static constexpr const char *PNG_A004_073_IMAGE_PATH = APP_RES_PATH"/HEARTBEAT_IMAGE_04.bin";
-    static constexpr const char *PNG_A004_074_IMAGE_PATH = APP_RES_PATH"/HEARTBEAT_IMAGE_05.bin";
-    static constexpr const char *PNG_A004_075_IMAGE_PATH = APP_RES_PATH"/HEARTBEAT_IMAGE_06.bin";
-    static constexpr const char *PNG_A004_076_IMAGE_PATH = APP_RES_PATH"/HEARTBEAT_IMAGE_07.bin";
-    static constexpr const char *PNG_A004_077_IMAGE_PATH = APP_RES_PATH"/HEARTBEAT_IMAGE_08.bin";
-    static constexpr const char *PNG_A004_078_IMAGE_PATH = APP_RES_PATH"/HEARTBEAT_IMAGE_09.bin";
-    static constexpr const char *PNG_A004_079_IMAGE_PATH = APP_RES_PATH"/HEARTBEAT_IMAGE_10.bin";
-    static constexpr const char *PNG_A004_080_IMAGE_PATH = APP_RES_PATH"/HEARTBEAT_IMAGE_11.bin";
-    static constexpr const char *PNG_A004_081_IMAGE_PATH = APP_RES_PATH"/HEARTBEAT_IMAGE_12.bin";
-    static constexpr const char *PNG_A004_082_IMAGE_PATH = APP_RES_PATH"/HEARTBEAT_IMAGE_13.bin";
-    static constexpr const char *PNG_A004_083_IMAGE_PATH = APP_RES_PATH"/HEARTBEAT_IMAGE_14.bin";
-    static constexpr const char *PNG_A004_084_IMAGE_PATH = APP_RES_PATH"/HEARTBEAT_IMAGE_15.bin";
-    static constexpr const char *PNG_A004_085_IMAGE_PATH = APP_RES_PATH"/HEARTBEAT_IMAGE_16.bin";
-    static constexpr const char *PNG_A004_086_IMAGE_PATH = APP_RES_PATH"/HEARTBEAT_IMAGE_17.bin";
-    static constexpr const char *PNG_A004_087_IMAGE_PATH = APP_RES_PATH"/HEARTBEAT_IMAGE_18.bin";
-    static constexpr const char *PNG_A004_088_IMAGE_PATH = APP_RES_PATH"/HEARTBEAT_IMAGE_19.bin";
-
-    static constexpr const char *PNG_A019_080_IMAGE_PATH = APP_RES_PATH"/BLUETOOTH_IMAGE_01.bin";
-    static constexpr const char *PNG_A019_081_IMAGE_PATH = APP_RES_PATH"/BLUETOOTH_IMAGE_02.bin";
-    static constexpr const char *PNG_A019_082_IMAGE_PATH = APP_RES_PATH"/BLUETOOTH_IMAGE_03.bin";
-    static constexpr const char *PNG_A019_083_IMAGE_PATH = APP_RES_PATH"/BLUETOOTH_IMAGE_04.bin";
-    static constexpr const char *PNG_A019_084_IMAGE_PATH = APP_RES_PATH"/BLUETOOTH_IMAGE_05.bin";
-    static constexpr const char *PNG_A019_085_IMAGE_PATH = APP_RES_PATH"/BLUETOOTH_IMAGE_06.bin";
-    static constexpr const char *PNG_A019_086_IMAGE_PATH = APP_RES_PATH"/BLUETOOTH_IMAGE_07.bin";
-    static constexpr const char *PNG_A019_087_IMAGE_PATH = APP_RES_PATH"/BLUETOOTH_IMAGE_08.bin";
-
-    static constexpr const char *PNG_A019_088_IMAGE_PATH = APP_RES_PATH"/BLUETOOTH_IMAGE_09.bin";
-    static constexpr const char *PNG_A019_089_IMAGE_PATH = APP_RES_PATH"/BLUETOOTH_IMAGE_10.bin";
-    static constexpr const char *PNG_A019_090_IMAGE_PATH = APP_RES_PATH"/BLUETOOTH_IMAGE_11.bin";
-    static constexpr const char *PNG_A019_091_IMAGE_PATH = APP_RES_PATH"/BLUETOOTH_IMAGE_12.bin";
-    static constexpr const char *PNG_A019_092_IMAGE_PATH = APP_RES_PATH"/BLUETOOTH_IMAGE_13.bin";
-    static constexpr const char *PNG_A019_093_IMAGE_PATH = APP_RES_PATH"/BLUETOOTH_IMAGE_14.bin";
-    static constexpr const char *PNG_A019_094_IMAGE_PATH = APP_RES_PATH"/BLUETOOTH_IMAGE_15.bin";
-    static constexpr const char *PNG_A019_095_IMAGE_PATH = APP_RES_PATH"/BLUETOOTH_IMAGE_16.bin";
-    static constexpr const char *PNG_BLUETOOTHEAR = APP_RES_PATH"/BLUETOOTHEAR.bin";
-    // AppList
-
-    static constexpr const char *PNG_APPLIST_ALARM_IMAGE = APP_RES_PATH"/APPLIST_ALARM.bin"; // 闹钟
-    static constexpr const char *PNG_APPLIST_SPO2_IMAGE = APP_RES_PATH"/APPLIST_SPO2.bin";  // 血氧
-    static constexpr const char *PNG_APPLIST_SETTING_IMAGE = APP_RES_PATH"/APPLIST_SETTING.bin";  // 设置
-    static constexpr const char *PNG_APPLIST_TEMP_IMAGE = APP_RES_PATH"/TEMP_IMAGE.bin"; // 体温
-
-    static constexpr const char *PNG_APPLIST_ALIPAY_IMAGE = APP_RES_PATH"/alipay_logo.bin"; // 支付宝
-    static constexpr const char *PNG_ALIPAY_BIND_FAILURE = APP_RES_PATH"/ALIPAY_BIND_FAILURE.bin";
-    static constexpr const char *PNG_ALIPAY_BIND_SUCCESS = APP_RES_PATH"/ALIPAY_BIND_SUCCESS.bin";
-    static constexpr const char *PNG_ALIPAY_LIST_PAY = APP_RES_PATH"/ALIPAY_LIST_PAY.bin";
-    static constexpr const char *PNG_ALIPAY_LIST_TRANS = APP_RES_PATH"/ALIPAY_LIST_TRANS.bin";
-    static constexpr const char *PNG_ALIPAY_LIST_SETTING = APP_RES_PATH"/ALIPAY_LIST_SETTING.bin";
-    static constexpr const char *PNG_ALIPAY_LIST_HELP = APP_RES_PATH"/ALIPAY_LIST_HELP.bin";
-    static constexpr const char *PNG_ALIPAY_PAY_ICON_WHITE = APP_RES_PATH"/ALIPAY_PAY_ICON_WHITE.bin";
-    static constexpr const char *PNG_ALIPAY_PAY_ICON_GREY = APP_RES_PATH"/ALIPAY_PAY_ICON_GREY.bin";
+    static constexpr const char *CARD_CONFIG_PATH = "/user/cardconfig.bin";
 
+    /* --------------------------------- 自定义表盘配置 -------------------------------- */
+#ifdef CUSTOM_Z1
+    static constexpr const char *DEFAULT_DIALBACK_PATH = APP_RES_PATH "/dial_soures/z1background.bin";
+    static constexpr const char *DEFAULT_DIALPER_PATH = APP_RES_PATH "/dial_soures/Z1VIEW.bin";
+#elif defined(BOARD_W9) || defined(BOARD_N9)
+    static constexpr const char *DEFAULT_DIALBACK_PATH = APP_RES_PATH "/dial_soures/main_bg.bin";
+    static constexpr const char *DEFAULT_DIALPER_PATH = APP_RES_PATH "/dial_soures/thumbnail.bin";
+#else
+    static constexpr const char *DEFAULT_DIALBACK_PATH = APP_RES_PATH "/dial_soures/MAIN_FACE_IMAGE.bin";
+    static constexpr const char *DEFAULT_DIALPER_PATH = APP_RES_PATH "/dial_soures/KUMIVIEW.bin";
+#endif
+    static constexpr const char *CUSTOM_CLOCK1_DIALBACK_PATH = APP_CUSTOM_DIAL_PATH "/1/main_bg.bin";
+    static constexpr const char *CUSTOM_CLOCK1_DIALPER_PATH = APP_CUSTOM_DIAL_PATH "/1/thumbnail.bin";
+    static constexpr const char *CUSTOM_CLOCK2_DIALBACK_PATH = APP_CUSTOM_DIAL_PATH "/2/main_bg.bin";
+    static constexpr const char *CUSTOM_CLOCK2_DIALPER_PATH = APP_CUSTOM_DIAL_PATH "/2/thumbnail.bin";
+    static constexpr const char *CUSTOM_CLOCK3_DIALBACK_PATH = APP_CUSTOM_DIAL_PATH "/3/main_bg.bin";
+    static constexpr const char *CUSTOM_CLOCK3_DIALPER_PATH = APP_CUSTOM_DIAL_PATH "/3/thumbnail.bin";
+    static constexpr const char *CUSTOM_CLOCK4_DIALBACK_PATH = APP_CUSTOM_DIAL_PATH "/4/main_bg.bin";
+    static constexpr const char *CUSTOM_CLOCK4_DIALPER_PATH = APP_CUSTOM_DIAL_PATH "/4/thumbnail.bin";
+    static constexpr const char *CUSTOM_CLOCK5_DIALBACK_PATH = APP_CUSTOM_DIAL_PATH "/5/main_bg.bin";
+    static constexpr const char *CUSTOM_CLOCK5_DIALPER_PATH = APP_CUSTOM_DIAL_PATH "/5/thumbnail.bin";
+    /* -------------------------------------------------------------------------- */
+    /*卡片管理*/
+    static constexpr const char *PNG_SET_CARD_ADD = APP_RES_PATH "/MainCard/CARD_ADD.bin";
+    static constexpr const char *PNG_SET_CARD_DEL = APP_RES_PATH "/MainCard/CARD_DEL.bin";
+    static constexpr const char *PNG_SET_CARD_HEART = APP_RES_PATH "/MainCard/HeartCard.bin";
+    static constexpr const char *PNG_SET_CARD_BLOOD = APP_RES_PATH "/MainCard/BloodOxygenCard.bin";
+    static constexpr const char *PNG_SET_CARD_TRAIN = APP_RES_PATH "/MainCard/TrainingCard.bin";
+    static constexpr const char *PNG_SET_CARD_COMPASS = APP_RES_PATH "/MainCard/CompassCard.bin";
+    static constexpr const char *PNG_SET_CARD_PLAYER = APP_RES_PATH "/MainCard/MusicCard.bin";
+    static constexpr const char *PNG_SET_CARD_WEATHER = APP_RES_PATH "/MainCard/WeatherCard.bin";
+    static constexpr const char *PNG_SET_CARD_ACTIVITY = APP_RES_PATH "/MainCard/SportCard.bin";
+    static constexpr const char *PNG_SET_CARD_MAIN = APP_RES_PATH "/MainCard/SetMainCard.bin";
+    static constexpr const char *PNG_SET_CARD_SLEEP = APP_RES_PATH "/MainCard/SleepCard.bin";
+    static constexpr const char *DROPDOWN_IAMGES = APP_RES_PATH "/MainCard/dropdown.bin";
+    static constexpr const char *CLOCK_IAMGES = APP_RES_PATH "/MainCard/clock.bin";
+    static constexpr const char *PLAYER_IAMGES = APP_RES_PATH "/MainCard/player.bin";
+    static constexpr const char *COMPASS_IAMGES = APP_RES_PATH "/MainCard/compass.bin";
+    static constexpr const char *HEART_IAMGES = APP_RES_PATH "/MainCard/heart.bin";
+    static constexpr const char *BLOOD_IAMGES = APP_RES_PATH "/MainCard/BloodOxygen.bin";
+    static constexpr const char *TRAINING_IAMGES = APP_RES_PATH "/MainCard/Training.bin";
+    static constexpr const char *MESSAGE_IAMGES = APP_RES_PATH "/MainCard/Message.bin";
+    /* ----------------------------------- 打电话图片 ---------------------------------- */
+    static constexpr const char *PNG_AGREEING_IMAGE_PATH = APP_RES_PATH "/AGREEING.bin";
+    static constexpr const char *PNG_DISSGREE_IMAGE_PATH = APP_RES_PATH "/DISSGREE.bin";
+    static constexpr const char *PNG_BLUETOOTH_HINTS_PATH = APP_RES_PATH "/BLUETOOTH_HINTS.bin";
+    static constexpr const char *PNG_MICROPHONE_OPEN_IMAGE_PATH = APP_RES_PATH "/MICRO_PHONE_OPEN.bin";
+    static constexpr const char *PNG_MICROPHONE_CLOSE_IMAGE_PATH = APP_RES_PATH "/MICRO_PHONE_CLOSE.bin";
+    static constexpr const char *PNG_HANDUP_IMAGE_PATH = APP_RES_PATH "/HANDUP.bin";
+    static constexpr const char *PNG_ANSWER_TMAGE_PATH = APP_RES_PATH "/ANSWER_PHONE.bin";
+    static constexpr const char *PNG_CALLING_TMAGE_PATH = APP_RES_PATH "/CALLING_PHONE.bin";
+    static constexpr const char *PNG_CALLER_TMAGE_PATH = APP_RES_PATH "/CALLER_LOG_IMAGE.bin";
+    static constexpr const char *PNG_NO_CALLER_LOG_IMAGE = APP_RES_PATH "/NO_CALLER_LOG_IMAGE.bin";
+    static constexpr const char *PNG_SOUNDBUTTON2 = APP_RES_PATH "/SOUND_IMAGE.bin";
+
+    /* ----------------------------------- 打电话图片(230) ---------------------------------- */
+    static constexpr const char *PNG_230_MICROPHONE_OPEN_IMAGE_PATH = APP_RES_PATH "/makephone/microphone.bin";
+    static constexpr const char *PNG_230_MICROPHONE_CLOSE_IMAGE_PATH = APP_RES_PATH "/makephone/microphone_1.bin";
+    static constexpr const char *PNG_230_VOICE_OPEN_IMAGE_PATH = APP_RES_PATH "/makephone/voice.bin";
+    static constexpr const char *PNG_230_PERSON_IMAGE_PATH = APP_RES_PATH "/makephone/person.bin";
+    static constexpr const char *PNG_230_VECTOR_IMAGE_PATH = APP_RES_PATH "/makephone/vector.bin";
+    static constexpr const char *PNG_230_DIAL_IMAGE_PATH = APP_RES_PATH "/makephone/dial.bin";
+    static constexpr const char *PNG_230_HEADSET_1_IIMAGE_PATH = APP_RES_PATH "/makephone/headset_1.bin";
+    static constexpr const char *PNG_230_HEADSET_2_IIMAGE_PATH = APP_RES_PATH "/makephone/headset_2.bin";
+    static constexpr const char *PNG_230_HEADSET_3_IIMAGE_PATH = APP_RES_PATH "/makephone/headset_3.bin";
+
+    
+
+    static constexpr const char *PNG_ANSWER_230_TMAGE_PATH = APP_RES_PATH "/Phone/callanswer.bin";
+    static constexpr const char *PNG_HANDUP_230_IMAGE_PATH = APP_RES_PATH "/Phone/callhangup.bin";
+    /* ---------------------------------- 血氧中图片 --------------------------------- */
+    static constexpr const char *PNG_BLOODOXYGEN_IMAGE_PATH = APP_RES_PATH "/BLOODOXYGEN_VIEW.bin";
+    static constexpr const char *PNG_PULLBUTTON_FACE_IMAGE = APP_RES_PATH "/BLOOD_FLOW_IMAGE_01.bin";
+    static constexpr const char *PNG_BLOOD_ICON_ENTER = APP_RES_PATH "/BLOOD_ICON_ENTER.bin";
+    static constexpr const char *PNG_PROGRESS_BAR_TMAGE = APP_RES_PATH "/PROGRESS_BAR_TMAGE.bin";
+    /* --------------------------------- 血氧动画图片 --------------------------------- */
+    static constexpr const char *PNG_BLOOD_FLOW_IMAGE_0 = APP_RES_PATH "/BLOOD_FLOW_IMAGE_02.bin";
+    static constexpr const char *PNG_BLOOD_FLOW_IMAGE_1 = APP_RES_PATH "/BLOOD_FLOW_IMAGE_03.bin";
+    static constexpr const char *PNG_BLOOD_FLOW_IMAGE_2 = APP_RES_PATH "/BLOOD_FLOW_IMAGE_04.bin";
+    static constexpr const char *PNG_BLOOD_FLOW_IMAGE_3 = APP_RES_PATH "/BLOOD_FLOW_IMAGE_05.bin";
+    static constexpr const char *PNG_BLOOD_FLOW_IMAGE_4 = APP_RES_PATH "/BLOOD_FLOW_IMAGE_06.bin";
+    static constexpr const char *PNG_BLOOD_FLOW_IMAGE_5 = APP_RES_PATH "/BLOOD_FLOW_IMAGE_07.bin";
+    static constexpr const char *PNG_BLOOD_FLOW_IMAGE_6 = APP_RES_PATH "/BLOOD_FLOW_IMAGE_08.bin";
+    static constexpr const char *PNG_BLOOD_FLOW_IMAGE_7 = APP_RES_PATH "/BLOOD_FLOW_IMAGE_09.bin";
+    static constexpr const char *PNG_BLOOD_FLOW_IMAGE_8 = APP_RES_PATH "/BLOOD_FLOW_IMAGE_10.bin";
+    static constexpr const char *PNG_BLOOD_FLOW_IMAGE_9 = APP_RES_PATH "/BLOOD_FLOW_IMAGE_11.bin";
+    static constexpr const char *PNG_BLOOD_FLOW_IMAGE_10 = APP_RES_PATH "/BLOOD_FLOW_IMAGE_12.bin";
+    static constexpr const char *PNG_BLOOD_FLOW_IMAGE_11 = APP_RES_PATH "/BLOOD_FLOW_IMAGE_13.bin";
+    static constexpr const char *PNG_BLOOD_FLOW_IMAGE_12 = APP_RES_PATH "/BLOOD_FLOW_IMAGE_14.bin";
+    static constexpr const char *PNG_BLOOD_FLOW_IMAGE_13 = APP_RES_PATH "/BLOOD_FLOW_IMAGE_15.bin";
+    static constexpr const char *PNG_BLOOD_FLOW_IMAGE_14 = APP_RES_PATH "/BLOOD_FLOW_IMAGE_16.bin";
+    static constexpr const char *PNG_BLOOD_FLOW_IMAGE_15 = APP_RES_PATH "/BLOOD_FLOW_IMAGE_17.bin";
+    static constexpr const char *PNG_BLOOD_FLOW_IMAGE_16 = APP_RES_PATH "/BLOOD_FLOW_IMAGE_18.bin";
+    static constexpr const char *PNG_BLOOD_FLOW_IMAGE_17 = APP_RES_PATH "/BLOOD_FLOW_IMAGE_19.bin";
+    static constexpr const char *PNG_BLOOD_FLOW_IMAGE_18 = APP_RES_PATH "/BLOOD_FLOW_IMAGE_20.bin";
+    static constexpr const char *PNG_BLOOD_FLOW_IMAGE_19 = APP_RES_PATH "/BLOOD_FLOW_IMAGE_21.bin";
+    static constexpr const char *PNG_BLOOD_FLOW_IMAGE_20 = APP_RES_PATH "/BLOOD_FLOW_IMAGE_22.bin";
+    static constexpr const char *PNG_BLOOD_FLOW_IMAGE_21 = APP_RES_PATH "/BLOOD_FLOW_IMAGE_23.bin";
+    static constexpr const char *PNG_BLOOD_FLOW_IMAGE_22 = APP_RES_PATH "/BLOOD_FLOW_IMAGE_24.bin";
+    static constexpr const char *PNG_BLOOD_FLOW_IMAGE_23 = APP_RES_PATH "/BLOOD_FLOW_IMAGE_25.bin";
+    static constexpr const char *PNG_BLOOD_FLOW_IMAGE_24 = APP_RES_PATH "/BLOOD_FLOW_IMAGE_26.bin";
+    static constexpr const char *PNG_BLOOD_FLOW_IMAGE_25 = APP_RES_PATH "/BLOOD_FLOW_IMAGE_27.bin";
+    static constexpr const char *PNG_BLOOD_FLOW_IMAGE_26 = APP_RES_PATH "/BLOOD_FLOW_IMAGE_28.bin";
+    static constexpr const char *PNG_BLOOD_FLOW_IMAGE_27 = APP_RES_PATH "/BLOOD_FLOW_IMAGE_29.bin";
+    static constexpr const char *PNG_BLOOD_FLOW_IMAGE_28 = APP_RES_PATH "/BLOOD_FLOW_IMAGE_30.bin";
+    static constexpr const char *PNG_BLOOD_FLOW_IMAGE_29 = APP_RES_PATH "/BLOOD_FLOW_IMAGE_31.bin";
+    static constexpr const char *PNG_BLOOD_FLOW_IMAGE_30 = APP_RES_PATH "/BLOOD_FLOW_IMAGE_32.bin";
+    /* -------------------------------- 血氧动画 ------------------------------------------------- */
+    static constexpr const char *PNG_COUNTDOWN_TIME_IMAGE_0 = APP_RES_PATH "/COUNTDOWN_IMAGE_01.bin";
+    static constexpr const char *PNG_COUNTDOWN_TIME_IMAGE_1 = APP_RES_PATH "/COUNTDOWN_IMAGE_02.bin";
+    static constexpr const char *PNG_COUNTDOWN_TIME_IMAGE_2 = APP_RES_PATH "/COUNTDOWN_IMAGE_03.bin";
+    static constexpr const char *PNG_COUNTDOWN_TIME_IMAGE_3 = APP_RES_PATH "/COUNTDOWN_IMAGE_04.bin";
+    static constexpr const char *PNG_COUNTDOWN_TIME_IMAGE_4 = APP_RES_PATH "/COUNTDOWN_IMAGE_05.bin";
+    static constexpr const char *PNG_COUNTDOWN_TIME_IMAGE_5 = APP_RES_PATH "/COUNTDOWN_IMAGE_06.bin";
+    static constexpr const char *PNG_COUNTDOWN_TIME_IMAGE_6 = APP_RES_PATH "/COUNTDOWN_IMAGE_07.bin";
+    static constexpr const char *PNG_COUNTDOWN_TIME_IMAGE_7 = APP_RES_PATH "/COUNTDOWN_IMAGE_08.bin";
+    static constexpr const char *PNG_COUNTDOWN_TIME_IMAGE_8 = APP_RES_PATH "/COUNTDOWN_IMAGE_09.bin";
+    static constexpr const char *PNG_COUNTDOWN_TIME_IMAGE_9 = APP_RES_PATH "/COUNTDOWN_IMAGE_10.bin";
+    static constexpr const char *PNG_COUNTDOWN_TIME_IMAGE_10 = APP_RES_PATH "/COUNTDOWN_IMAGE_11.bin";
+    static constexpr const char *PNG_COUNTDOWN_TIME_IMAGE_11 = APP_RES_PATH "/COUNTDOWN_IMAGE_12.bin";
+    static constexpr const char *PNG_COUNTDOWN_TIME_IMAGE_12 = APP_RES_PATH "/COUNTDOWN_IMAGE_13.bin";
+    static constexpr const char *PNG_COUNTDOWN_TIME_IMAGE_13 = APP_RES_PATH "/COUNTDOWN_IMAGE_14.bin";
+    static constexpr const char *PNG_COUNTDOWN_TIME_IMAGE_14 = APP_RES_PATH "/COUNTDOWN_IMAGE_15.bin";
+    static constexpr const char *PNG_COUNTDOWN_TIME_IMAGE_15 = APP_RES_PATH "/COUNTDOWN_IMAGE_16.bin";
+    static constexpr const char *PNG_COUNTDOWN_TIME_IMAGE_16 = APP_RES_PATH "/COUNTDOWN_IMAGE_17.bin";
+    static constexpr const char *PNG_COUNTDOWN_TIME_IMAGE_17 = APP_RES_PATH "/COUNTDOWN_IMAGE_18.bin";
+    static constexpr const char *PNG_COUNTDOWN_TIME_IMAGE_18 = APP_RES_PATH "/COUNTDOWN_IMAGE_19.bin";
+    static constexpr const char *PNG_COUNTDOWN_TIME_IMAGE_19 = APP_RES_PATH "/COUNTDOWN_IMAGE_20.bin";
+    static constexpr const char *PNG_COUNTDOWN_TIME_IMAGE_20 = APP_RES_PATH "/COUNTDOWN_IMAGE_21.bin";
+    static constexpr const char *PNG_COUNTDOWN_TIME_IMAGE_21 = APP_RES_PATH "/COUNTDOWN_IMAGE_22.bin";
+    static constexpr const char *PNG_COUNTDOWN_TIME_IMAGE_22 = APP_RES_PATH "/COUNTDOWN_IMAGE_23.bin";
+    static constexpr const char *PNG_COUNTDOWN_TIME_IMAGE_23 = APP_RES_PATH "/COUNTDOWN_IMAGE_24.bin";
+    /*血氧动画*/
+    static constexpr const char *PNG_CHECK_TIME_IMAGE_0 = APP_RES_PATH "/Blood/spo2_gif/spo2_01.bin";
+    static constexpr const char *PNG_CHECK_TIME_IMAGE_1 = APP_RES_PATH "/Blood/spo2_gif/spo2_02.bin";
+    static constexpr const char *PNG_CHECK_TIME_IMAGE_2 = APP_RES_PATH "/Blood/spo2_gif/spo2_03.bin";
+    static constexpr const char *PNG_CHECK_TIME_IMAGE_3 = APP_RES_PATH "/Blood/spo2_gif/spo2_04.bin";
+    static constexpr const char *PNG_CHECK_TIME_IMAGE_4 = APP_RES_PATH "/Blood/spo2_gif/spo2_05.bin";
+    static constexpr const char *PNG_CHECK_TIME_IMAGE_5 = APP_RES_PATH "/Blood/spo2_gif/spo2_06.bin";
+    static constexpr const char *PNG_CHECK_TIME_IMAGE_6 = APP_RES_PATH "/Blood/spo2_gif/spo2_07.bin";
+    static constexpr const char *PNG_CHECK_TIME_IMAGE_7 = APP_RES_PATH "/Blood/spo2_gif/spo2_08.bin";
+    static constexpr const char *PNG_CHECK_TIME_IMAGE_8 = APP_RES_PATH "/Blood/spo2_gif/spo2_09.bin";
+    static constexpr const char *PNG_CHECK_TIME_IMAGE_9 = APP_RES_PATH "/Blood/spo2_gif/spo2_10.bin";
+    static constexpr const char *PNG_CHECK_TIME_IMAGE_10 = APP_RES_PATH "/Blood/spo2_gif/spo2_11.bin";
+    static constexpr const char *PNG_CHECK_TIME_IMAGE_11 = APP_RES_PATH "/Blood/spo2_gif/spo2_12.bin";
+    static constexpr const char *PNG_CHECK_TIME_IMAGE_12 = APP_RES_PATH "/Blood/spo2_gif/spo2_13.bin";
+    static constexpr const char *PNG_CHECK_TIME_IMAGE_13 = APP_RES_PATH "/Blood/spo2_gif/spo2_14.bin";
+    static constexpr const char *PNG_CHECK_TIME_IMAGE_14 = APP_RES_PATH "/Blood/spo2_gif/spo2_15.bin";
+    static constexpr const char *PNG_CHECK_TIME_IMAGE_15 = APP_RES_PATH "/Blood/spo2_gif/spo2_16.bin";
+    static constexpr const char *PNG_CHECK_TIME_IMAGE_16 = APP_RES_PATH "/Blood/spo2_gif/spo2_17.bin";
+    static constexpr const char *PNG_CHECK_TIME_IMAGE_17 = APP_RES_PATH "/Blood/spo2_gif/spo2_18.bin";
+    static constexpr const char *PNG_CHECK_TIME_IMAGE_18 = APP_RES_PATH "/Blood/spo2_gif/spo2_19.bin";
+    static constexpr const char *PNG_CHECK_TIME_IMAGE_19 = APP_RES_PATH "/Blood/spo2_gif/spo2_20.bin";
+    static constexpr const char *PNG_CHECK_TIME_IMAGE_20 = APP_RES_PATH "/Blood/spo2_gif/spo2_21.bin";
+    static constexpr const char *PNG_CHECK_TIME_IMAGE_21 = APP_RES_PATH "/Blood/spo2_gif/spo2_22.bin";
+    static constexpr const char *PNG_CHECK_TIME_IMAGE_22 = APP_RES_PATH "/Blood/spo2_gif/spo2_23.bin";
+    static constexpr const char *PNG_CHECK_TIME_IMAGE_23 = APP_RES_PATH "/Blood/spo2_gif/spo2_24.bin";
+    static constexpr const char *PNG_CHECK_TIME_IMAGE_24 = APP_RES_PATH "/Blood/spo2_gif/spo2_25.bin";
+    static constexpr const char *PNG_CHECK_TIME_IMAGE_25 = APP_RES_PATH "/Blood/spo2_gif/spo2_26.bin";
+    static constexpr const char *PNG_CHECK_TIME_IMAGE_26 = APP_RES_PATH "/Blood/spo2_gif/spo2_27.bin";
+    static constexpr const char *PNG_CHECK_TIME_IMAGE_27 = APP_RES_PATH "/Blood/spo2_gif/spo2_28.bin";
+    static constexpr const char *PNG_CHECK_TIME_IMAGE_28 = APP_RES_PATH "/Blood/spo2_gif/spo2_29.bin";
+    static constexpr const char *PNG_CHECK_TIME_IMAGE_29 = APP_RES_PATH "/Blood/spo2_gif/spo2_30.bin";
+    /*遥控拍照动画*/
+    static constexpr const char *PNG_TAKE_PHOTO_IMAGE_0 = APP_RES_PATH "/takephotos/cream/1.bin";  
+    static constexpr const char *PNG_TAKE_PHOTO_IMAGE_1 = APP_RES_PATH "/takephotos/cream/2.bin";  
+    static constexpr const char *PNG_TAKE_PHOTO_IMAGE_2 = APP_RES_PATH "/takephotos/cream/3.bin";  
+    static constexpr const char *PNG_TAKE_PHOTO_IMAGE_3 = APP_RES_PATH "/takephotos/cream/4.bin";  
+    static constexpr const char *PNG_TAKE_PHOTO_IMAGE_4 = APP_RES_PATH "/takephotos/cream/5.bin";  
+    static constexpr const char *PNG_TAKE_PHOTO_IMAGE_5 = APP_RES_PATH "/takephotos/cream/6.bin";  
+    static constexpr const char *PNG_TAKE_PHOTO_IMAGE_6 = APP_RES_PATH "/takephotos/cream/7.bin";  
+    static constexpr const char *PNG_TAKE_PHOTO_IMAGE_7 = APP_RES_PATH "/takephotos/cream/8.bin";  
+    static constexpr const char *PNG_TAKE_PHOTO_IMAGE_8 = APP_RES_PATH "/takephotos/cream/9.bin";  
+    static constexpr const char *PNG_TAKE_PHOTO_IMAGE_9 = APP_RES_PATH "/takephotos/cream/10.bin";  
+    static constexpr const char *PNG_TAKE_PHOTO_IMAGE_10 = APP_RES_PATH "/takephotos/cream/11.bin";  
+    static constexpr const char *PNG_TAKE_PHOTO_IMAGE_11 = APP_RES_PATH "/takephotos/cream/12.bin";  
+    static constexpr const char *PNG_TAKE_PHOTO_IMAGE_12 = APP_RES_PATH "/takephotos/cream/13.bin";  
+    static constexpr const char *PNG_TAKE_PHOTO_IMAGE_13 = APP_RES_PATH "/takephotos/cream/14.bin";  
+    static constexpr const char *PNG_TAKE_PHOTO_IMAGE_14 = APP_RES_PATH "/takephotos/cream/15.bin";  
+    static constexpr const char *PNG_TAKE_PHOTO_IMAGE_15 = APP_RES_PATH "/takephotos/cream/16.bin";  
+    static constexpr const char *PNG_TAKE_PHOTO_IMAGE_16 = APP_RES_PATH "/takephotos/cream/17.bin";  
+    static constexpr const char *PNG_TAKE_PHOTO_IMAGE_17 = APP_RES_PATH "/takephotos/cream/18.bin";  
+    static constexpr const char *PNG_TAKE_PHOTO_IMAGE_18 = APP_RES_PATH "/takephotos/cream/19.bin";  
+    static constexpr const char *PNG_TAKE_PHOTO_IMAGE_19 = APP_RES_PATH "/takephotos/cream/20.bin";  
+    static constexpr const char *PNG_TAKE_PHOTO_IMAGE_20 = APP_RES_PATH "/takephotos/cream/21.bin";  
+    static constexpr const char *PNG_TAKE_PHOTO_IMAGE_21 = APP_RES_PATH "/takephotos/cream/22.bin";  
+    static constexpr const char *PNG_TAKE_PHOTO_IMAGE_22 = APP_RES_PATH "/takephotos/cream/23.bin";  
+    static constexpr const char *PNG_TAKE_PHOTO_IMAGE_23 = APP_RES_PATH "/takephotos/cream/24.bin";  
+    static constexpr const char *PNG_TAKE_PHOTO_IMAGE_24 = APP_RES_PATH "/takephotos/cream/25.bin";  
+    static constexpr const char *PNG_TAKE_PHOTO_IMAGE_25 = APP_RES_PATH "/takephotos/cream/26.bin";  
+    static constexpr const char *PNG_TAKE_PHOTO_IMAGE_26 = APP_RES_PATH "/takephotos/cream/27.bin";  
+    static constexpr const char *PNG_TAKE_PHOTO_IMAGE_27 = APP_RES_PATH "/takephotos/cream/28.bin";  
+    static constexpr const char *PNG_TAKE_PHOTO_IMAGE_28 = APP_RES_PATH "/takephotos/cream/29.bin";  
+    static constexpr const char *PNG_TAKE_PHOTO_IMAGE_29 = APP_RES_PATH "/takephotos/cream/30.bin";  
+    static constexpr const char *PNG_TAKE_PHOTO_IMAGE_30 = APP_RES_PATH "/takephotos/cream/31.bin";  
+    static constexpr const char *PNG_TAKE_PHOTO_IMAGE_31 = APP_RES_PATH "/takephotos/cream/32.bin";  
+    static constexpr const char *PNG_TAKE_PHOTO_IMAGE_32 = APP_RES_PATH "/takephotos/cream/33.bin";  
+    static constexpr const char *PNG_TAKE_PHOTO_IMAGE_33 = APP_RES_PATH "/takephotos/cream/34.bin";  
+    static constexpr const char *PNG_TAKE_PHOTO_IMAGE_34 = APP_RES_PATH "/takephotos/cream/35.bin";  
+    static constexpr const char *PNG_TAKE_PHOTO_IMAGE_35 = APP_RES_PATH "/takephotos/cream/36.bin";  
+    static constexpr const char *PNG_TAKE_PHOTO_IMAGE_36 = APP_RES_PATH "/takephotos/cream/37.bin";  
+    static constexpr const char *PNG_TAKE_PHOTO_IMAGE_37 = APP_RES_PATH "/takephotos/cream/38.bin";  
+    static constexpr const char *PNG_TAKE_PHOTO_IMAGE_38 = APP_RES_PATH "/takephotos/cream/39.bin";  
+    static constexpr const char *PNG_TAKE_PHOTO_IMAGE_39 = APP_RES_PATH "/takephotos/cream/40.bin";  
+    static constexpr const char *PNG_TAKE_PHOTO_IMAGE_40 = APP_RES_PATH "/takephotos/cream/41.bin";  
+    static constexpr const char *PNG_TAKE_PHOTO_IMAGE_41 = APP_RES_PATH "/takephotos/cream/42.bin";  
+    static constexpr const char *PNG_TAKE_PHOTO_IMAGE_42 = APP_RES_PATH "/takephotos/cream/43.bin";  
+    static constexpr const char *PNG_TAKE_PHOTO_IMAGE_43 = APP_RES_PATH "/takephotos/cream/44.bin";  
+    static constexpr const char *PNG_TAKE_PHOTO_IMAGE_44 = APP_RES_PATH "/takephotos/cream/45.bin";  
+    static constexpr const char *PNG_TAKE_PHOTO_IMAGE_45 = APP_RES_PATH "/takephotos/cream/46.bin";  
+    static constexpr const char *PNG_TAKE_PHOTO_IMAGE_46 = APP_RES_PATH "/takephotos/cream/47.bin";  
+    static constexpr const char *PNG_TAKE_PHOTO_IMAGE_47 = APP_RES_PATH "/takephotos/cream/48.bin";  
+    static constexpr const char *PNG_TAKE_PHOTO_IMAGE_48 = APP_RES_PATH "/takephotos/cream/49.bin";  
+    static constexpr const char *PNG_TAKE_PHOTO_IMAGE_49 = APP_RES_PATH "/takephotos/cream/50.bin";
+    /*语音助手*/  
+    static constexpr const char *PNG_VOICE_ASSISTANT_IMAGE_0 = APP_RES_PATH "/assistant/assistant_gif/assistant_01.bin";  
+    static constexpr const char *PNG_VOICE_ASSISTANT_IMAGE_1 = APP_RES_PATH "/assistant/assistant_gif/assistant_02.bin";  
+    static constexpr const char *PNG_VOICE_ASSISTANT_IMAGE_2 = APP_RES_PATH "/assistant/assistant_gif/assistant_03.bin";  
+    static constexpr const char *PNG_VOICE_ASSISTANT_IMAGE_3 = APP_RES_PATH "/assistant/assistant_gif/assistant_04.bin";  
+    static constexpr const char *PNG_VOICE_ASSISTANT_IMAGE_4 = APP_RES_PATH "/assistant/assistant_gif/assistant_05.bin";  
+    static constexpr const char *PNG_VOICE_ASSISTANT_IMAGE_5 = APP_RES_PATH "/assistant/assistant_gif/assistant_06.bin";  
+    static constexpr const char *PNG_VOICE_ASSISTANT_IMAGE_6 = APP_RES_PATH "/assistant/assistant_gif/assistant_07.bin";  
+    static constexpr const char *PNG_VOICE_ASSISTANT_IMAGE_7 = APP_RES_PATH "/assistant/assistant_gif/assistant_08.bin";  
+    static constexpr const char *PNG_VOICE_ASSISTANT_IMAGE_8 = APP_RES_PATH "/assistant/assistant_gif/assistant_09.bin";  
+    static constexpr const char *PNG_VOICE_ASSISTANT_IMAGE_9 = APP_RES_PATH "/assistant/assistant_gif/assistant_10.bin";  
+    static constexpr const char *PNG_VOICE_ASSISTANT_IMAGE_10 = APP_RES_PATH "/assistant/assistant_gif/assistant_11.bin";  
+    static constexpr const char *PNG_VOICE_ASSISTANT_IMAGE_11 = APP_RES_PATH "/assistant/assistant_gif/assistant_12.bin";  
+    static constexpr const char *PNG_VOICE_ASSISTANT_IMAGE_12 = APP_RES_PATH "/assistant/assistant_gif/assistant_13.bin";  
+    static constexpr const char *PNG_VOICE_ASSISTANT_IMAGE_13 = APP_RES_PATH "/assistant/assistant_gif/assistant_14.bin";  
+    static constexpr const char *PNG_VOICE_ASSISTANT_IMAGE_14 = APP_RES_PATH "/assistant/assistant_gif/assistant_15.bin";  
+    static constexpr const char *PNG_VOICE_ASSISTANT_IMAGE_15 = APP_RES_PATH "/assistant/assistant_gif/assistant_16.bin";  
+    static constexpr const char *PNG_VOICE_ASSISTANT_IMAGE_16 = APP_RES_PATH "/assistant/assistant_gif/assistant_17.bin";  
+    static constexpr const char *PNG_VOICE_ASSISTANT_IMAGE_17 = APP_RES_PATH "/assistant/assistant_gif/assistant_18.bin";  
+    static constexpr const char *PNG_VOICE_ASSISTANT_IMAGE_18 = APP_RES_PATH "/assistant/assistant_gif/assistant_19.bin";  
+    static constexpr const char *PNG_VOICE_ASSISTANT_IMAGE_19 = APP_RES_PATH "/assistant/assistant_gif/assistant_20.bin";  
+    static constexpr const char *PNG_VOICE_ASSISTANT_IMAGE_20 = APP_RES_PATH "/assistant/assistant_gif/assistant_21.bin";  
+    static constexpr const char *PNG_VOICE_ASSISTANT_IMAGE_21 = APP_RES_PATH "/assistant/assistant_gif/assistant_22.bin";  
+    static constexpr const char *PNG_VOICE_ASSISTANT_IMAGE_22 = APP_RES_PATH "/assistant/assistant_gif/assistant_23.bin";  
+    static constexpr const char *PNG_VOICE_ASSISTANT_IMAGE_23 = APP_RES_PATH "/assistant/assistant_gif/assistant_24.bin";  
+    static constexpr const char *PNG_VOICE_ASSISTANT_IMAGE_24 = APP_RES_PATH "/assistant/assistant_gif/assistant_25.bin";  
+    static constexpr const char *PNG_VOICE_ASSISTANT_IMAGE_25 = APP_RES_PATH "/assistant/assistant_gif/assistant_26.bin";  
+    static constexpr const char *PNG_VOICE_ASSISTANT_IMAGE_26 = APP_RES_PATH "/assistant/assistant_gif/assistant_27.bin";  
+    static constexpr const char *PNG_VOICE_ASSISTANT_IMAGE_27 = APP_RES_PATH "/assistant/assistant_gif/assistant_28.bin";  
+    static constexpr const char *PNG_VOICE_ASSISTANT_IMAGE_28 = APP_RES_PATH "/assistant/assistant_gif/assistant_29.bin";  
+    static constexpr const char *PNG_VOICE_ASSISTANT_IMAGE_29 = APP_RES_PATH "/assistant/assistant_gif/assistant_30.bin";
+    /*运动目标达成*/
+    static constexpr const char *PNG_TRAINING_WIN_IMAGE_01 = APP_RES_PATH "/Training/training_GIF/win/1.bin";  
+    static constexpr const char *PNG_TRAINING_WIN_IMAGE_02 = APP_RES_PATH "/Training/training_GIF/win/2.bin";  
+    static constexpr const char *PNG_TRAINING_WIN_IMAGE_03 = APP_RES_PATH "/Training/training_GIF/win/3.bin";  
+    static constexpr const char *PNG_TRAINING_WIN_IMAGE_04 = APP_RES_PATH "/Training/training_GIF/win/4.bin";  
+    static constexpr const char *PNG_TRAINING_WIN_IMAGE_05 = APP_RES_PATH "/Training/training_GIF/win/5.bin";  
+    static constexpr const char *PNG_TRAINING_WIN_IMAGE_06 = APP_RES_PATH "/Training/training_GIF/win/6.bin";  
+    static constexpr const char *PNG_TRAINING_WIN_IMAGE_07 = APP_RES_PATH "/Training/training_GIF/win/7.bin";  
+    static constexpr const char *PNG_TRAINING_WIN_IMAGE_08 = APP_RES_PATH "/Training/training_GIF/win/8.bin";  
+    static constexpr const char *PNG_TRAINING_WIN_IMAGE_09 = APP_RES_PATH "/Training/training_GIF/win/9.bin";  
+    static constexpr const char *PNG_TRAINING_WIN_IMAGE_10 = APP_RES_PATH "/Training/training_GIF/win/10.bin";  
+    static constexpr const char *PNG_TRAINING_WIN_IMAGE_11 = APP_RES_PATH "/Training/training_GIF/win/11.bin";  
+    static constexpr const char *PNG_TRAINING_WIN_IMAGE_12 = APP_RES_PATH "/Training/training_GIF/win/12.bin";  
+    static constexpr const char *PNG_TRAINING_WIN_IMAGE_13 = APP_RES_PATH "/Training/training_GIF/win/13.bin";  
+    static constexpr const char *PNG_TRAINING_WIN_IMAGE_14 = APP_RES_PATH "/Training/training_GIF/win/14.bin";  
+    static constexpr const char *PNG_TRAINING_WIN_IMAGE_15 = APP_RES_PATH "/Training/training_GIF/win/15.bin";  
+    static constexpr const char *PNG_TRAINING_WIN_IMAGE_16 = APP_RES_PATH "/Training/training_GIF/win/16.bin";  
+    static constexpr const char *PNG_TRAINING_WIN_IMAGE_17 = APP_RES_PATH "/Training/training_GIF/win/17.bin";  
+    static constexpr const char *PNG_TRAINING_WIN_IMAGE_18 = APP_RES_PATH "/Training/training_GIF/win/18.bin";  
+    static constexpr const char *PNG_TRAINING_WIN_IMAGE_19 = APP_RES_PATH "/Training/training_GIF/win/19.bin";  
+    static constexpr const char *PNG_TRAINING_WIN_IMAGE_20 = APP_RES_PATH "/Training/training_GIF/win/20.bin";  
+    static constexpr const char *PNG_TRAINING_WIN_IMAGE_21 = APP_RES_PATH "/Training/training_GIF/win/21.bin";  
+    static constexpr const char *PNG_TRAINING_WIN_IMAGE_22 = APP_RES_PATH "/Training/training_GIF/win/22.bin";  
+    static constexpr const char *PNG_TRAINING_WIN_IMAGE_23 = APP_RES_PATH "/Training/training_GIF/win/23.bin";  
+    static constexpr const char *PNG_TRAINING_WIN_IMAGE_24 = APP_RES_PATH "/Training/training_GIF/win/24.bin";  
+    static constexpr const char *PNG_TRAINING_WIN_IMAGE_25 = APP_RES_PATH "/Training/training_GIF/win/25.bin";  
+    static constexpr const char *PNG_TRAINING_WIN_IMAGE_26 = APP_RES_PATH "/Training/training_GIF/win/26.bin";  
+    static constexpr const char *PNG_TRAINING_WIN_IMAGE_27 = APP_RES_PATH "/Training/training_GIF/win/27.bin";  
+    static constexpr const char *PNG_TRAINING_WIN_IMAGE_28 = APP_RES_PATH "/Training/training_GIF/win/28.bin";  
+    static constexpr const char *PNG_TRAINING_WIN_IMAGE_29 = APP_RES_PATH "/Training/training_GIF/win/29.bin";  
+    static constexpr const char *PNG_TRAINING_WIN_IMAGE_30 = APP_RES_PATH "/Training/training_GIF/win/30.bin";  
+    static constexpr const char *PNG_TRAINING_WIN_IMAGE_31 = APP_RES_PATH "/Training/training_GIF/win/31.bin";  
+    static constexpr const char *PNG_TRAINING_WIN_IMAGE_32 = APP_RES_PATH "/Training/training_GIF/win/32.bin";  
+    static constexpr const char *PNG_TRAINING_WIN_IMAGE_33 = APP_RES_PATH "/Training/training_GIF/win/33.bin";  
+    static constexpr const char *PNG_TRAINING_WIN_IMAGE_34 = APP_RES_PATH "/Training/training_GIF/win/34.bin";  
+    static constexpr const char *PNG_TRAINING_WIN_IMAGE_35 = APP_RES_PATH "/Training/training_GIF/win/35.bin";  
+    static constexpr const char *PNG_TRAINING_WIN_IMAGE_36 = APP_RES_PATH "/Training/training_GIF/win/36.bin";  
+    static constexpr const char *PNG_TRAINING_WIN_IMAGE_37 = APP_RES_PATH "/Training/training_GIF/win/37.bin";  
+    static constexpr const char *PNG_TRAINING_WIN_IMAGE_38 = APP_RES_PATH "/Training/training_GIF/win/38.bin";  
+    static constexpr const char *PNG_TRAINING_WIN_IMAGE_39 = APP_RES_PATH "/Training/training_GIF/win/39.bin";  
+    static constexpr const char *PNG_TRAINING_WIN_IMAGE_40 = APP_RES_PATH "/Training/training_GIF/win/40.bin";  
+    static constexpr const char *PNG_TRAINING_WIN_IMAGE_41 = APP_RES_PATH "/Training/training_GIF/win/41.bin";  
+    static constexpr const char *PNG_TRAINING_WIN_IMAGE_42 = APP_RES_PATH "/Training/training_GIF/win/42.bin";  
+    static constexpr const char *PNG_TRAINING_WIN_IMAGE_43 = APP_RES_PATH "/Training/training_GIF/win/43.bin";  
+    static constexpr const char *PNG_TRAINING_WIN_IMAGE_44 = APP_RES_PATH "/Training/training_GIF/win/44.bin";  
+    static constexpr const char *PNG_TRAINING_WIN_IMAGE_45 = APP_RES_PATH "/Training/training_GIF/win/45.bin";  
+    static constexpr const char *PNG_TRAINING_WIN_IMAGE_46 = APP_RES_PATH "/Training/training_GIF/win/46.bin";  
+    static constexpr const char *PNG_TRAINING_WIN_IMAGE_47 = APP_RES_PATH "/Training/training_GIF/win/47.bin";  
+    static constexpr const char *PNG_TRAINING_WIN_IMAGE_48 = APP_RES_PATH "/Training/training_GIF/win/48.bin";  
+    static constexpr const char *PNG_TRAINING_WIN_IMAGE_49 = APP_RES_PATH "/Training/training_GIF/win/49.bin";  
+    static constexpr const char *PNG_TRAINING_WIN_IMAGE_50 = APP_RES_PATH "/Training/training_GIF/win/50.bin";  
+    static constexpr const char *PNG_TRAINING_WIN_IMAGE_51 = APP_RES_PATH "/Training/training_GIF/win/51.bin";  
+    static constexpr const char *PNG_TRAINING_WIN_IMAGE_52 = APP_RES_PATH "/Training/training_GIF/win/52.bin";  
+    static constexpr const char *PNG_TRAINING_WIN_IMAGE_53 = APP_RES_PATH "/Training/training_GIF/win/53.bin";  
+    static constexpr const char *PNG_TRAINING_WIN_IMAGE_54 = APP_RES_PATH "/Training/training_GIF/win/54.bin";  
+    static constexpr const char *PNG_TRAINING_WIN_IMAGE_55 = APP_RES_PATH "/Training/training_GIF/win/55.bin";  
+    static constexpr const char *PNG_TRAINING_WIN_IMAGE_56 = APP_RES_PATH "/Training/training_GIF/win/56.bin";  
+    static constexpr const char *PNG_TRAINING_WIN_IMAGE_57 = APP_RES_PATH "/Training/training_GIF/win/57.bin";  
+    static constexpr const char *PNG_TRAINING_WIN_IMAGE_58 = APP_RES_PATH "/Training/training_GIF/win/58.bin";  
+    static constexpr const char *PNG_TRAINING_WIN_IMAGE_59 = APP_RES_PATH "/Training/training_GIF/win/59.bin";  
+    static constexpr const char *PNG_TRAINING_WIN_IMAGE_60 = APP_RES_PATH "/Training/training_GIF/win/60.bin";  
+    static constexpr const char *PNG_TRAINING_WIN_IMAGE_61 = APP_RES_PATH "/Training/training_GIF/win/61.bin";  
+    static constexpr const char *PNG_TRAINING_WIN_IMAGE_62 = APP_RES_PATH "/Training/training_GIF/win/62.bin";  
+    static constexpr const char *PNG_TRAINING_WIN_IMAGE_63 = APP_RES_PATH "/Training/training_GIF/win/63.bin";  
+    static constexpr const char *PNG_TRAINING_WIN_IMAGE_64 = APP_RES_PATH "/Training/training_GIF/win/64.bin";  
+    static constexpr const char *PNG_TRAINING_WIN_IMAGE_65 = APP_RES_PATH "/Training/training_GIF/win/65.bin";  
+    static constexpr const char *PNG_TRAINING_WIN_IMAGE_66 = APP_RES_PATH "/Training/training_GIF/win/66.bin";  
+    static constexpr const char *PNG_TRAINING_WIN_IMAGE_67 = APP_RES_PATH "/Training/training_GIF/win/67.bin";  
+    static constexpr const char *PNG_TRAINING_WIN_IMAGE_68 = APP_RES_PATH "/Training/training_GIF/win/68.bin";  
+    static constexpr const char *PNG_TRAINING_WIN_IMAGE_69 = APP_RES_PATH "/Training/training_GIF/win/69.bin";  
+    static constexpr const char *PNG_TRAINING_WIN_IMAGE_70 = APP_RES_PATH "/Training/training_GIF/win/70.bin";  
+    static constexpr const char *PNG_TRAINING_WIN_IMAGE_71 = APP_RES_PATH "/Training/training_GIF/win/71.bin";  
+    static constexpr const char *PNG_TRAINING_WIN_IMAGE_72 = APP_RES_PATH "/Training/training_GIF/win/72.bin";  
+    static constexpr const char *PNG_TRAINING_WIN_IMAGE_73 = APP_RES_PATH "/Training/training_GIF/win/73.bin";  
+    static constexpr const char *PNG_TRAINING_WIN_IMAGE_74 = APP_RES_PATH "/Training/training_GIF/win/74.bin";  
+    static constexpr const char *PNG_TRAINING_WIN_IMAGE_75 = APP_RES_PATH "/Training/training_GIF/win/75.bin";  
+    static constexpr const char *PNG_TRAINING_WIN_IMAGE_76 = APP_RES_PATH "/Training/training_GIF/win/76.bin";  
+    static constexpr const char *PNG_TRAINING_WIN_IMAGE_77 = APP_RES_PATH "/Training/training_GIF/win/77.bin";  
+    static constexpr const char *PNG_TRAINING_WIN_IMAGE_78 = APP_RES_PATH "/Training/training_GIF/win/78.bin";  
+    static constexpr const char *PNG_TRAINING_WIN_IMAGE_79 = APP_RES_PATH "/Training/training_GIF/win/79.bin";  
+    static constexpr const char *PNG_TRAINING_WIN_IMAGE_80 = APP_RES_PATH "/Training/training_GIF/win/80.bin";  
+    static constexpr const char *PNG_TRAINING_WIN_IMAGE_81 = APP_RES_PATH "/Training/training_GIF/win/81.bin";  
+    static constexpr const char *PNG_TRAINING_WIN_IMAGE_82 = APP_RES_PATH "/Training/training_GIF/win/82.bin";  
+    static constexpr const char *PNG_TRAINING_WIN_IMAGE_83 = APP_RES_PATH "/Training/training_GIF/win/83.bin";  
+    static constexpr const char *PNG_TRAINING_WIN_IMAGE_84 = APP_RES_PATH "/Training/training_GIF/win/84.bin";  
+    static constexpr const char *PNG_TRAINING_WIN_IMAGE_85 = APP_RES_PATH "/Training/training_GIF/win/85.bin";  
+    static constexpr const char *PNG_TRAINING_WIN_IMAGE_86 = APP_RES_PATH "/Training/training_GIF/win/86.bin";  
+    static constexpr const char *PNG_TRAINING_WIN_IMAGE_87 = APP_RES_PATH "/Training/training_GIF/win/87.bin";  
+    static constexpr const char *PNG_TRAINING_WIN_IMAGE_88 = APP_RES_PATH "/Training/training_GIF/win/88.bin";  
+    static constexpr const char *PNG_TRAINING_WIN_IMAGE_89 = APP_RES_PATH "/Training/training_GIF/win/89.bin";  
+    static constexpr const char *PNG_TRAINING_WIN_IMAGE_90 = APP_RES_PATH "/Training/training_GIF/win/90.bin";  
+    static constexpr const char *PNG_TRAINING_WIN_IMAGE_91 = APP_RES_PATH "/Training/training_GIF/win/91.bin";  
+    static constexpr const char *PNG_TRAINING_WIN_IMAGE_92 = APP_RES_PATH "/Training/training_GIF/win/92.bin";  
+    static constexpr const char *PNG_TRAINING_WIN_IMAGE_93 = APP_RES_PATH "/Training/training_GIF/win/93.bin";  
+    static constexpr const char *PNG_TRAINING_WIN_IMAGE_94 = APP_RES_PATH "/Training/training_GIF/win/94.bin";
+
+    /*血压动画 30张*/
+    static constexpr const char *PNG_BP_SOS_IMAGE_01 = APP_RES_PATH "/BPCalibration/BP_GIF/bp_sos/bp_sos_01.bin";
+    static constexpr const char *PNG_BP_SOS_IMAGE_02 = APP_RES_PATH "/BPCalibration/BP_GIF/bp_sos/bp_sos_02.bin";
+    static constexpr const char *PNG_BP_SOS_IMAGE_03 = APP_RES_PATH "/BPCalibration/BP_GIF/bp_sos/bp_sos_03.bin";
+    static constexpr const char *PNG_BP_SOS_IMAGE_04 = APP_RES_PATH "/BPCalibration/BP_GIF/bp_sos/bp_sos_04.bin";
+    static constexpr const char *PNG_BP_SOS_IMAGE_05 = APP_RES_PATH "/BPCalibration/BP_GIF/bp_sos/bp_sos_05.bin";
+    static constexpr const char *PNG_BP_SOS_IMAGE_06 = APP_RES_PATH "/BPCalibration/BP_GIF/bp_sos/bp_sos_06.bin";
+    static constexpr const char *PNG_BP_SOS_IMAGE_07 = APP_RES_PATH "/BPCalibration/BP_GIF/bp_sos/bp_sos_07.bin";
+    static constexpr const char *PNG_BP_SOS_IMAGE_08 = APP_RES_PATH "/BPCalibration/BP_GIF/bp_sos/bp_sos_08.bin";
+    static constexpr const char *PNG_BP_SOS_IMAGE_09 = APP_RES_PATH "/BPCalibration/BP_GIF/bp_sos/bp_sos_09.bin";
+    static constexpr const char *PNG_BP_SOS_IMAGE_10 = APP_RES_PATH "/BPCalibration/BP_GIF/bp_sos/bp_sos_10.bin";
+    static constexpr const char *PNG_BP_SOS_IMAGE_11 = APP_RES_PATH "/BPCalibration/BP_GIF/bp_sos/bp_sos_11.bin";
+    static constexpr const char *PNG_BP_SOS_IMAGE_12 = APP_RES_PATH "/BPCalibration/BP_GIF/bp_sos/bp_sos_12.bin";
+    static constexpr const char *PNG_BP_SOS_IMAGE_13 = APP_RES_PATH "/BPCalibration/BP_GIF/bp_sos/bp_sos_13.bin";
+    static constexpr const char *PNG_BP_SOS_IMAGE_14 = APP_RES_PATH "/BPCalibration/BP_GIF/bp_sos/bp_sos_14.bin";
+    static constexpr const char *PNG_BP_SOS_IMAGE_15 = APP_RES_PATH "/BPCalibration/BP_GIF/bp_sos/bp_sos_15.bin";
+    static constexpr const char *PNG_BP_SOS_IMAGE_16 = APP_RES_PATH "/BPCalibration/BP_GIF/bp_sos/bp_sos_16.bin";
+    static constexpr const char *PNG_BP_SOS_IMAGE_17 = APP_RES_PATH "/BPCalibration/BP_GIF/bp_sos/bp_sos_17.bin";
+    static constexpr const char *PNG_BP_SOS_IMAGE_18 = APP_RES_PATH "/BPCalibration/BP_GIF/bp_sos/bp_sos_18.bin";
+    static constexpr const char *PNG_BP_SOS_IMAGE_19 = APP_RES_PATH "/BPCalibration/BP_GIF/bp_sos/bp_sos_19.bin";
+    static constexpr const char *PNG_BP_SOS_IMAGE_20 = APP_RES_PATH "/BPCalibration/BP_GIF/bp_sos/bp_sos_20.bin";
+    static constexpr const char *PNG_BP_SOS_IMAGE_21 = APP_RES_PATH "/BPCalibration/BP_GIF/bp_sos/bp_sos_21.bin";
+    static constexpr const char *PNG_BP_SOS_IMAGE_22 = APP_RES_PATH "/BPCalibration/BP_GIF/bp_sos/bp_sos_22.bin";
+    static constexpr const char *PNG_BP_SOS_IMAGE_23 = APP_RES_PATH "/BPCalibration/BP_GIF/bp_sos/bp_sos_23.bin";
+    static constexpr const char *PNG_BP_SOS_IMAGE_24 = APP_RES_PATH "/BPCalibration/BP_GIF/bp_sos/bp_sos_24.bin";
+    static constexpr const char *PNG_BP_SOS_IMAGE_25 = APP_RES_PATH "/BPCalibration/BP_GIF/bp_sos/bp_sos_25.bin";
+    static constexpr const char *PNG_BP_SOS_IMAGE_26 = APP_RES_PATH "/BPCalibration/BP_GIF/bp_sos/bp_sos_26.bin";
+    static constexpr const char *PNG_BP_SOS_IMAGE_27 = APP_RES_PATH "/BPCalibration/BP_GIF/bp_sos/bp_sos_27.bin";
+    static constexpr const char *PNG_BP_SOS_IMAGE_28 = APP_RES_PATH "/BPCalibration/BP_GIF/bp_sos/bp_sos_28.bin";
+    static constexpr const char *PNG_BP_SOS_IMAGE_29 = APP_RES_PATH "/BPCalibration/BP_GIF/bp_sos/bp_sos_29.bin";
+    static constexpr const char *PNG_BP_SOS_IMAGE_30 = APP_RES_PATH "/BPCalibration/BP_GIF/bp_sos/bp_sos_30.bin";
+    /*ECG动画 30张*/
+    static constexpr const char *PNG_ECG_IMAGE_00 = APP_RES_PATH "/ECG/ECG_GIF/ECG_0.bin";
+    static constexpr const char *PNG_ECG_IMAGE_01 = APP_RES_PATH "/ECG/ECG_GIF/ECG_1.bin";
+    static constexpr const char *PNG_ECG_IMAGE_02 = APP_RES_PATH "/ECG/ECG_GIF/ECG_2.bin";
+    static constexpr const char *PNG_ECG_IMAGE_03 = APP_RES_PATH "/ECG/ECG_GIF/ECG_3.bin";
+    static constexpr const char *PNG_ECG_IMAGE_04 = APP_RES_PATH "/ECG/ECG_GIF/ECG_4.bin";
+    static constexpr const char *PNG_ECG_IMAGE_05 = APP_RES_PATH "/ECG/ECG_GIF/ECG_5.bin";
+    static constexpr const char *PNG_ECG_IMAGE_06 = APP_RES_PATH "/ECG/ECG_GIF/ECG_6.bin";
+    static constexpr const char *PNG_ECG_IMAGE_07 = APP_RES_PATH "/ECG/ECG_GIF/ECG_7.bin";
+    static constexpr const char *PNG_ECG_IMAGE_08 = APP_RES_PATH "/ECG/ECG_GIF/ECG_8.bin";
+    static constexpr const char *PNG_ECG_IMAGE_09 = APP_RES_PATH "/ECG/ECG_GIF/ECG_9.bin";
+    static constexpr const char *PNG_ECG_IMAGE_10 = APP_RES_PATH "/ECG/ECG_GIF/ECG_10.bin";
+    static constexpr const char *PNG_ECG_IMAGE_11 = APP_RES_PATH "/ECG/ECG_GIF/ECG_11.bin";
+    static constexpr const char *PNG_ECG_IMAGE_12 = APP_RES_PATH "/ECG/ECG_GIF/ECG_12.bin";
+    static constexpr const char *PNG_ECG_IMAGE_13 = APP_RES_PATH "/ECG/ECG_GIF/ECG_13.bin";
+    static constexpr const char *PNG_ECG_IMAGE_14 = APP_RES_PATH "/ECG/ECG_GIF/ECG_14.bin";
+    static constexpr const char *PNG_ECG_IMAGE_15 = APP_RES_PATH "/ECG/ECG_GIF/ECG_15.bin";
+    static constexpr const char *PNG_ECG_IMAGE_16 = APP_RES_PATH "/ECG/ECG_GIF/ECG_16.bin";
+    static constexpr const char *PNG_ECG_IMAGE_17 = APP_RES_PATH "/ECG/ECG_GIF/ECG_17.bin";
+    static constexpr const char *PNG_ECG_IMAGE_18 = APP_RES_PATH "/ECG/ECG_GIF/ECG_18.bin";
+    static constexpr const char *PNG_ECG_IMAGE_19 = APP_RES_PATH "/ECG/ECG_GIF/ECG_19.bin";
+    static constexpr const char *PNG_ECG_IMAGE_20 = APP_RES_PATH "/ECG/ECG_GIF/ECG_20.bin";
+    static constexpr const char *PNG_ECG_IMAGE_21 = APP_RES_PATH "/ECG/ECG_GIF/ECG_21.bin";
+    static constexpr const char *PNG_ECG_IMAGE_22 = APP_RES_PATH "/ECG/ECG_GIF/ECG_22.bin";
+    static constexpr const char *PNG_ECG_IMAGE_23 = APP_RES_PATH "/ECG/ECG_GIF/ECG_23.bin";
+    static constexpr const char *PNG_ECG_IMAGE_24 = APP_RES_PATH "/ECG/ECG_GIF/ECG_24.bin";
+    static constexpr const char *PNG_ECG_IMAGE_25 = APP_RES_PATH "/ECG/ECG_GIF/ECG_25.bin";
+    static constexpr const char *PNG_ECG_IMAGE_26 = APP_RES_PATH "/ECG/ECG_GIF/ECG_26.bin";
+    static constexpr const char *PNG_ECG_IMAGE_27 = APP_RES_PATH "/ECG/ECG_GIF/ECG_27.bin";
+    static constexpr const char *PNG_ECG_IMAGE_28 = APP_RES_PATH "/ECG/ECG_GIF/ECG_28.bin";
+    static constexpr const char *PNG_ECG_IMAGE_29 = APP_RES_PATH "/ECG/ECG_GIF/ECG_29.bin";   
+    
+           /*压力,情绪,疲劳度动画 30张*/
+    static constexpr const char *PNG_STRESS_IMAGE_00 = APP_RES_PATH "/Stress/Stress_GIF/analysis_00.bin";
+    static constexpr const char *PNG_STRESS_IMAGE_01 = APP_RES_PATH "/Stress/Stress_GIF/analysis_01.bin";
+    static constexpr const char *PNG_STRESS_IMAGE_02 = APP_RES_PATH "/Stress/Stress_GIF/analysis_02.bin";
+    static constexpr const char *PNG_STRESS_IMAGE_03 = APP_RES_PATH "/Stress/Stress_GIF/analysis_03.bin";
+    static constexpr const char *PNG_STRESS_IMAGE_04 = APP_RES_PATH "/Stress/Stress_GIF/analysis_04.bin";
+    static constexpr const char *PNG_STRESS_IMAGE_05 = APP_RES_PATH "/Stress/Stress_GIF/analysis_05.bin";
+    static constexpr const char *PNG_STRESS_IMAGE_06 = APP_RES_PATH "/Stress/Stress_GIF/analysis_06.bin";
+    static constexpr const char *PNG_STRESS_IMAGE_07 = APP_RES_PATH "/Stress/Stress_GIF/analysis_07.bin";
+    static constexpr const char *PNG_STRESS_IMAGE_08 = APP_RES_PATH "/Stress/Stress_GIF/analysis_08.bin";
+    static constexpr const char *PNG_STRESS_IMAGE_09 = APP_RES_PATH "/Stress/Stress_GIF/analysis_09.bin";
+    static constexpr const char *PNG_STRESS_IMAGE_10 = APP_RES_PATH "/Stress/Stress_GIF/analysis_10.bin";
+    static constexpr const char *PNG_STRESS_IMAGE_11 = APP_RES_PATH "/Stress/Stress_GIF/analysis_11.bin";
+    static constexpr const char *PNG_STRESS_IMAGE_12 = APP_RES_PATH "/Stress/Stress_GIF/analysis_12.bin";
+    static constexpr const char *PNG_STRESS_IMAGE_13 = APP_RES_PATH "/Stress/Stress_GIF/analysis_13.bin";
+    static constexpr const char *PNG_STRESS_IMAGE_14 = APP_RES_PATH "/Stress/Stress_GIF/analysis_14.bin";
+    static constexpr const char *PNG_STRESS_IMAGE_15 = APP_RES_PATH "/Stress/Stress_GIF/analysis_15.bin";
+    static constexpr const char *PNG_STRESS_IMAGE_16 = APP_RES_PATH "/Stress/Stress_GIF/analysis_16.bin";
+    static constexpr const char *PNG_STRESS_IMAGE_17 = APP_RES_PATH "/Stress/Stress_GIF/analysis_17.bin";
+    static constexpr const char *PNG_STRESS_IMAGE_18 = APP_RES_PATH "/Stress/Stress_GIF/analysis_18.bin";
+    static constexpr const char *PNG_STRESS_IMAGE_19 = APP_RES_PATH "/Stress/Stress_GIF/analysis_19.bin";
+    static constexpr const char *PNG_STRESS_IMAGE_20 = APP_RES_PATH "/Stress/Stress_GIF/analysis_20.bin";
+    static constexpr const char *PNG_STRESS_IMAGE_21 = APP_RES_PATH "/Stress/Stress_GIF/analysis_21.bin";
+    static constexpr const char *PNG_STRESS_IMAGE_22 = APP_RES_PATH "/Stress/Stress_GIF/analysis_22.bin";
+    static constexpr const char *PNG_STRESS_IMAGE_23 = APP_RES_PATH "/Stress/Stress_GIF/analysis_23.bin";
+    static constexpr const char *PNG_STRESS_IMAGE_24 = APP_RES_PATH "/Stress/Stress_GIF/analysis_24.bin";
+    static constexpr const char *PNG_STRESS_IMAGE_25 = APP_RES_PATH "/Stress/Stress_GIF/analysis_25.bin";
+    static constexpr const char *PNG_STRESS_IMAGE_26 = APP_RES_PATH "/Stress/Stress_GIF/analysis_26.bin";
+    static constexpr const char *PNG_STRESS_IMAGE_27 = APP_RES_PATH "/Stress/Stress_GIF/analysis_27.bin";
+    static constexpr const char *PNG_STRESS_IMAGE_28 = APP_RES_PATH "/Stress/Stress_GIF/analysis_28.bin";
+    static constexpr const char *PNG_STRESS_IMAGE_29 = APP_RES_PATH "/Stress/Stress_GIF/analysis_29.bin";     
+
+    /* -------------------------------------------------------------------------- */
+    static constexpr const char *PNG_ALIPAY_BIND_FAILURE = APP_RES_PATH "/alipay/ALIPAY_BIND_FAILURE.bin";
+    static constexpr const char *PNG_ALIPAY_BIND_SUCCESS = APP_RES_PATH "/alipay/ALIPAY_BIND_SUCCESS.bin";
+    static constexpr const char *PNG_ALIPAY_LIST_PAY = APP_RES_PATH "/alipay/ALIPAY_LIST_PAY.bin";
+    static constexpr const char *PNG_ALIPAY_LIST_TRANS = APP_RES_PATH "/alipay/ALIPAY_LIST_TRANS.bin";
+    static constexpr const char *PNG_ALIPAY_LIST_SETTING = APP_RES_PATH "/alipay/ALIPAY_LIST_SETTING.bin";
+    static constexpr const char *PNG_ALIPAY_LIST_HELP = APP_RES_PATH "/alipay/ALIPAY_LIST_HELP.bin";
+    static constexpr const char *PNG_ALIPAY_PAY_ICON_WHITE = APP_RES_PATH "/alipay/ALIPAY_PAY_ICON_WHITE.bin";
+    static constexpr const char *PNG_ALIPAY_PAY_ICON_GREY = APP_RES_PATH "/alipay/ALIPAY_PAY_ICON_GREY.bin";
+    static constexpr const char *PNG_ALIPAY_YSE_ICON = APP_RES_PATH "/alipay/yes.bin";
+    static constexpr const char *PNG_ALIPAY_NO_ICON = APP_RES_PATH "/alipay/no.bin";
+    /* ----------------------------------- 录音 ----------------------------------- */
+    static constexpr const char *PNG_RECORD1_IMAGE = APP_RES_PATH "/record/RECORD1.bin";
+    static constexpr const char *PNG_RECORD2_IMAGE = APP_RES_PATH "/record/RECORD2.bin";
+    static constexpr const char *PNG_RECORD3_IMAGE = APP_RES_PATH "/record/RECORD3.bin";
+    /* ---------------------------------- 闹钟图片 ---------------------------------- */
+    static constexpr const char *ALARM_ADD_BUTTON_PATH = APP_RES_PATH "/BLUE_ADD.bin";
+    static constexpr const char *ALARM_CLOCK_CLOSE_ADD_PATH = APP_RES_PATH "/CLOSE_RING_CLOCK.bin";
+    static constexpr const char *ALARM_CLOCK_ADD_PATH = APP_RES_PATH "/POP_UP_CLOCK.bin";
+    static constexpr const char *ALARM_CLOCK_POP_ADD_PATH = APP_RES_PATH "/RING_CLOCK.bin";
+    static constexpr const char *ALARM_DELETE_ADD_PATH = APP_RES_PATH "/DELETE.bin";
+    static constexpr const char *ALARM_TRUE_ADD_PATH = APP_RES_PATH "/TRUE_ADD.bin";
+    /* ---------------------------------- 心率动画图片 ---------------------------------- */
+    static constexpr const char *PNG_A004_070_IMAGE_PATH = APP_HEARET_ICON_PATH "/HEARTICON_01.bin";
+    static constexpr const char *PNG_A004_071_IMAGE_PATH = APP_HEARET_ICON_PATH "/HEARTICON_02.bin";
+    static constexpr const char *PNG_A004_072_IMAGE_PATH = APP_HEARET_ICON_PATH "/HEARTICON_03.bin";
+    static constexpr const char *PNG_A004_073_IMAGE_PATH = APP_HEARET_ICON_PATH "/HEARTICON_04.bin";
+    static constexpr const char *PNG_A004_074_IMAGE_PATH = APP_HEARET_ICON_PATH "/HEARTICON_05.bin";
+    static constexpr const char *PNG_A004_075_IMAGE_PATH = APP_HEARET_ICON_PATH "/HEARTICON_06.bin";
+    static constexpr const char *PNG_A004_076_IMAGE_PATH = APP_HEARET_ICON_PATH "/HEARTICON_07.bin";
+    static constexpr const char *PNG_A004_077_IMAGE_PATH = APP_HEARET_ICON_PATH "/HEARTICON_08.bin";
+    static constexpr const char *PNG_A004_078_IMAGE_PATH = APP_HEARET_ICON_PATH "/HEARTICON_09.bin";
+    static constexpr const char *PNG_A004_079_IMAGE_PATH = APP_HEARET_ICON_PATH "/HEARTICON_10.bin";
+    static constexpr const char *PNG_A004_080_IMAGE_PATH = APP_HEARET_ICON_PATH "/HEARTICON_11.bin";
+    static constexpr const char *PNG_A004_081_IMAGE_PATH = APP_HEARET_ICON_PATH "/HEARTICON_12.bin";
+    static constexpr const char *PNG_A004_082_IMAGE_PATH = APP_HEARET_ICON_PATH "/HEARTICON_13.bin";
+    static constexpr const char *PNG_A004_083_IMAGE_PATH = APP_HEARET_ICON_PATH "/HEARTICON_14.bin";
+    static constexpr const char *PNG_A004_084_IMAGE_PATH = APP_HEARET_ICON_PATH "/HEARTICON_15.bin";
+    static constexpr const char *PNG_A004_085_IMAGE_PATH = APP_HEARET_ICON_PATH "/HEARTICON_16.bin";
+    static constexpr const char *PNG_A004_086_IMAGE_PATH = APP_HEARET_ICON_PATH "/HEARTICON_17.bin";
+    static constexpr const char *PNG_A004_087_IMAGE_PATH = APP_HEARET_ICON_PATH "/HEARTICON_18.bin";
+    static constexpr const char *PNG_A004_088_IMAGE_PATH = APP_HEARET_ICON_PATH "/HEARTICON_19.bin";
+    static constexpr const char *PNG_A004_089_IMAGE_PATH = APP_HEARET_ICON_PATH "/HEARTICON_20.bin";
+    static constexpr const char *PNG_A004_090_IMAGE_PATH = APP_HEARET_ICON_PATH "/HEARTICON_21.bin";
+    /* -------------------------------- 蓝牙搜索的动画图片 ------------------------------- */
+    static constexpr const char *PNG_A019_080_IMAGE_PATH = APP_RES_PATH "/BLUETOOTH_IMAGE_01.bin";
+    static constexpr const char *PNG_A019_081_IMAGE_PATH = APP_RES_PATH "/BLUETOOTH_IMAGE_02.bin";
+    static constexpr const char *PNG_A019_082_IMAGE_PATH = APP_RES_PATH "/BLUETOOTH_IMAGE_03.bin";
+    static constexpr const char *PNG_A019_083_IMAGE_PATH = APP_RES_PATH "/BLUETOOTH_IMAGE_04.bin";
+    static constexpr const char *PNG_A019_084_IMAGE_PATH = APP_RES_PATH "/BLUETOOTH_IMAGE_05.bin";
+    static constexpr const char *PNG_A019_085_IMAGE_PATH = APP_RES_PATH "/BLUETOOTH_IMAGE_06.bin";
+    static constexpr const char *PNG_A019_086_IMAGE_PATH = APP_RES_PATH "/BLUETOOTH_IMAGE_07.bin";
+    static constexpr const char *PNG_A019_087_IMAGE_PATH = APP_RES_PATH "/BLUETOOTH_IMAGE_08.bin";
+    static constexpr const char *PNG_A019_088_IMAGE_PATH = APP_RES_PATH "/BLUETOOTH_IMAGE_09.bin";
+    static constexpr const char *PNG_A019_089_IMAGE_PATH = APP_RES_PATH "/BLUETOOTH_IMAGE_10.bin";
+    static constexpr const char *PNG_A019_090_IMAGE_PATH = APP_RES_PATH "/BLUETOOTH_IMAGE_11.bin";
+    static constexpr const char *PNG_A019_091_IMAGE_PATH = APP_RES_PATH "/BLUETOOTH_IMAGE_12.bin";
+    static constexpr const char *PNG_A019_092_IMAGE_PATH = APP_RES_PATH "/BLUETOOTH_IMAGE_13.bin";
+    static constexpr const char *PNG_A019_093_IMAGE_PATH = APP_RES_PATH "/BLUETOOTH_IMAGE_14.bin";
+    static constexpr const char *PNG_A019_094_IMAGE_PATH = APP_RES_PATH "/BLUETOOTH_IMAGE_15.bin";
+    static constexpr const char *PNG_A019_095_IMAGE_PATH = APP_RES_PATH "/BLUETOOTH_IMAGE_16.bin";
+    static constexpr const char *PNG_BLUETOOTHEAR = APP_RES_PATH "/BLUETOOTHEAR.bin";
+    /* --------------------------------- AppList -------------------------------- */
+
+    static constexpr const char *PNG_APPLIST_THEME_IMAGE = APP_LIST_PATH "/theme.bin";              // 显示方式
+    static constexpr const char *PNG_APPLIST_CARDSET_IMAGE = APP_LIST_PATH "/cardsetting.bin";      // 卡片管理
+    static constexpr const char *PNG_APPLIST_CHANGEDIAL_IMAGE = APP_LIST_PATH "/changedial.bin";    // 切换表盘
+    static constexpr const char *PNG_APPLIST_ALARM_IMAGE = APP_LIST_PATH "/alarm.bin";              // 闹钟
+    static constexpr const char *PNG_APPLIST_SPO2_IMAGE = APP_LIST_PATH "/booldoxygen.bin";         // 血氧
+    static constexpr const char *PNG_APPLIST_BP_MESSURE_IMAGE = APP_LIST_PATH "/blood_pressure.bin";         // 血压测量
+    static constexpr const char *PNG_APPLIST_ECG_IMAGE = APP_LIST_PATH "/ecg.bin";                   // 心电(ECG)测量
+    static constexpr const char *PNG_APPLIST_STRESS_IMAGE = APP_LIST_PATH "/stress.bin";                   // 压力测量
+    static constexpr const char *PNG_APPLIST_FATIGUE_IMAGE = APP_LIST_PATH "/Fatigue_level.bin";                   // 疲劳度测量
+    static constexpr const char *PNG_APPLIST_EMOTION_IMAGE = APP_LIST_PATH "/emotion.bin";           // 情绪测量
+    static constexpr const char *PNG_APPLIST_BP_IMAGE = APP_LIST_PATH "/bp_calibration.bin";         // 血压校准
+    static constexpr const char *PNG_APPLIST_HEART_IMAGE = APP_LIST_PATH "/heart.bin";              // 心率
+    static constexpr const char *PNG_APPLIST_SETTING_IMAGE = APP_LIST_PATH "/setting.bin";          // 设置
+    static constexpr const char *PNG_APPLIST_CALLER_IMAGE = APP_LIST_PATH "/phone.bin";             // 打电话
+    static constexpr const char *PNG_APPLIST_CALLLOG_IMAGE = APP_LIST_PATH "/phonebook.bin";        // 通话记录
+    static constexpr const char *PNG_APPLIST_COMPASS_IMAGE = APP_LIST_PATH "/compass.bin";          // 指南针
+    static constexpr const char *PNG_APPLIST_WEATHER_IMAGE = APP_LIST_PATH "/weather.bin";          // 天气
+    static constexpr const char *PNG_APPLIST_RECORD_IMAGE = APP_LIST_PATH "/recording.bin";         // 录音
+    static constexpr const char *PNG_APPLIST_TRAINING_IMAGE = APP_LIST_PATH "/training.bin";        // 训练
+    static constexpr const char *PNG_APPLIST_TRAINING_RECORD_IMAGE = APP_LIST_PATH "/record.bin";   // 训练记录
+    static constexpr const char *PNG_APPLIST_STOPWATCH_IMAGE = APP_LIST_PATH "/countdown.bin";      // 秒表
+    static constexpr const char *PNG_APPLIST_COUNTDOWN_IMAGE = APP_LIST_PATH "/clock.bin";          // 计时器
+    static constexpr const char *PNG_APPLIST_ALIPAY_IMAGE = APP_LIST_PATH "/alipay.bin";            // 支付宝
+    static constexpr const char *PNG_APPLIST_FINDPHONE_IMAGE = APP_LIST_PATH "/findphone.bin";      // 查找手机
+    static constexpr const char *PNG_APPLIST_DISTURB_IMAGE = APP_LIST_PATH "/disturb.bin";          // 勿扰模式
+    static constexpr const char *PNG_APPLIST_FLASHLIGHT_IMAGE = APP_LIST_PATH "/flashlight.bin";    // 手电筒
+    static constexpr const char *PNG_APPLIST_BRIGHTNESSLEVEL_IMAGE = APP_LIST_PATH "/lighting.bin"; // 亮度调节
+    static constexpr const char *PNG_APPLIST_SAVEELE_IMAGE = APP_LIST_PATH "/save.bin";             // 省电模式
+    static constexpr const char *PNG_APPLIST_MESSAGE_IMAGE = APP_LIST_PATH "/message.bin";          // 消息通知
+    static constexpr const char *PNG_APPLIST_TACKEPHOTOS_IMAGE = APP_LIST_PATH "/assistant.bin";    // 遥控拍照
+    static constexpr const char *PNG_APPLIST_BLUETOOTH_IMAGE = APP_LIST_PATH "/Bluetooth.bin";      // 蓝牙
+    static constexpr const char *PNG_APPLIST_BREATHE_IMAGE = APP_LIST_PATH "/breathe.bin";          // 呼吸训练
+    static constexpr const char *PNG_APPLIST_GOAL_IMAGE = APP_LIST_PATH "/sport.bin";               // 每日目标
+    static constexpr const char *PNG_APPLIST_VOICE_IMAGE = APP_LIST_PATH "/voice.bin";              // 声音
+    static constexpr const char *PNG_APPLIST_AIVOICE_IMAGE = APP_LIST_PATH "/aivoice.bin";          // AI Voice(人工智能语音)
+    static constexpr const char *PNG_APPLIST_SLEEP_IMAGE = APP_LIST_PATH "/sleeping.bin";           // 睡眠
+    static constexpr const char *PNG_APPLIST_INFORMATION_IMAGE = APP_LIST_PATH "/information.bin";  // 计算器
+    static constexpr const char *PNG_APPLIST_MUSIC_IMAGE = APP_LIST_PATH "/music.bin";              // 音乐
+    static constexpr const char *PNG_APPLIST_SCHEDULE_IMAGE = APP_LIST_PATH "/schedule.bin";
+    static constexpr const char *PNG_APPLIST_SMART_IMAGE = APP_LIST_PATH "/smart.bin";              //语音助手
+    static constexpr const char *PNG_APPLIST_CALENDAR_IMAGE = APP_LIST_PATH "/calendar.bin";              //日历
+    //big Icon
+    static constexpr const char *PNG_APPLIST_THEME_IMAGE_BIG = APP_LIST_PATH "/applist_big_icon/theme.bin";              // 显示方式
+    static constexpr const char *PNG_APPLIST_CARDSET_IMAGE_BIG = APP_LIST_PATH "/applist_big_icon/cardsetting.bin";      // 卡片管理
+    static constexpr const char *PNG_APPLIST_CHANGEDIAL_IMAGE_BIG = APP_LIST_PATH "/applist_big_icon/changedial.bin";    // 切换表盘
+    static constexpr const char *PNG_APPLIST_ALARM_IMAGE_BIG = APP_LIST_PATH "/applist_big_icon/alarm.bin";              // 闹钟
+    static constexpr const char *PNG_APPLIST_SPO2_IMAGE_BIG = APP_LIST_PATH "/applist_big_icon/booldoxygen.bin";         // 血氧
+    static constexpr const char *PNG_APPLIST_BP_MESSURE_IMAGE_BIG = APP_LIST_PATH "/applist_big_icon/blood_pressure.bin";   // 血压测量
+    static constexpr const char *PNG_APPLIST_BP_IMAGE_BIG = APP_LIST_PATH "/applist_big_icon/bp_calibration.bin";         // 血压校准
+    static constexpr const char *PNG_APPLIST_EMOTION_IMAGE_BIG = APP_LIST_PATH "/applist_big_icon/emotion.bin";           // 情绪测量
+    static constexpr const char *PNG_APPLIST_ECG_IMAGE_BIG = APP_LIST_PATH "/applist_big_icon/ecg.bin";                   // 心电(ECG)测量
+    static constexpr const char *PNG_APPLIST_STRESS_IMAGE_BIG = APP_LIST_PATH "/applist_big_icon/stress.bin";                   // 压力测量
+    static constexpr const char *PNG_APPLIST_FATIGUE_IMAGE_BIG = APP_LIST_PATH "/applist_big_icon/fatigue_level.bin";                   // 疲劳度测量
+    static constexpr const char *PNG_APPLIST_HEART_IMAGE_BIG = APP_LIST_PATH "/applist_big_icon/heart.bin";              // 心率
+    static constexpr const char *PNG_APPLIST_SETTING_IMAGE_BIG = APP_LIST_PATH "/applist_big_icon/setting.bin";          // 设置
+    static constexpr const char *PNG_APPLIST_CALLER_IMAGE_BIG = APP_LIST_PATH "/applist_big_icon/phone.bin";             // 打电话
+    static constexpr const char *PNG_APPLIST_CALLLOG_IMAGE_BIG = APP_LIST_PATH "/applist_big_icon/phonebook.bin";        // 通话记录
+    static constexpr const char *PNG_APPLIST_COMPASS_IMAGE_BIG = APP_LIST_PATH "/applist_big_icon/compass.bin";          // 指南针
+    static constexpr const char *PNG_APPLIST_WEATHER_IMAGE_BIG = APP_LIST_PATH "/applist_big_icon/weather.bin";          // 天气
+    static constexpr const char *PNG_APPLIST_RECORD_IMAGE_BIG = APP_LIST_PATH "/applist_big_icon/recording.bin";         // 录音
+    static constexpr const char *PNG_APPLIST_TRAINING_IMAGE_BIG = APP_LIST_PATH "/applist_big_icon/training.bin";        // 训练
+    static constexpr const char *PNG_APPLIST_TRAINING_RECORD_IMAGE_BIG = APP_LIST_PATH "/applist_big_icon/record.bin";   // 训练记录
+    static constexpr const char *PNG_APPLIST_STOPWATCH_IMAGE_BIG = APP_LIST_PATH "/applist_big_icon/countdown.bin";      // 秒表
+    static constexpr const char *PNG_APPLIST_COUNTDOWN_IMAGE_BIG = APP_LIST_PATH "/applist_big_icon/clock.bin";          // 计时器
+    static constexpr const char *PNG_APPLIST_ALIPAY_IMAGE_BIG = APP_LIST_PATH "/applist_big_icon/alipay.bin";            // 支付宝
+    static constexpr const char *PNG_APPLIST_FINDPHONE_IMAGE_BIG = APP_LIST_PATH "/applist_big_icon/findphone.bin";      // 查找手机
+    static constexpr const char *PNG_APPLIST_DISTURB_IMAGE_BIG = APP_LIST_PATH "/applist_big_icon/disturb.bin";          // 勿扰模式
+    static constexpr const char *PNG_APPLIST_FLASHLIGHT_IMAGE_BIG = APP_LIST_PATH "/applist_big_icon/flashlight.bin";    // 手电筒
+    static constexpr const char *PNG_APPLIST_BRIGHTNESSLEVEL_IMAGE_BIG = APP_LIST_PATH "/applist_big_icon/lighting.bin"; // 亮度调节
+    static constexpr const char *PNG_APPLIST_SAVEELE_IMAGE_BIG = APP_LIST_PATH "/applist_big_icon/save.bin";             // 省电模式
+    static constexpr const char *PNG_APPLIST_MESSAGE_IMAGE_BIG = APP_LIST_PATH "/applist_big_icon/message.bin";          // 消息通知
+    static constexpr const char *PNG_APPLIST_TACKEPHOTOS_IMAGE_BIG = APP_LIST_PATH "/applist_big_icon/assistant.bin";    // 遥控拍照
+    static constexpr const char *PNG_APPLIST_BLUETOOTH_IMAGE_BIG = APP_LIST_PATH "/applist_big_icon/Bluetooth.bin";      // 蓝牙
+    static constexpr const char *PNG_APPLIST_BREATHE_IMAGE_BIG = APP_LIST_PATH "/applist_big_icon/breathe.bin";          // 呼吸训练
+    static constexpr const char *PNG_APPLIST_GOAL_IMAGE_BIG = APP_LIST_PATH "/applist_big_icon/sport.bin";               // 每日目标
+    static constexpr const char *PNG_APPLIST_VOICE_IMAGE_BIG = APP_LIST_PATH "/applist_big_icon/voice.bin";              // 声音
+    static constexpr const char *PNG_APPLIST_AIVOICE_IMAGE_BIG = APP_LIST_PATH "/applist_big_icon/aivoice.bin";          // AI Voice(人工智能语音)
+    static constexpr const char *PNG_APPLIST_SLEEP_IMAGE_BIG = APP_LIST_PATH "/applist_big_icon/sleeping.bin";           // 睡眠
+    static constexpr const char *PNG_APPLIST_INFORMATION_IMAGE_BIG = APP_LIST_PATH "/applist_big_icon/information.bin";  // 计算器
+    static constexpr const char *PNG_APPLIST_MUSIC_IMAGE_BIG = APP_LIST_PATH "/applist_big_icon/music.bin";              // 音乐
+    static constexpr const char *PNG_APPLIST_SCHEDULE_IMAGE_BIG = APP_LIST_PATH "/applist_big_icon/schedule.bin";
+    static constexpr const char *PNG_APPLIST_SMART_IMAGE_BIG = APP_LIST_PATH "/applist_big_icon/smart.bin";              //语音助手
+    static constexpr const char *PNG_APPLIST_CALENDAR_IMAGE_BIG = APP_LIST_PATH "/applist_big_icon/calendar.bin";        //日历
+  
     // AppList hexagon icon
-    static constexpr const char *PNG_APPLIST_DEFAULT_IMG = APP_RES_PATH"/regular_hexagon.bin";
-    static constexpr const char *PNG_APPLIST_NOTSETUSE_IMG = APP_RES_PATH"/regular_hexagon_inverse.bin";
-
-    // 室内步行
-    static constexpr const char *PNG_APPLIST_WALK_IMAGE = APP_RES_PATH"/APPLIST_WALK.bin"; // Applist图标
-    static constexpr const char *PNG_WALK_BACK_GROUND = APP_RES_PATH"/WALK_BACK_GROUND.bin";
-    static constexpr const char *PNG_WALK_IMAGE = APP_RES_PATH"/INDOORWALK.bin";
-    static constexpr const char *PNG_AEROBIC_IMAGE = APP_RES_PATH"/AEROBIC.bin";
-    static constexpr const char *PNG_ANAEROBIC_IMAGE = APP_RES_PATH"/ANAEROBIC.bin";
-    static constexpr const char *PNG_OPTIONS_BOX1_IMAGE = APP_RES_PATH"/OPTIONS_BOX1.bin";
-    static constexpr const char *PNG_OPTIONS_BOX2_IMAGE = APP_RES_PATH"/OPTIONS_BOX2.bin";
-    static constexpr const char *PNG_OPTIONS_BOX3_IMAGE = APP_RES_PATH"/OPTIONS_BOX3.bin";
-    static constexpr const char *PNG_OPTIONS_BOX4_IMAGE = APP_RES_PATH"/OPTIONS_BOX4.bin";
-    static constexpr const char *PNG_WALK_TIME_IMAGE = APP_RES_PATH"/TIME_IMAGE.bin";
-    static constexpr const char *PNG_WALK_DISTANCES_IMAGE = APP_RES_PATH"/DISTANCES_IMAGE.bin";
-    static constexpr const char *PNG_WALK_HEART_IMAGE = APP_RES_PATH"/HEART_IMAGE.bin";
-    static constexpr const char *PNG_WALK_SPEED_IMAGE = APP_RES_PATH"/SPEED_IMAGE.bin";
-    static constexpr const char *PNG_WALK_STEPS_IMAGE = APP_RES_PATH"/STEPS_IMAGE.bin";
-
-    static constexpr const char *PNG_APPLIST_UI_SAMPLE_IMAGE = APP_RES_PATH"/APPLIST_UI_SAMPLE.bin"; // Applist图标
-
-    static constexpr const char *PNG_SET_CARD_ADD = APP_RES_PATH"/CARD_ADD.bin";
-    static constexpr const char *PNG_SET_CARD_DEL = APP_RES_PATH"/CARD_DEL.bin";
-    static constexpr const char *PNG_SET_CARD_HEART = APP_RES_PATH"/CARD_HEART.bin";
-    static constexpr const char *PNG_SET_CARD_COMPASS = APP_RES_PATH"/CARD_COMPASS.bin";
-    static constexpr const char *PNG_SET_CARD_ACTIVITY = APP_RES_PATH"/CARD_ACTIVITY.bin";
-    static constexpr const char *PNG_SET_CARD_PLAYER = APP_RES_PATH"/CARD_PLAYER.bin";
-    static constexpr const char *PNG_SET_CARD_VIDEO = APP_RES_PATH"/noaudio_5_set.bin";
-    static constexpr const char *PNG_PREVIEW_CARD_VIDEO = APP_RES_PATH"/noaudio_05.bin";
-
-    static constexpr const char *PNG_SET_DIAL_CLOCK = APP_RES_PATH"/DIAL_CLOCK.bin";
+    static constexpr const char *PNG_APPLIST_DEFAULT_IMG = APP_RES_PATH "/regular_hexagon.bin";
+    static constexpr const char *PNG_APPLIST_NOTSETUSE_IMG = APP_RES_PATH "/regular_hexagon_inverse.bin";
+
+    /* ---------------------------------- 快速训练 ---------------------------------- */
+    static constexpr const char *PNG_TRAING_BOUTTONMORE_IMAGE = APP_RES_PATH "/Training/More.bin";
+    static constexpr const char *PNG_TRAING_BUTTONGRONG_IMAGE = APP_RES_PATH "/Training/Bouttonground.bin";
+    static constexpr const char *PNG_TRAING_BUTTONGRONG2_IMAGE = APP_RES_PATH "/Training/Buttonground2.bin";
+    static constexpr const char *PNG_TRAING_RIDINGBIG_IMAGE = APP_RES_PATH "/Training/riding-big2.bin";
+    static constexpr const char *PNG_TRAING_RUNNINGBIG_IMAGE = APP_RES_PATH "/Training/running-big.bin";
+    static constexpr const char *PNG_TRAING_WALKINGBIG_IMAGE = APP_RES_PATH "/Training/walking-big.bin";
+    /* ---------------------------------- 室内步行 ---------------------------------- */
+    static constexpr const char *PNG_APPLIST_WALK_IMAGE = APP_RES_PATH "/APPLIST_WALK.bin"; // Applist图标
+    static constexpr const char *PNG_WALK_BACK_GROUND = APP_RES_PATH "/WALK_BACK_GROUND.bin";
+    static constexpr const char *PNG_WALK_IMAGE = APP_RES_PATH "/INDOORWALK.bin";
+    static constexpr const char *PNG_AEROBIC_IMAGE = APP_RES_PATH "/AEROBIC.bin";
+    static constexpr const char *PNG_ANAEROBIC_IMAGE = APP_RES_PATH "/ANAEROBIC.bin";
+    static constexpr const char *PNG_OPTIONS_BOX1_IMAGE = APP_RES_PATH "/OPTIONS_BOX1.bin";
+    static constexpr const char *PNG_OPTIONS_BOX2_IMAGE = APP_RES_PATH "/OPTIONS_BOX2.bin";
+    static constexpr const char *PNG_OPTIONS_BOX3_IMAGE = APP_RES_PATH "/OPTIONS_BOX3.bin";
+    static constexpr const char *PNG_OPTIONS_BOX4_IMAGE = APP_RES_PATH "/OPTIONS_BOX4.bin";
+    static constexpr const char *PNG_WALK_TIME_IMAGE = APP_RES_PATH "/TIME_IMAGE.bin";
+    static constexpr const char *PNG_WALK_DISTANCES_IMAGE = APP_RES_PATH "/DISTANCES_IMAGE.bin";
+    static constexpr const char *PNG_WALK_HEART_IMAGE = APP_RES_PATH "/HEART_IMAGE.bin";
+    static constexpr const char *PNG_WALK_SPEED_IMAGE = APP_RES_PATH "/SPEED_IMAGE.bin";
+    static constexpr const char *PNG_WALK_STEPS_IMAGE = APP_RES_PATH "/STEPS_IMAGE.bin";
+    /* ----------------------------------- 设置 ----------------------------------- */
+    static constexpr const char *PNG_SETTINGS_DISPLAY_BRIGHTNESS = APP_RES_PATH "/settings/SETTINGS_DISPLAY_BRIGHTNESS.bin";     // 显示与亮度
+    static constexpr const char *PNG_SETTINGS_NETWORKANDCALL = APP_RES_PATH "/settings/SETTINGS_NETWORKANDCALL.bin";             // 通话与网络
+    static constexpr const char *PNG_SETTINGS_BLUETOOTH = APP_RES_PATH "/settings/SETTINGS_BLUETOOTH.bin";                       // 蓝牙
+    static constexpr const char *PNG_SETTINGS_SOUND_VIBRATION = APP_RES_PATH "/settings/SETTINGS_SOUND_VIBRATION.bin";           // 声音与震动
+    static constexpr const char *PNG_SETTINGS_DISPLAY_MODE = APP_RES_PATH "/settings/SETTINGS_DISPLAY_MODE.bin";                 // 显示方式
+    static constexpr const char *PNG_SETTINGS_MOTION_RECOGNITION = APP_RES_PATH "/settings/SETTINGS_MOTION_RECOGNITION.bin";     // 运动识别
+    static constexpr const char *PNG_SETTINGS_SYSTEM = APP_RES_PATH "/settings/SETTINGS_SYSTEM.bin";                             // 系统
+    static constexpr const char *PNG_SETTINGS_DISTURB_IMAGE = APP_RES_PATH "/settings/SETTINGS_DISTURB.bin";                     // 勿扰
+    static constexpr const char *PNG_SETTINGS_CARDSET_IMAGE = APP_RES_PATH "/settings/SETTINGS_CARDSET.bin";                     // 卡片管理
+    static constexpr const char *PNG_SETTINGS_CHANGEDIAL_IMAGE = APP_RES_PATH "/settings/SETTINGS_CHANGEDIAL.bin";               // 表盘浏览特效
+    static constexpr const char *PNG_SETTINGS_SAVEELE_IMAGE = APP_RES_PATH "/settings/SETTINGS_SAVEELE.bin";                     // 省电模式
+    static constexpr const char *PNG_SETTINGS_SHUTDOWN_AND_RESTART = APP_RES_PATH "/settings/SETTINGS_SHUTDOWN_AND_RESTART.bin"; // 关机和重启
+    static constexpr const char *PNG_SETTINGS_SETTTING_SHUTDOWN = APP_RES_PATH "/settings/SETTTING_SHUTDOWN.bin";                // 关机
+    static constexpr const char *PNG_SETTINGS_SETTTING_REBOOT = APP_RES_PATH "/settings/SETTTING_REBOOT.bin";
+    static constexpr const char *PNG_SETTINGS_SETTTING_SOS = APP_RES_PATH "/settings/SOS.bin";                         
+    static constexpr const char *PNG_SETTINGS_SETTTING_SHUTDOWN_1 = APP_RES_PATH "/settings/shutdown.bin";   
+    /* ---------------------------------- 消息中心 ---------------------------------- */
+    static constexpr const char *PNG_Message_System = APP_RES_PATH "/message/system-icon.bin"; // 系统消息
+    static constexpr const char *PNG_Message_Note = APP_RES_PATH "/message/message-icon.bin";  // 短信
+    static constexpr const char *PNG_Message_Wechat = APP_RES_PATH "/message/WeChat-icon.bin"; // 微信消息
+    static constexpr const char *PNG_Message_QQ = APP_RES_PATH "/message/QQ-icon.bin";         // QQ消息
+    /* ---------------------------------- 通用图片 ---------------------------------- */
+    static constexpr const char *PNG_CHECKBOX_OFF_IMAGE = APP_RES_PATH "/CHECKBOX_OFF.bin";                    // checkbox未选中图片
+    static constexpr const char *PNG_CHECKBOX_ON_IMAGE = APP_RES_PATH "/CHECKBOX_ON.bin";                      // checkbox选中图片
+    static constexpr const char *PNG_SETTING_NEXT_IMAGE = APP_RES_PATH "/SETTING_NEXT.bin";                    //  箭头图片
+    static constexpr const char *PNG_SETTING_BACKGROUND_IMAGE = APP_RES_PATH "/SETTING_BACKGROUND.bin";        //  按钮的背景图片
+    static constexpr const char *PNG_VOLUME_CONTROL_VECTOR = APP_RES_PATH "/VolumeControlVector.bin";          //  调节音量图片
+    static constexpr const char *PNG_BRIGHTNESS_CONTROL_VECTOR = APP_RES_PATH "/BringhtnessContuolVector.bin"; // 调节亮度图片
+    static constexpr const char *PNG_SYSTEM_CHECK_ON_IMAGE = APP_RES_PATH "/SYSTEM_CheckOn.bin";               // 勾
+    static constexpr const char *PNG_SYSTEM_CHECK_OFF_IMAGE = APP_RES_PATH "/SYSTEM_CheckOff.bin";             // 叉
+    static constexpr const char *PNG_TOGGLEBUTTON_OFF_IMAGE = APP_RES_PATH "/TOGGLEBUTTON_OFF.bin";            // togglebuttton未选中图片
+    static constexpr const char *PNG_TOGGLEBUTTON_ON_IMAGE = APP_RES_PATH "/TOGGLEBUTTON_ON.bin";              // togglebuttton选中图片
+    static constexpr const char *PNG_ATTENTION_IMAGE = APP_RES_PATH "/Attention.bin";                          // 注意
+    static constexpr const char *PNG_BUTTON_466x100_IMAGE = APP_RES_PATH "/466x100button.bin";
+
+    static constexpr const char *PNG_SUCC_IMAGE = APP_RES_PATH "/OK.bin"; // 成功
+
+    static constexpr const char *PNG_466x100BUTTON_IMAGE = APP_RES_PATH "/466x100button.bin"; // 466x100button图片
+
+    /* ---------------------------------- 智能助手 ---------------------------------- */
+    static constexpr const char *PNG_VOICE_ASSISTANT_IMAGE01 = APP_RES_PATH "/VOICE_ASSISTANT_01.bin";
+    static constexpr const char *PNG_VOICE_ASSISTANT_IMAGE02 = APP_RES_PATH "/VOICE_ASSISTANT_02.bin";
+    static constexpr const char *PNG_VOICE_ASSISTANT_IMAGE03 = APP_RES_PATH "/VOICE_ASSISTANT_03.bin";
+    static constexpr const char *PNG_VOICE_ASSISTANT_IMAGE04 = APP_RES_PATH "/VOICE_ASSISTANT_04.bin";
+    static constexpr const char *PNG_VOICE_ASSISTANT_IMAGE05 = APP_RES_PATH "/VOICE_ASSISTANT_05.bin";
+    static constexpr const char *PNG_VOICE_ASSISTANT_IMAGE06 = APP_RES_PATH "/VOICE_ASSISTANT_06.bin";
+    static constexpr const char *PNG_VOICE_ASSISTANT_IMAGE07 = APP_RES_PATH "/VOICE_ASSISTANT_07.bin";
+    static constexpr const char *PNG_VOICE_ASSISTANT_IMAGE08 = APP_RES_PATH "/VOICE_ASSISTANT_08.bin";
+    static constexpr const char *PNG_VOICE_ASSISTANT_IMAGE09 = APP_RES_PATH "/VOICE_ASSISTANT_09.bin";
+    static constexpr const char *PNG_VOICE_ASSISTANT_IMAGE10 = APP_RES_PATH "/VOICE_ASSISTANT_10.bin";
+    static constexpr const char *PNG_VOICE_ASSISTANT_IMAGE11 = APP_RES_PATH "/VOICE_ASSISTANT_11.bin";
+    static constexpr const char *PNG_VOICE_ASSISTANT_IMAGE12 = APP_RES_PATH "/VOICE_ASSISTANT_12.bin";
+    static constexpr const char *PNG_VOICE_ASSISTANT_IMAGE13 = APP_RES_PATH "/VOICE_ASSISTANT_13.bin";
+    static constexpr const char *PNG_VOICE_ASSISTANT_IMAGE14 = APP_RES_PATH "/VOICE_ASSISTANT_14.bin";
+    static constexpr const char *PNG_VOICE_ASSISTANT_IMAGE15 = APP_RES_PATH "/VOICE_ASSISTANT_15.bin";
+    static constexpr const char *PNG_VOICE_ASSISTANT_IMAGE16 = APP_RES_PATH "/VOICE_ASSISTANT_16.bin";
+    static constexpr const char *PNG_VOICE_ASSISTANT_IMAGE17 = APP_RES_PATH "/VOICE_ASSISTANT_17.bin";
+    static constexpr const char *PNG_VOICE_ASSISTANT_IMAGE18 = APP_RES_PATH "/VOICE_ASSISTANT_18.bin";
+    static constexpr const char *PNG_VOICE_ASSISTANT_IMAGE19 = APP_RES_PATH "/VOICE_ASSISTANT_19.bin";
+    static constexpr const char *PNG_VOICE_ASSISTANT_IMAGE20 = APP_RES_PATH "/VOICE_ASSISTANT_20.bin";
+    static constexpr const char *PNG_VOICE_ASSISTANT_IMAGE21 = APP_RES_PATH "/VOICE_ASSISTANT_21.bin";
+    static constexpr const char *PNG_VOICE_ASSISTANT_IMAGE22 = APP_RES_PATH "/VOICE_ASSISTANT_22.bin";
+    static constexpr const char *PNG_VOICE_ASSISTANT_IMAGE23 = APP_RES_PATH "/VOICE_ASSISTANT_23.bin";
+    static constexpr const char *PNG_VOICE_ASSISTANT_IMAGE24 = APP_RES_PATH "/VOICE_ASSISTANT_24.bin";
+    static constexpr const char *PNG_VOICE_ASSISTANT_IMAGE25 = APP_RES_PATH "/VOICE_ASSISTANT_25.bin";
+    static constexpr const char *PNG_VOICE_ASSISTANT_IMAGE26 = APP_RES_PATH "/VOICE_ASSISTANT_26.bin";
+    static constexpr const char *PNG_VOICE_ASSISTANT_IMAGE27 = APP_RES_PATH "/VOICE_ASSISTANT_27.bin";
+    static constexpr const char *PNG_VOICE_ASSISTANT_IMAGE28 = APP_RES_PATH "/VOICE_ASSISTANT_28.bin";
+    static constexpr const char *PNG_VOICE_ASSISTANT_IMAGE29 = APP_RES_PATH "/VOICE_ASSISTANT_29.bin";
+    static constexpr const char *PNG_VOICE_ASSISTANT_IMAGE30 = APP_RES_PATH "/VOICE_ASSISTANT_30.bin";
+    static constexpr const char *PNG_VOICE_ASSISTANT_IMAGE31 = APP_RES_PATH "/VOICE_ASSISTANT_31.bin";
+    static constexpr const char *PNG_VOICE_ASSISTANT_IMAGE32 = APP_RES_PATH "/VOICE_ASSISTANT_32.bin";
+    static constexpr const char *PNG_VOICE_ASSISTANT_IMAGE33 = APP_RES_PATH "/VOICE_ASSISTANT_33.bin";
+    static constexpr const char *PNG_VOICE_ASSISTANT_IMAGE34 = APP_RES_PATH "/VOICE_ASSISTANT_34.bin";
+    static constexpr const char *PNG_VOICE_ASSISTANT_IMAGE35 = APP_RES_PATH "/VOICE_ASSISTANT_35.bin";
+    static constexpr const char *PNG_VOICE_ASSISTANT_IMAGE36 = APP_RES_PATH "/VOICE_ASSISTANT_36.bin";
+    static constexpr const char *PNG_VOICE_ASSISTANT_IMAGE37 = APP_RES_PATH "/VOICE_ASSISTANT_37.bin";
+    static constexpr const char *PNG_VOICE_ASSISTANT_IMAGE38 = APP_RES_PATH "/VOICE_ASSISTANT_38.bin";
+    static constexpr const char *PNG_VOICE_ASSISTANT_IMAGE39 = APP_RES_PATH "/VOICE_ASSISTANT_39.bin";
+    static constexpr const char *PNG_VOICE_ASSISTANT_IMAGE40 = APP_RES_PATH "/VOICE_ASSISTANT_40.bin";
+    static constexpr const char *PNG_VOICE_ASSISTANT_IMAGE41 = APP_RES_PATH "/VOICE_ASSISTANT_41.bin";
+    static constexpr const char *PNG_VOICE_ASSISTANT_IMAGE42 = APP_RES_PATH "/VOICE_ASSISTANT_42.bin";
+    static constexpr const char *PNG_VOICE_ASSISTANT_IMAGE43 = APP_RES_PATH "/VOICE_ASSISTANT_43.bin";
+    static constexpr const char *PNG_VOICE_ASSISTANT_IMAGE44 = APP_RES_PATH "/VOICE_ASSISTANT_44.bin";
+    static constexpr const char *PNG_VOICE_ASSISTANT_IMAGE45 = APP_RES_PATH "/VOICE_ASSISTANT_45.bin";
+    static constexpr const char *PNG_VOICE_ASSISTANT_IMAGE46 = APP_RES_PATH "/VOICE_ASSISTANT_46.bin";
+    static constexpr const char *PNG_VOICE_ASSISTANT_IMAGE47 = APP_RES_PATH "/VOICE_ASSISTANT_47.bin";
+    static constexpr const char *PNG_VOICE_ASSISTANT_IMAGE48 = APP_RES_PATH "/VOICE_ASSISTANT_48.bin";
+    static constexpr const char *PNG_VOICE_ASSISTANT_IMAGE49 = APP_RES_PATH "/VOICE_ASSISTANT_49.bin";
+    static constexpr const char *PNG_VOICE_ASSISTANT_IMAGE50 = APP_RES_PATH "/VOICE_ASSISTANT_50.bin";
+    static constexpr const char *PNG_VOICE_ASSISTANT_IMAGE51 = APP_RES_PATH "/VOICE_ASSISTANT_51.bin";
+    static constexpr const char *PNG_VOICE_ASSISTANT_IMAGE52 = APP_RES_PATH "/VOICE_ASSISTANT_52.bin";
+    static constexpr const char *PNG_VOICE_ASSISTANT_IMAGE53 = APP_RES_PATH "/VOICE_ASSISTANT_53.bin";
+    static constexpr const char *PNG_VOICE_ASSISTANT_IMAGE54 = APP_RES_PATH "/VOICE_ASSISTANT_54.bin";
+    static constexpr const char *PNG_VOICE_ASSISTANT_IMAGE55 = APP_RES_PATH "/VOICE_ASSISTANT_55.bin";
+    static constexpr const char *PNG_VOICE_ASSISTANT_IMAGE56 = APP_RES_PATH "/VOICE_ASSISTANT_56.bin";
+    static constexpr const char *PNG_VOICE_ASSISTANT_IMAGE57 = APP_RES_PATH "/VOICE_ASSISTANT_57.bin";
+    static constexpr const char *PNG_VOICE_ASSISTANT_IMAGE58 = APP_RES_PATH "/VOICE_ASSISTANT_58.bin";
+    static constexpr const char *PNG_VOICE_ASSISTANT_IMAGE59 = APP_RES_PATH "/VOICE_ASSISTANT_59.bin";
+    static constexpr const char *PNG_VOICE_ASSISTANT_IMAGE60 = APP_RES_PATH "/VOICE_ASSISTANT_60.bin";
+    static constexpr const char *PNG_VOICE_ASSISTANT_IMAGE61 = APP_RES_PATH "/VOICE_ASSISTANT_61.bin";
+    static constexpr const char *PNG_VOICE_ASSISTANT_IMAGE62 = APP_RES_PATH "/VOICE_ASSISTANT_62.bin";
+    static constexpr const char *PNG_VOICE_ASSISTANT_IMAGE63 = APP_RES_PATH "/VOICE_ASSISTANT_63.bin";
+    static constexpr const char *PNG_VOICE_ASSISTANT_IMAGE64 = APP_RES_PATH "/VOICE_ASSISTANT_64.bin";
+    static constexpr const char *PNG_VOICE_ASSISTANT_IMAGE65 = APP_RES_PATH "/VOICE_ASSISTANT_65.bin";
+    static constexpr const char *PNG_VOICE_ASSISTANT_IMAGE66 = APP_RES_PATH "/VOICE_ASSISTANT_66.bin";
+    static constexpr const char *PNG_VOICE_ASSISTANT_IMAGE67 = APP_RES_PATH "/VOICE_ASSISTANT_67.bin";
+    static constexpr const char *PNG_VOICE_ASSISTANT_IMAGE68 = APP_RES_PATH "/VOICE_ASSISTANT_68.bin";
+    static constexpr const char *PNG_VOICE_ASSISTANT_IMAGE69 = APP_RES_PATH "/VOICE_ASSISTANT_69.bin";
+    static constexpr const char *PNG_VOICE_ASSISTANT_IMAGE70 = APP_RES_PATH "/VOICE_ASSISTANT_70.bin";
+    static constexpr const char *PNG_VOICE_ASSISTANT_IMAGE71 = APP_RES_PATH "/VOICE_ASSISTANT_71.bin";
+    static constexpr const char *PNG_APPLIST_VOCASSIST_IMAGE = APP_RES_PATH "/APPLIST_VOCASSIST_IMAGE.bin";
+    /* -------------------------------- 已删除的不必要图片 ------------------------------- */
+    static constexpr const char *PNG_APPLIST_UI_SAMPLE_IMAGE = APP_RES_PATH "/APPLIST_UI_SAMPLE.bin"; // Applist图标
+    static constexpr const char *PNG_APPLIST_TEMP_IMAGE = APP_RES_PATH "/TEMP_IMAGE.bin";
+    static constexpr const char *TEMP_MEASURE = APP_RES_PATH "/TEMP_MEASURE.bin";
+    static constexpr const char *TEMP_UP_DROP = APP_RES_PATH "/TEMP_UP_DROP.bin";
+    static constexpr const char *TEMP_EXIT = APP_RES_PATH "/TEMP_EXIT.bin";
+    static constexpr const char *TEMP_ROTATE = APP_RES_PATH "/TEMP_ROTATE.bin";
+    static constexpr const char *TEMP_ICON_ENTER = APP_RES_PATH "/TEMP_ICON_ENTER.bin";
+    static constexpr const char *TEMP_BACKGROUND = APP_RES_PATH "/TEMP_BACKGROUND.bin";
+    static constexpr const char *TEMP_WARN = APP_RES_PATH "/TEMP_WARN.bin";
+    static constexpr const char *TEMP_LITTLE_MEASURE = APP_RES_PATH "/TEMP_LITTLE_MEASURE.bin";
+    static constexpr const char *TEMP_HOT = APP_RES_PATH "/TEMP_HOT.bin";
+    static constexpr const char *TEMP_COLD = APP_RES_PATH "/TEMP_COLD.bin";
+    static constexpr const char *TEMP_LIT_TIP = APP_RES_PATH "/TEMP_LIT_TIP.bin";
+    static constexpr const char *TEMP_ABOUT_STUDY = APP_RES_PATH "/TEMP_ABOUT_STUDY.bin";
+    static constexpr const char *TEMP_TRUE = APP_RES_PATH "/TEMP_TRUE.bin";
+    static constexpr const char *TEMP_DELETE = APP_RES_PATH "/TEMP_DELETE.bin";
+    static constexpr const char *TEMP_WAITING = APP_RES_PATH "/TEMP_WAITING.bin";
+    static constexpr const char *TEMP_REPORT = APP_RES_PATH "/TEMP_REPORT.bin";
+    static constexpr const char *TEMP_POINT = APP_RES_PATH "/TEMP_POINT.bin";
+    static constexpr const char *TEMP_REV_POINTER = APP_RES_PATH "/TEMP_REV_POINTER.bin";
+    static constexpr const char *PNG_MAIN_FACE_IMAGE = APP_RES_PATH "/MAIN_FACE_IMAGE.bin";
+    static constexpr const char *B024_009_IMAGE_PATH = APP_RES_PATH "/HOURHAND.bin";
+    static constexpr const char *B024_010_IMAGE_PATH = APP_RES_PATH "/SECONDHAND.bin";
+    static constexpr const char *B024_011_IMAGE_PATH = APP_RES_PATH "/MINUTEHAND.bin";
+    static constexpr const char *PNG_APPLIST_PHONE_IMAGE = APP_RES_PATH "/phone.bin"; // 电话
+    /* -------------------------------------------------------------------------- */
+    static constexpr const char *PNG_NEW_WLAN_WIFI = APP_RES_PATH "/FULL_SIGNAL_OPEN.bin";
+    static constexpr const char *FULL_SIGNAL_ENCRYPTION = APP_RES_PATH "/FULL_SIGNAL_ENCRYPTION.bin";
+    /* ------------------------------- 不确定是否要删除的图片 ------------------------------ */
+    static constexpr const char *COMPASS_CALIBRATE_IMAGE = APP_RES_PATH "/COMPASS_CALIBRATE_IMAGE.bin";
+    static constexpr const char *PNG_STEP_SHOE_IMAGE_PATH = APP_RES_PATH "/SHOE_IMAGE.bin";
+    static constexpr const char *PNG_SETTTING_BUTTON_IMAGE = APP_RES_PATH "/SETTTING_BUTTON.bin";
+    static constexpr const char *PNG_REBOOT_BUTTON_IMAGE = APP_RES_PATH "/REBOOT_BUTTON.bin";
+    static constexpr const char *PNG_SHUTDOWN_BUTTON_IMAGE = APP_RES_PATH "/SHUTDOWN_BUTTON.bin";
+    static constexpr const char *PNG_SETTTING_REBOOT_IMAGE = APP_RES_PATH "/SETTTING_REBOOT.bin";
+    static constexpr const char *PNG_SETTTING_SHUTDOWN_IMAGE = APP_RES_PATH "/SETTTING_SHUTDOWN.bin";
+    static constexpr const char *PNG_CONNECT_PHONE_IMAGE = APP_RES_PATH "/CONNECT_PHONE.bin";
+    static constexpr const char *PNG_BLUETOOTH_STITLE = APP_RES_PATH "/BLUETOOTH_TITLE.bin";
+    static constexpr const char *PNG_NEW_DEVICE = APP_RES_PATH "/NEW_DEVICE.bin";
+    static constexpr const char *PNG_BT_LIST = APP_RES_PATH "/BT_LIST.bin";
+    static constexpr const char *PNG_SELECTION_BOX = APP_RES_PATH "/SELECTION_BOX.bin";
+    static constexpr const char *PNG_GANTAN = APP_RES_PATH "/GANTAN.bin";
+    static constexpr const char *PNG_RIGHT = APP_RES_PATH "/RIGHT.bin";
+    /* -------------------------------------------------------------------------- */
+    static constexpr const char *PNG_SETTTING_DESKTOP_IMAGE = APP_RES_PATH "/SETTTING_DESKTOP.bin";
+    static constexpr const char *PNG_SET_DESKTOP_LIST_IMAGE = APP_RES_PATH "/SET_DESKTOP_LIST.bin";
+    static constexpr const char *PNG_SET_DESKTOP_HEXAGONS_IMAGE = APP_RES_PATH "/SET_DESKTOP_HEXAGONS.bin";
+    static constexpr const char *PNG_SET_DESKTOP_BG_IMAGE = APP_RES_PATH "/SET_DESKTOP_BG.bin";
+
+    static constexpr const char *PNG_SET_DIAL_CLOCK = APP_RES_PATH "/KUMIVIEW.bin";
 
-    static constexpr const char *PNG_APPLIST_STOPWATCH_LOGO = APP_RES_PATH"/STOPWATCH_LOGO.bin";
-    static constexpr const char *PNG_APPLIST_STOPWATCH_IMAGE = APP_RES_PATH"/STOPWATCH.bin";
-    static constexpr const char *WEATHER_IMAGE = APP_RES_PATH"/WEATHER.bin";
-    static constexpr const char *WEATHER_MAIN_ICON = APP_RES_PATH"/WEATHER_LOGO.bin";
-    static constexpr const char *TIMER_IMAGE = APP_RES_PATH"/TIMER.bin";
-    static constexpr const char *TIMER_MAIN_ICON = APP_RES_PATH"/TIMER_ICON.bin";
-    static constexpr const char *DATE_IMAGE = APP_RES_PATH"/DATE.bin";
-    static constexpr const char *DATE_MAIN_ICON = APP_RES_PATH"/DATE_LOGO.bin";
-    static constexpr const char *FLASHLIGHT_IMAGE = APP_RES_PATH"/FLASHLIGHT.bin";
-    static constexpr const char *FLASHLIGHT_MAIN_ICON = APP_RES_PATH"/FLASHLIGHT_LOGO.bin";
-    static constexpr const char *SLEEP_IMAGE = APP_RES_PATH"/SLEEP.bin";
-    static constexpr const char *SLEEP_ICON = APP_RES_PATH"/SLEEP_ICON.bin";
-    static constexpr const char *BREATH_IMAGE = APP_RES_PATH"/BREATH.bin";
-    static constexpr const char *BREATH_MAIN_ICON = APP_RES_PATH"/BREATH_ICON.bin";
-    static constexpr const char *FINDPHONE_IMAGE = APP_RES_PATH"/FINDPHONE.bin";
-    static constexpr const char *FINDPHONE_MAIN_ICON = APP_RES_PATH"/FINDPHONE_LOGO.bin";
-    static constexpr const char *CAMERA_IMAGE = APP_RES_PATH"/CAMERA.bin";
-    static constexpr const char *CAMERA_MAIN_ICON = APP_RES_PATH"/CAMERA_ICON.bin";
 }
 
 #endif // UI_CONFIG_H
index 8c4677b..d951c16 100644 (file)
 // void save_popup_windows_log_c(int type){}
 // void system_init_uart(void){}
 #endif
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
 #include <dirent.h>
+#include <sys/stat.h>
 #include <unistd.h>
 #include "custom_runtime.h"
 #include "pm_definition.h"
@@ -2075,6 +2079,91 @@ int uapi_delete_files(const char *file_path)
         
 }
 
+/*删除文件夹*/
+int uapi_delete_folder(const char *folder_path) {
+    // 参数检查
+    if (folder_path == NULL || strlen(folder_path) == 0) {
+        fprintf(stderr, "Error: Invalid folder path\n");
+        return -1;
+    }
+
+    // 安全检查:防止删除根目录
+    if (strcmp(folder_path, "/") == 0 ||
+        strcmp(folder_path, ".") == 0 ||
+        strcmp(folder_path, "..") == 0) {
+        fprintf(stderr, "Error: Deleting root directory or current/parent directory is prohibited\n");
+        return -1;
+    }
+
+    // 检查路径是否存在
+    struct stat statbuf;
+    if (stat(folder_path, &statbuf) != 0) {
+        // 路径不存在,可能已被删除,视为成功
+        return 0;
+    }
+
+    // 如果不是目录,返回错误
+    if (!S_ISDIR(statbuf.st_mode)) {
+        fprintf(stderr, "Error: Path '%s' is not a directory\n", folder_path);
+        return -1;
+    }
+
+    // 打开目录
+    DIR *dir = opendir(folder_path);
+    if (dir == NULL) {
+        fprintf(stderr, "Error: Failed to open directory '%s'\n", folder_path);
+        return -1;
+    }
+
+    // 递归删除目录中的所有内容
+    struct dirent *entry;
+    char subpath[1024]; // 假设路径长度不超过1024字节
+
+    while ((entry = readdir(dir)) != NULL) {
+        // 跳过当前目录和上级目录
+        if (strcmp(entry->d_name, ".") == 0 || strcmp(entry->d_name, "..") == 0) {
+            continue;
+        }
+
+        // 构建子路径
+        snprintf(subpath, sizeof(subpath), "%s/%s", folder_path, entry->d_name);
+
+        // 获取子项信息
+        if (stat(subpath, &statbuf) != 0) {
+            fprintf(stderr, "Warning: Failed to stat '%s', skipping\n", subpath);
+            continue;
+        }
+
+        // 如果是目录,递归删除
+        if (S_ISDIR(statbuf.st_mode)) {
+            if (uapi_delete_folder(subpath) != 0) {
+                fprintf(stderr, "Error: Failed to delete subdirectory '%s'\n", subpath);
+                closedir(dir);
+                return -1;
+            }
+        }
+        // 如果是文件或符号链接,直接删除
+        else {
+            if (unlink(subpath) != 0) {
+                fprintf(stderr, "Error: Failed to delete file '%s'\n", subpath);
+                closedir(dir);
+                return -1;
+            }
+        }
+    }
+
+    // 关闭目录
+    closedir(dir);
+
+    // 删除空目录
+    if (rmdir(folder_path) != 0) {
+        fprintf(stderr, "Error: Failed to remove directory '%s'\n", folder_path);
+        return -1;
+    }
+
+    return 0; // 成功
+}
+
 void uapi_check_tar_file_count(char *folderpath)
 {
     DIR *dir;
index 9389c1c..c5c1f89 100644 (file)
@@ -294,6 +294,7 @@ errcode_t do_custom_fileoperate_service_check_msg(int cmd, void *params, int par
 
 
 int uapi_delete_files(const char *file_path);
+int uapi_delete_folder(const char *folder_path);
 void uapi_restore_factory_setting(void);
 
 errcode_t custom_i2c_init(uint8_t bus_index);