feat: pugv (#927)

Signed-off-by: bggRGjQaUbCoE <githubaccount56556@proton.me>
This commit is contained in:
dom
2025-08-03 15:25:29 +08:00
committed by GitHub
parent cf835e330b
commit bd3d6cf34c
33 changed files with 596 additions and 421 deletions

View File

@@ -1,7 +1,7 @@
enum EpisodeType {
part('分P'),
season('合集'),
pgc('');
pgc('');
final String title;
const EpisodeType(this.title);

View File

@@ -10,11 +10,6 @@ enum HistoryBusinessType {
// 文章
article('article');
// 隐藏时长
static const hiddenDurationType = {'live', 'article-list', 'article'};
// 右上
static const showBadge = {'pgc', 'article-list', 'article'};
final String type;
const HistoryBusinessType(this.type);
}

View File

@@ -0,0 +1,26 @@
import 'package:PiliPlus/http/api.dart';
enum VideoType {
ugc(
type: 3,
api: Api.ugcUrl,
),
pgc(
type: 4,
api: Api.pgcUrl,
),
pugv(
type: 10,
replyType: 33,
api: Api.pugvUrl,
);
final int type;
final String api;
final int replyType;
const VideoType({
required this.api,
required this.type,
this.replyType = 1,
});
}

View File

@@ -170,23 +170,25 @@ abstract class BaseItem {
BaseItem.fromJson(Map<String, dynamic> json) {
id = json['id'];
baseUrl = json['baseUrl'];
final backupUrls = (json['backupUrl'] as List?)?.cast<String>() ?? [];
baseUrl = json['baseUrl'] ?? json['base_url'];
final backupUrls =
((json['backupUrl'] ?? json['backup_url']) as List?)?.cast<String>() ??
<String>[];
backupUrl = backupUrls.isNotEmpty
? backupUrls.firstWhere(
(i) => !_isMCDNorPCDN(i),
orElse: () => backupUrls.first,
)
: null;
bandWidth = json['bandWidth'];
bandWidth = json['bandWidth'] ?? json['bandwidth'];
mimeType = json['mime_type'];
codecs = json['codecs'];
width = json['width'];
height = json['height'];
frameRate = json['frameRate'];
frameRate = json['frameRate'] ?? json['frame_rate'];
sar = json['sar'];
startWithSap = json['startWithSap'];
segmentBase = json['segmentBase'];
startWithSap = json['startWithSap'] ?? json['start_with_sap'];
segmentBase = json['segmentBase'] ?? json['segment_base'];
codecid = json['codecid'];
}
}