fix: bangumi

This commit is contained in:
bggRGjQaUbCoE
2024-10-02 16:04:02 +08:00
parent 6d5fb003b1
commit 2252ece7ee
5 changed files with 27 additions and 24 deletions

View File

@@ -304,7 +304,7 @@ class VideoHttp {
if (res.data['code'] == 0) { if (res.data['code'] == 0) {
return {'status': true, 'data': res.data['data']}; return {'status': true, 'data': res.data['data']};
} else { } else {
return {'status': false, 'data': []}; return {'status': false, 'msg': res.data['message']};
} }
} }

View File

@@ -85,7 +85,7 @@ class BangumiIntroController extends CommonController {
userInfo = userInfoCache.get('userInfoCache'); userInfo = userInfoCache.get('userInfoCache');
userLogin = userInfo != null; userLogin = userInfo != null;
if (userLogin) { if (userLogin && epId != null) {
// // 获取点赞状态 // // 获取点赞状态
// queryHasLikeVideo(); // queryHasLikeVideo();
// // 获取投币状态 // // 获取投币状态
@@ -120,9 +120,13 @@ class BangumiIntroController extends CommonController {
// 获取点赞/投币/收藏状态 // 获取点赞/投币/收藏状态
Future queryBangumiLikeCoinFav() async { Future queryBangumiLikeCoinFav() async {
var result = await VideoHttp.bangumiLikeCoinFav(epId: epId); var result = await VideoHttp.bangumiLikeCoinFav(epId: epId);
hasLike.value = result["data"]['like'] == 1; if (result['status']) {
hasCoin.value = result["data"]['coin_number'] != 0; hasLike.value = result["data"]['like'] == 1;
hasFav.value = result["data"]['favorite'] == 1; hasCoin.value = result["data"]['coin_number'] != 0;
hasFav.value = result["data"]['favorite'] == 1;
} else {
SmartDialog.showToast(result['msg']);
}
} }
// 获取点赞状态 // 获取点赞状态

View File

@@ -192,24 +192,23 @@ class DynamicsController extends GetxController
var res = await SearchHttp.bangumiInfo(epId: pgc.epid); var res = await SearchHttp.bangumiInfo(epId: pgc.epid);
SmartDialog.dismiss(); SmartDialog.dismiss();
if (res['status']) { if (res['status']) {
EpisodeItem episode = res['data'].episodes.first; // dynamic episode -> progress episode -> first episode
int? epId = res['data'].userStatus?.progress?.lastEpId; EpisodeItem episode = (res['data'].episodes as List)
if (epId == null) { .firstWhereOrNull(
epId = episode.epId; (item) => item.epId == pgc.epid,
} else { ) ??
for (var item in res['data'].episodes) { (res['data'].episodes as List).firstWhereOrNull(
if (item.epId == epId) { (item) =>
episode = item; item.epId == res['data'].userStatus?.progress?.lastEpId,
break; ) ??
} res['data'].episodes.first;
} dynamic epId = episode.epId;
} dynamic bvid = episode.bvid;
String bvid = episode.bvid!; dynamic cid = episode.cid;
int cid = episode.cid!; dynamic pic = episode.cover;
String pic = episode.cover!; dynamic heroTag = Utils.makeHeroTag(cid);
String heroTag = Utils.makeHeroTag(cid);
toDupNamed( toDupNamed(
'/video?bvid=$bvid&cid=$cid&seasonId=${res['data'].seasonId}&epid=$epId', '/video?bvid=$bvid&cid=$cid&seasonId=${res['data'].seasonId}&epId=$epId',
arguments: { arguments: {
'pic': pic, 'pic': pic,
'heroTag': heroTag, 'heroTag': heroTag,

View File

@@ -123,7 +123,7 @@ class HistoryItem extends StatelessWidget {
String pic = episode.cover!; String pic = episode.cover!;
String heroTag = Utils.makeHeroTag(cid); String heroTag = Utils.makeHeroTag(cid);
Get.toNamed( Get.toNamed(
'/video?bvid=$bvid&cid=$cid&seasonId=${res['data'].seasonId}&epid=${episode.epId}', '/video?bvid=$bvid&cid=$cid&seasonId=${res['data'].seasonId}&epId=${episode.epId}',
arguments: { arguments: {
'pic': pic, 'pic': pic,
'heroTag': heroTag, 'heroTag': heroTag,

View File

@@ -165,7 +165,7 @@ Widget searchBangumiPanel(BuildContext context, ctr, loadingState) {
String heroTag = String heroTag =
Utils.makeHeroTag(cid); Utils.makeHeroTag(cid);
Get.toNamed( Get.toNamed(
'/video?bvid=$bvid&cid=$cid&seasonId=${i.seasonId}&epid=$epId', '/video?bvid=$bvid&cid=$cid&seasonId=${i.seasonId}&epId=$epId',
arguments: { arguments: {
'pic': pic, 'pic': pic,
'heroTag': heroTag, 'heroTag': heroTag,