mod: 补充合集类型

This commit is contained in:
guozhigq
2024-08-04 00:35:42 +08:00
parent cea9eba5ab
commit fb92e40e4d
6 changed files with 114 additions and 9 deletions

View File

@ -24,8 +24,27 @@ class MemberSeasonsPanel extends StatelessWidget {
crossAxisAlignment: CrossAxisAlignment.start,
children: [
ListTile(
onTap: () => Get.toNamed(
'/memberSeasons?mid=${item.meta!.mid}&seasonId=${item.meta!.seasonId}&seasonName=${item.meta!.name}'),
onTap: () {
final int category = item.meta!.category!;
Map<String, String> parameters = {};
if (category == 0) {
parameters = {
'category': '0',
'mid': item.meta!.mid.toString(),
'seasonId': item.meta!.seasonId.toString(),
'seasonName': item.meta!.name!,
};
}
if (category == 1) {
parameters = {
'category': '1',
'mid': item.meta!.mid.toString(),
'seriesId': item.meta!.seriesId.toString(),
'seasonName': item.meta!.name!,
};
}
Get.toNamed('/memberSeasons', parameters: parameters);
},
title: Text(
item.meta!.name!,
maxLines: 1,

View File

@ -6,7 +6,9 @@ import 'package:pilipala/models/member/seasons.dart';
class MemberSeasonsController extends GetxController {
final ScrollController scrollController = ScrollController();
late int mid;
late int seasonId;
int? seasonId;
int? seriesId;
late String category;
int pn = 1;
int ps = 30;
int count = 0;
@ -17,17 +19,23 @@ class MemberSeasonsController extends GetxController {
void onInit() {
super.onInit();
mid = int.parse(Get.parameters['mid']!);
seasonId = int.parse(Get.parameters['seasonId']!);
category = Get.parameters['category']!;
if (category == '0') {
seasonId = int.parse(Get.parameters['seriesId']!);
}
if (category == '1') {
seriesId = int.parse(Get.parameters['seriesId']!);
}
}
// 获取专栏详情
// 获取专栏详情 0: 专栏 1: 系列
Future getSeasonDetail(type) async {
if (type == 'onRefresh') {
pn = 1;
}
var res = await MemberHttp.getSeasonDetail(
mid: mid,
seasonId: seasonId,
seasonId: seasonId!,
pn: pn,
ps: ps,
sortReverse: false,
@ -40,8 +48,32 @@ class MemberSeasonsController extends GetxController {
return res;
}
// 获取系列详情 0: 专栏 1: 系列
Future getSeriesDetail(type) async {
if (type == 'onRefresh') {
pn = 1;
}
var res = await MemberHttp.getSeriesDetail(
mid: mid,
seriesId: seriesId!,
pn: pn,
currentMid: 17340771,
);
if (res['status']) {
seasonsList.addAll(res['data'].seriesList);
page = res['data'].page;
pn += 1;
}
return res;
}
// 上拉加载
Future onLoad() async {
getSeasonDetail('onLoad');
if (category == '0') {
getSeasonDetail('onLoad');
}
if (category == '1') {
getSeriesDetail('onLoad');
}
}
}

View File

@ -17,12 +17,15 @@ class _MemberSeasonsPageState extends State<MemberSeasonsPage> {
Get.put(MemberSeasonsController());
late Future _futureBuilderFuture;
late ScrollController scrollController;
late String category;
@override
void initState() {
super.initState();
_futureBuilderFuture =
_memberSeasonsController.getSeasonDetail('onRefresh');
category = Get.parameters['category']!;
_futureBuilderFuture = category == '0'
? _memberSeasonsController.getSeasonDetail('onRefresh')
: _memberSeasonsController.getSeriesDetail('onRefresh');
scrollController = _memberSeasonsController.scrollController;
scrollController.addListener(
() {