mirror of
https://github.com/bggRGjQaUbCoE/PiliPlus.git
synced 2026-06-01 00:28:18 +08:00
@@ -24,6 +24,8 @@ class Api {
|
||||
|
||||
static const String pugvUrl = '/pugv/player/web/playurl';
|
||||
|
||||
static const String tvPlayUrl = '/x/tv/playurl';
|
||||
|
||||
// 字幕
|
||||
// aid, cid
|
||||
static const String playInfo = '/x/player/wbi/v2';
|
||||
|
||||
@@ -204,11 +204,7 @@ abstract final class LiveHttp {
|
||||
'statistics': Constants.statisticsApp,
|
||||
'ts': DateTime.now().millisecondsSinceEpoch ~/ 1000,
|
||||
};
|
||||
AppSign.appSign(
|
||||
params,
|
||||
Constants.appKey,
|
||||
Constants.appSec,
|
||||
);
|
||||
AppSign.appSign(params);
|
||||
var res = await Request().get(
|
||||
Api.liveFeedIndex,
|
||||
queryParameters: params,
|
||||
@@ -290,11 +286,7 @@ abstract final class LiveHttp {
|
||||
'statistics': Constants.statisticsApp,
|
||||
'ts': DateTime.now().millisecondsSinceEpoch ~/ 1000,
|
||||
};
|
||||
AppSign.appSign(
|
||||
params,
|
||||
Constants.appKey,
|
||||
Constants.appSec,
|
||||
);
|
||||
AppSign.appSign(params);
|
||||
var res = await Request().get(
|
||||
Api.liveSecondList,
|
||||
queryParameters: params,
|
||||
@@ -340,11 +332,7 @@ abstract final class LiveHttp {
|
||||
'statistics': Constants.statisticsApp,
|
||||
'ts': DateTime.now().millisecondsSinceEpoch ~/ 1000,
|
||||
};
|
||||
AppSign.appSign(
|
||||
params,
|
||||
Constants.appKey,
|
||||
Constants.appSec,
|
||||
);
|
||||
AppSign.appSign(params);
|
||||
var res = await Request().get(
|
||||
Api.liveAreaList,
|
||||
queryParameters: params,
|
||||
@@ -377,11 +365,7 @@ abstract final class LiveHttp {
|
||||
'statistics': Constants.statisticsApp,
|
||||
'ts': DateTime.now().millisecondsSinceEpoch ~/ 1000,
|
||||
};
|
||||
AppSign.appSign(
|
||||
params,
|
||||
Constants.appKey,
|
||||
Constants.appSec,
|
||||
);
|
||||
AppSign.appSign(params);
|
||||
var res = await Request().get(
|
||||
Api.getLiveFavTag,
|
||||
queryParameters: params,
|
||||
@@ -419,11 +403,7 @@ abstract final class LiveHttp {
|
||||
'statistics': Constants.statisticsApp,
|
||||
'ts': DateTime.now().millisecondsSinceEpoch ~/ 1000,
|
||||
};
|
||||
AppSign.appSign(
|
||||
data,
|
||||
Constants.appKey,
|
||||
Constants.appSec,
|
||||
);
|
||||
AppSign.appSign(data);
|
||||
var res = await Request().post(
|
||||
Api.setLiveFavTag,
|
||||
data: data,
|
||||
@@ -459,11 +439,7 @@ abstract final class LiveHttp {
|
||||
'statistics': Constants.statisticsApp,
|
||||
'ts': DateTime.now().millisecondsSinceEpoch ~/ 1000,
|
||||
};
|
||||
AppSign.appSign(
|
||||
params,
|
||||
Constants.appKey,
|
||||
Constants.appSec,
|
||||
);
|
||||
AppSign.appSign(params);
|
||||
var res = await Request().get(
|
||||
Api.liveRoomAreaList,
|
||||
queryParameters: params,
|
||||
@@ -502,11 +478,7 @@ abstract final class LiveHttp {
|
||||
'ts': DateTime.now().millisecondsSinceEpoch ~/ 1000,
|
||||
'type': type.name,
|
||||
};
|
||||
AppSign.appSign(
|
||||
params,
|
||||
Constants.appKey,
|
||||
Constants.appSec,
|
||||
);
|
||||
AppSign.appSign(params);
|
||||
var res = await Request().get(
|
||||
Api.liveSearch,
|
||||
queryParameters: params,
|
||||
|
||||
@@ -26,6 +26,7 @@ import 'package:PiliPlus/models_new/video/video_note_list/data.dart';
|
||||
import 'package:PiliPlus/models_new/video/video_play_info/data.dart';
|
||||
import 'package:PiliPlus/models_new/video/video_relation/data.dart';
|
||||
import 'package:PiliPlus/utils/accounts.dart';
|
||||
import 'package:PiliPlus/utils/app_sign.dart';
|
||||
import 'package:PiliPlus/utils/extension.dart';
|
||||
import 'package:PiliPlus/utils/global_data.dart';
|
||||
import 'package:PiliPlus/utils/id_utils.dart';
|
||||
@@ -1060,4 +1061,39 @@ class VideoHttp {
|
||||
return Error(res.data['message']);
|
||||
}
|
||||
}
|
||||
|
||||
static Future<LoadingState<PlayUrlModel>> tvPlayUrl({
|
||||
required int cid,
|
||||
required int objectId, // aid, epid
|
||||
required int playurlType, // ugc 1, pgc 2
|
||||
int? qn,
|
||||
}) async {
|
||||
final accessKey = Accounts.accountMode[AccountType.video.index].accessKey;
|
||||
final params = {
|
||||
'access_key': ?accessKey,
|
||||
'actionKey': 'appkey',
|
||||
'appkey': Constants.appKey,
|
||||
'cid': cid,
|
||||
'fourk': 1,
|
||||
'is_proj': 1,
|
||||
'mobile_access_key': ?accessKey,
|
||||
'object_id': objectId,
|
||||
'mobi_app': 'android',
|
||||
'platform': 'android',
|
||||
'playurl_type': playurlType,
|
||||
'protocol': 0,
|
||||
'qn': qn ?? 80,
|
||||
'ts': DateTime.now().millisecondsSinceEpoch ~/ 1000,
|
||||
};
|
||||
AppSign.appSign(params);
|
||||
final res = await Request().get(
|
||||
Api.tvPlayUrl,
|
||||
queryParameters: params,
|
||||
);
|
||||
if (res.data['code'] == 0) {
|
||||
return Success(PlayUrlModel.fromJson(res.data['data']));
|
||||
} else {
|
||||
return Error(res.data['message']);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user