mirror of
https://github.com/HChaZZY/PiliPlus.git
synced 2025-12-06 09:13:48 +08:00
feat: dyn topic
Signed-off-by: bggRGjQaUbCoE <githubaccount56556@proton.me>
This commit is contained in:
@@ -822,4 +822,9 @@ class Api {
|
||||
|
||||
static const String liveSearch =
|
||||
'${HttpString.liveBaseUrl}/xlive/app-interface/v2/search_live';
|
||||
|
||||
static const String topicTop =
|
||||
'${HttpString.appBaseUrl}/x/topic/web/details/top';
|
||||
|
||||
static const String topicFeed = '/x/polymer/web-dynamic/v1/feed/topic';
|
||||
}
|
||||
|
||||
@@ -2,6 +2,8 @@ import 'package:PiliPlus/http/api.dart';
|
||||
import 'package:PiliPlus/http/constants.dart';
|
||||
import 'package:PiliPlus/http/init.dart';
|
||||
import 'package:PiliPlus/http/loading_state.dart';
|
||||
import 'package:PiliPlus/models/dynamics/dyn_topic_feed/topic_card_list.dart';
|
||||
import 'package:PiliPlus/models/dynamics/dyn_topic_top/top_details.dart';
|
||||
import 'package:PiliPlus/models/dynamics/result.dart';
|
||||
import 'package:PiliPlus/models/dynamics/up.dart';
|
||||
import 'package:PiliPlus/models/dynamics/vote_model.dart';
|
||||
@@ -256,4 +258,49 @@ class DynamicsHttp {
|
||||
? LoadingState.success(VoteInfo.fromJson(res.data['data']['vote_info']))
|
||||
: LoadingState.error(res.data['message']);
|
||||
}
|
||||
|
||||
static Future<LoadingState<TopDetails?>> topicTop({required topicId}) async {
|
||||
final res = await Request().get(
|
||||
Api.topicTop,
|
||||
queryParameters: {
|
||||
'topic_id': topicId,
|
||||
'source': 'Web',
|
||||
},
|
||||
);
|
||||
if (res.data['code'] == 0) {
|
||||
TopDetails? data = res.data['data']?['top_details'] == null
|
||||
? null
|
||||
: TopDetails.fromJson(res.data['data']['top_details']);
|
||||
return LoadingState.success(data);
|
||||
} else {
|
||||
return LoadingState.error(res.data['message']);
|
||||
}
|
||||
}
|
||||
|
||||
static Future<LoadingState<TopicCardList?>> topicFeed({
|
||||
required topicId,
|
||||
required String offset,
|
||||
required int sortBy,
|
||||
}) async {
|
||||
final res = await Request().get(
|
||||
Api.topicFeed,
|
||||
queryParameters: {
|
||||
'topic_id': topicId,
|
||||
'sort_by': sortBy,
|
||||
'offset': offset,
|
||||
'page_size': 20,
|
||||
'source': 'Web',
|
||||
// itemOpusStyle,listOnlyfans,opusBigCover,onlyfansVote,decorationCard
|
||||
'features': 'itemOpusStyle,listOnlyfans',
|
||||
},
|
||||
);
|
||||
if (res.data['code'] == 0) {
|
||||
TopicCardList? data = res.data['data']?['topic_card_list'] == null
|
||||
? null
|
||||
: TopicCardList.fromJson(res.data['data']['topic_card_list']);
|
||||
return LoadingState.success(data);
|
||||
} else {
|
||||
return LoadingState.error(res.data['message']);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user