You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
45 lines
1.2 KiB
45 lines
1.2 KiB
import 'package:dating_touchme_app/model/home/marriage_data.dart';
|
|
import 'package:dating_touchme_app/network/home_api.dart';
|
|
import 'package:flutter/material.dart';
|
|
import 'package:get/get.dart';
|
|
|
|
class RealHomeController extends GetxController {
|
|
|
|
late final HomeApi _homeApi;
|
|
// 推荐列表数据
|
|
final recommendFeed = <MarriageData>[].obs;
|
|
|
|
@override
|
|
void onInit() {
|
|
super.onInit();
|
|
// 从全局依赖中获取HomeApi
|
|
_homeApi = Get.find<HomeApi>();
|
|
getListData();
|
|
}
|
|
|
|
getListData() async {
|
|
try {
|
|
var response = await _homeApi.getMarriageList(
|
|
pageNum: 1,
|
|
pageSize: 100,
|
|
type: 0,
|
|
);
|
|
if (response.data.isSuccess) {
|
|
final allRecords = response.data.data!.records
|
|
.map((item) => MarriageData.fromJson(item as Map<String, dynamic>))
|
|
.toList();
|
|
|
|
// 过滤掉直播类型的项
|
|
final records = allRecords!.where((item) => !item.isLive).toList();
|
|
recommendFeed.addAll(records);
|
|
update();
|
|
} else {
|
|
// 响应失败,抛出异常
|
|
throw Exception(response.data.message);
|
|
}
|
|
} catch(e) {
|
|
// 向上抛出异常,让调用方处理
|
|
rethrow;
|
|
}
|
|
}
|
|
}
|