Browse Source

上传代码

newdev_shunjiawei
liwei1dao 1 year ago
parent
commit
70eddaaa7d
  1. 85
      lib/modules/agent/views/agent_view.dart
  2. 2
      local_plugins/agent_service/ios/agent_service/Sources/agent_service/AgentServiceImpl.swift

85
lib/modules/agent/views/agent_view.dart

@ -196,7 +196,17 @@ class _AgentViewState extends State<AgentView> with WidgetsBindingObserver {
IntroStepBuilder( IntroStepBuilder(
group: 'ai', group: 'ai',
order: 3, order: 3,
getOverlayPosition: IntroOverlayBuilder.overlayPosition, getOverlayPosition: ({
required Offset offset,
required Size screenSize,
required Size size,
}) {
return OverlayPosition(
top: 200.h,
width: screenSize.width,
crossAxisAlignment: CrossAxisAlignment.end,
);
},
overlayBuilder: (params) { overlayBuilder: (params) {
return Obx( return Obx(
() => IntroOverlayBuilder.homeBuilder( () => IntroOverlayBuilder.homeBuilder(
@ -242,8 +252,6 @@ class _AgentViewState extends State<AgentView> with WidgetsBindingObserver {
? IntroStepBuilder( ? IntroStepBuilder(
group: 'ai', group: 'ai',
order: 4, order: 4,
getOverlayPosition:
IntroOverlayBuilder.overlayPosition,
overlayBuilder: (params) { overlayBuilder: (params) {
return IntroOverlayBuilder.aiBuilder( return IntroOverlayBuilder.aiBuilder(
params, params,
@ -506,8 +514,6 @@ class _AgentViewState extends State<AgentView> with WidgetsBindingObserver {
return IntroStepBuilder( return IntroStepBuilder(
group: 'ai', group: 'ai',
order: 1, order: 1,
getOverlayPosition:
IntroOverlayBuilder.overlayPosition,
overlayBuilder: (params) { overlayBuilder: (params) {
return IntroOverlayBuilder.aiBuilder( return IntroOverlayBuilder.aiBuilder(
params, params,
@ -670,19 +676,30 @@ class _AgentViewState extends State<AgentView> with WidgetsBindingObserver {
: Colors.blue[100]) : Colors.blue[100])
: (isDarkMode : (isDarkMode
? Colors.grey[800] ? Colors.grey[800]
: Colors.grey[200]), : const Color.fromARGB(
255, 255, 255, 255)),
borderRadius: borderRadius:
BorderRadius.circular(22.w), BorderRadius.circular(22.w),
border: Border.all( boxShadow: [
color: isPushToTalkActive BoxShadow(
? Colors.blue color:
: (isDarkMode Colors.black.withOpacity(0.2),
? Colors.grey[800]! spreadRadius: 1,
: Colors.grey blurRadius: 2,
.withOpacity(0.1)), offset: const Offset(0, 1),
width:
isPushToTalkActive ? 2.w : 1.w,
), ),
],
// border: Border.all(
// color: isPushToTalkActive
// ? Colors.blue
// : (isDarkMode
// ? Colors.grey[800]!
// : const Color.fromARGB(
// 255, 255, 255, 255)
// .withOpacity(0.1)),
// width:
// isPushToTalkActive ? 2.w : 1.w,
// ),
), ),
child: Row( child: Row(
children: [ children: [
@ -742,31 +759,34 @@ class _AgentViewState extends State<AgentView> with WidgetsBindingObserver {
SizedBox(width: 8.w), SizedBox(width: 8.w),
// 动态按钮区域:展开按钮 + 发送按钮 或 图片选择按钮 // 动态按钮区域:展开按钮 + 发送按钮 或 图片选择按钮
IntroStepBuilder( Builder(builder: (context) {
StepWidgetParams? widgetParams;
return IntroStepBuilder(
group: 'ai', group: 'ai',
order: 2, order: 2,
getOverlayPosition: onHighlightWidgetTap: () async {
IntroOverlayBuilder.overlayPosition, await controller
.noviceGuideService.aiStepsList[
controller.noviceGuideService.aiStep]
['method']();
widgetParams!.onNext!();
controller.sendMessage();
},
overlayBuilder: (params) { overlayBuilder: (params) {
widgetParams = params;
return IntroOverlayBuilder.aiBuilder( return IntroOverlayBuilder.aiBuilder(
params, params,
'点击发送,${controller.noviceGuideService.aiStepsList[controller.noviceGuideService.aiStep]['send']}', '点击发送,${controller.noviceGuideService.aiStepsList[controller.noviceGuideService.aiStep]['send']}',
alignment: false, alignment: false,
onTap: () async {
await controller
.noviceGuideService.aiStepsList[
controller.noviceGuideService
.aiStep]['method']();
params.onNext!();
controller.sendMessage();
},
); );
}, },
builder: (BuildContext context, GlobalKey key) => builder:
(BuildContext context, GlobalKey key) =>
Obx( Obx(
key: key, key: key,
() { () {
final hasText = controller.hasTextInput.value; final hasText =
controller.hasTextInput.value;
final hasImage = final hasImage =
controller.isImageInputActive.value; controller.isImageInputActive.value;
final shouldShowSend = hasText || hasImage; final shouldShowSend = hasText || hasImage;
@ -785,7 +805,8 @@ class _AgentViewState extends State<AgentView> with WidgetsBindingObserver {
child: GestureDetector( child: GestureDetector(
onTap: () { onTap: () {
// 打开底部弹出编辑模式 // 打开底部弹出编辑模式
controller.openFullScreenEdit(); controller
.openFullScreenEdit();
showModalBottomSheet( showModalBottomSheet(
context: context, context: context,
isScrollControlled: true, isScrollControlled: true,
@ -822,7 +843,8 @@ class _AgentViewState extends State<AgentView> with WidgetsBindingObserver {
), ),
// 发送按钮 // 发送按钮
GestureDetector( GestureDetector(
onTap: () => controller.sendMessage(), onTap: () =>
controller.sendMessage(),
child: Container( child: Container(
width: 44.w, width: 44.w,
height: 44.w, height: 44.w,
@ -878,7 +900,8 @@ class _AgentViewState extends State<AgentView> with WidgetsBindingObserver {
} }
}, },
), ),
), );
}),
], ],
), ),

2
local_plugins/agent_service/ios/agent_service/Sources/agent_service/AgentServiceImpl.swift

@ -1487,7 +1487,7 @@ class AudioPlayer {
private let audioQueue = DispatchQueue(label: "agent.audio.player", qos: .userInitiated) private let audioQueue = DispatchQueue(label: "agent.audio.player", qos: .userInitiated)
// 等待音效超时时间(秒)- 改为 var 以支持动态修改 // 等待音效超时时间(秒)- 改为 var 以支持动态修改
private var awaitTimeoutSeconds: TimeInterval = 10.0 private var awaitTimeoutSeconds: TimeInterval = 30.0
private var resourcesBundle: Bundle { private var resourcesBundle: Bundle {
#if SWIFT_PACKAGE #if SWIFT_PACKAGE

Loading…
Cancel
Save