From 21bd31452d5079f3298d8954c27a40e7904c5721 Mon Sep 17 00:00:00 2001 From: CYH <13923927013@163.com> Date: Tue, 4 Jul 2023 09:58:30 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=9C=88=E5=AD=90=E5=8F=91?= =?UTF-8?q?=E7=8E=B0=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- circle_app/assets/images/circle/delete.png | Bin 0 -> 2063 bytes circle_app/lib/app/aboutapp/logic.dart | 4 +- circle_app/lib/app/circle/logic.dart | 18 ++++++ circle_app/lib/app/circle/view.dart | 52 ++++++++++++------ .../app/circle/widgets/info_list_view.dart | 6 +- .../app/userinfo/widgets/home_call_out.dart | 11 ++-- circle_app/lib/network/api.dart | 6 +- 7 files changed, 69 insertions(+), 28 deletions(-) create mode 100644 circle_app/assets/images/circle/delete.png diff --git a/circle_app/assets/images/circle/delete.png b/circle_app/assets/images/circle/delete.png new file mode 100644 index 0000000000000000000000000000000000000000..767e2a02123181ee263e71785ed547f76fc48bc1 GIT binary patch literal 2063 zcmV+q2=MobP)Px+$w@>(RA@u(nthC1RTaR0XJ%*Ko7vJf3skCXH32lX5Nxz+kzh$$(|}-`qLjAr zI~oImVw8vpZS{|unn)ESXbt~JyO1JkFa<1HAwh}wfutn?B@G`oR_WH(?#z3$J9Er= zZ-#j@o!NPBIy0=$lWgXXz3-g+yXStKbM6)1U?OiYUQPkO-aUTG!>2slqY+RFqaa%$ zyB1Pat$qdg5jZysa->J5rd2bLDXnb@vyfY zoX>*IwErhD5BuL0+^;0{a0aA)S~Hxi>+YS*_S?15*Yd+e zz)EowxEo)~4maBN?HJo4IGf`3DK@a;uLIdJvyLh2zWtRq2)P|`pc4R_cZW94yj|ON z<;o_(+1z8`!dD@+wNYtpgyWd%Rh#An#1ap^MR2|q$3g-R7jA&mt<^bH{i(bHVj*0o zurW?w;5gO6lWJvGXkxeqcZ4TZQb6%E5drB`4izei4e> zz_}hKYuYA3KO^LR5=VUk5BsY@cLHu5c=9`f`?WZRdeufL{tz;sgQ=Rz66mLdob|1v zBmkbc9MZdhT&Oh&((f1CH65+=uz}*=2dOoY&2s`+Ex3E)m`MO!_yD9H1WpST2UUtk z1$S8-L%nLF6d#53CH3P`jzM{4yL7PGZUSKc0?@~RxuFvKRQC(+`R!m7bzyQLl;?o^ zS3$;GwN-QkybB?H1TxPFQfRN!+Xu2JQcO4ol@&tX3J4t~0r0VRfb%Z%#UdOCphN`*2zXunm4&2U~){zt!o7K z?}qgH`mSr!SwAYcyHC{l-!mbzuW8T^fxl3g({i~q>xd0(A1a;|$Igx@c?I;{Le8dH zgDBo*AiF@TXLJC(Q^>9F9{BiKkbWBE%!rPc1vfIqr+0Ev;1__%n$>X-E1*9&7+~*Q zkS9P-kJxKlziNe^6!7~tZ?Ahx!nvA`pOyP{9P#W5IKTaR*r4dyDrwSZ&*YuH-}{1m9} z3l{B7-YewS_6gX#9WvKO0(T!O8-)CQg8}w8fZo-Z!1zB9^4IkV*opwo#_$F(kTU2O zgxvPQ0GB=ix*fEdvDw)^89Vu}t@^lwgHpH-a<@ea^i~(WL2z#y46tXO{9gU8%K?gC z6!N#ng-Ez*71ly-tPUKMS2njQqV?w-_BTN)Qf3N(uMzV1^ama)$1P*Qy4uD=N9j zwshg);vq=S3r9Kl{29nz-0Gc`;xB^A*Fok$`9Wd$j#fQWyc?mi3{rMiWJUF7PCVC- z%!S-nyB)QEA@% z>UNKv0ogx+EC_*3?bJTOy`ay)-UE>Ra2Q?&Q+gcA3x!#Sk{C|fR?&F`gDq!-z!qJW z9usmOOroocDeYO2?IV$Rx&ozn!fY$1^-YwcBj6ka>@2GOl*R<7p=8vl16=_7n<0Bk z{b(}#rEf}*RP;}jmUa^*4%WLafG3s^)PSQed;(~@pZx_?EQRT%3_*G+WIlhQ&BA+y z;U|+A>jK!yuBE*o?`gaoug701Dj^WUj=GO|Ddi( zn}KY{yi#x literal 0 HcmV?d00001 diff --git a/circle_app/lib/app/aboutapp/logic.dart b/circle_app/lib/app/aboutapp/logic.dart index 2b3d5cb..b6a46d7 100644 --- a/circle_app/lib/app/aboutapp/logic.dart +++ b/circle_app/lib/app/aboutapp/logic.dart @@ -1,5 +1,5 @@ import 'package:dio/dio.dart'; -// import 'package:flutter_install_app/flutter_install_app.dart'; +import 'package:flutter_install_app/flutter_install_app.dart'; import 'package:flutter_smart_dialog/flutter_smart_dialog.dart'; import 'package:get/get.dart'; @@ -42,7 +42,7 @@ class AboutappLogic extends GetxController { // SmartDialog.dismiss(); // print(error); // }); - // await AppInstaller.installApk(filePath, actionRequired: false); + await AppInstaller.installApk(filePath, actionRequired: false); } diff --git a/circle_app/lib/app/circle/logic.dart b/circle_app/lib/app/circle/logic.dart index 1f88368..0cb6a2a 100644 --- a/circle_app/lib/app/circle/logic.dart +++ b/circle_app/lib/app/circle/logic.dart @@ -1,3 +1,4 @@ +import 'package:circle_app/router/app_routers.dart'; import 'package:circle_app/util/util.dart'; import 'package:flutter/cupertino.dart'; import 'package:get/get.dart'; @@ -11,6 +12,8 @@ class CircleLogic extends GetxController { PageController(initialPage: 1, viewportFraction: 0.8); InterestsBean circle = InterestsBean(lists: []); final CircleState state = CircleState(); + + Map? statistics; int page = 1; @override @@ -25,6 +28,7 @@ class CircleLogic extends GetxController { update(); } + loadCirclePeopleData(); } loadMore() async { @@ -52,10 +56,24 @@ class CircleLogic extends GetxController { showToast(bean.msg); } + //访问我的圈子人数 + loadCirclePeopleData() async { + var data = await DioManager.instance + .get(url: Api.getInterestsCount); + if (data['code'] == 200) { + statistics = data['data']; + update(); + } + } + Circle getCircleIndex() { return circle.lists[state.index]; } + void pushHome(String userId) { + Get.toNamed(AppRoutes.UserInfoActivity, arguments: userId); + } + } diff --git a/circle_app/lib/app/circle/view.dart b/circle_app/lib/app/circle/view.dart index 98d6720..391708e 100644 --- a/circle_app/lib/app/circle/view.dart +++ b/circle_app/lib/app/circle/view.dart @@ -41,10 +41,6 @@ class _CirclePageState extends State image: DecorationImage( fit: BoxFit.fill, image: AssetImage(getBaseImage('home_back')))), - // child: Image.asset( - // getBaseImage('bg'), - // fit: BoxFit.fill, - // ), child: Scaffold( backgroundColor: Colors.transparent, body: SafeArea( @@ -106,20 +102,42 @@ class _CirclePageState extends State } navigatorItem() { - List urlList = [ - 'https://p3-passport.byteimg.com/img/user-avatar/eb429d4dbb3c246f580a6f7894f2b246~100x100.awebp', - 'https://p3-passport.byteimg.com/img/user-avatar/eb429d4dbb3c246f580a6f7894f2b246~100x100.awebp', - 'https://p3-passport.byteimg.com/img/user-avatar/eb429d4dbb3c246f580a6f7894f2b246~100x100.awebp' - ]; + List urlList = []; + List infoList = []; + if (logic.statistics != null) { + infoList = logic.statistics!["users"]; + if (infoList.isNotEmpty) { + for (var element in infoList) { + urlList.add(element["avatar"]); + } + } + } + List widgets = []; - int index = 0; - urlList.forEach((element) { + + for (int i = 0 ; i < urlList.length; i++) { + var element = urlList[i]; widgets.add(Positioned( - left: 15.sp * index, - child: circleWidget(element), + left: 15.sp * i, + child: GestureDetector( + onTap: () { + logic.pushHome(infoList[i]['id'].toString()); + }, + child: circleWidget(element), + ), )); - index++; - }); + } + if (urlList.length == 3) { + widgets.add(Positioned( + left: 15.sp * 3, + child: GestureDetector( + onTap: () { + + }, + child: circleWidget(logic.statistics!['total'].toString()), + ), + )); + } return Container( width: Get.width, padding: EdgeInsets.only(left: 18.sp, right: 18.sp), @@ -182,14 +200,14 @@ class _CirclePageState extends State getCircleImage('avatar_bg'), width: width.sp, ), - ClipOval( + url.contains("http") ? ClipOval( child: Image.network( url, width: (width - 1).sp, height: (width - 1).sp, fit: BoxFit.fill, ), - ) + ) : Text(url,style: TextStyle(color: Color(0xffF756FF),fontSize: 12.sp),) ], )); } diff --git a/circle_app/lib/app/circle/widgets/info_list_view.dart b/circle_app/lib/app/circle/widgets/info_list_view.dart index c6bb168..e8ec717 100644 --- a/circle_app/lib/app/circle/widgets/info_list_view.dart +++ b/circle_app/lib/app/circle/widgets/info_list_view.dart @@ -206,8 +206,10 @@ class _InfoListViewState extends State { return normalDynamicItem(lists); } } else { - return loaddingWidget( - listLogic.callOutMore); + return Container( + margin: EdgeInsets.only(top: listLogic.callOutMore ? 0 : 10.sp), + child: loaddingWidget( + listLogic.callOutMore)); } }), ), diff --git a/circle_app/lib/app/userinfo/widgets/home_call_out.dart b/circle_app/lib/app/userinfo/widgets/home_call_out.dart index 6650cdb..67c6622 100644 --- a/circle_app/lib/app/userinfo/widgets/home_call_out.dart +++ b/circle_app/lib/app/userinfo/widgets/home_call_out.dart @@ -93,8 +93,11 @@ class _HomeCallOutViewState extends State { return normalDynamicItem(lists); } } else { - return loaddingWidget( - listLogic.callOutMore); + return Container( + margin: EdgeInsets.only(top: listLogic.callOutMore ? 0 : 10.sp), + child: loaddingWidget( + listLogic.callOutMore), + ); } }), ), @@ -333,7 +336,7 @@ class _HomeCallOutViewState extends State { onTap: () { showTipPiker(lists.id!.toString(), listsLg!.lists.indexOf(lists)); }, - child: Text('删除',style: TextStyle(color: Colors.red, fontSize: 13.sp),)) + child: Image.asset(getCircleImage('delete'),width: 14.sp,)) ], )) ], @@ -571,7 +574,7 @@ class _HomeCallOutViewState extends State { onTap: () { showTipPiker(lists.id!.toString(), listsLg!.lists.indexOf(lists)); }, - child: Text('删除',style: TextStyle(color: Colors.red, fontSize: 13.sp),)) + child: Image.asset(getCircleImage('delete'),width: 14.sp,)) ], )) ], diff --git a/circle_app/lib/network/api.dart b/circle_app/lib/network/api.dart index 4f597c9..0675e70 100644 --- a/circle_app/lib/network/api.dart +++ b/circle_app/lib/network/api.dart @@ -148,10 +148,10 @@ class Api { + //发现页统计 + static const getInterestsCount = 'up-service/interest/statistics'; - - - // /up-service/my/interests + // /up-service/my/interests /up-service/interest/statistics static const getMyCircleInterests = 'up-service/my/interests'; } \ No newline at end of file