From bb286c94ae8cf53cb1c70efd12185e3924af90c6 Mon Sep 17 00:00:00 2001 From: CYH <13923927013@163.com> Date: Wed, 11 Oct 2023 09:10:10 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E9=99=84=E8=BF=91=E7=89=88?= =?UTF-8?q?=E6=9C=AC=E6=BB=9A=E5=8A=A8=E8=8C=83=E5=9B=B4=E9=99=90=E5=88=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../lib/app/circle/widgets/vicinity.dart | 26 ++++++++++++++----- circle_app/lib/app/login/login/logic.dart | 2 +- circle_app/lib/app/minefragment/view.dart | 3 ++- circle_app/lib/app/setpassword/logic.dart | 1 + circle_app/lib/main.dart | 6 ++--- 5 files changed, 25 insertions(+), 13 deletions(-) diff --git a/circle_app/lib/app/circle/widgets/vicinity.dart b/circle_app/lib/app/circle/widgets/vicinity.dart index 9072a24..911dd35 100644 --- a/circle_app/lib/app/circle/widgets/vicinity.dart +++ b/circle_app/lib/app/circle/widgets/vicinity.dart @@ -25,13 +25,25 @@ class Vicinity extends StatefulWidget { class _VicinityState extends State with AutomaticKeepAliveClientMixin { var sub; ScrollController _scrollController = ScrollController(); + + double maxOff = 0; + @override + bool get wantKeepAlive => true; @override void initState() { // TODO: implement initState super.initState(); sub = EventBusManager.on().listen((event) { - _scrollController.animateTo(0, - duration: const Duration(milliseconds: 300), curve: Curves.easeInOut); + if (widget.logic.myVip > 0) { + _scrollController.animateTo(0, + duration: const Duration(milliseconds: 300), curve: Curves.easeInOut); + } + }); + + _scrollController.addListener(() { + if (maxOff > 0 && widget.logic.myVip == 0 && _scrollController.offset >= maxOff) { + _scrollController.jumpTo(maxOff); + } }); } @@ -40,13 +52,14 @@ class _VicinityState extends State with AutomaticKeepAliveClientMixin // TODO: implement dispose super.dispose(); _scrollController.dispose(); + sub.cancel(); } @override Widget build(BuildContext context) { // TODO: add widget build method - if (widget.logic.myVip == 0) { + if (widget.logic.myVip == 0 && _scrollController.offset > Get.height) { _scrollController.jumpTo(_scrollController.offset - 150.sp); } return widget.logic.vicinityList.isNotEmpty ? Stack( @@ -59,7 +72,6 @@ class _VicinityState extends State with AutomaticKeepAliveClientMixin enablePullUp: true, child: ListView.builder( controller: _scrollController, - physics: widget.logic.myVip ==0 ? NeverScrollableScrollPhysics() : BouncingScrollPhysics(), padding: EdgeInsets.all(10.sp), itemCount: widget.logic.vicinityList.length + 1, itemBuilder: (context, index) { @@ -461,6 +473,9 @@ class _VicinityState extends State with AutomaticKeepAliveClientMixin } void _onLoading() async { + if (widget.logic.vicinityPage == 2 && maxOff == 0) { + maxOff = _scrollController.offset - 170.sp; + } // if (widget.logic.myVip > 0) { // widget.logic.vicinityPage = widget.logic.vicinityPage + 1; // logic.offset = 0; @@ -471,7 +486,4 @@ class _VicinityState extends State with AutomaticKeepAliveClientMixin // } } - @override - // TODO: implement wantKeepAlive - bool get wantKeepAlive => true; } diff --git a/circle_app/lib/app/login/login/logic.dart b/circle_app/lib/app/login/login/logic.dart index 734810b..34cdf56 100644 --- a/circle_app/lib/app/login/login/logic.dart +++ b/circle_app/lib/app/login/login/logic.dart @@ -153,7 +153,7 @@ class LoginLogic extends GetxController { data, (data) => MineResponseBean.fromJson(data)); if (bean.isSuccess()) { if (!bean.data.has_pwd) { - Get.offNamed(AppRoutes.SetPasswordActivity); + Get.toNamed(AppRoutes.SetPasswordActivity); return; } } diff --git a/circle_app/lib/app/minefragment/view.dart b/circle_app/lib/app/minefragment/view.dart index bcff915..7b1d086 100644 --- a/circle_app/lib/app/minefragment/view.dart +++ b/circle_app/lib/app/minefragment/view.dart @@ -70,7 +70,7 @@ class MinefragmentPage extends StatelessWidget { child: Stack(children: [ logic.isProxy ? MyImageWidget1 : MyImageWidget, Positioned( - top: 24.sp, + top:(Platform.isIOS && Get.statusBarHeight < 60) ? 30.sp : 24.sp, left: 78.sp, child: Column( crossAxisAlignment: CrossAxisAlignment.start, @@ -84,6 +84,7 @@ class MinefragmentPage extends StatelessWidget { ],), ), _circleLiveView(logic), + Container(height: 20.sp,) ], ), ), diff --git a/circle_app/lib/app/setpassword/logic.dart b/circle_app/lib/app/setpassword/logic.dart index fbc06b5..25a8d76 100644 --- a/circle_app/lib/app/setpassword/logic.dart +++ b/circle_app/lib/app/setpassword/logic.dart @@ -20,6 +20,7 @@ class SetpasswordLogic extends GetxController { }); var bean = BaseResponse.fromJson(data, (data) => data); if (bean.isSuccess()) { + showOKToast('密码设置成功'); Get.offAllNamed(AppRoutes.Home); } else { showOKToast(bean.msg); diff --git a/circle_app/lib/main.dart b/circle_app/lib/main.dart index 653042a..0627986 100644 --- a/circle_app/lib/main.dart +++ b/circle_app/lib/main.dart @@ -37,12 +37,10 @@ final TUIChatSeparateViewModel chatSeparateViewModel = TUIChatSeparateViewModel(); void main() { - - WidgetsBinding widgetsBinding = WidgetsFlutterBinding.ensureInitialized(); - FlutterNativeSplash.preserve(widgetsBinding: widgetsBinding); FlutterBugly.postCatchedException(() { // 如果需要 ensureInitialized,请在这里运行。 - // WidgetsFlutterBinding.ensureInitialized(); + WidgetsBinding widgetsBinding = WidgetsFlutterBinding.ensureInitialized(); + FlutterNativeSplash.preserve(widgetsBinding: widgetsBinding); runApp(MyApp()); FlutterBugly.init( androidAppId: "8509314e11",