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> getHomeData() { return AppRequest.get(ApiStringPlay.getHomeModules).then((value) { if (value.isSuccess) { List? list = value.data['data']['list']; List homeList = []; if (list != null) { homeList = list.map((e) => SkywoodHome.fromJson(e)).toList(); } return homeList; } return []; }); } static Future> getCategoriesList() { return AppRequest.get(ApiStringPlay.getCategoriesList).then((value) { // SkyLog.print('vvvvv: ${value.data}'); if (!value.isSuccess) return []; Map data = value.data['data']; List? list = data['list']; List 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> 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 getCollections({ int page = 1, int pageSize = 10 }) { Map 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 getHistory({ int page = 1, int pageSize = 10 }) { Map 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 getVideoDetail({ required int shortPlayId, required int shortPlayVideoId, }) { Map 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 _setPage({int page = 1, int pageSize = 10}) { return { 'current_page': page, 'page_size': pageSize, }; } static List parseDataForList(Map data) { Map map = data['data']; List? listData = map['list']; return listData ?? []; } }