STR_STEP_FREQUENCY = 496,\r
STR_STEP_LENGTH = 497,\r
STR_AVG_PACE = 498,\r
- STR_MAX_ID = 499,\r
+ STR_TONGYI_QIANWEN = 499,\r
+ STR_IFLYTEK_SPARK = 500,\r
+ STR_MAX_ID = 501,\r
}; // UIResourceTextId\r
\r
enum FontLanguageId : uint8_t {\r
- LANGUAGE_ID_ZH,\r
LANGUAGE_ID_EN,\r
+ LANGUAGE_ID_ZH,\r
LANGUAGE_ID_MAX\r
}; // UITextLanguageTextId\r
}\r
* @Author: luozheng 1732036298@qq.com
* @Date: 2024-06-20 15:14:43
* @LastEditors: luozheng 1732036298@qq.com
- * @LastEditTime: 2024-08-08 17:07:30
+ * @LastEditTime: 2024-08-09 19:57:52
* @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/aivoice/include/AiVoiceModel.h
*/
#ifndef AI_VOICE_MODEL_H
static const uint16_t MaxChatContentListCount = 2; // 对话列表最大数量
ChatContentItem chatTtems[MaxChatContentListCount] = {0, "", false}; // 对话项数组
bool entryTextViewState{false}; // 进入返回结果界面的标志
- std::map<int, std::pair<int, int>> selectAiModelToTextId;
+ std::map<int, std::pair<int, int>> selectAiModelToTextId; // pair的参数类型<模型的textid,查询模型是否可用id>
bool AiVoiceConnectStatus{false}; //与AI模型的连接状态
};
* @Author: luozheng 1732036298@qq.com
* @Date: 2024-06-20 14:44:22
* @LastEditors: luozheng 1732036298@qq.com
- * @LastEditTime: 2024-08-03 17:46:15
+ * @LastEditTime: 2024-08-09 19:52:53
* @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/aivoice/include/AiVoicePresenter.h
*/
#ifndef AI_VOICE_PRESENTER_H
AIMODES_WENXINYIYAN = 0, /*文心一言*/
AIMODES_KIMI, /*KIMI*/
AIMODES_DOUBAO, /*豆包*/
+ AIMODES_TONGYI_QIANWEN, /*通义千问*/
+ AIMODES_IFLYTEK_SPARK, /*讯飞星火*/
AIMODES_CHATGPT, /*chatgpt*/
AIMODES_MAX_NUM,
} aimodels;
bool ChangeToAIVoiceListeningView(bool val);
bool ChangeViewAndLogicOperator(int16_t hideView, int16_t showView);
void FunctionKeyOnClickToChangeAIModel(void);
+ void DragLeftToRightChangeAIModel(void);
+ void DragRightToLetfChangeAIModel(void);
private:
bool OnClick(UIView &view, const ClickEvent &event) override;
bool OnDrag(UIView &view, const DragEvent &event) override;
bool OnDragEnd(UIView &view, const DragEvent &event) override;
bool OnKeyAct(UIView &view, const KeyEvent &event) override; // 增加按键事件
- void OnPickerStoped(UIPicker& picker) override;
+ void OnPickerStoped(UIPicker &picker) override;
AiVoiceModel *model;
bool X_DRAG_FLAG{false};
* @Author: luozheng 1732036298@qq.com
* @Date: 2024-06-08 09:36:01
* @LastEditors: luozheng 1732036298@qq.com
- * @LastEditTime: 2024-08-03 16:40:55
+ * @LastEditTime: 2024-08-09 20:14:30
* @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/respiratorytraining/include/AiVoiceView.h
*/
#ifndef AI_VOICE_VIEW_H
namespace OHOS
{
/*图片路径*/
- static constexpr const char *AIMODEL_WENXINYIYAN_PATH = "/user/res/AIVoice/aimodels/aimodels_wenxinyiyan.bin"; /*文心一言*/
- static constexpr const char *AIMODEL_CHATGPT_ON_PATH = "/user/res/AIVoice/aimodels/aimodels_chatgpt.bin"; /*ChatGPT*/
- static constexpr const char *AIMODEL_KIMI_PATH = "/user/res/AIVoice/aimodels/aimodels_kimi.bin"; /*KIMI*/
- static constexpr const char *AIMODEL_DOUBAO_PATH = "/user/res/AIVoice/aimodels/aimodels_doubao.bin"; /*豆包*/
+ static constexpr const char *AIMODEL_WENXINYIYAN_PATH = "/user/res/AIVoice/aimodels/aimodels_wenxinyiyan.bin"; /*文心一言*/
+ static constexpr const char *AIMODEL_CHATGPT_ON_PATH = "/user/res/AIVoice/aimodels/aimodels_chatgpt.bin"; /*ChatGPT*/
+ static constexpr const char *AIMODEL_KIMI_PATH = "/user/res/AIVoice/aimodels/aimodels_kimi.bin"; /*KIMI*/
+ static constexpr const char *AIMODEL_DOUBAO_PATH = "/user/res/AIVoice/aimodels/aimodels_doubao.bin"; /*豆包*/
+ static constexpr const char *AIMODEL_TONGYI_QIANWEN_PATH = "/user/res/AIVoice/aimodels/aimodes_tongyi_qianwen.bin"; /*通义千问*/
+ static constexpr const char *AIMODEL_IFLYTEK_SPARK_PATH = "/user/res/AIVoice/aimodels/aimodes_iflytek_spark.bin"; /*讯飞星火*/
/*组件ID*/
static constexpr const char *AIVOICE_START_CHAT_BUTTON_VIEW_ID = "aivoice_start_chat_button_view_id"; // 开始对话
{STR_AIMODES_WENXINYIYAN, AIMODEL_WENXINYIYAN_PATH},
{STR_AIMODES_KIMI, AIMODEL_KIMI_PATH},
{STR_AIMODELS_DOUBAO, AIMODEL_DOUBAO_PATH},
+ {STR_TONGYI_QIANWEN, AIMODEL_TONGYI_QIANWEN_PATH},
+ {STR_IFLYTEK_SPARK, AIMODEL_IFLYTEK_SPARK_PATH},
{STR_AIMODES_CHATGPT, AIMODEL_CHATGPT_ON_PATH},
};
* @Author: luozheng 1732036298@qq.com
* @Date: 2024-06-20 15:14:50
* @LastEditors: luozheng 1732036298@qq.com
- * @LastEditTime: 2024-08-08 17:07:46
+ * @LastEditTime: 2024-08-09 20:27:41
* @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/aivoice/src/AiVoiceModel.cpp
*/
#include "aivoice/include/AiVoiceModel.h"
SendMsgToUIService(UI_UPDATE_AI_ANSWER_STR, 0, nullptr, 0);
}
- void AiVoiceModel::SetAiAnswerStrStr(std::string str,uint8_t type)
+ void AiVoiceModel::SetAiAnswerStrStr(std::string str, uint8_t type)
{
aiAnswerStr += str;
SendMsgToUIService(UI_UPDATE_AI_ANSWER_STR, 0, nullptr, 0);
{0, {STR_AIMODES_WENXINYIYAN, 0}},
{1, {STR_AIMODES_KIMI, 2}},
{2, {STR_AIMODELS_DOUBAO, 3}},
- {3, {STR_AIMODES_CHATGPT, 1}},
+ {3, {STR_TONGYI_QIANWEN, 4}},
+ {4, {STR_IFLYTEK_SPARK, 5}},
+ {5, {STR_AIMODES_CHATGPT, 1}},
};
textId = STR_AIMODES_WENXINYIYAN;
}
{1, {STR_AIMODES_WENXINYIYAN, 0}},
{2, {STR_AIMODES_KIMI, 2}},
{3, {STR_AIMODELS_DOUBAO, 3}},
+ {4, {STR_TONGYI_QIANWEN, 4}},
+ {5, {STR_IFLYTEK_SPARK, 5}},
};
textId = STR_AIMODES_CHATGPT;
}
/*
* @Author: luozheng 1732036298@qq.com
* @Date: 2024-06-20 15:11:17
- * @LastEditors: SnickerSun snickersun@163.com
- * @LastEditTime: 2024-08-06 17:40:32
+ * @LastEditors: luozheng 1732036298@qq.com
+ * @LastEditTime: 2024-08-09 20:23:58
* @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/aivoice/src/AiVoicePresenter.cpp
*/
#include "AppViewIDs.h"
return;
}
+ // 右滑切换模型
+ void AiVoicePresenter::DragLeftToRightChangeAIModel(void)
+ {
+ int index = model->GetSelectAiModel() + 1;
+ if (index >= AIMODES_MAX_NUM)
+ {
+ index = 0;
+ }
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AiModelsPresenter::index = %d", index);
+ model->SetSelectAiModel(index);
+ view_->ChangeAiModelAndUpdateComponentsStatus();
+ return;
+ }
+
+ // 左滑切换模型
+ void AiVoicePresenter::DragRightToLetfChangeAIModel(void)
+ {
+ int index = model->GetSelectAiModel() - 1;
+ if (index < 0)
+ {
+ index = AIMODES_CHATGPT;
+ }
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AiModelsPresenter::index = %d", index);
+ model->SetSelectAiModel(index);
+ view_->ChangeAiModelAndUpdateComponentsStatus();
+ return;
+ }
+
bool AiVoicePresenter::ChangeViewAndLogicOperator(int16_t hideView, int16_t showView)
{
WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AiVoicePresenter::ChangeViewOperator");
{
return false;
}
-
- if (event.GetDragDirection() == DragEvent::DIRECTION_LEFT_TO_RIGHT && AiVoicePresenter::X_DRAG_FLAG)
+ if (event.GetDragDirection() == DragEvent::DIRECTION_RIGHT_TO_LEFT)
+ {
+ DragRightToLetfChangeAIModel();
+ }
+ else if (event.GetDragDirection() == DragEvent::DIRECTION_LEFT_TO_RIGHT && AiVoicePresenter::X_DRAG_FLAG)
{
if (scrollView == view_->GetAiVoiceScrollView(AIVOICE_STARTCHAT_VIEWID))
{
/*AI对话界面右滑退出当前Slice*/
- NativeAbility::GetInstance().Back(TransitionType::TRANSITION_BACK_TO_HEXAGONS);
+ // NativeAbility::GetInstance().Back(TransitionType::TRANSITION_BACK_TO_HEXAGONS);
+ DragLeftToRightChangeAIModel();
}
else if (scrollView == view_->GetAiVoiceScrollView(AIVOICE_ALERT_APPBLUETOOTH_AND_4GNETWORK_VIEWID))
{
version https://git-lfs.github.com/spec/v1
-oid sha256:a1b1d55d2cdecc4310e0c1ac70cd87d3fb72da284d54b61a82dc2c7abac22e2c
+oid sha256:99c1632821e1157f8e4678a6c75aac5daef6c50ed71e5bfede6238ce82cdb5ec
size 9624
version https://git-lfs.github.com/spec/v1
-oid sha256:e6c4462c622e0cb6f381bbe23b81a2ffc35b6c9c12e7f1d36d6f46f2c7c3ac39
+oid sha256:b501ee9244f93b4b3b5170408ece4c2b4346dcf79be49eb8138492a3dedf5126
size 9624
--- /dev/null
+version https://git-lfs.github.com/spec/v1
+oid sha256:d94ee8748ec3c1158371636fc191a7168994eb5abad211e298304040bb8a5ff9
+size 9624
--- /dev/null
+version https://git-lfs.github.com/spec/v1
+oid sha256:b05f1780a7493d9f15cddd1a63331e59dca7abb262ef209def18981b497975d5
+size 9624
STR_STEP_FREQUENCY = 496,\r
STR_STEP_LENGTH = 497,\r
STR_AVG_PACE = 498,\r
- STR_MAX_ID = 499,\r
+ STR_TONGYI_QIANWEN = 499,\r
+ STR_IFLYTEK_SPARK = 500,\r
+ STR_MAX_ID = 501,\r
}; // UIResourceTextId\r
enum FontLanguageId : uint8_t {
- LANGUAGE_ID_ZH,\r
LANGUAGE_ID_EN,\r
+ LANGUAGE_ID_ZH,\r
LANGUAGE_ID_MAX\r
}; // UITextLanguageTextId\r
}\r
STR_CHARGE_NOTE$Currently charging, do not use detection\r
STR_STEP_FREQUENCY$Step frequency (steps/min)\r
STR_STEP_LENGTH$Stride length (CM)\r
-STR_AVG_PACE$Average pace
\ No newline at end of file
+STR_AVG_PACE$Average pace\r
+STR_TONGYI_QIANWEN$Tongyi Qianwen\r
+STR_IFLYTEK_SPARK$Xunfei Spark
\ No newline at end of file
STR_CRLEMPTY$当前录音列表为空\r
STR_DO_NOT_DISTURB_MODE$开启勿扰模式,手表将不会发出震动与铃声,是否开启\r
STR_CONNECTION_STATUS$连接状态\r
-STR_PHONE$手机\r
+STR_PHONE$电话\r
STR_HEADSET$耳机\r
STR_CONNECTED$已连接\r
STR_DISCONNECTED$未连接\r
STR_CHARGE_NOTE$当前处于充电中,请勿使用检测\r
STR_STEP_FREQUENCY$步频(步/分钟)\r
STR_STEP_LENGTH$步幅(CM)\r
-STR_AVG_PACE$平均配速
\ No newline at end of file
+STR_AVG_PACE$平均配速\r
+STR_TONGYI_QIANWEN$通义千问\r
+STR_IFLYTEK_SPARK$讯飞星火
\ No newline at end of file
<lanstr id="STR_STEP_FREQUENCY" value="Step frequency (steps/min)"/>
<lanstr id="STR_STEP_LENGTH" value="Stride length (CM)"/>
<lanstr id="STR_AVG_PACE" value="Average pace"/>
+ <lanstr id="STR_TONGYI_QIANWEN" value="Tongyi Qianwen"/>
+ <lanstr id="STR_IFLYTEK_SPARK" value="Xunfei Spark"/>
</language>
<lanstr id="STR_CRLEMPTY" value="当前录音列表为空"/>
<lanstr id="STR_DO_NOT_DISTURB_MODE" value="开启勿扰模式,手表将不会发出震动与铃声,是否开启"/>
<lanstr id="STR_CONNECTION_STATUS" value="连接状态"/>
- <lanstr id="STR_PHONE" value="手机"/>
+ <lanstr id="STR_PHONE" value="电话"/>
<lanstr id="STR_HEADSET" value="耳机"/>
<lanstr id="STR_CONNECTED" value="已连接"/>
<lanstr id="STR_DISCONNECTED" value="未连接"/>
<lanstr id="STR_STEP_FREQUENCY" value="步频(步/分钟)"/>
<lanstr id="STR_STEP_LENGTH" value="步幅(CM)"/>
<lanstr id="STR_AVG_PACE" value="平均配速"/>
+ <lanstr id="STR_TONGYI_QIANWEN" value="通义千问"/>
+ <lanstr id="STR_IFLYTEK_SPARK" value="讯飞星火"/>
</language>
STR_STEP_FREQUENCY = 496,\r
STR_STEP_LENGTH = 497,\r
STR_AVG_PACE = 498,\r
- STR_MAX_ID = 499,\r
+ STR_TONGYI_QIANWEN = 499,\r
+ STR_IFLYTEK_SPARK = 500,\r
+ STR_MAX_ID = 501,\r
}; // UIResourceTextId\r
enum FontLanguageId : uint8_t {
- LANGUAGE_ID_ZH,\r
LANGUAGE_ID_EN,\r
+ LANGUAGE_ID_ZH,\r
LANGUAGE_ID_MAX\r
}; // UITextLanguageTextId\r
}\r