|
|
|
@ -84,11 +84,30 @@ class HomeView extends GetView<HomeController> { |
|
|
|
_buildAppBar(isDarkMode), |
|
|
|
|
|
|
|
// 顶部图片 |
|
|
|
_buildEarbudsImage(), |
|
|
|
IntroStepBuilder( |
|
|
|
group: 'home', |
|
|
|
order: 1, |
|
|
|
text: '欢迎使用Voitrans!首先,让我们唤醒你的专属 AI—— 小言', |
|
|
|
onWidgetLoad: () { |
|
|
|
controller.noviceGuideService.startHomeGuide(); |
|
|
|
}, |
|
|
|
builder: (BuildContext context, GlobalKey key) => SizedBox( |
|
|
|
key: key, |
|
|
|
child: _buildEarbudsImage(), |
|
|
|
), |
|
|
|
), |
|
|
|
SizedBox(height: 20.h), |
|
|
|
|
|
|
|
// 设备状态卡片 |
|
|
|
_buildDeviceStatusCard(isDarkMode), |
|
|
|
IntroStepBuilder( |
|
|
|
group: 'home', |
|
|
|
order: 2, |
|
|
|
text: '对着麦克风说“小言小言”', |
|
|
|
builder: (BuildContext context, GlobalKey key) => SizedBox( |
|
|
|
key: key, |
|
|
|
child: _buildDeviceStatusCard(isDarkMode), |
|
|
|
), |
|
|
|
), |
|
|
|
SizedBox(height: 20.h), |
|
|
|
|
|
|
|
// 热门AI体验 |
|
|
|
@ -624,8 +643,9 @@ class HomeView extends GetView<HomeController> { |
|
|
|
Expanded( |
|
|
|
flex: 1, |
|
|
|
child: IntroStepBuilder( |
|
|
|
group: 'home', |
|
|
|
order: 3, |
|
|
|
text: 'AI全能助手', |
|
|
|
text: '太棒了!你已成功唤醒小言,接下来试试让它帮你做件事吧', |
|
|
|
onHighlightWidgetTap: () { |
|
|
|
Intro.of(Get.context!).dispose(); |
|
|
|
controller.exploreAIFeatures(); |
|
|
|
@ -660,62 +680,47 @@ class HomeView extends GetView<HomeController> { |
|
|
|
child: Column( |
|
|
|
children: [ |
|
|
|
// 右上卡片 - 同声翻译 |
|
|
|
IntroStepBuilder( |
|
|
|
order: 1, |
|
|
|
text: '同声传译', |
|
|
|
// onWidgetLoad: () { |
|
|
|
// Intro.of(Get.context!).start(); |
|
|
|
// }, |
|
|
|
builder: (BuildContext context, GlobalKey key) => |
|
|
|
_buildFeatureCard( |
|
|
|
key: key, |
|
|
|
title: 'simultaneousInterpretation'.tr, // 同声传译 |
|
|
|
description: |
|
|
|
'simultaneousInterpretationInfo'.tr, // 80+语言实时翻译,出国无忧 |
|
|
|
icon: Icons.translate, |
|
|
|
gradient: LinearGradient( |
|
|
|
begin: Alignment.topLeft, |
|
|
|
end: Alignment.bottomRight, |
|
|
|
colors: [ |
|
|
|
const Color(0xFF4CAF50).withOpacity(0.3), |
|
|
|
const Color(0xFF009688).withOpacity(0.3), |
|
|
|
], |
|
|
|
), |
|
|
|
onTap: controller.openTranslation, |
|
|
|
height: 83.h, // 增加高度 |
|
|
|
isDarkMode: isDarkMode, |
|
|
|
iconColor: const Color(0xFF4CAF50), |
|
|
|
_buildFeatureCard( |
|
|
|
title: 'simultaneousInterpretation'.tr, // 同声传译 |
|
|
|
description: |
|
|
|
'simultaneousInterpretationInfo'.tr, // 80+语言实时翻译,出国无忧 |
|
|
|
icon: Icons.translate, |
|
|
|
gradient: LinearGradient( |
|
|
|
begin: Alignment.topLeft, |
|
|
|
end: Alignment.bottomRight, |
|
|
|
colors: [ |
|
|
|
const Color(0xFF4CAF50).withOpacity(0.3), |
|
|
|
const Color(0xFF009688).withOpacity(0.3), |
|
|
|
], |
|
|
|
), |
|
|
|
onTap: controller.openTranslation, |
|
|
|
height: 83.h, // 增加高度 |
|
|
|
isDarkMode: isDarkMode, |
|
|
|
iconColor: const Color(0xFF4CAF50), |
|
|
|
), |
|
|
|
|
|
|
|
SizedBox(height: 5.h), // 减少间距 |
|
|
|
|
|
|
|
// 右下卡片 - |
|
|
|
// 右下卡片 - 会议助手 |
|
|
|
IntroStepBuilder( |
|
|
|
order: 2, |
|
|
|
text: '商务会议助手', |
|
|
|
builder: (BuildContext context, GlobalKey key) => |
|
|
|
_buildFeatureCard( |
|
|
|
key: key, |
|
|
|
title: 'conferenceAssistant'.tr, // 商务会议助手 |
|
|
|
description: 'conferenceAssistantInfo'.tr, // 实时记录会议纪要,多语言翻译 |
|
|
|
icon: Icons.people, |
|
|
|
gradient: LinearGradient( |
|
|
|
begin: Alignment.topLeft, |
|
|
|
end: Alignment.bottomRight, |
|
|
|
colors: [ |
|
|
|
Color(0xFFab47bc).withOpacity(0.3), // 薰衣草紫 |
|
|
|
Color(0xFFec407a).withOpacity(0.3), // 品红 |
|
|
|
], |
|
|
|
), |
|
|
|
onTap: () { |
|
|
|
Get.toNamed(Routes.meeting); |
|
|
|
}, |
|
|
|
height: 85.h, // 增加高度 |
|
|
|
isDarkMode: isDarkMode, |
|
|
|
iconColor: const Color(0xFFd81b60), // 品红 |
|
|
|
_buildFeatureCard( |
|
|
|
title: 'conferenceAssistant'.tr, // 商务会议助手 |
|
|
|
description: 'conferenceAssistantInfo'.tr, // 实时记录会议纪要,多语言翻译 |
|
|
|
icon: Icons.people, |
|
|
|
gradient: LinearGradient( |
|
|
|
begin: Alignment.topLeft, |
|
|
|
end: Alignment.bottomRight, |
|
|
|
colors: [ |
|
|
|
Color(0xFFab47bc).withOpacity(0.3), // 薰衣草紫 |
|
|
|
Color(0xFFec407a).withOpacity(0.3), // 品红 |
|
|
|
], |
|
|
|
), |
|
|
|
onTap: () { |
|
|
|
Get.toNamed(Routes.meeting); |
|
|
|
}, |
|
|
|
height: 85.h, // 增加高度 |
|
|
|
isDarkMode: isDarkMode, |
|
|
|
iconColor: const Color(0xFFd81b60), // 品红 |
|
|
|
), |
|
|
|
], |
|
|
|
), |
|
|
|
|