From 5a3f0a9178e626b053e5d479a1675885e6dc8740 Mon Sep 17 00:00:00 2001 From: xiaoyaocz Date: Wed, 13 Mar 2024 17:19:24 +0800 Subject: [PATCH] =?UTF-8?q?TV=E7=AB=AF=E6=90=9C=E7=B4=A2=E9=94=99=E8=AF=AF?= =?UTF-8?q?=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../search/anchor/search_anchor_page.dart | 15 ++++++- .../modules/search/room/search_room_page.dart | 15 ++++++- .../lib/widgets/status/app_error_widget.dart | 39 +++++++++---------- 3 files changed, 44 insertions(+), 25 deletions(-) diff --git a/simple_live_tv_app/lib/modules/search/anchor/search_anchor_page.dart b/simple_live_tv_app/lib/modules/search/anchor/search_anchor_page.dart index fc8d3dc7..be2e8231 100644 --- a/simple_live_tv_app/lib/modules/search/anchor/search_anchor_page.dart +++ b/simple_live_tv_app/lib/modules/search/anchor/search_anchor_page.dart @@ -11,6 +11,7 @@ import 'package:simple_live_tv_app/widgets/app_scaffold.dart'; import 'package:simple_live_tv_app/widgets/button/highlight_button.dart'; import 'package:simple_live_tv_app/widgets/card/anchor_card.dart'; import 'package:simple_live_tv_app/widgets/status/app_empty_widget.dart'; +import 'package:simple_live_tv_app/widgets/status/app_error_widget.dart'; class SearchAnchorPage extends GetView { const SearchAnchorPage({super.key}); @@ -133,8 +134,9 @@ class SearchAnchorPage extends GetView { ), Obx( () => Visibility( - visible: - controller.list.isEmpty && !controller.loadding.value, + visible: controller.list.isEmpty && + !controller.loadding.value && + !controller.pageError.value, child: AppEmptyWidget( onRefresh: () { controller.refreshData(); @@ -142,6 +144,15 @@ class SearchAnchorPage extends GetView { ), ), ), + Obx( + () => Visibility( + visible: controller.pageError.value && + !controller.loadding.value, + child: AppErrorWidget( + errorMsg: controller.errorMsg.value, + ), + ), + ), ], ), ), diff --git a/simple_live_tv_app/lib/modules/search/room/search_room_page.dart b/simple_live_tv_app/lib/modules/search/room/search_room_page.dart index bfebaee4..87963969 100644 --- a/simple_live_tv_app/lib/modules/search/room/search_room_page.dart +++ b/simple_live_tv_app/lib/modules/search/room/search_room_page.dart @@ -11,6 +11,7 @@ import 'package:simple_live_tv_app/widgets/app_scaffold.dart'; import 'package:simple_live_tv_app/widgets/button/highlight_button.dart'; import 'package:simple_live_tv_app/widgets/card/live_room_card.dart'; import 'package:simple_live_tv_app/widgets/status/app_empty_widget.dart'; +import 'package:simple_live_tv_app/widgets/status/app_error_widget.dart'; class SearchRoomPage extends GetView { const SearchRoomPage({super.key}); @@ -133,8 +134,9 @@ class SearchRoomPage extends GetView { ), Obx( () => Visibility( - visible: - controller.list.isEmpty && !controller.loadding.value, + visible: controller.list.isEmpty && + !controller.loadding.value && + !controller.pageError.value, child: AppEmptyWidget( onRefresh: () { controller.refreshData(); @@ -142,6 +144,15 @@ class SearchRoomPage extends GetView { ), ), ), + Obx( + () => Visibility( + visible: controller.pageError.value && + !controller.loadding.value, + child: AppErrorWidget( + errorMsg: controller.errorMsg.value, + ), + ), + ), ], ), ), diff --git a/simple_live_tv_app/lib/widgets/status/app_error_widget.dart b/simple_live_tv_app/lib/widgets/status/app_error_widget.dart index b0861374..60744029 100644 --- a/simple_live_tv_app/lib/widgets/status/app_error_widget.dart +++ b/simple_live_tv_app/lib/widgets/status/app_error_widget.dart @@ -1,4 +1,5 @@ import 'package:flutter/material.dart'; +import 'package:flutter_screenutil/flutter_screenutil.dart'; import 'package:simple_live_tv_app/app/app_style.dart'; import 'package:lottie/lottie.dart'; @@ -11,27 +12,23 @@ class AppErrorWidget extends StatelessWidget { @override Widget build(BuildContext context) { return Center( - child: GestureDetector( - onTap: () { - onRefresh?.call(); - }, - child: Padding( - padding: AppStyle.edgeInsetsA12, - child: Column( - mainAxisSize: MainAxisSize.min, - children: [ - LottieBuilder.asset( - 'assets/lotties/error.json', - width: 260, - repeat: false, - ), - Text( - "$errorMsg\r\n点击刷新", - textAlign: TextAlign.center, - style: const TextStyle(fontSize: 12, color: Colors.grey), - ), - ], - ), + child: Padding( + padding: AppStyle.edgeInsetsA12, + child: Column( + mainAxisSize: MainAxisSize.min, + children: [ + LottieBuilder.asset( + 'assets/lotties/error.json', + width: 200.w, + repeat: false, + ), + AppStyle.vGap24, + Text( + errorMsg.isEmpty ? "出错了,请稍后重试" : errorMsg, + textAlign: TextAlign.center, + style: AppStyle.textStyleWhite, + ), + ], ), ), );