diff --git a/lib/pages/dynamics/controller.dart b/lib/pages/dynamics/controller.dart index 42647f3f..146c57a6 100644 --- a/lib/pages/dynamics/controller.dart +++ b/lib/pages/dynamics/controller.dart @@ -145,7 +145,10 @@ class DynamicsController extends GetxController { } } - Future queryFollowUp() async { + Future queryFollowUp({type = 'init'}) async { + if (type == 'init') { + upData = FollowUpModel().obs; + } var res = await DynamicsHttp.followUp(); if (res['status']) { upData.value = res['data']; diff --git a/lib/pages/dynamics/view.dart b/lib/pages/dynamics/view.dart index 7dd0895b..becb933c 100644 --- a/lib/pages/dynamics/view.dart +++ b/lib/pages/dynamics/view.dart @@ -224,7 +224,14 @@ class _DynamicsPageState extends State } else { return HttpError( errMsg: data['msg'], - fn: () => _dynamicsController.onRefresh(), + fn: () { + setState(() { + _futureBuilderFuture = + _dynamicsController.queryFollowDynamic(); + _futureBuilderFutureUp = + _dynamicsController.queryFollowUp(); + }); + }, ); } } else { diff --git a/lib/pages/media/view.dart b/lib/pages/media/view.dart index 54b96ea7..c251addf 100644 --- a/lib/pages/media/view.dart +++ b/lib/pages/media/view.dart @@ -116,7 +116,11 @@ class _MediaPageState extends State ), ), trailing: IconButton( - onPressed: () => _futureBuilderFuture, + onPressed: () { + setState(() { + _futureBuilderFuture = mediaController.queryFavFolder(); + }); + }, icon: const Icon( Icons.refresh, size: 20, diff --git a/lib/pages/webview/controller.dart b/lib/pages/webview/controller.dart index 30b8e1af..ab7f3cc1 100644 --- a/lib/pages/webview/controller.dart +++ b/lib/pages/webview/controller.dart @@ -1,5 +1,6 @@ // ignore_for_file: avoid_print +import 'package:flutter/material.dart'; import 'package:flutter_smart_dialog/flutter_smart_dialog.dart'; import 'package:get/get.dart'; import 'package:hive/hive.dart'; @@ -86,12 +87,28 @@ class WebviewController extends GetxController { Get.find().userInfo.value = result['data']; Get.find().onInit(); Get.find().queryRcmdFeed('onRefresh'); - Get.find().queryFollowDynamic(); + Get.find().onRefresh(); HomeController homeCtr = Get.find(); homeCtr.updateLoginStatus(true); - } catch (_) {} + } catch (err) { + SmartDialog.show(builder: (context) { + return AlertDialog( + title: const Text('登录遇到问题'), + content: Text(err.toString()), + actions: [ + TextButton( + onPressed: () => controller.reload(), + child: const Text('确认'), + ) + ], + ); + }); + } Get.back(); + } else { + // 获取用户信息失败 + SmartDialog.showToast(result.msg); } } catch (e) { print(e);