feat: dlna

Signed-off-by: bggRGjQaUbCoE <githubaccount56556@proton.me>
This commit is contained in:
bggRGjQaUbCoE
2025-11-12 19:02:40 +08:00
parent 0acd9ca767
commit 37b1228552
11 changed files with 257 additions and 41 deletions

View File

@@ -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']);
}
}
}