diff --git a/lib/pages/live/view.dart b/lib/pages/live/view.dart index eac705c7..40608b22 100644 --- a/lib/pages/live/view.dart +++ b/lib/pages/live/view.dart @@ -194,26 +194,31 @@ class _LivePageState extends State ), ), ), - InkWell( - onTap: () { - Get.toNamed('/liveFollowing'); - }, - highlightColor: Colors.transparent, - splashColor: Colors.transparent, - child: Row( - children: [ - Text( - '查看更多', - style: TextStyle( - fontSize: 14, - color: Theme.of(context).colorScheme.outline, - ), + Obx( + () => Visibility( + visible: _liveController.liveFollowingCount.value > 0, + child: InkWell( + onTap: () { + Get.toNamed('/liveFollowing'); + }, + highlightColor: Colors.transparent, + splashColor: Colors.transparent, + child: Row( + children: [ + Text( + '查看更多', + style: TextStyle( + fontSize: 14, + color: Theme.of(context).colorScheme.outline, + ), + ), + Icon( + Icons.chevron_right, + color: Theme.of(context).colorScheme.outline, + ), + ], ), - Icon( - Icons.chevron_right, - color: Theme.of(context).colorScheme.outline, - ), - ], + ), ), ), ], @@ -222,19 +227,18 @@ class _LivePageState extends State future: _futureBuilderFuture2, builder: (context, snapshot) { if (snapshot.connectionState == ConnectionState.done) { - if (snapshot.data == null) { - return const SizedBox(); - } Map? data = snapshot.data; - if (data?['status']) { + if (data != null && data['status']) { RxList list = _liveController.liveFollowingList; - return LiveFollowingListView(list: list); + return list.isNotEmpty + ? LiveFollowingListView(list: list) + : const Center(child: Text('没有人在直播')); } else { return SizedBox( height: 80, child: Center( child: Text( - data?['msg'] ?? '', + data?['msg'] ?? '请求异常', style: TextStyle( color: Theme.of(context).colorScheme.outline, fontSize: 12, @@ -283,6 +287,15 @@ class LiveFollowingListView extends StatelessWidget { }, ); }, + onLongPress: () { + Get.toNamed( + '/member?mid=${list[index].uid}', + arguments: { + 'face': list[index].face, + 'heroTag': list[index].uid.toString(), + }, + ); + }, child: Container( width: 54, height: 54, diff --git a/lib/pages/live_follow/controller.dart b/lib/pages/live_follow/controller.dart index 049da1f6..c581a7d8 100644 --- a/lib/pages/live_follow/controller.dart +++ b/lib/pages/live_follow/controller.dart @@ -9,7 +9,7 @@ class LiveFollowController extends GetxController { RxInt crossAxisCount = 2.obs; Box setting = GStorage.setting; int _currentPage = 1; - RxInt liveFollowingCount = 0.obs; + RxString liveFollowingCount = '- '.obs; RxList liveFollowingList = [].obs; @@ -28,10 +28,11 @@ class LiveFollowController extends GetxController { if (res['status']) { if (type == 'init') { liveFollowingList.value = res['data'].list; - liveFollowingCount.value = res['data'].liveCount; + liveFollowingCount.value = res['data'].liveCount.toString(); } else if (type == 'onLoad') { liveFollowingList.addAll(res['data'].list); } + liveFollowingList.removeWhere((e) => e.liveStatus != 1); _currentPage += 1; } else { SmartDialog.showToast(res['msg']);