81 lines
2.1 KiB
Dart
81 lines
2.1 KiB
Dart
import 'package:hgdj/hj_model/list_base_model.dart';
|
|
import 'package:get/get.dart';
|
|
import 'package:hgdj/hj_page/live/live_service.dart';
|
|
import 'package:pull_to_refresh/pull_to_refresh.dart';
|
|
|
|
import '../mine/mine_vip/mine_charge_vip_page.dart';
|
|
import 'live_main_logic.dart';
|
|
import 'live_model.dart';
|
|
|
|
//直播亚模块
|
|
class LiveSubLogic extends GetxController {
|
|
LiveModule? tagData;
|
|
int currentPage = 1;
|
|
bool loading = true;
|
|
List<LiveAnchor> liveList = []; //
|
|
RefreshController? controller;
|
|
bool get isRecom => tagData?.id == '-1'; //是否是推荐模块
|
|
LiveMainLogic get mainLogic => Get.find<LiveMainLogic>();
|
|
LiveMainModel? liveMainModel;
|
|
|
|
LiveSubLogic({this.tagData});
|
|
|
|
@override
|
|
onReady() {
|
|
super.onReady();
|
|
//默认数据
|
|
liveMainModel = mainLogic.liveMainModel;
|
|
loadData();
|
|
}
|
|
|
|
//获取专题数据
|
|
loadData({int pageNum = 1, bool showLoading = false}) async {
|
|
if (isRecom) {
|
|
loadRecommendData();
|
|
update();
|
|
} else {
|
|
loadCountryAnchor(pageNum: pageNum);
|
|
}
|
|
}
|
|
|
|
//推荐直播列表
|
|
loadRecommendData() async {
|
|
final result = await LiveService.getLiveModuleList();
|
|
if (result != null) {
|
|
liveMainModel = result;
|
|
}
|
|
controller?.refreshCompleted();
|
|
update();
|
|
}
|
|
|
|
//tag直播列表
|
|
loadCountryAnchor({int pageNum = 1, bool showLoading = false}) async {
|
|
ListBaseModel<LiveAnchor>? liveMainModels =
|
|
await LiveService.getLiveAnchorList(
|
|
id: tagData?.id ?? '',
|
|
pageNumber: pageNum,
|
|
);
|
|
loading = false;
|
|
if (liveMainModels != null) {
|
|
currentPage = pageNum;
|
|
if (currentPage == 1) liveList.clear();
|
|
if (liveMainModels.list != null &&
|
|
liveMainModels.list?.isNotEmpty == true) {
|
|
liveList.addAll(liveMainModels.list ?? []);
|
|
}
|
|
}
|
|
update();
|
|
liveMainModels?.hasNext == true
|
|
? controller?.loadComplete()
|
|
: controller?.loadNoData();
|
|
controller?.refreshCompleted();
|
|
}
|
|
|
|
loadMoreData() => loadData(pageNum: currentPage + 1);
|
|
|
|
//跳转充值
|
|
onChargeAction() {
|
|
Get.to(MineChargeVipPage(), preventDuplicates: false);
|
|
}
|
|
}
|