mirror of
https://github.com/bggRGjQaUbCoE/PiliPlus.git
synced 2026-05-17 06:33:59 +08:00
feat: handle vote uri (#2105)
This commit is contained in:
committed by
GitHub
parent
ad6c0e0d15
commit
d5293fbc72
@@ -7,6 +7,7 @@ import 'package:PiliPlus/http/search.dart';
|
||||
import 'package:PiliPlus/models/common/fav_type.dart';
|
||||
import 'package:PiliPlus/models/common/video/source_type.dart';
|
||||
import 'package:PiliPlus/pages/audio/view.dart';
|
||||
import 'package:PiliPlus/pages/dynamics/widgets/vote.dart';
|
||||
import 'package:PiliPlus/pages/fan/view.dart';
|
||||
import 'package:PiliPlus/pages/follow/view.dart';
|
||||
import 'package:PiliPlus/pages/follow_type/followed/view.dart';
|
||||
@@ -478,13 +479,25 @@ abstract final class PiliScheme {
|
||||
}
|
||||
|
||||
final String path = uri.path;
|
||||
late final queryParameters = uri.queryParameters;
|
||||
|
||||
if (host.contains('t.bilibili.com')) {
|
||||
bool hasMatch = _onPushDynDetail(uri, off);
|
||||
if (!hasMatch) {
|
||||
launchURL();
|
||||
if (_onPushDynDetail(uri, off)) {
|
||||
return true;
|
||||
} else if (path.startsWith('/vote')) {
|
||||
// t.bilibili.com/vote/h5/index?vote_id={{vote_id}}#/result
|
||||
if (queryParameters['vote_id'] case final voteIdStr?) {
|
||||
final voteId = int.tryParse(voteIdStr);
|
||||
if (voteId != null) {
|
||||
if (Get.context != null) {
|
||||
showVoteDialog(Get.context!, voteId);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
return hasMatch;
|
||||
launchURL();
|
||||
return false;
|
||||
} else if (host.contains('live.bilibili.com')) {
|
||||
String? roomId = uriDigitRegExp.firstMatch(path)?.group(1);
|
||||
if (roomId != null) {
|
||||
@@ -513,8 +526,6 @@ abstract final class PiliScheme {
|
||||
}
|
||||
}
|
||||
|
||||
late final queryParameters = uri.queryParameters;
|
||||
|
||||
// space.bilibili.com/h5/follow?mid={{mid}}&type={{type}}
|
||||
if (path.startsWith('/h5/follow')) {
|
||||
final mid = queryParameters['mid'];
|
||||
|
||||
Reference in New Issue
Block a user