fix: 个人主页、关注、粉丝页面渲染异常issues #91
This commit is contained in:
@ -16,13 +16,16 @@ class FansPage extends StatefulWidget {
|
|||||||
}
|
}
|
||||||
|
|
||||||
class _FansPageState extends State<FansPage> {
|
class _FansPageState extends State<FansPage> {
|
||||||
final FansController _fansController = Get.put(FansController());
|
late String mid;
|
||||||
|
late FansController _fansController;
|
||||||
final ScrollController scrollController = ScrollController();
|
final ScrollController scrollController = ScrollController();
|
||||||
Future? _futureBuilderFuture;
|
Future? _futureBuilderFuture;
|
||||||
|
|
||||||
@override
|
@override
|
||||||
void initState() {
|
void initState() {
|
||||||
super.initState();
|
super.initState();
|
||||||
|
mid = Get.parameters['mid']!;
|
||||||
|
_fansController = Get.put(FansController(), tag: mid);
|
||||||
_futureBuilderFuture = _fansController.queryFans('init');
|
_futureBuilderFuture = _fansController.queryFans('init');
|
||||||
scrollController.addListener(
|
scrollController.addListener(
|
||||||
() async {
|
() async {
|
||||||
|
|||||||
@ -16,13 +16,16 @@ class FollowPage extends StatefulWidget {
|
|||||||
}
|
}
|
||||||
|
|
||||||
class _FollowPageState extends State<FollowPage> {
|
class _FollowPageState extends State<FollowPage> {
|
||||||
final FollowController _followController = Get.put(FollowController());
|
late String mid;
|
||||||
|
late FollowController _followController;
|
||||||
final ScrollController scrollController = ScrollController();
|
final ScrollController scrollController = ScrollController();
|
||||||
Future? _futureBuilderFuture;
|
Future? _futureBuilderFuture;
|
||||||
|
|
||||||
@override
|
@override
|
||||||
void initState() {
|
void initState() {
|
||||||
super.initState();
|
super.initState();
|
||||||
|
mid = Get.parameters['mid']!;
|
||||||
|
_followController = Get.put(FollowController(), tag: mid);
|
||||||
_futureBuilderFuture = _followController.queryFollowings('init');
|
_futureBuilderFuture = _followController.queryFollowings('init');
|
||||||
scrollController.addListener(
|
scrollController.addListener(
|
||||||
() async {
|
() async {
|
||||||
|
|||||||
@ -110,6 +110,7 @@ class MemberController extends GetxController {
|
|||||||
// 关系查询
|
// 关系查询
|
||||||
Future relationSearch() async {
|
Future relationSearch() async {
|
||||||
if (userInfo == null) return;
|
if (userInfo == null) return;
|
||||||
|
if (mid == ownerMid) return;
|
||||||
var res = await UserHttp.relationSearch(mid);
|
var res = await UserHttp.relationSearch(mid);
|
||||||
if (res['status']) {
|
if (res['status']) {
|
||||||
attribute.value = res['data']['relation']['attribute'];
|
attribute.value = res['data']['relation']['attribute'];
|
||||||
|
|||||||
@ -20,7 +20,8 @@ class MemberPage extends StatefulWidget {
|
|||||||
|
|
||||||
class _MemberPageState extends State<MemberPage>
|
class _MemberPageState extends State<MemberPage>
|
||||||
with SingleTickerProviderStateMixin {
|
with SingleTickerProviderStateMixin {
|
||||||
final MemberController _memberController = Get.put(MemberController());
|
late String heroTag;
|
||||||
|
late MemberController _memberController;
|
||||||
Future? _futureBuilderFuture;
|
Future? _futureBuilderFuture;
|
||||||
final ScrollController _extendNestCtr = ScrollController();
|
final ScrollController _extendNestCtr = ScrollController();
|
||||||
late TabController _tabController;
|
late TabController _tabController;
|
||||||
@ -29,6 +30,8 @@ class _MemberPageState extends State<MemberPage>
|
|||||||
@override
|
@override
|
||||||
void initState() {
|
void initState() {
|
||||||
super.initState();
|
super.initState();
|
||||||
|
heroTag = Get.arguments['heroTag'];
|
||||||
|
_memberController = Get.put(MemberController(), tag: heroTag);
|
||||||
_tabController = TabController(length: 3, vsync: this, initialIndex: 2);
|
_tabController = TabController(length: 3, vsync: this, initialIndex: 2);
|
||||||
_futureBuilderFuture = _memberController.getInfo();
|
_futureBuilderFuture = _memberController.getInfo();
|
||||||
_extendNestCtr.addListener(
|
_extendNestCtr.addListener(
|
||||||
@ -105,27 +108,33 @@ class _MemberPageState extends State<MemberPage>
|
|||||||
PopupMenuButton(
|
PopupMenuButton(
|
||||||
icon: const Icon(Icons.more_vert),
|
icon: const Icon(Icons.more_vert),
|
||||||
itemBuilder: (BuildContext context) => <PopupMenuEntry>[
|
itemBuilder: (BuildContext context) => <PopupMenuEntry>[
|
||||||
|
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(
|
PopupMenuItem(
|
||||||
onTap: () => _memberController.blockUser(),
|
onTap: () => _memberController.shareUser(),
|
||||||
child: Row(
|
child: Row(
|
||||||
mainAxisSize: MainAxisSize.min,
|
mainAxisSize: MainAxisSize.min,
|
||||||
children: [
|
children: [
|
||||||
const Icon(Icons.block, size: 19),
|
const Icon(Icons.share_outlined, size: 19),
|
||||||
const SizedBox(width: 10),
|
const SizedBox(width: 10),
|
||||||
Text(_memberController.attribute.value != 128
|
Text(_memberController.ownerMid !=
|
||||||
? '加入黑名单'
|
_memberController.mid
|
||||||
: '移除黑名单'),
|
? '分享UP主'
|
||||||
],
|
: '分享我的主页'),
|
||||||
),
|
|
||||||
),
|
|
||||||
PopupMenuItem(
|
|
||||||
onTap: () => _memberController.shareUser(),
|
|
||||||
child: const Row(
|
|
||||||
mainAxisSize: MainAxisSize.min,
|
|
||||||
children: [
|
|
||||||
Icon(Icons.share_outlined, size: 19),
|
|
||||||
SizedBox(width: 10),
|
|
||||||
Text('分享UP主'),
|
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
|
|||||||
@ -123,12 +123,14 @@ Widget profile(ctr, {loadingStatus = false}) {
|
|||||||
: '-',
|
: '-',
|
||||||
style: const TextStyle(
|
style: const TextStyle(
|
||||||
fontWeight: FontWeight.bold)),
|
fontWeight: FontWeight.bold)),
|
||||||
Text('粉丝',
|
Text(
|
||||||
style: TextStyle(
|
'粉丝',
|
||||||
fontSize: Theme.of(context)
|
style: TextStyle(
|
||||||
.textTheme
|
fontSize: Theme.of(context)
|
||||||
.labelMedium!
|
.textTheme
|
||||||
.fontSize))
|
.labelMedium!
|
||||||
|
.fontSize),
|
||||||
|
)
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
|
|||||||
Reference in New Issue
Block a user