初始化
This commit is contained in:
@@ -0,0 +1,45 @@
|
||||
//小说/视频推荐
|
||||
import 'package:hgdj/hj_utils/api_service/acg_service.dart';
|
||||
import 'package:hgdj/hj_utils/const.dart';
|
||||
import 'package:hgdj/tools_base/base_list_controller.dart';
|
||||
|
||||
import '../../hj_utils/api_service/common_service.dart';
|
||||
|
||||
class CartoonRecommendLogic extends ListBaseLogic<dynamic> {
|
||||
final String? mediaId; //acg 推荐的 tagId
|
||||
final MediaStyle mediaStyle; //推荐类型:Video(真人视频) / Cartoon(动漫) / Comics(漫画)
|
||||
final String? videoTagId; //视频(SP)推荐的 tagId,按当前视频 tag 拉同类
|
||||
|
||||
CartoonRecommendLogic(
|
||||
{this.mediaId, this.mediaStyle = MediaStyle.Comics, this.videoTagId});
|
||||
|
||||
@override
|
||||
void onReady() {
|
||||
super.onReady();
|
||||
loadData();
|
||||
}
|
||||
|
||||
//isRefresh 下拉刷新/加载更多;showLoading 切换时先清空显示 loading
|
||||
void loadData({bool isRefresh = true, bool showLoading = false}) {
|
||||
if (showLoading) {
|
||||
dataList = null;
|
||||
update();
|
||||
}
|
||||
fetchData(isRefresh: isRefresh, fetch: _fetch);
|
||||
}
|
||||
|
||||
//按类型分流:视频走 getRecommendList,漫画/动漫走 comicsRecommendList
|
||||
Future<(List<dynamic>?, bool)> _fetch(int page) async {
|
||||
if (mediaStyle == MediaStyle.Video) {
|
||||
final resp = await CommonService.getRecommendList(
|
||||
pageNumber: page,
|
||||
pageSize: 12,
|
||||
tagId: videoTagId,
|
||||
newsType: mediaStyle.rankParam);
|
||||
return (resp?.videos, resp?.hasNext == true);
|
||||
}
|
||||
final model = await ACGService.comicsRecommendList(page, 12,
|
||||
tagId: mediaId, mediaType: mediaStyle.rankParam);
|
||||
return (model?.list, model?.hasNext == true);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user