fix: 个人动态无限循环 issues #340

This commit is contained in:
guozhigq
2023-12-25 22:52:20 +08:00
parent 4e8ca590b4
commit 7d54bd1641
6 changed files with 17 additions and 5 deletions

View File

@ -15,6 +15,7 @@ class FansController extends GetxController {
late String name; late String name;
var userInfo; var userInfo;
RxString loadingText = '加载中...'.obs; RxString loadingText = '加载中...'.obs;
RxBool isOwner = false.obs;
@override @override
void onInit() { void onInit() {
@ -23,6 +24,7 @@ class FansController extends GetxController {
mid = Get.parameters['mid'] != null mid = Get.parameters['mid'] != null
? int.parse(Get.parameters['mid']!) ? int.parse(Get.parameters['mid']!)
: userInfo.mid; : userInfo.mid;
isOwner.value = mid == userInfo.mid;
name = Get.parameters['name'] ?? userInfo.uname; name = Get.parameters['name'] ?? userInfo.uname;
} }

View File

@ -54,7 +54,7 @@ class _FansPageState extends State<FansPage> {
centerTitle: false, centerTitle: false,
titleSpacing: 0, titleSpacing: 0,
title: Text( title: Text(
'${_fansController.name}的粉丝', _fansController.isOwner.value ? '我的粉丝' : '${_fansController.name}的粉丝',
style: Theme.of(context).textTheme.titleMedium, style: Theme.of(context).textTheme.titleMedium,
), ),
), ),

View File

@ -22,13 +22,16 @@ class MemberDynamicsController extends GetxController {
offset = ''; offset = '';
dynamicsList.clear(); dynamicsList.clear();
} }
if (offset == '-1') {
return;
}
var res = await MemberHttp.memberDynamic( var res = await MemberHttp.memberDynamic(
offset: offset, offset: offset,
mid: mid, mid: mid,
); );
if (res['status']) { if (res['status']) {
dynamicsList.addAll(res['data'].items); dynamicsList.addAll(res['data'].items);
offset = res['data'].offset; offset = res['data'].offset != '' ? res['data'].offset : '-1';
hasMore = res['data'].hasMore; hasMore = res['data'].hasMore;
} }
return res; return res;

View File

@ -3,7 +3,6 @@ import 'package:flutter/material.dart';
import 'package:get/get.dart'; import 'package:get/get.dart';
import 'package:pilipala/pages/member_dynamics/index.dart'; import 'package:pilipala/pages/member_dynamics/index.dart';
import 'package:pilipala/utils/utils.dart'; import 'package:pilipala/utils/utils.dart';
import 'package:protobuf/protobuf.dart';
import '../dynamics/widgets/dynamic_panel.dart'; import '../dynamics/widgets/dynamic_panel.dart';
@ -35,7 +34,7 @@ class _MemberDynamicsPageState extends State<MemberDynamicsPage> {
if (scrollController.position.pixels >= if (scrollController.position.pixels >=
scrollController.position.maxScrollExtent - 200) { scrollController.position.maxScrollExtent - 200) {
EasyThrottle.throttle( EasyThrottle.throttle(
'member_dynamics', const Duration(milliseconds: 500), () { 'member_dynamics', const Duration(milliseconds: 1000), () {
_memberDynamicController.onLoad(); _memberDynamicController.onLoad();
}); });
} }

View File

@ -129,4 +129,12 @@ class MineController extends GetxController {
} }
Get.toNamed('/fan?mid=${userInfo.value.mid}'); Get.toNamed('/fan?mid=${userInfo.value.mid}');
} }
pushDynamic() {
if (!userLogin.value) {
SmartDialog.showToast('账号未登录');
return;
}
Get.toNamed('/memberDynamics?mid=${userInfo.value.mid}');
}
} }

View File

@ -234,7 +234,7 @@ class _MinePageState extends State<MinePage> {
childAspectRatio: 1.67, childAspectRatio: 1.67,
children: <Widget>[ children: <Widget>[
InkWell( InkWell(
onTap: () {}, onTap: () => _mineController.pushDynamic(),
borderRadius: StyleString.mdRadius, borderRadius: StyleString.mdRadius,
child: Column( child: Column(
mainAxisAlignment: MainAxisAlignment.center, mainAxisAlignment: MainAxisAlignment.center,