opt: save reply

Signed-off-by: bggRGjQaUbCoE <githubaccount56556@proton.me>
This commit is contained in:
bggRGjQaUbCoE
2025-04-07 22:49:04 +08:00
parent 6f2d697748
commit 6bc128cfda

View File

@@ -96,10 +96,9 @@ class _SavePanelState extends State<SavePanel> {
late final oid = dynItem.idStr; late final oid = dynItem.idStr;
late final rootId = hasRoot ? _item.root : _item.id; late final rootId = hasRoot ? _item.root : _item.id;
late final anchor = hasRoot ? 'anchor=${_item.id}&' : ''; late final anchor = hasRoot ? 'anchor=${_item.id}&' : '';
late final enterUri = 'bilibili://following/detail/$oid'; late final enterUri = parseDyn(dynItem);
uri = switch (type) { uri = switch (type) {
1 => 1 ||
'bilibili://video/${dynItem.basic!['rid_str']}?comment_root_id=${hasRoot ? _item.root : _item.id}${hasRoot ? '&comment_secondary_id=${_item.id}' : ''}',
11 || 11 ||
12 => 12 =>
'bilibili://comment/detail/$type/${dynItem.basic!['rid_str']}/$rootId/?${anchor}enterUri=$enterUri', 'bilibili://comment/detail/$type/${dynItem.basic!['rid_str']}/$rootId/?${anchor}enterUri=$enterUri',
@@ -115,8 +114,7 @@ class _SavePanelState extends State<SavePanel> {
late final anchor = hasRoot ? 'anchor=${_item.id}&' : ''; late final anchor = hasRoot ? 'anchor=${_item.id}&' : '';
late final enterUri = 'bilibili://following/detail/$oid'; late final enterUri = 'bilibili://following/detail/$oid';
uri = switch (type) { uri = switch (type) {
1 => 1 ||
'bilibili://video/$oid?comment_root_id=${hasRoot ? _item.root : _item.id}${hasRoot ? '&comment_secondary_id=${_item.id}' : ''}',
11 || 11 ||
12 => 12 =>
'bilibili://comment/detail/$type/$oid/$rootId/?${anchor}enterUri=${Get.arguments['enterUri']}', 'bilibili://comment/detail/$type/$oid/$rootId/?${anchor}enterUri=${Get.arguments['enterUri']}',
@@ -139,30 +137,38 @@ class _SavePanelState extends State<SavePanel> {
debugPrint(uri); debugPrint(uri);
} else if (_item is DynamicItemModel) { } else if (_item is DynamicItemModel) {
uri = parseDyn(_item);
debugPrint(uri);
}
}
String parseDyn(item) {
String uri = '';
try { try {
switch (_item.type) { switch (item.type) {
case 'DYNAMIC_TYPE_AV': case 'DYNAMIC_TYPE_AV':
viewType = '观看'; viewType = '观看';
itemType = '视频'; itemType = '视频';
uri = 'bilibili://video/${_item.basic!['comment_id_str']}'; uri = 'bilibili://video/${item.basic!['comment_id_str']}';
break; break;
case 'DYNAMIC_TYPE_ARTICLE': case 'DYNAMIC_TYPE_ARTICLE':
itemType = '专栏'; itemType = '专栏';
uri = 'bilibili://following/detail/${_item.idStr}'; uri = 'bilibili://following/detail/${item.idStr}';
break; break;
case 'DYNAMIC_TYPE_LIVE_RCMD': case 'DYNAMIC_TYPE_LIVE_RCMD':
viewType = '观看'; viewType = '观看';
itemType = '直播'; itemType = '直播';
final roomId = _item.modules.moduleDynamic.major.liveRcmd.roomId; final roomId = item.modules.moduleDynamic.major.liveRcmd.roomId;
uri = 'bilibili://live/$roomId'; uri = 'bilibili://live/$roomId';
break; break;
case 'DYNAMIC_TYPE_UGC_SEASON': case 'DYNAMIC_TYPE_UGC_SEASON':
viewType = '观看'; viewType = '观看';
itemType = '合集'; itemType = '合集';
int aid = _item.modules.moduleDynamic.major.ugcSeason.aid; int aid = item.modules.moduleDynamic.major.ugcSeason.aid;
uri = 'bilibili://video/$aid'; uri = 'bilibili://video/$aid';
break; break;
@@ -170,16 +176,15 @@ class _SavePanelState extends State<SavePanel> {
case 'DYNAMIC_TYPE_PGC_UNION': case 'DYNAMIC_TYPE_PGC_UNION':
viewType = '观看'; viewType = '观看';
itemType = itemType =
_item?.modules?.moduleDynamic?.major?.pgc?.badge?['text'] ?? item?.modules?.moduleDynamic?.major?.pgc?.badge?['text'] ?? '番剧';
'番剧'; final epid = item.modules.moduleDynamic.major.pgc.epid;
final epid = _item.modules.moduleDynamic.major.pgc.epid;
uri = 'bilibili://pgc/season/ep/$epid'; uri = 'bilibili://pgc/season/ep/$epid';
break; break;
// https://www.bilibili.com/medialist/detail/ml12345678 // https://www.bilibili.com/medialist/detail/ml12345678
case 'DYNAMIC_TYPE_MEDIALIST': case 'DYNAMIC_TYPE_MEDIALIST':
itemType = '收藏夹'; itemType = '收藏夹';
final mediaId = _item.modules.moduleDynamic.major.medialist!['id']; final mediaId = item.modules.moduleDynamic.major.medialist!['id'];
uri = 'bilibili://medialist/detail/$mediaId'; uri = 'bilibili://medialist/detail/$mediaId';
break; break;
@@ -193,13 +198,11 @@ class _SavePanelState extends State<SavePanel> {
// case 'DYNAMIC_TYPE_DRAW': // case 'DYNAMIC_TYPE_DRAW':
default: default:
itemType = '动态'; itemType = '动态';
uri = 'bilibili://following/detail/${_item.idStr}'; uri = 'bilibili://following/detail/${item.idStr}';
break; break;
} }
debugPrint(uri);
} catch (_) {} } catch (_) {}
} return uri;
} }
void _onSaveOrSharePic([bool isShare = false]) async { void _onSaveOrSharePic([bool isShare = false]) async {