fix: issues #166
This commit is contained in:
@ -2,6 +2,7 @@ import 'package:get/get.dart';
|
|||||||
import 'package:pilipala/http/member.dart';
|
import 'package:pilipala/http/member.dart';
|
||||||
|
|
||||||
class ArchiveController extends GetxController {
|
class ArchiveController extends GetxController {
|
||||||
|
ArchiveController(this.mid);
|
||||||
int? mid;
|
int? mid;
|
||||||
int pn = 1;
|
int pn = 1;
|
||||||
int count = 0;
|
int count = 0;
|
||||||
@ -15,7 +16,8 @@ class ArchiveController extends GetxController {
|
|||||||
@override
|
@override
|
||||||
void onInit() {
|
void onInit() {
|
||||||
super.onInit();
|
super.onInit();
|
||||||
mid = int.parse(Get.parameters['mid']!);
|
mid ??= int.parse(Get.parameters['mid']!);
|
||||||
|
print('🐶🐶: $mid');
|
||||||
currentOrder.value = orderList.first;
|
currentOrder.value = orderList.first;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -5,10 +5,12 @@ import 'package:loading_more_list/loading_more_list.dart';
|
|||||||
import 'package:pilipala/common/widgets/video_card_h.dart';
|
import 'package:pilipala/common/widgets/video_card_h.dart';
|
||||||
import 'package:pilipala/models/member/archive.dart';
|
import 'package:pilipala/models/member/archive.dart';
|
||||||
import 'package:pilipala/pages/member/archive/index.dart';
|
import 'package:pilipala/pages/member/archive/index.dart';
|
||||||
|
import 'package:pilipala/utils/utils.dart';
|
||||||
import 'package:pull_to_refresh_notification/pull_to_refresh_notification.dart';
|
import 'package:pull_to_refresh_notification/pull_to_refresh_notification.dart';
|
||||||
|
|
||||||
class ArchivePanel extends StatefulWidget {
|
class ArchivePanel extends StatefulWidget {
|
||||||
const ArchivePanel({super.key});
|
final int? mid;
|
||||||
|
const ArchivePanel({super.key, this.mid});
|
||||||
|
|
||||||
@override
|
@override
|
||||||
State<ArchivePanel> createState() => _ArchivePanelState();
|
State<ArchivePanel> createState() => _ArchivePanelState();
|
||||||
@ -17,13 +19,21 @@ class ArchivePanel extends StatefulWidget {
|
|||||||
class _ArchivePanelState extends State<ArchivePanel>
|
class _ArchivePanelState extends State<ArchivePanel>
|
||||||
with AutomaticKeepAliveClientMixin {
|
with AutomaticKeepAliveClientMixin {
|
||||||
DateTime lastRefreshTime = DateTime.now();
|
DateTime lastRefreshTime = DateTime.now();
|
||||||
late final LoadMoreListSource source = LoadMoreListSource();
|
late final LoadMoreListSource source;
|
||||||
final ArchiveController _archiveController =
|
late final ArchiveController _archiveController;
|
||||||
Get.put(ArchiveController(), tag: Get.arguments['heroTag']);
|
|
||||||
|
|
||||||
@override
|
@override
|
||||||
bool get wantKeepAlive => true;
|
bool get wantKeepAlive => true;
|
||||||
|
|
||||||
|
@override
|
||||||
|
void initState() {
|
||||||
|
super.initState();
|
||||||
|
print('🐶🐶: ${widget.mid}');
|
||||||
|
_archiveController = Get.put(ArchiveController(widget.mid),
|
||||||
|
tag: Utils.makeHeroTag(widget.mid));
|
||||||
|
source = LoadMoreListSource(_archiveController);
|
||||||
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
super.build(context);
|
super.build(context);
|
||||||
@ -193,16 +203,16 @@ class _ArchivePanelState extends State<ArchivePanel>
|
|||||||
}
|
}
|
||||||
|
|
||||||
class LoadMoreListSource extends LoadingMoreBase<VListItemModel> {
|
class LoadMoreListSource extends LoadingMoreBase<VListItemModel> {
|
||||||
final ArchiveController _archiveController =
|
late ArchiveController ctr;
|
||||||
Get.put(ArchiveController(), tag: Get.arguments['heroTag']);
|
LoadMoreListSource(this.ctr);
|
||||||
bool forceRefresh = false;
|
bool forceRefresh = false;
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Future<bool> loadData([bool isloadMoreAction = false]) async {
|
Future<bool> loadData([bool isloadMoreAction = false]) async {
|
||||||
bool isSuccess = false;
|
bool isSuccess = false;
|
||||||
var res = await _archiveController.getMemberArchive();
|
var res = await ctr.getMemberArchive();
|
||||||
if (res['status']) {
|
if (res['status']) {
|
||||||
if (_archiveController.pn == 2) {
|
if (ctr.pn == 2) {
|
||||||
clear();
|
clear();
|
||||||
}
|
}
|
||||||
addAll(res['data'].list.vlist);
|
addAll(res['data'].list.vlist);
|
||||||
|
@ -2,6 +2,7 @@ import 'package:get/get.dart';
|
|||||||
import 'package:pilipala/http/member.dart';
|
import 'package:pilipala/http/member.dart';
|
||||||
|
|
||||||
class MemberDynamicPanelController extends GetxController {
|
class MemberDynamicPanelController extends GetxController {
|
||||||
|
MemberDynamicPanelController(this.mid);
|
||||||
int? mid;
|
int? mid;
|
||||||
String offset = '';
|
String offset = '';
|
||||||
int count = 0;
|
int count = 0;
|
||||||
@ -9,7 +10,7 @@ class MemberDynamicPanelController extends GetxController {
|
|||||||
@override
|
@override
|
||||||
void onInit() {
|
void onInit() {
|
||||||
super.onInit();
|
super.onInit();
|
||||||
mid = int.parse(Get.parameters['mid']!);
|
mid ??= int.parse(Get.parameters['mid']!);
|
||||||
}
|
}
|
||||||
|
|
||||||
Future getMemberDynamic() async {
|
Future getMemberDynamic() async {
|
||||||
|
@ -4,11 +4,13 @@ import 'package:get/get.dart';
|
|||||||
import 'package:loading_more_list/loading_more_list.dart';
|
import 'package:loading_more_list/loading_more_list.dart';
|
||||||
import 'package:pilipala/models/dynamics/result.dart';
|
import 'package:pilipala/models/dynamics/result.dart';
|
||||||
import 'package:pilipala/pages/dynamics/widgets/dynamic_panel.dart';
|
import 'package:pilipala/pages/dynamics/widgets/dynamic_panel.dart';
|
||||||
|
import 'package:pilipala/utils/utils.dart';
|
||||||
|
|
||||||
import 'controller.dart';
|
import 'controller.dart';
|
||||||
|
|
||||||
class MemberDynamicPanel extends StatefulWidget {
|
class MemberDynamicPanel extends StatefulWidget {
|
||||||
const MemberDynamicPanel({super.key});
|
final int? mid;
|
||||||
|
const MemberDynamicPanel({super.key, this.mid});
|
||||||
|
|
||||||
@override
|
@override
|
||||||
State<MemberDynamicPanel> createState() => _MemberDynamicPanelState();
|
State<MemberDynamicPanel> createState() => _MemberDynamicPanelState();
|
||||||
@ -17,11 +19,20 @@ class MemberDynamicPanel extends StatefulWidget {
|
|||||||
class _MemberDynamicPanelState extends State<MemberDynamicPanel>
|
class _MemberDynamicPanelState extends State<MemberDynamicPanel>
|
||||||
with AutomaticKeepAliveClientMixin {
|
with AutomaticKeepAliveClientMixin {
|
||||||
DateTime lastRefreshTime = DateTime.now();
|
DateTime lastRefreshTime = DateTime.now();
|
||||||
late final LoadMoreListSource source = LoadMoreListSource();
|
late final LoadMoreListSource source;
|
||||||
|
late final MemberDynamicPanelController _dynamicController;
|
||||||
|
|
||||||
@override
|
@override
|
||||||
bool get wantKeepAlive => true;
|
bool get wantKeepAlive => true;
|
||||||
|
|
||||||
|
@override
|
||||||
|
void initState() {
|
||||||
|
super.initState();
|
||||||
|
_dynamicController = Get.put(MemberDynamicPanelController(widget.mid),
|
||||||
|
tag: Utils.makeHeroTag(widget.mid));
|
||||||
|
source = LoadMoreListSource(_dynamicController);
|
||||||
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
super.build(context);
|
super.build(context);
|
||||||
@ -118,13 +129,13 @@ class _MemberDynamicPanelState extends State<MemberDynamicPanel>
|
|||||||
}
|
}
|
||||||
|
|
||||||
class LoadMoreListSource extends LoadingMoreBase<DynamicItemModel> {
|
class LoadMoreListSource extends LoadingMoreBase<DynamicItemModel> {
|
||||||
final _dynamicController =
|
late MemberDynamicPanelController ctr;
|
||||||
Get.put(MemberDynamicPanelController(), tag: Get.arguments['heroTag']);
|
LoadMoreListSource(this.ctr);
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Future<bool> loadData([bool isloadMoreAction = false]) async {
|
Future<bool> loadData([bool isloadMoreAction = false]) async {
|
||||||
bool isSuccess = false;
|
bool isSuccess = false;
|
||||||
var res = await _dynamicController.getMemberDynamic();
|
var res = await ctr.getMemberDynamic();
|
||||||
if (res['status']) {
|
if (res['status']) {
|
||||||
addAll(res['data'].items);
|
addAll(res['data'].items);
|
||||||
}
|
}
|
||||||
|
@ -27,12 +27,13 @@ class _MemberPageState extends State<MemberPage>
|
|||||||
final ScrollController _extendNestCtr = ScrollController();
|
final ScrollController _extendNestCtr = ScrollController();
|
||||||
late TabController _tabController;
|
late TabController _tabController;
|
||||||
final StreamController<bool> appbarStream = StreamController<bool>();
|
final StreamController<bool> appbarStream = StreamController<bool>();
|
||||||
|
late int mid;
|
||||||
|
|
||||||
@override
|
@override
|
||||||
void initState() {
|
void initState() {
|
||||||
super.initState();
|
super.initState();
|
||||||
heroTag =
|
mid = int.parse(Get.parameters['mid']!);
|
||||||
Get.arguments['heroTag'] ?? Utils.makeHeroTag(Get.parameters['mid']);
|
heroTag = Get.arguments['heroTag'] ?? Utils.makeHeroTag(mid);
|
||||||
_memberController = Get.put(MemberController(), tag: 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();
|
||||||
@ -372,10 +373,10 @@ class _MemberPageState extends State<MemberPage>
|
|||||||
Expanded(
|
Expanded(
|
||||||
child: TabBarView(
|
child: TabBarView(
|
||||||
controller: _tabController,
|
controller: _tabController,
|
||||||
children: const [
|
children: [
|
||||||
Text('主页'),
|
const Text('主页'),
|
||||||
MemberDynamicPanel(),
|
MemberDynamicPanel(mid: mid),
|
||||||
ArchivePanel(),
|
ArchivePanel(mid: mid),
|
||||||
],
|
],
|
||||||
))
|
))
|
||||||
],
|
],
|
||||||
|
Reference in New Issue
Block a user