搭建训练强度接口 56/3
authorCaisking <3449750381@qq.com>
Fri, 19 Apr 2024 13:13:05 +0000 (21:13 +0800)
committerCaisking <3449750381@qq.com>
Fri, 19 Apr 2024 13:13:05 +0000 (21:13 +0800)
code/sdk/application/wearable/fd230app/nativeui/config/include/ConfigModel.h
code/sdk/application/wearable/fd230app/nativeui/config/src/ConfigModel.cpp
code/sdk/application/wearable/fd230app/nativeui/traing/include/TraingModel.h
code/sdk/application/wearable/fd230app/nativeui/traing/src/TraingModel.cpp

index abb090e..2a50696 100644 (file)
@@ -19,7 +19,7 @@ namespace OHOS
 {
     class ConfigModel
     {
-       public:
+    public:
         enum ConfigDataType
         {
             DATATYPE_INT,
@@ -30,52 +30,52 @@ namespace OHOS
             DATATYPE_VECTOR_DOUBLE,
             DATATYPE_VECTOR_STRING,
             DATATYPE_UNKNOWN,
-        } ;
+        };
         enum ConfigItem
         {
-            CONFIGMODEL_ITEM_CLASSIC_BT_SERVICE_ON, //关机前经典蓝牙服务状态,启动时仍然恢复其当时状态
-            CONFIGMODEL_ITEM_SCREEN_BRIGHTNESS_VALUE,   //屏幕亮度
-            CONFIGMODEL_ITEM_SCREEN_OFF_TIMEOUT_VALUE,   //屏幕自动息屏时间 默认 5秒 5000ms
-            CONFIGMODEL_ITEM_CAT1_SERVICE_ON, // 关机前Cat1 Service启动着,则重启仍然启动,反之亦然
-            CONFIGMODEL_ITEM_CAT1_IMEI,                         //Cat1 imei
-            CONFIGMODEL_ITEM_CAT1_MODEMVER,                     //Cat1 modem version
-            CONFIGMODEL_ITEM_CAT1_PYVER,                        //Cat1 Python app version
-            CONFIGMODEL_ITEM_LANGUAGE_ID,                       //语言ID    int id
-            CONFIGMODEL_ITEM_LANGUAGE_CODE,                       //语言Code string "zh","en"
-            CONFIGMODEL_ITEM_SILENT_MODE,                       //静音模式模式
-            CONFIGMODEL_ITEM_VIBRATOR_SWITCH,                   // 马达 开关, 0 关, 1 弱, 2 中,3 强
+            CONFIGMODEL_ITEM_CLASSIC_BT_SERVICE_ON,    // 关机前经典蓝牙服务状态,启动时仍然恢复其当时状态
+            CONFIGMODEL_ITEM_SCREEN_BRIGHTNESS_VALUE,  // 屏幕亮度
+            CONFIGMODEL_ITEM_SCREEN_OFF_TIMEOUT_VALUE, // 屏幕自动息屏时间 默认 5秒 5000ms
+            CONFIGMODEL_ITEM_CAT1_SERVICE_ON,          // 关机前Cat1 Service启动着,则重启仍然启动,反之亦然
+            CONFIGMODEL_ITEM_CAT1_IMEI,                // Cat1 imei
+            CONFIGMODEL_ITEM_CAT1_MODEMVER,            // Cat1 modem version
+            CONFIGMODEL_ITEM_CAT1_PYVER,               // Cat1 Python app version
+            CONFIGMODEL_ITEM_LANGUAGE_ID,              // 语言ID    int id
+            CONFIGMODEL_ITEM_LANGUAGE_CODE,            // 语言Code string "zh","en"
+            CONFIGMODEL_ITEM_SILENT_MODE,              // 静音模式模式
+            CONFIGMODEL_ITEM_VIBRATOR_SWITCH,          // 马达 开关, 0 关, 1 弱, 2 中,3 强
             // CONFIGMODEL_ITEM_HRS_QUICKACCESS,
             // CONFIGMODEL_ITEM_SPO2_QUICKACCESS,
-            CONFIGMODEL_ITEM_RAISE_TO_WAKE,                 //抬腕亮屏开关
-            CONFIGMODEL_ITEM_ACTIVITY_VALUES_STEPCOUNT,      //活动数据步数
-            CONFIGMODEL_ITEM_ACTIVITY_VALUES_CALORIES,      //活动数据卡路里,
-            CONFIGMODEL_ITEM_ACTIVITY_VALUES_STANDUP_TIMES, //活动数据站立次数
-            CONFIGMODEL_ITEM_ACTIVITY_VALUES_DURATION,  //活动数据运动时间
-            CONFIGMODEL_ITEM_ACTIVITY_VALUES_DISTANCE, //活动数据运动距离
-            CONFIGMODEL_ITEM_ACTIVITY_VALUES_TIMESTAMP, //活动数据更新时间戳
-            CONFIGMODEL_ITEM_CUSTOM_DATA_HEIGHT,    //用户数据身高
-            CONFIGMODEL_ITEM_CUSTOM_DATA_WEIGHT,    //用户数据体重
-            CONFIGMODEL_ITEM_CUSTOM_DATA_SEX,    //用户数据性别
-            CONFIGMODEL_ITEM_CUSTOM_DATA_AGE,    //用户数据年龄
-            CONFIGMODEL_ITEM_CUSTOM_DATA_WEARING_MODE,    //用户数据佩戴方式
-            CONFIGMODEL_ITEM_SPORTS_GOAL_STEPCOUNT,    //运动目标步数
-            CONFIGMODEL_ITEM_SPORTS_GOAL_CALORIES,    //运动目标卡路里
-            CONFIGMODEL_ITEM_SPORTS_GOAL_STANDUP_TIMES,    //运动目标站立次数
-            CONFIGMODEL_ITEM_SPORTS_GOAL_DURATION,    //运动目标时长
-            CONFIGMODEL_ITEM_SPORTS_GOAL_DISTANCE,    //运动目标距离
-            CONFIGMODEL_ITEM_DNOTDISTURB,//勿扰模式
-            CONFIGMODEL_ITEM_TRANING_FREQ,//训练实时数据上传频率
+            CONFIGMODEL_ITEM_RAISE_TO_WAKE,                 // 抬腕亮屏开关
+            CONFIGMODEL_ITEM_ACTIVITY_VALUES_STEPCOUNT,     // 活动数据步数
+            CONFIGMODEL_ITEM_ACTIVITY_VALUES_CALORIES,      // 活动数据卡路里,
+            CONFIGMODEL_ITEM_ACTIVITY_VALUES_STANDUP_TIMES, // 活动数据站立次数
+            CONFIGMODEL_ITEM_ACTIVITY_VALUES_DURATION,      // 活动数据运动时间
+            CONFIGMODEL_ITEM_ACTIVITY_VALUES_DISTANCE,      // 活动数据运动距离
+            CONFIGMODEL_ITEM_ACTIVITY_VALUES_TIMESTAMP,     // 活动数据更新时间戳
+            CONFIGMODEL_ITEM_CUSTOM_DATA_HEIGHT,            // 用户数据身高
+            CONFIGMODEL_ITEM_CUSTOM_DATA_WEIGHT,            // 用户数据体重
+            CONFIGMODEL_ITEM_CUSTOM_DATA_SEX,               // 用户数据性别
+            CONFIGMODEL_ITEM_CUSTOM_DATA_AGE,               // 用户数据年龄
+            CONFIGMODEL_ITEM_CUSTOM_DATA_WEARING_MODE,      // 用户数据佩戴方式
+            CONFIGMODEL_ITEM_SPORTS_GOAL_STEPCOUNT,         // 运动目标步数
+            CONFIGMODEL_ITEM_SPORTS_GOAL_CALORIES,          // 运动目标卡路里
+            CONFIGMODEL_ITEM_SPORTS_GOAL_STANDUP_TIMES,     // 运动目标站立次数
+            CONFIGMODEL_ITEM_SPORTS_GOAL_DURATION,          // 运动目标时长
+            CONFIGMODEL_ITEM_SPORTS_GOAL_DISTANCE,          // 运动目标距离
+            CONFIGMODEL_ITEM_DNOTDISTURB,                   // 勿扰模式
+            CONFIGMODEL_ITEM_TRANING_FREQ,                  // 训练实时数据上传频率
             CONFIGMODEL_ITEM_MAX,
-        } ;
+        };
 
-        struct configmodel_item{
+        struct configmodel_item
+        {
             ConfigDataType type;
-            const char* itemname;
-            char  *defaultValue;
+            const char *itemname;
+            char *defaultValue;
         };
 
-  
-        const char* get_config_name(ConfigItem item)
+        const char *get_config_name(ConfigItem item)
         {
             return configmodel_item_key_name[item].itemname;
         }
@@ -86,7 +86,7 @@ namespace OHOS
         }
         static ConfigModel *GetInstance();
         void Init(void);
-        /* -------------- 通用 读值 赋值 函数 ----------------- */        
+        /* -------------- 通用 读值 赋值 函数 ----------------- */
         int get_configData_int(ConfigItem item);
         double get_configData_double(ConfigItem item);
         bool get_configData_bool(ConfigItem item);
@@ -98,16 +98,15 @@ namespace OHOS
         void set_condigData_String(ConfigItem item, const char *data);
         void set_condigData_VectorInt(ConfigItem item, const std::vector<int> &data);
         void set_condigData_VectorDouble(ConfigItem item, const std::vector<double> &data);
-        void set_condigData_VectorString(ConfigItem item, const std::vector<std::string> &data);    
+        void set_condigData_VectorString(ConfigItem item, const std::vector<std::string> &data);
 
         void reset_item_to_default(ConfigItem item);
 
         int sync_all_to_disk(void);
-    
-        
+
         /* --------------------------------自定义封装 set与get方法 ------------------------------- */
         bool GetClassicBlueToothState(void);
-        
+
         void SetLanguage(int languageid);
         int GetLanguage();
         void SetLanguageCode(const char *languagecode);
@@ -116,14 +115,14 @@ namespace OHOS
         std::string Getimei();
         std::string GetpyVer();
         std::string GetmoderVer();
-        
+
         void Setimei(char *str);
         void SetpyVer(char *str);
         void SetmoderVer(char *str);
-     
+
         void SetVibrationReminder(int state);
         int GetVibrationReminder(void);
-        
+
         void SetSilentMode(bool state);
         bool GetSilentMode(void);
 
@@ -135,49 +134,52 @@ namespace OHOS
 
         /* ----------------------------- 屏幕与亮度相关set与get ----------------------------- */
         void SetBrightness(int level);
-        int  GetBrightness(void);
+        int GetBrightness(void);
 
         void SetScreenDuration(unsigned int value);
         unsigned int GetScreenDuration(void);
 
         void SetRaiseToWake(bool value);
         bool GetRaiseToWake(void);
-        // -------------------------------------------------------------------------- */
+        /* --------------------------------- 用户配置信息 --------------------------------- */
+        void SetUserAge(int age);
+        int GetUserAge();
+        /* -------------------------------------------------------------------------- */
     private:
         configmodel_item configmodel_item_key_name[CONFIGMODEL_ITEM_MAX] =
-        {
-            {ConfigDataType::DATATYPE_BOOL,     "ClassicBT_Service_On",     "true"  },//CONFIGMODEL_ITEM_CLASSIC_BT_SERVICE_ON, //关机前经典蓝牙服务状态,启动时仍然恢复其当时状态
-            {ConfigDataType::DATATYPE_INT,      "ScreenBrightness",         "255"    },//CONFIGMODEL_ITEM_SCREEN_BRIGHTNESS_VALUE,
-            {ConfigDataType::DATATYPE_INT,      "ScreenOffTimeoutValue",    "5000"  },//CONFIGMODEL_ITEM_SCREEN_OFF_TIMEOUT_VALUE, 自动息屏时间,默认5秒 5000ms
-            {ConfigDataType::DATATYPE_BOOL,     "Cat1_Service_On",          "false" },//CONFIGMODEL_ITEM_CAT1_SERVICE_ON, // 关机前Cat1 Service启动着,则重启仍然启动,反之亦然
-            {ConfigDataType::DATATYPE_STRING,   "Cat1_IMEI",                ""      },//CONFIGMODEL_ITEM_CAT1_IMEI,
-            {ConfigDataType::DATATYPE_STRING,   "Cat1_ModemVer",            ""      },//CONFIGMODEL_ITEM_CAT1_MODEMVER,
-            {ConfigDataType::DATATYPE_STRING,   "Cat1_PYVer",               ""      },//CONFIGMODEL_ITEM_CAT1_PYVER,
-            {ConfigDataType::DATATYPE_INT,      "LanguageID",               "-1"    },//CONFIGMODEL_ITEM_LANGUAGE_ID, //默认没有选择语言
-            {ConfigDataType::DATATYPE_STRING,   "LanguageCode",             "zh"    },//CONFIGMODEL_ITEM_LANGUAGE_CODE, //默认没有选择语言
-            {ConfigDataType::DATATYPE_BOOL,     "SlientMode",               "false" },//CONFIGMODEL_ITEM_SILENT_MODE,
-            {ConfigDataType::DATATYPE_INT,      "VibratorSwitch",           "1"     },//CONFIGMODEL_ITEM_VIBRATOR_SWITCH, // 马达 开关, 0 关, 1 弱, 2 中,3 强
-            // {ConfigDataType::DATATYPE_BOOL,     "HRS_QuickAccess",     "false"},//CONFIGMODEL_ITEM_HRS_SPO2_QUICKACCESS,
-            // {ConfigDataType::DATATYPE_BOOL,     "SPO2_QuickAccess",     "false"},//CONFIGMODEL_ITEM_HRS_SPO2_QUICKACCESS,
-            {ConfigDataType::DATATYPE_BOOL,     "Rase2Wake",                "true"  },//CONFIGMODEL_ITEM_RAISE_TO_WAKE,
-            {ConfigDataType::DATATYPE_INT,      "StepCount",                "0"     },//CONFIGMODEL_ITEM_ACTIVITY_VALUES_STEPCOUNT,      //活动数据步数
-            {ConfigDataType::DATATYPE_INT,      "Calories",                 "0"     },// CONFIGMODEL_ITEM_ACTIVITY_VALUES_CALORIES,      //活动数据卡路里,
-            {ConfigDataType::DATATYPE_INT,      "StandupTimes",             "0"     },// CONFIGMODEL_ITEM_ACTIVITY_VALUES_STANDUP_TIMES, //活动数据站立次数
-            {ConfigDataType::DATATYPE_INT,      "Duration",                 "0"     },// CONFIGMODEL_ITEM_ACTIVITY_VALUES_DURATION,  //活动数据运动时间
-            {ConfigDataType::DATATYPE_DOUBLE,   "Distance",                 "0.0"   },// CONFIGMODEL_ITEM_ACTIVITY_VALUES_DISTANCE, //活动数据运动距离
-            {ConfigDataType::DATATYPE_INT,      "ActivityTimestamp",        "0"     },// CONFIGMODEL_ITEM_ACTIVITY_VALUES_TIMESTAMP, //活动数据更新时间戳
-            {ConfigDataType::DATATYPE_INT,      "height",                   "175"   },// CONFIGMODEL_ITEM_CUSTOM_DATA_HEIGHT,    //用户数据身高 (cm)(身高)(default : 175)(30 - 300)
-            {ConfigDataType::DATATYPE_DOUBLE,   "weight",                   "70.0"  },// CONFIGMODEL_ITEM_CUSTOM_DATA_WEIGHT,    //用户数据体重 (kg)(體重)(default : 70)(10 - 300)
-            {ConfigDataType::DATATYPE_INT,      "sex",                      "1"     },// CONFIGMODEL_ITEM_CUSTOM_DATA_SEX,    //用户数据性别 (default : 1 男性)(0 : 女性, 1 : 男性)
-            {ConfigDataType::DATATYPE_INT,      "age",                      "30"    },// CONFIGMODEL_ITEM_CUSTOM_DATA_AGE,    //用户数据年龄 (年紀)(default : 30)(1 - 99)
-            {ConfigDataType::DATATYPE_INT,      "WearingMode",              "0"     },// CONFIGMODEL_ITEM_CUSTOM_DATA_WEARING_MODE,    //用户数据佩戴方式 (default : 左手)(0 : 左手 1 : 右手)
-            {ConfigDataType::DATATYPE_INT,      "GoalStepCount",            "10000" },// CONFIGMODEL_ITEM_SPORTS_GOAL_STEPCOUNT,    //运动目标步数  10000
-            {ConfigDataType::DATATYPE_INT,      "GoalCalories",             "300"   },// CONFIGMODEL_ITEM_SPORTS_GOAL_CALORIES,    //运动目标卡路里  300(kcal)
-            {ConfigDataType::DATATYPE_INT,      "GoalStandupTimes",         "10"    },// CONFIGMODEL_ITEM_SPORTS_GOAL_STANDUP_TIMES,    //运动目标站立次数 10
-            {ConfigDataType::DATATYPE_INT,      "GoalDuration",             "30"    },// CONFIGMODEL_ITEM_SPORTS_GOAL_DURATION,    //运动目标时长   30(分钟)
-            {ConfigDataType::DATATYPE_DOUBLE,   "GoalDistance",             "8.0"   },// CONFIGMODEL_ITEM_SPORTS_GOAL_DISTANCE,    //运动目标距离   8.0(km)
-            {ConfigDataType::DATATYPE_BOOL,     "Dnotdisturb",              "false" },// CONFIGMODEL_ITEM_DNOTDISTURB //勿扰模式默认关闭
-            {ConfigDataType::DATATYPE_INT,     "traningfreq",              "10" },// CONFIGMODEL_ITEM_TRANING_FREQ //训练实时数据上传频率//单位秒
+            {
+                {ConfigDataType::DATATYPE_BOOL, "ClassicBT_Service_On", "true"}, // CONFIGMODEL_ITEM_CLASSIC_BT_SERVICE_ON, //关机前经典蓝牙服务状态,启动时仍然恢复其当时状态
+                {ConfigDataType::DATATYPE_INT, "ScreenBrightness", "255"},       // CONFIGMODEL_ITEM_SCREEN_BRIGHTNESS_VALUE,
+                {ConfigDataType::DATATYPE_INT, "ScreenOffTimeoutValue", "5000"}, // CONFIGMODEL_ITEM_SCREEN_OFF_TIMEOUT_VALUE, 自动息屏时间,默认5秒 5000ms
+                {ConfigDataType::DATATYPE_BOOL, "Cat1_Service_On", "false"},     // CONFIGMODEL_ITEM_CAT1_SERVICE_ON, // 关机前Cat1 Service启动着,则重启仍然启动,反之亦然
+                {ConfigDataType::DATATYPE_STRING, "Cat1_IMEI", ""},              // CONFIGMODEL_ITEM_CAT1_IMEI,
+                {ConfigDataType::DATATYPE_STRING, "Cat1_ModemVer", ""},          // CONFIGMODEL_ITEM_CAT1_MODEMVER,
+                {ConfigDataType::DATATYPE_STRING, "Cat1_PYVer", ""},             // CONFIGMODEL_ITEM_CAT1_PYVER,
+                {ConfigDataType::DATATYPE_INT, "LanguageID", "-1"},              // CONFIGMODEL_ITEM_LANGUAGE_ID, //默认没有选择语言
+                {ConfigDataType::DATATYPE_STRING, "LanguageCode", "zh"},         // CONFIGMODEL_ITEM_LANGUAGE_CODE, //默认没有选择语言
+                {ConfigDataType::DATATYPE_BOOL, "SlientMode", "false"},          // CONFIGMODEL_ITEM_SILENT_MODE,
+                {ConfigDataType::DATATYPE_INT, "VibratorSwitch", "1"},           // CONFIGMODEL_ITEM_VIBRATOR_SWITCH, // 马达 开关, 0 关, 1 弱, 2 中,3 强
+                // {ConfigDataType::DATATYPE_BOOL,     "HRS_QuickAccess",     "false"},//CONFIGMODEL_ITEM_HRS_SPO2_QUICKACCESS,
+                // {ConfigDataType::DATATYPE_BOOL,     "SPO2_QuickAccess",     "false"},//CONFIGMODEL_ITEM_HRS_SPO2_QUICKACCESS,
+                {ConfigDataType::DATATYPE_BOOL, "Rase2Wake", "true"},     // CONFIGMODEL_ITEM_RAISE_TO_WAKE,
+                {ConfigDataType::DATATYPE_INT, "StepCount", "0"},         // CONFIGMODEL_ITEM_ACTIVITY_VALUES_STEPCOUNT,      //活动数据步数
+                {ConfigDataType::DATATYPE_INT, "Calories", "0"},          // CONFIGMODEL_ITEM_ACTIVITY_VALUES_CALORIES,      //活动数据卡路里,
+                {ConfigDataType::DATATYPE_INT, "StandupTimes", "0"},      // CONFIGMODEL_ITEM_ACTIVITY_VALUES_STANDUP_TIMES, //活动数据站立次数
+                {ConfigDataType::DATATYPE_INT, "Duration", "0"},          // CONFIGMODEL_ITEM_ACTIVITY_VALUES_DURATION,  //活动数据运动时间
+                {ConfigDataType::DATATYPE_DOUBLE, "Distance", "0.0"},     // CONFIGMODEL_ITEM_ACTIVITY_VALUES_DISTANCE, //活动数据运动距离
+                {ConfigDataType::DATATYPE_INT, "ActivityTimestamp", "0"}, // CONFIGMODEL_ITEM_ACTIVITY_VALUES_TIMESTAMP, //活动数据更新时间戳
+                {ConfigDataType::DATATYPE_INT, "height", "175"},          // CONFIGMODEL_ITEM_CUSTOM_DATA_HEIGHT,    //用户数据身高 (cm)(身高)(default : 175)(30 - 300)
+                {ConfigDataType::DATATYPE_DOUBLE, "weight", "70.0"},      // CONFIGMODEL_ITEM_CUSTOM_DATA_WEIGHT,    //用户数据体重 (kg)(體重)(default : 70)(10 - 300)
+                {ConfigDataType::DATATYPE_INT, "sex", "1"},               // CONFIGMODEL_ITEM_CUSTOM_DATA_SEX,    //用户数据性别 (default : 1 男性)(0 : 女性, 1 : 男性)
+                {ConfigDataType::DATATYPE_INT, "age", "30"},              // CONFIGMODEL_ITEM_CUSTOM_DATA_AGE,    //用户数据年龄 (年紀)(default : 30)(1 - 99)
+                {ConfigDataType::DATATYPE_INT, "WearingMode", "0"},       // CONFIGMODEL_ITEM_CUSTOM_DATA_WEARING_MODE,    //用户数据佩戴方式 (default : 左手)(0 : 左手 1 : 右手)
+                {ConfigDataType::DATATYPE_INT, "GoalStepCount", "10000"}, // CONFIGMODEL_ITEM_SPORTS_GOAL_STEPCOUNT,    //运动目标步数  10000
+                {ConfigDataType::DATATYPE_INT, "GoalCalories", "300"},    // CONFIGMODEL_ITEM_SPORTS_GOAL_CALORIES,    //运动目标卡路里  300(kcal)
+                {ConfigDataType::DATATYPE_INT, "GoalStandupTimes", "10"}, // CONFIGMODEL_ITEM_SPORTS_GOAL_STANDUP_TIMES,    //运动目标站立次数 10
+                {ConfigDataType::DATATYPE_INT, "GoalDuration", "30"},     // CONFIGMODEL_ITEM_SPORTS_GOAL_DURATION,    //运动目标时长   30(分钟)
+                {ConfigDataType::DATATYPE_DOUBLE, "GoalDistance", "8.0"}, // CONFIGMODEL_ITEM_SPORTS_GOAL_DISTANCE,    //运动目标距离   8.0(km)
+                {ConfigDataType::DATATYPE_BOOL, "Dnotdisturb", "false"},  // CONFIGMODEL_ITEM_DNOTDISTURB //勿扰模式默认关闭
+                {ConfigDataType::DATATYPE_INT, "traningfreq", "10"},      // CONFIGMODEL_ITEM_TRANING_FREQ //训练实时数据上传频率//单位秒
         };
         ConfigModel();                                        // 私有构造函数,确保无法在外部实例化
         ConfigModel(const ConfigModel &) = delete;            // 禁止拷贝构造
index 5b6dd04..7e55652 100644 (file)
@@ -11,7 +11,7 @@ namespace OHOS
     ConfigModel::~ConfigModel()
     {
         WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, " ConfigModel::~ConfigModel");
-        //手表全生命周期存在,所以不考虑析构释放内存
+        // 手表全生命周期存在,所以不考虑析构释放内存
     }
 
     ConfigModel *ConfigModel::GetInstance()
@@ -28,76 +28,76 @@ namespace OHOS
 
     cJSON *ConfigModel::get_item(ConfigItem item)
     {
-        return cJSON_GetObjectItem(GetcJSON(),get_config_name(item));
-    }   
+        return cJSON_GetObjectItem(GetcJSON(), get_config_name(item));
+    }
 
     void ConfigModel::reset_item_to_default(ConfigItem item)
     {
-        switch(get_config_datatype(item))
+        switch (get_config_datatype(item))
         {
-            case ConfigDataType::DATATYPE_BOOL:
-                
-                {
-                    bool defaultvalue = false;
-                    if (strncmp(configmodel_item_key_name[item].defaultValue,"true",sizeof("true"))==0) defaultvalue = true;
-                    set_condigData_Bool(item,defaultvalue);
-                }
-                WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "item(%s):type(bool):value(%d)", 
-                                get_config_name(item),
-                                get_configData_bool(item));
-                break;
-            case ConfigDataType::DATATYPE_DOUBLE:
-                {
-                    double defaultvalue = atof(configmodel_item_key_name[item].defaultValue);
-                    set_condigData_Double(item,defaultvalue); 
-                }
-                
-                WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "item(%s):type(double):value(%f)", 
-                                get_config_name(item),
-                                get_configData_double(item));
-                break;
-            case ConfigDataType::DATATYPE_INT :
-                {
-                    int defaultvalue = atoi(configmodel_item_key_name[item].defaultValue);
-                    set_condigData_Int(item,defaultvalue);
-                }
-                WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "item(%s):type(int):value(%d)", 
-                                get_config_name(item),
-                                get_configData_int(item));
-                break;
-            case ConfigDataType::DATATYPE_STRING:
-
-                set_condigData_String(item,configmodel_item_key_name[item].defaultValue);
-
-                WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "item(%s):type(string):value(%s)", 
-                                get_config_name(item),
-                                get_configData_string(item).c_str());
-                break;
-            case ConfigDataType::DATATYPE_VECTOR_DOUBLE:
-                /**
-                 * configmodel_item_key_name[item].defaultValue 转换成jsongArrayObj 再存入
-                 */
-                WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "item(%s):type(vector_double):value(%s)", 
-                                get_config_name(item),
-                                "");
-                break;
-            case ConfigDataType::DATATYPE_VECTOR_INT:
-                /**
-                 * configmodel_item_key_name[item].defaultValue 转换成jsongArrayObj 再存入
-                 */
-                WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "item(%s):type(vector_int):value(%s)", 
-                                get_config_name(item),
-                                "");
-                break;
-            case ConfigDataType::DATATYPE_VECTOR_STRING:
-                /**
-                 * configmodel_item_key_name[item].defaultValue 转换成jsongArrayObj 再存入
-                 */
-                WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "item(%s):type(vector_string):value(%s)", 
-                                get_config_name(item),
-                                "");
-                break;
+        case ConfigDataType::DATATYPE_BOOL:
 
+        {
+            bool defaultvalue = false;
+            if (strncmp(configmodel_item_key_name[item].defaultValue, "true", sizeof("true")) == 0)
+                defaultvalue = true;
+            set_condigData_Bool(item, defaultvalue);
+        }
+            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "item(%s):type(bool):value(%d)",
+                          get_config_name(item),
+                          get_configData_bool(item));
+            break;
+        case ConfigDataType::DATATYPE_DOUBLE:
+        {
+            double defaultvalue = atof(configmodel_item_key_name[item].defaultValue);
+            set_condigData_Double(item, defaultvalue);
+        }
+
+            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "item(%s):type(double):value(%f)",
+                          get_config_name(item),
+                          get_configData_double(item));
+            break;
+        case ConfigDataType::DATATYPE_INT:
+        {
+            int defaultvalue = atoi(configmodel_item_key_name[item].defaultValue);
+            set_condigData_Int(item, defaultvalue);
+        }
+            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "item(%s):type(int):value(%d)",
+                          get_config_name(item),
+                          get_configData_int(item));
+            break;
+        case ConfigDataType::DATATYPE_STRING:
+
+            set_condigData_String(item, configmodel_item_key_name[item].defaultValue);
+
+            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "item(%s):type(string):value(%s)",
+                          get_config_name(item),
+                          get_configData_string(item).c_str());
+            break;
+        case ConfigDataType::DATATYPE_VECTOR_DOUBLE:
+            /**
+             * configmodel_item_key_name[item].defaultValue 转换成jsongArrayObj 再存入
+             */
+            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "item(%s):type(vector_double):value(%s)",
+                          get_config_name(item),
+                          "");
+            break;
+        case ConfigDataType::DATATYPE_VECTOR_INT:
+            /**
+             * configmodel_item_key_name[item].defaultValue 转换成jsongArrayObj 再存入
+             */
+            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "item(%s):type(vector_int):value(%s)",
+                          get_config_name(item),
+                          "");
+            break;
+        case ConfigDataType::DATATYPE_VECTOR_STRING:
+            /**
+             * configmodel_item_key_name[item].defaultValue 转换成jsongArrayObj 再存入
+             */
+            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "item(%s):type(vector_string):value(%s)",
+                          get_config_name(item),
+                          "");
+            break;
         }
     }
 
@@ -114,11 +114,11 @@ namespace OHOS
             // 解析JSON数据
             cjson_json = cJSON_Parse(json_string.c_str());
 
-            for (int i = 0; i< ConfigItem::CONFIGMODEL_ITEM_MAX;i++)
+            for (int i = 0; i < ConfigItem::CONFIGMODEL_ITEM_MAX; i++)
             {
                 ConfigItem item = (ConfigItem)i;
-                cJSON *obj=get_item(item);
-                if (obj == NULL) //没有变量则用默认值初始化
+                cJSON *obj = get_item(item);
+                if (obj == NULL) // 没有变量则用默认值初始化
                 {
                     reset_item_to_default(item);
                 }
@@ -236,10 +236,13 @@ namespace OHOS
         cJSON *data_obj = cJSON_CreateNumber(static_cast<double>(data));
         if (data_obj != nullptr)
         {
-            if (cJSON_GetObjectItem(json_obj,field_name)!=NULL){
+            if (cJSON_GetObjectItem(json_obj, field_name) != NULL)
+            {
                 cJSON_ReplaceItemInObject(json_obj, field_name, data_obj);
-            }else{
-                cJSON_AddItemToObject(json_obj,field_name,data_obj);
+            }
+            else
+            {
+                cJSON_AddItemToObject(json_obj, field_name, data_obj);
             }
         }
         else
@@ -265,10 +268,13 @@ namespace OHOS
         cJSON *data_obj = cJSON_CreateNumber(data);
         if (data_obj != nullptr)
         {
-            if (cJSON_GetObjectItem(json_obj,field_name)!=NULL){
+            if (cJSON_GetObjectItem(json_obj, field_name) != NULL)
+            {
                 cJSON_ReplaceItemInObject(json_obj, field_name, data_obj);
-            }else{
-                cJSON_AddItemToObject(json_obj,field_name,data_obj);
+            }
+            else
+            {
+                cJSON_AddItemToObject(json_obj, field_name, data_obj);
             }
         }
         else
@@ -293,11 +299,14 @@ namespace OHOS
 
         cJSON *data_obj = cJSON_CreateBool(data);
         if (data_obj != nullptr)
-        {   
-            if (cJSON_GetObjectItem(json_obj,field_name)!=NULL){
+        {
+            if (cJSON_GetObjectItem(json_obj, field_name) != NULL)
+            {
                 cJSON_ReplaceItemInObject(json_obj, field_name, data_obj);
-            }else{
-                cJSON_AddItemToObject(json_obj,field_name,data_obj);
+            }
+            else
+            {
+                cJSON_AddItemToObject(json_obj, field_name, data_obj);
             }
         }
         else
@@ -323,10 +332,13 @@ namespace OHOS
         cJSON *data_obj = cJSON_CreateString(data);
         if (data_obj != nullptr)
         {
-            if (cJSON_GetObjectItem(json_obj,field_name)!=NULL){
+            if (cJSON_GetObjectItem(json_obj, field_name) != NULL)
+            {
                 cJSON_ReplaceItemInObject(json_obj, field_name, data_obj);
-            }else{
-                cJSON_AddItemToObject(json_obj,field_name,data_obj);
+            }
+            else
+            {
+                cJSON_AddItemToObject(json_obj, field_name, data_obj);
             }
         }
         else
@@ -381,7 +393,6 @@ namespace OHOS
             cJSON_AddItemToArray(array_obj, cJSON_CreateString(item.c_str()));
         }
         cJSON_ReplaceItemInObject(json_obj, field_name, array_obj);
-
     }
 
     /*
@@ -423,11 +434,11 @@ namespace OHOS
         if (model_initialled == true)
         {
             WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "ConfigModel::Init already done");
-            return ;
+            return;
         }
         /* -------------------------------- 1.加载json文件 -------------------------------- */
         bool ret = LoadJsonData();
-        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "ConfigModel::Init %d",ret);
+        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "ConfigModel::Init %d", ret);
 
         /* ------------------------------ 2.显示读取到的json数据 ------------------------------ */
         DumpJsonData();
@@ -435,51 +446,50 @@ namespace OHOS
     }
     void ConfigModel::DumpJsonItem(ConfigItem item)
     {
-        switch(get_config_datatype(item))
-        {
-            case ConfigDataType::DATATYPE_BOOL:
-                WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "item(%s):type(bool):value(%d)", 
-                                get_config_name(item),
-                                get_configData_bool(item));
-                break;
-            case ConfigDataType::DATATYPE_DOUBLE:
-                WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "item(%s):type(double):value(%f)", 
-                                get_config_name(item),
-                                get_configData_double(item));
-                break;
-            case ConfigDataType::DATATYPE_INT :
-                WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "item(%s):type(int):value(%d)", 
-                                get_config_name(item),
-                                get_configData_int(item));
-                break;
-            case ConfigDataType::DATATYPE_STRING:
-                WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "item(%s):type(string):value(%s)", 
-                                get_config_name(item),
-                                get_configData_string(item).c_str());
-                break;
-            case ConfigDataType::DATATYPE_VECTOR_DOUBLE:
-                WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "item(%s):type(vector_double):value(%f)", 
-                                get_config_name(item),
-                                "");
-                break;
-            case ConfigDataType::DATATYPE_VECTOR_INT:
-                WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "item(%s):type(vector_int):value(%d)", 
-                                get_config_name(item),
-                                "");
-                break;
-            case ConfigDataType::DATATYPE_VECTOR_STRING:
-                WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "item(%s):type(vector_string):value(%s)", 
-                                get_config_name(item),
-                                "");
-                break;
-
+        switch (get_config_datatype(item))
+        {
+        case ConfigDataType::DATATYPE_BOOL:
+            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "item(%s):type(bool):value(%d)",
+                          get_config_name(item),
+                          get_configData_bool(item));
+            break;
+        case ConfigDataType::DATATYPE_DOUBLE:
+            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "item(%s):type(double):value(%f)",
+                          get_config_name(item),
+                          get_configData_double(item));
+            break;
+        case ConfigDataType::DATATYPE_INT:
+            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "item(%s):type(int):value(%d)",
+                          get_config_name(item),
+                          get_configData_int(item));
+            break;
+        case ConfigDataType::DATATYPE_STRING:
+            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "item(%s):type(string):value(%s)",
+                          get_config_name(item),
+                          get_configData_string(item).c_str());
+            break;
+        case ConfigDataType::DATATYPE_VECTOR_DOUBLE:
+            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "item(%s):type(vector_double):value(%f)",
+                          get_config_name(item),
+                          "");
+            break;
+        case ConfigDataType::DATATYPE_VECTOR_INT:
+            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "item(%s):type(vector_int):value(%d)",
+                          get_config_name(item),
+                          "");
+            break;
+        case ConfigDataType::DATATYPE_VECTOR_STRING:
+            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "item(%s):type(vector_string):value(%s)",
+                          get_config_name(item),
+                          "");
+            break;
         }
     }
     /// @brief 显示读取到的json数据
     void ConfigModel::DumpJsonData(void)
     {
         WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "/* -------------------------------- JsonData: ------------------------------- */\n");
-        for (int i = 0; i< ConfigItem::CONFIGMODEL_ITEM_MAX;i++)
+        for (int i = 0; i < ConfigItem::CONFIGMODEL_ITEM_MAX; i++)
         {
             DumpJsonItem((ConfigItem)i);
         }
@@ -487,29 +497,29 @@ namespace OHOS
     }
 
     /* -------------------------------- set与get方法 ------------------------------- */
-   
+
     /*
-     * @brief 设置抬腕亮屏是否开启 
-     */    
+     * @brief 设置抬腕亮屏是否开启
+     */
     void ConfigModel::SetRaiseToWake(bool value)
     {
-        set_condigData_Bool(CONFIGMODEL_ITEM_RAISE_TO_WAKE,value);
+        set_condigData_Bool(CONFIGMODEL_ITEM_RAISE_TO_WAKE, value);
     }
 
     /*
-     * @brief 获取抬腕亮屏是否开启 
-     */    
+     * @brief 获取抬腕亮屏是否开启
+     */
     bool ConfigModel::GetRaiseToWake(void)
     {
         return get_configData_bool(CONFIGMODEL_ITEM_RAISE_TO_WAKE);
     }
 
-    /* 
+    /*
      * @brief 设置亮屏时长单位ms
-     */    
+     */
     void ConfigModel::SetScreenDuration(unsigned int value)
     {
-        set_condigData_Int(CONFIGMODEL_ITEM_SCREEN_OFF_TIMEOUT_VALUE,value);
+        set_condigData_Int(CONFIGMODEL_ITEM_SCREEN_OFF_TIMEOUT_VALUE, value);
     }
 
     /// @brief 获取亮屏时长单位ms
@@ -527,7 +537,7 @@ namespace OHOS
     /* -------------------------------------------------------------------------- */
     void ConfigModel::SetLanguage(int language)
     {
-        set_condigData_Int(CONFIGMODEL_ITEM_LANGUAGE_ID,language);
+        set_condigData_Int(CONFIGMODEL_ITEM_LANGUAGE_ID, language);
     }
 
     int ConfigModel::GetLanguage()
@@ -537,7 +547,7 @@ namespace OHOS
 
     void ConfigModel::SetLanguageCode(const char *languagecode)
     {
-        set_condigData_String(CONFIGMODEL_ITEM_LANGUAGE_CODE,languagecode);
+        set_condigData_String(CONFIGMODEL_ITEM_LANGUAGE_CODE, languagecode);
     }
 
     std::string ConfigModel::GetLanguageCode(void)
@@ -561,17 +571,17 @@ namespace OHOS
 
     void ConfigModel::Setimei(char *str)
     {
-        set_condigData_String(CONFIGMODEL_ITEM_CAT1_IMEI,str);        
+        set_condigData_String(CONFIGMODEL_ITEM_CAT1_IMEI, str);
     }
 
     void ConfigModel::SetpyVer(char *str)
     {
-        set_condigData_String(CONFIGMODEL_ITEM_CAT1_PYVER,str);        
+        set_condigData_String(CONFIGMODEL_ITEM_CAT1_PYVER, str);
     }
 
     void ConfigModel::SetmoderVer(char *str)
     {
-        set_condigData_String(CONFIGMODEL_ITEM_CAT1_MODEMVER,str);        
+        set_condigData_String(CONFIGMODEL_ITEM_CAT1_MODEMVER, str);
     }
 
     /*
@@ -580,7 +590,7 @@ namespace OHOS
      */
     void ConfigModel::SetVibrationReminder(int state)
     {
-        set_condigData_Bool(CONFIGMODEL_ITEM_VIBRATOR_SWITCH,state);
+        set_condigData_Bool(CONFIGMODEL_ITEM_VIBRATOR_SWITCH, state);
     }
 
     /*获取震动提醒是否开启*/
@@ -596,7 +606,7 @@ namespace OHOS
      */
     void ConfigModel::SetSilentMode(bool state)
     {
-        set_condigData_Bool(CONFIGMODEL_ITEM_SILENT_MODE,state);
+        set_condigData_Bool(CONFIGMODEL_ITEM_SILENT_MODE, state);
     }
 
     /*获取静音模式是否开启*/
@@ -611,7 +621,7 @@ namespace OHOS
      */
     void ConfigModel::SetCat1_4Gability(bool state)
     {
-        set_condigData_Bool(CONFIGMODEL_ITEM_CAT1_SERVICE_ON,state);
+        set_condigData_Bool(CONFIGMODEL_ITEM_CAT1_SERVICE_ON, state);
     }
 
     /*
@@ -626,7 +636,7 @@ namespace OHOS
     /*设置勿扰模式是否开启*/
     void ConfigModel::SetDnotdisturb(bool state)
     {
-        set_condigData_Bool(CONFIGMODEL_ITEM_DNOTDISTURB,state);
+        set_condigData_Bool(CONFIGMODEL_ITEM_DNOTDISTURB, state);
     }
 
     /*获取勿扰模式是否开启*/
@@ -638,7 +648,7 @@ namespace OHOS
     // 设置亮度值
     void ConfigModel::SetBrightness(int level)
     {
-        set_condigData_Int(CONFIGMODEL_ITEM_SCREEN_BRIGHTNESS_VALUE,level);
+        set_condigData_Int(CONFIGMODEL_ITEM_SCREEN_BRIGHTNESS_VALUE, level);
     }
 
     // 获取亮度值
@@ -647,60 +657,62 @@ namespace OHOS
         return get_configData_int(CONFIGMODEL_ITEM_SCREEN_BRIGHTNESS_VALUE);
     }
 
-/* ---------------------------------------------------------------------------- */
+    /*设置用户年龄[后续使用结构体统一配置]*/
+    void ConfigModel::SetUserAge(int age)
+    {
+        set_condigData_Int(CONFIGMODEL_ITEM_CUSTOM_DATA_AGE,age);
+    }
+    /*获取用户年龄*/
+    int ConfigModel::GetUserAge()
+    {
+        return get_configData_int(CONFIGMODEL_ITEM_CUSTOM_DATA_AGE);
+    }
+    /* ---------------------------------------------------------------------------- */
     int ConfigModel::get_configData_int(ConfigItem item)
     {
-        return ReadJsonData_Int(GetcJSON(),get_config_name(item));
-
+        return ReadJsonData_Int(GetcJSON(), get_config_name(item));
     }
     double ConfigModel::get_configData_double(ConfigItem item)
     {
-        return ReadJsonData_Double(GetcJSON(),get_config_name(item));
-
+        return ReadJsonData_Double(GetcJSON(), get_config_name(item));
     }
     bool ConfigModel::get_configData_bool(ConfigItem item)
     {
-        return ReadJsonData_Bool(GetcJSON(),get_config_name(item));
-
+        return ReadJsonData_Bool(GetcJSON(), get_config_name(item));
     }
     std::string ConfigModel::get_configData_string(ConfigItem item)
     {
-        return ReadJsonData_String(GetcJSON(),get_config_name(item));
+        return ReadJsonData_String(GetcJSON(), get_config_name(item));
     }
-    
+
     void ConfigModel::set_condigData_Int(ConfigItem item, int data)
     {
-        WriteJsonData_Int(GetcJSON(),get_config_name(item),data);
+        WriteJsonData_Int(GetcJSON(), get_config_name(item), data);
     }
     void ConfigModel::set_condigData_Double(ConfigItem item, double data)
     {
-        WriteJsonData_Double(GetcJSON(),get_config_name(item),data);
-
+        WriteJsonData_Double(GetcJSON(), get_config_name(item), data);
     }
     void ConfigModel::set_condigData_Bool(ConfigItem item, bool data)
     {
-        WriteJsonData_Bool(GetcJSON(),get_config_name(item),data);
-
+        WriteJsonData_Bool(GetcJSON(), get_config_name(item), data);
     }
     void ConfigModel::set_condigData_String(ConfigItem item, const char *data)
     {
-        WriteJsonData_String(GetcJSON(),get_config_name(item),data);
+        WriteJsonData_String(GetcJSON(), get_config_name(item), data);
     }
     void ConfigModel::set_condigData_VectorInt(ConfigItem item, const std::vector<int> &data)
     {
-        WriteJsonData_VectorInt(GetcJSON(),get_config_name(item),data);
-
+        WriteJsonData_VectorInt(GetcJSON(), get_config_name(item), data);
     }
     void ConfigModel::set_condigData_VectorDouble(ConfigItem item, const std::vector<double> &data)
     {
-        WriteJsonData_VectorDouble(GetcJSON(),get_config_name(item),data);
-
+        WriteJsonData_VectorDouble(GetcJSON(), get_config_name(item), data);
     }
     void ConfigModel::set_condigData_VectorString(ConfigItem item, const std::vector<std::string> &data)
     {
-        WriteJsonData_VectorString(GetcJSON(),get_config_name(item),data);
-
-    }  
+        WriteJsonData_VectorString(GetcJSON(), get_config_name(item), data);
+    }
     int ConfigModel::sync_all_to_disk(void)
     {
         char *jsonString = cJSON_Print(GetcJSON());
@@ -713,63 +725,63 @@ namespace OHOS
 
 #ifdef __cplusplus
 #if __cplusplus
-extern "C" {
+extern "C"
+{
 #endif
 #endif
 
-uint32_t ConfigModelInit(void)
-{
-    OHOS::ConfigModel::GetInstance()->Init();
-    return 0;
-}
-
-/***
- * 蓝牙服务是否开启
- */
-bool custom_ble_service_on_flag(void)
-{
-    return OHOS::ConfigModel::GetInstance()->GetClassicBlueToothState();
-}
-/***
- * Cat1服务是否开启
- */
-bool poweron_cat1_on_bootup_flag(void)
-{
-    return OHOS::ConfigModel::GetInstance()->GetCat1_4Gability();
-}
-void sync_all_config_to_disk(void)
-{
-    OHOS::ConfigModel::GetInstance()->sync_all_to_disk();
-}
-
+    uint32_t ConfigModelInit(void)
+    {
+        OHOS::ConfigModel::GetInstance()->Init();
+        return 0;
+    }
 
-void initScreenBrightness(void)
-{
-   WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "initScreenBrightness");
-   int brightness = OHOS::ConfigModel::GetInstance()->GetBrightness();
-   uapi_setScreenBrightness(brightness);
-}
+    /***
+     * 蓝牙服务是否开启
+     */
+    bool custom_ble_service_on_flag(void)
+    {
+        return OHOS::ConfigModel::GetInstance()->GetClassicBlueToothState();
+    }
+    /***
+     * Cat1服务是否开启
+     */
+    bool poweron_cat1_on_bootup_flag(void)
+    {
+        return OHOS::ConfigModel::GetInstance()->GetCat1_4Gability();
+    }
+    void sync_all_config_to_disk(void)
+    {
+        OHOS::ConfigModel::GetInstance()->sync_all_to_disk();
+    }
 
-void initializeScreenDuration(void)
-{
-   WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "initializeScreenDuration");
-   unsigned int time = OHOS::ConfigModel::GetInstance()->GetScreenDuration();
-   uapi_setScreenDuration(time);
-}
+    void initScreenBrightness(void)
+    {
+        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "initScreenBrightness");
+        int brightness = OHOS::ConfigModel::GetInstance()->GetBrightness();
+        uapi_setScreenBrightness(brightness);
+    }
 
-void initializeRaiseToWake(void)
-{
-    WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "initializeRaiseToWake");
-    bool isOpen =  OHOS::ConfigModel::GetInstance()->GetRaiseToWake();
-    if(isOpen == true)
+    void initializeScreenDuration(void)
     {
-        uapi_take_to_wake(1);
+        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "initializeScreenDuration");
+        unsigned int time = OHOS::ConfigModel::GetInstance()->GetScreenDuration();
+        uapi_setScreenDuration(time);
     }
-    else
+
+    void initializeRaiseToWake(void)
     {
-        uapi_take_to_wake(2);
+        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "initializeRaiseToWake");
+        bool isOpen = OHOS::ConfigModel::GetInstance()->GetRaiseToWake();
+        if (isOpen == true)
+        {
+            uapi_take_to_wake(1);
+        }
+        else
+        {
+            uapi_take_to_wake(2);
+        }
     }
-}
 #ifdef __cplusplus
 #if __cplusplus
 }
index ba321b7..d2559c1 100644 (file)
@@ -153,6 +153,14 @@ namespace OHOS
         STEP,
         UNKNOW,
     };
+
+    enum Exercise
+    {
+        LOW_INTENSITY = 0,
+        MEDIUM_INTENSITY,
+        HIGH_INTENSITY,
+        VERY_HIGH_INTENSITY
+    };
     struct SportData
     {
         uint64 starttime;         // 开始时间时间戳
@@ -252,6 +260,9 @@ namespace OHOS
         int GetSportTag();
         /*获取项目目标类型*/
         ExerciseTag GetSportTagtype();
+        /*设置训练强度*/
+        void SetIntensity(int heart);
+
 
         std::string GetStartTiemStr();
         std::string GetEndTiemStr();
index 054a47c..af80add 100644 (file)
@@ -22,6 +22,7 @@
 #include "broadcast_feature.h"
 #include "broadcast_service.h"
 #include "bletest.h"
+#include "config/include/ConfigModel.h"
 #include "samgr_lite.h"
 #include <mutex>
 #include <memory>
@@ -476,6 +477,7 @@ namespace OHOS
         // 通用数据
         sportdata->calories = cyweeInfo->calories;
         sportdata->heart = cyweeInfo->hrs;
+        SetIntensity(sportdata->heart); // 设置训练强度
         if (sportdata->heart > 50)
         {
             sportdata->avgheart = CalculateAverageHeartRate(cyweeInfo->hrs); // 处理平均心率
@@ -628,6 +630,46 @@ namespace OHOS
         sportTag_ = tagtpye;
         tag_ = tag;
     }
+
+    /* 设置训练强度 */
+    void TraingModel::SetIntensity(int heart)
+    {
+        /*
+            训练强度
+            220-年龄=最高心率
+
+            分为四个强度区间
+            较低强度=最高心率*59%以下
+            中等强度=最高心率*60%~69%
+            高等强度=最高心率*70%~79%
+            超高强度=最高心率*80%以上
+        */
+        int age = ConfigModel::GetInstance()->GetUserAge();
+        int maxHeartRate = 220 - age;
+
+        double intensityPercentage = (heart / (double)maxHeartRate) * 100;
+
+        if (intensityPercentage < 59)
+        {
+            // 较低强度
+            sportdata->intensity = LOW_INTENSITY;
+        }
+        else if (intensityPercentage >= 60 && intensityPercentage <= 69)
+        {
+            // 中等强度
+            sportdata->intensity = MEDIUM_INTENSITY;
+        }
+        else if (intensityPercentage >= 70 && intensityPercentage <= 79)
+        {
+            // 高等强度
+            sportdata->intensity = HIGH_INTENSITY;
+        }
+        else
+        {
+            // 超高强度
+            sportdata->intensity = VERY_HIGH_INTENSITY;
+        }
+    }
 /* -------------------------------------------------------------------------- */
 #if TIMER
     /* 时间显示 */