mirror of
https://github.com/HChaZZY/PiliPlus.git
synced 2025-12-06 09:13:48 +08:00
feat: new pgc rank
Signed-off-by: bggRGjQaUbCoE <githubaccount56556@proton.me>
This commit is contained in:
@@ -691,6 +691,10 @@ class Api {
|
||||
/// 排行榜
|
||||
static const String getRankApi = "/x/web-interface/ranking/v2";
|
||||
|
||||
static const String pgcRank = "/pgc/web/rank/list";
|
||||
|
||||
static const String pgcSeasonRank = "/pgc/season/rank/web/list";
|
||||
|
||||
/// 取消订阅-合集
|
||||
static const String unfavSeason = '/x/v3/fav/season/unfav';
|
||||
|
||||
|
||||
@@ -3,6 +3,7 @@ import 'dart:developer';
|
||||
import 'package:PiliPlus/grpc/app/card/v1/card.pb.dart' as card;
|
||||
import 'package:PiliPlus/grpc/grpc_repo.dart';
|
||||
import 'package:PiliPlus/http/loading_state.dart';
|
||||
import 'package:PiliPlus/models/bangumi/pgc_rank/pgc_rank_item_model.dart';
|
||||
import 'package:PiliPlus/models/member/article.dart';
|
||||
import 'package:PiliPlus/utils/extension.dart';
|
||||
import 'package:dio/dio.dart';
|
||||
@@ -966,8 +967,13 @@ class VideoHttp {
|
||||
// 视频排行
|
||||
static Future<LoadingState<List<HotVideoItemModel>>> getRankVideoList(
|
||||
int rid) async {
|
||||
var rankApi = "${Api.getRankApi}?rid=$rid&type=all";
|
||||
var res = await Request().get(rankApi);
|
||||
var res = await Request().get(
|
||||
Api.getRankApi,
|
||||
queryParameters: await WbiSign.makSign({
|
||||
'rid': rid,
|
||||
'type': 'all',
|
||||
}),
|
||||
);
|
||||
if (res.data['code'] == 0) {
|
||||
List<HotVideoItemModel> list = <HotVideoItemModel>[];
|
||||
Set<int> blackMids = GStorage.blackMids;
|
||||
@@ -990,6 +996,44 @@ class VideoHttp {
|
||||
}
|
||||
}
|
||||
|
||||
// pgc 排行
|
||||
static Future<LoadingState> pgcRankList(
|
||||
{int day = 3, required int seasonType}) async {
|
||||
var res = await Request().get(
|
||||
Api.pgcRank,
|
||||
queryParameters: await WbiSign.makSign({
|
||||
'day': day,
|
||||
'season_type': seasonType,
|
||||
}),
|
||||
);
|
||||
if (res.data['code'] == 0) {
|
||||
return LoadingState.success((res.data['result']?['list'] as List?)
|
||||
?.map((e) => PgcRankItemModel.fromJson(e))
|
||||
.toList());
|
||||
} else {
|
||||
return LoadingState.error(res.data['message']);
|
||||
}
|
||||
}
|
||||
|
||||
// pgc season 排行
|
||||
static Future<LoadingState> pgcSeasonRankList(
|
||||
{int day = 3, required int seasonType}) async {
|
||||
var res = await Request().get(
|
||||
Api.pgcSeasonRank,
|
||||
queryParameters: await WbiSign.makSign({
|
||||
'day': day,
|
||||
'season_type': seasonType,
|
||||
}),
|
||||
);
|
||||
if (res.data['code'] == 0) {
|
||||
return LoadingState.success((res.data['data']?['list'] as List?)
|
||||
?.map((e) => PgcRankItemModel.fromJson(e))
|
||||
.toList());
|
||||
} else {
|
||||
return LoadingState.error(res.data['message']);
|
||||
}
|
||||
}
|
||||
|
||||
static Future<LoadingState> getVideoNoteList({
|
||||
dynamic oid,
|
||||
dynamic uperMid,
|
||||
|
||||
Reference in New Issue
Block a user