mirror of
https://github.com/bggRGjQaUbCoE/PiliPlus.git
synced 2026-06-30 06:10:10 +08:00
opt: get bangumiInfo
This commit is contained in:
@@ -31,7 +31,7 @@ class BangumiIntroController extends CommonController {
|
||||
// 视频bvid
|
||||
String bvid = Get.parameters['bvid'] ?? '';
|
||||
var seasonId = Get.parameters['seasonId'] != null
|
||||
? int.parse(Get.parameters['seasonId']!)
|
||||
? int.tryParse(Get.parameters['seasonId']!)
|
||||
: null;
|
||||
var epId = Get.parameters['epId'] != null
|
||||
? int.tryParse(Get.parameters['epId']!)
|
||||
|
||||
@@ -42,45 +42,46 @@ class BangumiCardV extends StatelessWidget {
|
||||
child: InkWell(
|
||||
onTap: () async {
|
||||
final int seasonId = bangumiItem.seasonId;
|
||||
SmartDialog.showLoading(msg: '获取中...');
|
||||
final res = await SearchHttp.bangumiInfo(seasonId: seasonId);
|
||||
SmartDialog.dismiss().then((value) {
|
||||
if (res['status']) {
|
||||
if (res['data'].episodes.isEmpty) {
|
||||
SmartDialog.showToast('资源加载失败');
|
||||
return;
|
||||
}
|
||||
EpisodeItem episode = res['data'].episodes.first;
|
||||
int? epId = res['data'].userStatus?.progress?.lastEpId;
|
||||
if (epId == null) {
|
||||
epId = episode.epId;
|
||||
} else {
|
||||
for (var item in res['data'].episodes) {
|
||||
if (item.epId == epId) {
|
||||
episode = item;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
String bvid = episode.bvid!;
|
||||
int cid = episode.cid!;
|
||||
String pic = episode.cover!;
|
||||
print('epId');
|
||||
print(epId);
|
||||
String heroTag = Utils.makeHeroTag(cid);
|
||||
Get.toNamed(
|
||||
'/video?bvid=$bvid&cid=$cid&seasonId=$seasonId&epId=$epId',
|
||||
arguments: {
|
||||
'pic': pic,
|
||||
'heroTag': heroTag,
|
||||
'videoType': SearchType.media_bangumi,
|
||||
'bangumiItem': res['data'],
|
||||
},
|
||||
);
|
||||
} else {
|
||||
SmartDialog.showToast(res['msg']);
|
||||
}
|
||||
});
|
||||
Utils.viewBangumi(seasonId: seasonId);
|
||||
// SmartDialog.showLoading(msg: '获取中...');
|
||||
// final res = await SearchHttp.bangumiInfo(seasonId: seasonId);
|
||||
// SmartDialog.dismiss().then((value) {
|
||||
// if (res['status']) {
|
||||
// if (res['data'].episodes.isEmpty) {
|
||||
// SmartDialog.showToast('资源加载失败');
|
||||
// return;
|
||||
// }
|
||||
// EpisodeItem episode = res['data'].episodes.first;
|
||||
// int? epId = res['data'].userStatus?.progress?.lastEpId;
|
||||
// if (epId == null) {
|
||||
// epId = episode.epId;
|
||||
// } else {
|
||||
// for (var item in res['data'].episodes) {
|
||||
// if (item.epId == epId) {
|
||||
// episode = item;
|
||||
// break;
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// String bvid = episode.bvid!;
|
||||
// int cid = episode.cid!;
|
||||
// String pic = episode.cover!;
|
||||
// // print('epId');
|
||||
// // print(epId);
|
||||
// String heroTag = Utils.makeHeroTag(cid);
|
||||
// Get.toNamed(
|
||||
// '/video?bvid=$bvid&cid=$cid&seasonId=$seasonId&epId=$epId',
|
||||
// arguments: {
|
||||
// 'pic': pic,
|
||||
// 'heroTag': heroTag,
|
||||
// 'videoType': SearchType.media_bangumi,
|
||||
// 'bangumiItem': res['data'],
|
||||
// },
|
||||
// );
|
||||
// } else {
|
||||
// SmartDialog.showToast(res['msg']);
|
||||
// }
|
||||
// });
|
||||
},
|
||||
child: Column(
|
||||
children: [
|
||||
|
||||
@@ -178,37 +178,38 @@ class DynamicsController extends GetxController
|
||||
print('DYNAMIC_TYPE_PGC_UNION 番剧');
|
||||
DynamicArchiveModel pgc = item.modules.moduleDynamic.major.pgc;
|
||||
if (pgc.epid != null) {
|
||||
SmartDialog.showLoading(msg: '获取中...');
|
||||
var res = await SearchHttp.bangumiInfo(epId: pgc.epid);
|
||||
SmartDialog.dismiss();
|
||||
if (res['status']) {
|
||||
// dynamic episode -> progress episode -> first episode
|
||||
EpisodeItem episode = (res['data'].episodes as List)
|
||||
.firstWhereOrNull(
|
||||
(item) => item.epId == pgc.epid,
|
||||
) ??
|
||||
(res['data'].episodes as List).firstWhereOrNull(
|
||||
(item) =>
|
||||
item.epId == res['data'].userStatus?.progress?.lastEpId,
|
||||
) ??
|
||||
res['data'].episodes.first;
|
||||
dynamic epId = episode.epId;
|
||||
dynamic bvid = episode.bvid;
|
||||
dynamic cid = episode.cid;
|
||||
dynamic pic = episode.cover;
|
||||
dynamic heroTag = Utils.makeHeroTag(cid);
|
||||
Utils.toDupNamed(
|
||||
'/video?bvid=$bvid&cid=$cid&seasonId=${res['data'].seasonId}&epId=$epId',
|
||||
arguments: {
|
||||
'pic': pic,
|
||||
'heroTag': heroTag,
|
||||
'videoType': SearchType.media_bangumi,
|
||||
'bangumiItem': res['data'],
|
||||
},
|
||||
);
|
||||
} else {
|
||||
SmartDialog.showToast(res['msg']);
|
||||
}
|
||||
Utils.viewBangumi(epId: pgc.epid);
|
||||
// SmartDialog.showLoading(msg: '获取中...');
|
||||
// var res = await SearchHttp.bangumiInfo(epId: pgc.epid);
|
||||
// SmartDialog.dismiss();
|
||||
// if (res['status']) {
|
||||
// // dynamic episode -> progress episode -> first episode
|
||||
// EpisodeItem episode = (res['data'].episodes as List)
|
||||
// .firstWhereOrNull(
|
||||
// (item) => item.epId == pgc.epid,
|
||||
// ) ??
|
||||
// (res['data'].episodes as List).firstWhereOrNull(
|
||||
// (item) =>
|
||||
// item.epId == res['data'].userStatus?.progress?.lastEpId,
|
||||
// ) ??
|
||||
// res['data'].episodes.first;
|
||||
// dynamic epId = episode.epId;
|
||||
// dynamic bvid = episode.bvid;
|
||||
// dynamic cid = episode.cid;
|
||||
// dynamic pic = episode.cover;
|
||||
// dynamic heroTag = Utils.makeHeroTag(cid);
|
||||
// Utils.toDupNamed(
|
||||
// '/video?bvid=$bvid&cid=$cid&seasonId=${res['data'].seasonId}&epId=$epId',
|
||||
// arguments: {
|
||||
// 'pic': pic,
|
||||
// 'heroTag': heroTag,
|
||||
// 'videoType': SearchType.media_bangumi,
|
||||
// 'bangumiItem': res['data'],
|
||||
// },
|
||||
// );
|
||||
// } else {
|
||||
// SmartDialog.showToast(res['msg']);
|
||||
// }
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -106,34 +106,42 @@ class HistoryItem extends StatelessWidget {
|
||||
}
|
||||
} else {
|
||||
if (videoItem.history.epid != '') {
|
||||
SmartDialog.showLoading(msg: '获取中...');
|
||||
var res =
|
||||
await SearchHttp.bangumiInfo(epId: videoItem.history.epid);
|
||||
SmartDialog.dismiss();
|
||||
if (res['status']) {
|
||||
EpisodeItem episode = res['data'].episodes.first;
|
||||
for (EpisodeItem i in res['data'].episodes) {
|
||||
if (i.epId == videoItem.history.epid) {
|
||||
episode = i;
|
||||
break;
|
||||
}
|
||||
}
|
||||
String bvid = episode.bvid!;
|
||||
int cid = episode.cid!;
|
||||
String pic = episode.cover!;
|
||||
String heroTag = Utils.makeHeroTag(cid);
|
||||
Get.toNamed(
|
||||
'/video?bvid=$bvid&cid=$cid&seasonId=${res['data'].seasonId}&epId=${episode.epId}',
|
||||
arguments: {
|
||||
'pic': pic,
|
||||
'heroTag': heroTag,
|
||||
'videoType': SearchType.media_bangumi,
|
||||
'bangumiItem': res['data'],
|
||||
},
|
||||
);
|
||||
} else {
|
||||
SmartDialog.showToast(res['msg']);
|
||||
}
|
||||
Utils.viewBangumi(epId: videoItem.history.epid);
|
||||
// SmartDialog.showLoading(msg: '获取中...');
|
||||
// var res =
|
||||
// await SearchHttp.bangumiInfo(epId: videoItem.history.epid);
|
||||
// SmartDialog.dismiss();
|
||||
// if (res['status']) {
|
||||
// var bangumiDetail = res['data'];
|
||||
// EpisodeItem episode = res['data'].episodes.first;
|
||||
// int? epId = res['data'].userStatus?.progress?.lastEpId;
|
||||
// if (epId == null) {
|
||||
// epId = episode.epId;
|
||||
// } else {
|
||||
// for (var item in res['data'].episodes) {
|
||||
// if (item.epId == epId) {
|
||||
// episode = item;
|
||||
// break;
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// String bvid = episode.bvid!;
|
||||
// int cid = episode.cid!;
|
||||
// String pic = episode.cover!;
|
||||
// String seasonId = bangumiDetail.seasonId;
|
||||
// dynamic heroTag = Utils.makeHeroTag(cid);
|
||||
// Get.toNamed(
|
||||
// '/video?bvid=$bvid&cid=$cid&seasonId=$seasonId&epId=$epId',
|
||||
// arguments: {
|
||||
// 'pic': pic,
|
||||
// 'heroTag': heroTag,
|
||||
// 'videoType': SearchType.media_bangumi,
|
||||
// 'bangumiItem': res['data'],
|
||||
// },
|
||||
// );
|
||||
// } else {
|
||||
// SmartDialog.showToast(res['msg']);
|
||||
// }
|
||||
}
|
||||
}
|
||||
} else {
|
||||
|
||||
@@ -137,47 +137,48 @@ Widget searchBangumiPanel(BuildContext context, ctr, loadingState) {
|
||||
height: 32,
|
||||
child: ElevatedButton(
|
||||
onPressed: () async {
|
||||
SmartDialog.showLoading(msg: '获取中...');
|
||||
var res = await SearchHttp.bangumiInfo(
|
||||
seasonId: i.seasonId);
|
||||
SmartDialog.dismiss().then((value) {
|
||||
if (res['status']) {
|
||||
EpisodeItem episode =
|
||||
res['data'].episodes.first;
|
||||
int? epId = res['data']
|
||||
.userStatus
|
||||
?.progress
|
||||
?.lastEpId;
|
||||
if (epId == null) {
|
||||
epId = episode.epId;
|
||||
} else {
|
||||
for (var item
|
||||
in res['data'].episodes) {
|
||||
if (item.epId == epId) {
|
||||
episode = item;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
String bvid = episode.bvid!;
|
||||
int cid = episode.cid!;
|
||||
String pic = episode.cover!;
|
||||
String heroTag =
|
||||
Utils.makeHeroTag(cid);
|
||||
Get.toNamed(
|
||||
'/video?bvid=$bvid&cid=$cid&seasonId=${i.seasonId}&epId=$epId',
|
||||
arguments: {
|
||||
'pic': pic,
|
||||
'heroTag': heroTag,
|
||||
'videoType':
|
||||
SearchType.media_bangumi,
|
||||
'bangumiItem': res['data'],
|
||||
},
|
||||
);
|
||||
} else {
|
||||
SmartDialog.showToast(res['msg']);
|
||||
}
|
||||
});
|
||||
Utils.viewBangumi(seasonId: i.seasonId);
|
||||
// SmartDialog.showLoading(msg: '获取中...');
|
||||
// var res = await SearchHttp.bangumiInfo(
|
||||
// seasonId: i.seasonId);
|
||||
// SmartDialog.dismiss().then((value) {
|
||||
// if (res['status']) {
|
||||
// EpisodeItem episode =
|
||||
// res['data'].episodes.first;
|
||||
// int? epId = res['data']
|
||||
// .userStatus
|
||||
// ?.progress
|
||||
// ?.lastEpId;
|
||||
// if (epId == null) {
|
||||
// epId = episode.epId;
|
||||
// } else {
|
||||
// for (var item
|
||||
// in res['data'].episodes) {
|
||||
// if (item.epId == epId) {
|
||||
// episode = item;
|
||||
// break;
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// String bvid = episode.bvid!;
|
||||
// int cid = episode.cid!;
|
||||
// String pic = episode.cover!;
|
||||
// String heroTag =
|
||||
// Utils.makeHeroTag(cid);
|
||||
// Get.toNamed(
|
||||
// '/video?bvid=$bvid&cid=$cid&seasonId=${i.seasonId}&epId=$epId',
|
||||
// arguments: {
|
||||
// 'pic': pic,
|
||||
// 'heroTag': heroTag,
|
||||
// 'videoType':
|
||||
// SearchType.media_bangumi,
|
||||
// 'bangumiItem': res['data'],
|
||||
// },
|
||||
// );
|
||||
// } else {
|
||||
// SmartDialog.showToast(res['msg']);
|
||||
// }
|
||||
// });
|
||||
},
|
||||
child: const Text('观看'),
|
||||
),
|
||||
|
||||
Reference in New Issue
Block a user