fix: failed to view reposted dynamic on dynamic detail page

This commit is contained in:
bggRGjQaUbCoE
2024-09-13 19:06:32 +08:00
parent c78c688002
commit ec0e87e451

View File

@@ -70,33 +70,44 @@ class DynamicsController extends GetxController
initialValue.value = value;
}
toDupNamed(
String page, {
dynamic arguments,
Map<String, String>? parameters,
}) {
Get.toNamed(
page,
arguments: arguments,
parameters: parameters,
preventDuplicates: false,
);
}
pushDetail(item, floor, {action = 'all'}) async {
feedBack();
/// 点击评论action 直接查看评论
if (action == 'comment') {
Get.toNamed('/dynamicDetail',
toDupNamed('/dynamicDetail',
arguments: {'item': item, 'floor': floor, 'action': action});
return false;
}
switch (item!.type) {
/// 转发的动态
case 'DYNAMIC_TYPE_FORWARD':
Get.toNamed('/dynamicDetail',
arguments: {'item': item, 'floor': floor});
toDupNamed('/dynamicDetail', arguments: {'item': item, 'floor': floor});
break;
/// 图文动态查看
case 'DYNAMIC_TYPE_DRAW':
Get.toNamed('/dynamicDetail',
arguments: {'item': item, 'floor': floor});
toDupNamed('/dynamicDetail', arguments: {'item': item, 'floor': floor});
break;
case 'DYNAMIC_TYPE_AV':
String bvid = item.modules.moduleDynamic.major.archive.bvid;
String cover = item.modules.moduleDynamic.major.archive.cover;
try {
int cid = await SearchHttp.ab2c(bvid: bvid);
Get.toNamed('/video?bvid=$bvid&cid=$cid',
toDupNamed('/video?bvid=$bvid&cid=$cid',
arguments: {'pic': cover, 'heroTag': bvid});
} catch (err) {
SmartDialog.showToast(err.toString());
@@ -114,14 +125,14 @@ class DynamicsController extends GetxController
if (url.contains('read')) {
number = 'cv$number';
}
Get.toNamed('/htmlRender', parameters: {
toDupNamed('/htmlRender', parameters: {
'url': url.startsWith('//') ? url.split('//').last : url,
'title': title,
'id': number,
'dynamicType': url.split('//').last.split('/')[1]
});
} else {
Get.toNamed(
toDupNamed(
'/webviewnew',
parameters: {
'url': 'https:$url',
@@ -140,8 +151,7 @@ class DynamicsController extends GetxController
/// 纯文字动态查看
case 'DYNAMIC_TYPE_WORD':
print('纯文本');
Get.toNamed('/dynamicDetail',
arguments: {'item': item, 'floor': floor});
toDupNamed('/dynamicDetail', arguments: {'item': item, 'floor': floor});
break;
case 'DYNAMIC_TYPE_LIVE_RCMD':
DynamicLiveModel liveRcmd = item.modules.moduleDynamic.major.liveRcmd;
@@ -155,7 +165,7 @@ class DynamicsController extends GetxController
'roomid': liveRcmd.roomId,
'watched_show': liveRcmd.watchedShow,
});
Get.toNamed('/liveRoom?roomid=${liveItem.roomId}', arguments: {
toDupNamed('/liveRoom?roomid=${liveItem.roomId}', arguments: {
'liveItem': liveItem,
'heroTag': liveItem.roomId.toString()
});
@@ -169,7 +179,7 @@ class DynamicsController extends GetxController
String bvid = IdUtils.av2bv(aid);
String cover = ugcSeason.cover!;
int cid = await SearchHttp.ab2c(bvid: bvid);
Get.toNamed('/video?bvid=$bvid&cid=$cid',
toDupNamed('/video?bvid=$bvid&cid=$cid',
arguments: {'pic': cover, 'heroTag': bvid});
break;
@@ -198,7 +208,7 @@ class DynamicsController extends GetxController
int cid = episode.cid!;
String pic = episode.cover!;
String heroTag = Utils.makeHeroTag(cid);
Get.toNamed(
toDupNamed(
'/video?bvid=$bvid&cid=$cid&seasonId=${res['data'].seasonId}&epid=$epId',
arguments: {
'pic': pic,