113 lines
3.4 KiB
Dart
113 lines
3.4 KiB
Dart
|
|
import 'package:skywood/global/request/api_const.dart';
|
|
import 'package:skywood/global/request/app_request.dart';
|
|
import 'package:skywood/global/tool/sky_log.dart';
|
|
import 'package:skywood/utils/models/drama/skywood_category.dart';
|
|
import 'package:skywood/utils/models/drama/skywood_detail.dart';
|
|
import 'package:skywood/utils/models/drama/skywood_drama.dart';
|
|
import 'package:skywood/utils/models/drama/skywood_home.dart';
|
|
|
|
class PlayClient {
|
|
|
|
static Future<List<SkywoodHome>> getHomeData() {
|
|
return AppRequest.get(ApiStringPlay.getHomeModules).then((value) {
|
|
if (value.isSuccess) {
|
|
List? list = value.data['data']['list'];
|
|
List<SkywoodHome> homeList = [];
|
|
if (list != null) {
|
|
homeList = list.map((e) => SkywoodHome.fromJson(e)).toList();
|
|
}
|
|
return homeList;
|
|
}
|
|
return [];
|
|
});
|
|
}
|
|
|
|
static Future<List<SkywoodCategory>> getCategoriesList() {
|
|
return AppRequest.get(ApiStringPlay.getCategoriesList).then((value) {
|
|
// SkyLog.print('vvvvv: ${value.data}');
|
|
if (!value.isSuccess) return [];
|
|
|
|
Map<String, dynamic> data = value.data['data'];
|
|
List? list = data['list'];
|
|
|
|
List<SkywoodCategory> categoryList = [];
|
|
if (list != null) {
|
|
// id 28 不显示,删除
|
|
categoryList = list.map((e) => SkywoodCategory.fromJson(e)).toList();
|
|
categoryList.removeWhere((element) => element.id == 28);
|
|
categoryList.removeWhere((element) => element.name.length >= 10);
|
|
}
|
|
return categoryList;
|
|
});
|
|
}
|
|
|
|
// getSearchHots
|
|
static Future<List<SkywoodDrama>> getSearchHots() {
|
|
return AppRequest.get(ApiStringPlay.getSearchHots).then((value) {
|
|
if (value.isSuccess) {
|
|
SkyLog.print('getSearchHots: ${value.data}');
|
|
List list = parseDataForList(value.data);
|
|
return list.map((e) => SkywoodDrama.fromJson(e)).toList();
|
|
}
|
|
return [];
|
|
});
|
|
}
|
|
|
|
//getCollections
|
|
static Future<List> getCollections({
|
|
int page = 1, int pageSize = 10
|
|
}) {
|
|
Map<String, dynamic> params = _setPage(page: page, pageSize: pageSize);
|
|
return AppRequest.get(ApiStringPlay.getCollections, queryParameters: params).then((value) {
|
|
if (value.isSuccess) {
|
|
SkyLog.print('getCollections: ${value.data}');
|
|
|
|
}
|
|
return [];
|
|
});
|
|
}
|
|
|
|
// getHistory
|
|
static Future<List> getHistory({
|
|
int page = 1, int pageSize = 10
|
|
}) {
|
|
Map<String, dynamic> params = _setPage(page: page, pageSize: pageSize);
|
|
return AppRequest.get(ApiStringPlay.getHistories, queryParameters: params).then((value) {
|
|
if (value.isSuccess) {
|
|
SkyLog.print('getHistory: ${value.data}');
|
|
|
|
}
|
|
return [];
|
|
});
|
|
}
|
|
|
|
// getVideoDetail
|
|
static Future<SkywoodDetail?> getVideoDetail({
|
|
required int shortPlayId,
|
|
required int shortPlayVideoId,
|
|
}) {
|
|
Map<String, dynamic> params = {};
|
|
params['short_play_id'] = shortPlayId;
|
|
params['short_play_video_id'] = shortPlayVideoId;
|
|
return AppRequest.get(ApiStringPlay.getVideoDetail, queryParameters: params).then((value) {
|
|
if (value.isSuccess) {
|
|
SkyLog.print('getVideoDetail: ${value.data}');
|
|
}
|
|
return null;
|
|
});
|
|
}
|
|
|
|
static Map<String, dynamic> _setPage({int page = 1, int pageSize = 10}) {
|
|
return {
|
|
'current_page': page,
|
|
'page_size': pageSize,
|
|
};
|
|
}
|
|
|
|
static List parseDataForList(Map<String, dynamic> data) {
|
|
Map<String, dynamic> map = data['data'];
|
|
List? listData = map['list'];
|
|
return listData ?? [];
|
|
}
|
|
} |