diff --git a/lib/pages/fan/view.dart b/lib/pages/fan/view.dart index 6a0af3c6..3eea5093 100644 --- a/lib/pages/fan/view.dart +++ b/lib/pages/fan/view.dart @@ -16,13 +16,16 @@ class FansPage extends StatefulWidget { } class _FansPageState extends State { - final FansController _fansController = Get.put(FansController()); + late String mid; + late FansController _fansController; final ScrollController scrollController = ScrollController(); Future? _futureBuilderFuture; @override void initState() { super.initState(); + mid = Get.parameters['mid']!; + _fansController = Get.put(FansController(), tag: mid); _futureBuilderFuture = _fansController.queryFans('init'); scrollController.addListener( () async { diff --git a/lib/pages/follow/view.dart b/lib/pages/follow/view.dart index 9e290f0f..0a8cc0ef 100644 --- a/lib/pages/follow/view.dart +++ b/lib/pages/follow/view.dart @@ -16,13 +16,16 @@ class FollowPage extends StatefulWidget { } class _FollowPageState extends State { - final FollowController _followController = Get.put(FollowController()); + late String mid; + late FollowController _followController; final ScrollController scrollController = ScrollController(); Future? _futureBuilderFuture; @override void initState() { super.initState(); + mid = Get.parameters['mid']!; + _followController = Get.put(FollowController(), tag: mid); _futureBuilderFuture = _followController.queryFollowings('init'); scrollController.addListener( () async { diff --git a/lib/pages/member/controller.dart b/lib/pages/member/controller.dart index df1ecf43..4a19d9ca 100644 --- a/lib/pages/member/controller.dart +++ b/lib/pages/member/controller.dart @@ -110,6 +110,7 @@ class MemberController extends GetxController { // 关系查询 Future relationSearch() async { if (userInfo == null) return; + if (mid == ownerMid) return; var res = await UserHttp.relationSearch(mid); if (res['status']) { attribute.value = res['data']['relation']['attribute']; diff --git a/lib/pages/member/view.dart b/lib/pages/member/view.dart index c5130206..9cc1672a 100644 --- a/lib/pages/member/view.dart +++ b/lib/pages/member/view.dart @@ -20,7 +20,8 @@ class MemberPage extends StatefulWidget { class _MemberPageState extends State with SingleTickerProviderStateMixin { - final MemberController _memberController = Get.put(MemberController()); + late String heroTag; + late MemberController _memberController; Future? _futureBuilderFuture; final ScrollController _extendNestCtr = ScrollController(); late TabController _tabController; @@ -29,6 +30,8 @@ class _MemberPageState extends State @override void initState() { super.initState(); + heroTag = Get.arguments['heroTag']; + _memberController = Get.put(MemberController(), tag: heroTag); _tabController = TabController(length: 3, vsync: this, initialIndex: 2); _futureBuilderFuture = _memberController.getInfo(); _extendNestCtr.addListener( @@ -105,27 +108,33 @@ class _MemberPageState extends State PopupMenuButton( icon: const Icon(Icons.more_vert), itemBuilder: (BuildContext context) => [ + if (_memberController.ownerMid != + _memberController.mid) ...[ + PopupMenuItem( + onTap: () => _memberController.blockUser(), + child: Row( + mainAxisSize: MainAxisSize.min, + children: [ + const Icon(Icons.block, size: 19), + const SizedBox(width: 10), + Text(_memberController.attribute.value != 128 + ? '加入黑名单' + : '移除黑名单'), + ], + ), + ) + ], PopupMenuItem( - onTap: () => _memberController.blockUser(), + onTap: () => _memberController.shareUser(), child: Row( mainAxisSize: MainAxisSize.min, children: [ - const Icon(Icons.block, size: 19), + const Icon(Icons.share_outlined, size: 19), const SizedBox(width: 10), - Text(_memberController.attribute.value != 128 - ? '加入黑名单' - : '移除黑名单'), - ], - ), - ), - PopupMenuItem( - onTap: () => _memberController.shareUser(), - child: const Row( - mainAxisSize: MainAxisSize.min, - children: [ - Icon(Icons.share_outlined, size: 19), - SizedBox(width: 10), - Text('分享UP主'), + Text(_memberController.ownerMid != + _memberController.mid + ? '分享UP主' + : '分享我的主页'), ], ), ), diff --git a/lib/pages/member/widgets/profile.dart b/lib/pages/member/widgets/profile.dart index 2574c9ae..853fd8b3 100644 --- a/lib/pages/member/widgets/profile.dart +++ b/lib/pages/member/widgets/profile.dart @@ -123,12 +123,14 @@ Widget profile(ctr, {loadingStatus = false}) { : '-', style: const TextStyle( fontWeight: FontWeight.bold)), - Text('粉丝', - style: TextStyle( - fontSize: Theme.of(context) - .textTheme - .labelMedium! - .fontSize)) + Text( + '粉丝', + style: TextStyle( + fontSize: Theme.of(context) + .textTheme + .labelMedium! + .fontSize), + ) ], ), ),