Browse Source

优化新手指引

newdev_shunjiawei
tanlongsheng 1 year ago
parent
commit
1c939ea978
  1. 99
      lib/core/widgets/intro_overlay_builder.dart
  2. 6
      lib/modules/agent/views/agent_view.dart
  3. 2
      lib/modules/home/views/home_view.dart

99
lib/core/widgets/intro_overlay_builder.dart

@ -44,7 +44,7 @@ class IntroOverlayBuilder {
child: Lottie.asset('assets/lottie/intro_foriday.json'),
),
Padding(
padding: EdgeInsets.only(bottom: 20.w),
padding: EdgeInsets.only(bottom: 10.w),
child: Text(
isWakeup ? '我在呢~' : title,
style: TextStyle(
@ -74,50 +74,71 @@ class IntroOverlayBuilder {
Function? onNext,
Function? onFinish,
}) {
return Column(
crossAxisAlignment:
alignment ? CrossAxisAlignment.start : CrossAxisAlignment.end,
children: [
Padding(
padding: EdgeInsets.only(bottom: 10.w),
child: Text(
text,
style: TextStyle(
fontSize: 15.sp,
color: Colors.white,
fontWeight: FontWeight.bold,
),
),
),
Row(
children: [
if (onNext != null)
_button(
buttonText,
() {
params.onNext!();
onNext();
},
),
if (onFinish != null)
_button(
buttonText,
() {
params.onFinish();
onFinish();
},
),
if (onNext != null || onFinish != null) const Spacer(),
_button(
double height =
(params.offset?.dy ?? 0) - ScreenUtil().statusBarHeight - 20.w;
double left = params.offset?.dx ?? 0;
double right = 1.sw - left - params.size.width;
return SizedBox(
height: height,
child: Column(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
Container(
padding: EdgeInsetsGeometry.all(12.w),
alignment: Alignment.centerRight,
child: _button(
'跳过',
() {
params.onFinish();
},
isSkip: true,
),
],
),
],
),
Padding(
padding: EdgeInsets.only(
left: alignment ? left : 12.w,
right: alignment ? 12.w : right,
),
child: Column(
crossAxisAlignment:
alignment ? CrossAxisAlignment.start : CrossAxisAlignment.end,
children: [
Padding(
padding: EdgeInsets.only(bottom: 10.w),
child: Text(
text,
style: TextStyle(
fontSize: 15.sp,
color: Colors.white,
fontWeight: FontWeight.bold,
),
),
),
Row(
children: [
if (onNext != null)
_button(
buttonText,
() {
params.onNext!();
onNext();
},
),
if (onFinish != null)
_button(
buttonText,
() {
params.onFinish();
onFinish();
},
),
],
),
],
),
),
],
),
);
}

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

@ -242,6 +242,8 @@ class _AgentViewState extends State<AgentView> with WidgetsBindingObserver {
? IntroStepBuilder(
group: 'ai',
order: 4,
getOverlayPosition:
IntroOverlayBuilder.overlayPosition,
overlayBuilder: (params) {
return IntroOverlayBuilder.aiBuilder(
params,
@ -504,6 +506,8 @@ class _AgentViewState extends State<AgentView> with WidgetsBindingObserver {
return IntroStepBuilder(
group: 'ai',
order: 1,
getOverlayPosition:
IntroOverlayBuilder.overlayPosition,
overlayBuilder: (params) {
return IntroOverlayBuilder.aiBuilder(
params,
@ -751,6 +755,8 @@ class _AgentViewState extends State<AgentView> with WidgetsBindingObserver {
widgetParams!.onNext!();
controller.sendMessage();
},
getOverlayPosition:
IntroOverlayBuilder.overlayPosition,
overlayBuilder: (params) {
widgetParams = params;
return IntroOverlayBuilder.aiBuilder(

2
lib/modules/home/views/home_view.dart

@ -101,6 +101,7 @@ class HomeView extends GetView<HomeController> {
onWidgetLoad: () {
controller.noviceGuideService.startHomeGuide();
},
getOverlayPosition: IntroOverlayBuilder.overlayPosition,
overlayBuilder: (params) {
return IntroOverlayBuilder.aiBuilder(
params,
@ -743,6 +744,7 @@ class HomeView extends GetView<HomeController> {
Intro.of(Get.context!).dispose();
controller.exploreAIFeatures();
},
getOverlayPosition: IntroOverlayBuilder.overlayPosition,
overlayBuilder: (params) {
return IntroOverlayBuilder.aiBuilder(
params,

Loading…
Cancel
Save