feat: 首页,播放页,搜索页,收藏UI

This commit is contained in:
chengsiwen committed 2026-06-29 18:22:02 +08:00
1 parent 197c3e9b88
commit e59ac2177b
19 files changed
+475 -81

No files matched your search

+73 -1
View File
@@ -3,6 +3,8 @@ 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 {
@@ -23,7 +25,7 @@ class PlayClient {
static Future<List<SkywoodCategory>> getCategoriesList() {
return AppRequest.get(ApiStringPlay.getCategoriesList).then((value) {
SkyLog.print('vvvvv: ${value.data}');
// SkyLog.print('vvvvv: ${value.data}');
if (!value.isSuccess) return [];
Map<String, dynamic> data = value.data['data'];
@@ -34,8 +36,78 @@ class PlayClient {
// 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 ?? [];
}
}