1.Ai模型选择界面修改:
authorluozheng <1732036298@qq.com>
Mon, 15 Jul 2024 06:34:20 +0000 (14:34 +0800)
committerluozheng <1732036298@qq.com>
Mon, 15 Jul 2024 06:34:20 +0000 (14:34 +0800)
    1.现在通过切换选择的Ai模型会更改Ai语音界面的title
    2.ConfigModel保存开机时选择的Ai模型。

code/sdk/application/wearable/fd230app/nativeui/aimodels/include/AiModelsModel.h
code/sdk/application/wearable/fd230app/nativeui/aimodels/include/AiModelsPresenter.h
code/sdk/application/wearable/fd230app/nativeui/aimodels/include/AiModelsView.h
code/sdk/application/wearable/fd230app/nativeui/aimodels/src/AiModelsModel.cpp
code/sdk/application/wearable/fd230app/nativeui/aimodels/src/AiModelsPresenter.cpp
code/sdk/application/wearable/fd230app/nativeui/aimodels/src/AiModelsView.cpp
code/sdk/application/wearable/fd230app/nativeui/aivoice/src/AiVoiceView.cpp
code/sdk/application/wearable/fd230app/nativeui/aivoice/src/AivoiceReturnResultTextView.cpp
code/sdk/drivers/peripheral/config/include/ConfigModel.h
code/sdk/drivers/peripheral/config/src/ConfigModel.cpp

index 00d64da..533a47b 100644 (file)
@@ -2,7 +2,7 @@
  * @Author: luozheng 1732036298@qq.com
  * @Date: 2024-07-08 09:39:31
  * @LastEditors: luozheng 1732036298@qq.com
- * @LastEditTime: 2024-07-10 21:20:02
+ * @LastEditTime: 2024-07-15 11:57:25
  * @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/aimodels/include/AiModelsModel.h
  */
 
@@ -22,16 +22,12 @@ namespace OHOS
         void SetSelectAiModel(int index);
         bool ChangeAiModel(void);
         int GetAiModelTextId(void);
-        void SetAiModelTextId(int textId);
 
     private:
         AiModelsModel();
         ~AiModelsModel();
         AiModelsModel(const AiModelsModel &) = delete;
         AiModelsModel &operator=(const AiModelsModel &) = delete;
-
-        int selectAiModel; // 选择的ai模型
-        int textId;
     };
 }
 
index dda8635..f7add5a 100644 (file)
@@ -2,7 +2,7 @@
  * @Author: luozheng 1732036298@qq.com
  * @Date: 2024-07-08 09:39:10
  * @LastEditors: luozheng 1732036298@qq.com
- * @LastEditTime: 2024-07-10 10:21:57
+ * @LastEditTime: 2024-07-15 11:57:50
  * @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/aimodels/include/AiModelsPresenter.h
  */
 
 #include "Presenter.h"
 #include "View.h"
 #include "aimodels/include/AiModelsModel.h"
-
+#include "aimodels/include/AiModelsView.h"
 namespace OHOS
 {
+    static const int AimodelsTextId[AIMODES_MAX_NUM] = {STR_AIMODELS_DOUBAO, STR_AIMODES_WENXINYIYAN, STR_AIMODES_KIMI, STR_AIMODES_CHATGPT};
     class AiModelsView;
     class AiModelsModel;
     class AiModelsPresenter : public Presenter<AiModelsView>,
@@ -31,7 +32,6 @@ namespace OHOS
         int16_t GetSelectAiModel(void);
         /*单击func key切换ai模型*/
         void ChangeAiModel(void);
-        void SetAiModelTextId(int16_t id);
 
         void OnStart() override;
         void OnResume() override;
index 5b11db1..c8918fe 100644 (file)
@@ -2,7 +2,7 @@
  * @Author: luozheng 1732036298@qq.com
  * @Date: 2024-07-08 09:38:50
  * @LastEditors: luozheng 1732036298@qq.com
- * @LastEditTime: 2024-07-10 10:11:28
+ * @LastEditTime: 2024-07-15 11:59:42
  * @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/aimodels/include/AiModelsView.h
  */
 
@@ -30,22 +30,22 @@ namespace OHOS
         AIMODES_MAX_NUM,
     } aimodels;
 
-    static constexpr char *AIMODES_DOUBAO_BUTTONVIEWID = "doubao_button";
-    static constexpr char *AIMODES_WENXINYIYAN_BUTTONVIEWID = "wenxinyiyan_button";
-    static constexpr char *AIMODES_KIMI_BUTTONVIEWID = "kimi_button";
-    static constexpr char *AIMODES_CHATGPT_BUTTONVIEWID = "chatgpt_button";
+    static constexpr const char *AIMODES_DOUBAO_BUTTONVIEWID = "doubao_button";
+    static constexpr const char *AIMODES_WENXINYIYAN_BUTTONVIEWID = "wenxinyiyan_button";
+    static constexpr const char *AIMODES_KIMI_BUTTONVIEWID = "kimi_button";
+    static constexpr const char *AIMODES_CHATGPT_BUTTONVIEWID = "chatgpt_button";
 
-    static constexpr char *AiModels_Bg = AIMODELS_IMAGE_PATH "/aimodels_bg.bin";             /*整个模型背景*/
-    static constexpr char *AiModels_title_Bg = AIMODELS_IMAGE_PATH "/aimodels_title_bg.bin"; /*标题背景*/
-    static constexpr char *AiModels_select = AIMODELS_IMAGE_PATH "/aimodels_select.bin";     /*模型选中状态*/
-    static constexpr char *AiModelsImagePath[AIMODES_MAX_NUM] = {
+    static constexpr const char *AiModels_Bg = AIMODELS_IMAGE_PATH "/aimodels_bg.bin";             /*整个模型背景*/
+    static constexpr const char *AiModels_title_Bg = AIMODELS_IMAGE_PATH "/aimodels_title_bg.bin"; /*标题背景*/
+    static constexpr const char *AiModels_select = AIMODELS_IMAGE_PATH "/aimodels_select.bin";     /*模型选中状态*/
+    static constexpr const char *AiModelsImagePath[AIMODES_MAX_NUM] = {
         AIMODELS_IMAGE_PATH "/aimodels_doubao.bin",      /*豆包*/
         AIMODELS_IMAGE_PATH "/aimodels_wenxinyiyan.bin", /*文心一言*/
         AIMODELS_IMAGE_PATH "/aimodels_kimi.bin",        /*Kimi*/
         AIMODELS_IMAGE_PATH "/aimode_lschatgpt_on.bin",  /*ChatGPT*/
     };
 
-    static constexpr char *AiModelsButtonViewId[AIMODES_MAX_NUM] = {
+    static constexpr const char *AiModelsButtonViewId[AIMODES_MAX_NUM] = {
         AIMODES_DOUBAO_BUTTONVIEWID,      /*豆包*/
         AIMODES_WENXINYIYAN_BUTTONVIEWID, /*文心一言*/
         AIMODES_KIMI_BUTTONVIEWID,        /*Kimi*/
@@ -113,7 +113,6 @@ namespace OHOS
         UILabelExt *AiModelsTitle{nullptr}; // au模型标题
         UIButton *AiModelsButtons[AIMODES_MAX_NUM]{nullptr};
         UIImageView *AiModelsImages[AIMODES_MAX_NUM]{nullptr};
-        static const int AimodelsTextId[AIMODES_MAX_NUM];
         bool viewInitStatus{false};
     };
 }
index 52c9c49..5466fca 100644 (file)
@@ -2,14 +2,14 @@
  * @Author: luozheng 1732036298@qq.com
  * @Date: 2024-07-08 09:39:58
  * @LastEditors: luozheng 1732036298@qq.com
- * @LastEditTime: 2024-07-10 21:20:06
+ * @LastEditTime: 2024-07-15 11:57:32
  * @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/aimodels/src/AiModelsModel.cpp
  */
 
 #include "aimodels/include/AiModelsModel.h"
 #include "aimodels/include/AiModelsPresenter.h"
 #include "wearable_log.h"
-
+#include "ConfigModel.h"
 namespace OHOS
 {
     AiModelsModel::AiModelsModel() {}
@@ -25,13 +25,13 @@ namespace OHOS
     /*获取选择的ai模型*/
     int AiModelsModel::GetSelectAiModel(void)
     {
-        return selectAiModel;
+        return ConfigModel::GetInstance()->GetSelectAiModel();
     }
 
     // 设置选择的ai模型
     void AiModelsModel::SetSelectAiModel(int index)
     {
-        selectAiModel = index;
+        ConfigModel::GetInstance()->SetSelectAiModel(index);
     }
 
     /*单击func key切换ai模型*/
@@ -51,13 +51,6 @@ namespace OHOS
     /*获取已选择的ai模型的textid*/
     int AiModelsModel::GetAiModelTextId(void)
     {
-        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AiModelsModel::GetAiModelTextId - textId = %d", textId);
-        return textId;
-    }
-
-    void AiModelsModel::SetAiModelTextId(int id)
-    {
-        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AiModelsModel::SetAiModelTextId - id = %d", id);
-        textId = id;
+        return AimodelsTextId[GetSelectAiModel()];
     }
 }
index 545549c..07a338b 100644 (file)
@@ -2,7 +2,7 @@
  * @Author: luozheng 1732036298@qq.com
  * @Date: 2024-06-20 15:11:17
  * @LastEditors: luozheng 1732036298@qq.com
- * @LastEditTime: 2024-07-10 10:22:18
+ * @LastEditTime: 2024-07-15 14:23:53
  * @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/aivoice/src/AiModelsPresenter.cpp
  */
 #include "AppViewIDs.h"
@@ -11,7 +11,6 @@
 #include <custom_utils.h>
 #include "UiConfig.h"
 #include "aimodels/include/AiModelsPresenter.h"
-#include "aimodels/include/AiModelsView.h"
 
 namespace OHOS
 {
@@ -43,20 +42,15 @@ namespace OHOS
     void AiModelsPresenter::ChangeAiModel(void)
     {
         int index = GetSelectAiModel() + 1;
-        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AiModelsPresenter::index = %d", index);
         if (index >= AIMODES_MAX_NUM)
         {
             index = AIMODES_DOUBAO;
         }
+        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AiModelsPresenter::index = %d", index);
         model->SetSelectAiModel(index);
         view_->UpdateAiModelsSelectStateAndTitleId();
     }
 
-    void AiModelsPresenter::SetAiModelTextId(int16_t id)
-    {
-        model->SetAiModelTextId(id);
-    }
-
     // 启动时执行的逻辑
     void AiModelsPresenter::OnStart()
     {
index 89db668..a1da414 100644 (file)
@@ -2,7 +2,7 @@
  * @Author: luozheng 1732036298@qq.com
  * @Date: 2024-05-07 11:25:58
  * @LastEditors: luozheng 1732036298@qq.com
- * @LastEditTime: 2024-07-10 10:24:57
+ * @LastEditTime: 2024-07-15 11:58:45
  * @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/AiModels/src/AiModelsView.cpp
  */
 #include "aimodels/include/AiModelsPresenter.h"
@@ -11,7 +11,6 @@
 
 namespace OHOS
 {
-    const int AiModelsView::AimodelsTextId[AIMODES_MAX_NUM] = {STR_AIMODELS_DOUBAO, STR_AIMODES_WENXINYIYAN, STR_AIMODES_KIMI, STR_AIMODES_CHATGPT};
     static AiModelsView *g_pAiModelsView{nullptr};
     AiModelsView::AiModelsView()
     {
@@ -39,7 +38,6 @@ namespace OHOS
     {
         int index = presenter_->GetSelectAiModel();
         int textId = AimodelsTextId[index];
-        presenter_->SetAiModelTextId(textId);
         if (AiModelsTitle != nullptr)
         {
             AiModelsTitle->SetTextId(textId);
index 0aa9a82..ce9430f 100644 (file)
@@ -2,13 +2,14 @@
  * @Author: luozheng 1732036298@qq.com
  * @Date: 2024-05-07 11:25:58
  * @LastEditors: luozheng 1732036298@qq.com
- * @LastEditTime: 2024-07-06 10:12:27
+ * @LastEditTime: 2024-07-12 16:05:22
  * @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/AiVoice/src/AiVoiceView.cpp
  */
 #include "aivoice/include/AiVoicePresenter.h"
 #include "aivoice/include/AiVoiceView.h"
 #include "wearable_log.h"
 #include "ui_resource_string.h"
+#include "aimodels/include/AiModelsModel.h"
 namespace OHOS
 {
 
@@ -157,7 +158,7 @@ namespace OHOS
             .height = 35,
             .fontSize = 30,
             .lineHeigh = 35,
-            .textId = STR_AI_INTELLIGENT_ASSISTANT,
+            .textId = AiModelsModel::GetInstance().GetAiModelTextId(),
             .lineBreakMode = UILabel::LINE_BREAK_OSCILLATION,
         };
         title = AiVoiceViewLabelInit(labelConfig);
index f6831e9..4d30e9b 100644 (file)
@@ -2,7 +2,7 @@
  * @Author: luozheng 1732036298@qq.com
  * @Date: 2024-05-07 11:25:58
  * @LastEditors: luozheng 1732036298@qq.com
- * @LastEditTime: 2024-07-12 11:14:36
+ * @LastEditTime: 2024-07-12 16:11:36
  * @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/AiVoice/src/AivoiceReturnResultTextView.cpp
  */
 #include "aivoice/include/AiVoicePresenter.h"
@@ -13,6 +13,7 @@
 #include <UiConfig.h>
 #include <iostream>
 #include "string"
+#include "aimodels/include/AiModelsModel.h"
 
 namespace OHOS
 {
@@ -189,7 +190,7 @@ namespace OHOS
             .height = 35,
             .fontSize = 30,
             .lineHeight = 35,
-            .textId = STR_AI_INTELLIGENT_ASSISTANT,
+            .textId = AiModelsModel::GetInstance().GetAiModelTextId(),
             .lineBreakMode = UILabel::LINE_BREAK_OSCILLATION,
         };
         title = AivoiceReturnResultTextLabelInit(labelconfig);
index 8c32473..924e976 100644 (file)
@@ -125,6 +125,7 @@ namespace OHOS
             CONFIGMODEL_ITEM_24HOUR,//默认24小时模式显示
 
             CONFIGMOFEL_ITEM_DMP_CHINA_MOBILE_ADDRESS,//移动入库地址默认测试是适配地址 b.fxltsbl.com 出正式需要修改商用地址 a.fxltsbl.com
+            CONFIGMODEL_ITEM_SELECT_AIMODEL,//ai模型
             CONFIGMODEL_ITEM_MAX,
         } ;
 
@@ -268,6 +269,9 @@ namespace OHOS
         /* ---------------------------------- 运动识别相关set与get ---------------------------------- */
         void SetMotionRecognition(bool state);
         bool GetMotionRecognition(void);
+        /* ---------------------------------- ai模型相关set与get ---------------------------------- */
+        void SetSelectAiModel(int value);
+        int GetSelectAiModel(void);
         /* --------------------------------- 用户配置信息 --------------------------------- */
         void SetUserAge(int age);
         int GetUserAge();
@@ -352,7 +356,8 @@ namespace OHOS
             {ConfigDataType::DATATYPE_INT,     "dmp_change_mode_old",       "0"           },//CONFIGMODEL_ITEM_DMP_CHANGE_MODE_OLD 默认值 1 要和新默认值一致
             #endif
             {ConfigDataType::DATATYPE_INT,     "time_hour_show_model",       "24"          },//CONFIGMODEL_ITEM_24HOUR,//默认24小时模式显示 ,12 12小时显示 ,24 24小时显示
-                       {ConfigDataType::DATATYPE_STRING,     "dmp_china_mobile_address", "b.fxltsbl.com"}//CONFIGMOFEL_ITEM_DMP_CHINA_MOBILE_ADDRESS 移动入库地址 测试使用适配地址 IP = b.fxltsbl.com 出正式使用商用地址 IP = a.fxltsbl.com
+                       {ConfigDataType::DATATYPE_STRING,     "dmp_china_mobile_address", "b.fxltsbl.com"},//CONFIGMOFEL_ITEM_DMP_CHINA_MOBILE_ADDRESS 移动入库地址 测试使用适配地址 IP = b.fxltsbl.com 出正式使用商用地址 IP = a.fxltsbl.com
+            {ConfigDataType::DATATYPE_INT,     "select_aimodel",       "0"          },//CONFIGMODEL_SELECT_AIMODEL 0:豆包 1:文心一言 2:kimi 3:ChatGPT
         };
         ConfigModel();                                        // 私有构造函数,确保无法在外部实例化
         ConfigModel(const ConfigModel &) = delete;            // 禁止拷贝构造
index d95e91f..fd6aa90 100644 (file)
@@ -1172,6 +1172,16 @@ namespace OHOS
     {
         return get_configData_bool(CONFIGMODEL_ITEM_MOTIONRECOGNITION);
     }
+
+    void ConfigModel::SetSelectAiModel(int value)
+    {
+        set_condigData_Int(CONFIGMODEL_ITEM_SELECT_AIMODEL,value);
+    }
+    
+    int ConfigModel::GetSelectAiModel(void)
+    {
+        return get_configData_int(CONFIGMODEL_ITEM_SELECT_AIMODEL);
+    }
 /* -------------------------------------------------------------------------- */
     /*设置用户年龄[后续使用结构体统一配置]*/
     void ConfigModel::SetUserAge(int age)