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.
 
 
 
 
 

107 lines
2.9 KiB

import 'package:dating_touchme_app/model/mine/rose_history_data.dart';
import 'package:dating_touchme_app/network/user_api.dart';
import 'package:easy_refresh/easy_refresh.dart';
import 'package:flutter_smart_dialog/flutter_smart_dialog.dart';
import 'package:get/get.dart';
import 'package:dating_touchme_app/model/mine/user_prop_data.dart' as up;
class RoseHistoryController extends GetxController {
late UserApi _userApi;
List<String> friendNavList = ["赠送记录", "收支详情", "聊天券记录"].obs;
final friendNavActive = 0.obs;
final roseHistoryList = <Records>[].obs;
final propList = <up.Records>[].obs;
final page = 1.obs;
final size = 10.obs;
late final EasyRefreshController listRefreshController;
@override
void onInit() {
super.onInit();
listRefreshController = EasyRefreshController(
controlFinishRefresh: true,
controlFinishLoad: true,
);
_userApi = Get.find<UserApi>();
getHistoryList();
}
changeNavTab(int i) async {
roseHistoryList.clear();
propList.clear();
friendNavActive.value = i;
page.value = 1;
if(i != 2){
getHistoryList();
} else {
getPropList();
}
}
getPropList() async {
try{
final response = await _userApi.userPageUserProp(
pageNum: page.value,
pageSize: size.value,
);
if (response.data.isSuccess && response.data.data != null) {
final data = response.data.data?.records ?? [];
propList.addAll(data.toList());
if((data.length ?? 0) == size.value){
listRefreshController.finishLoad(IndicatorResult.success);
} else {
listRefreshController.finishLoad(IndicatorResult.noMore);
}
} else {
// 响应失败,抛出异常
throw Exception(response.data.message ?? '获取数据失败');
}
} catch(e) {
print('玫瑰记录获取失败: $e');
SmartDialog.showToast('玫瑰记录获取失败');
rethrow;
}
}
getHistoryList() async {
try{
final response = await _userApi.pageVirtualAccountRecord(
pageNum: page.value,
pageSize: size.value,
tradeType: friendNavActive.value == 0 ? 202 : friendNavActive.value == 1 ? null : 201
);
if (response.data.isSuccess && response.data.data != null) {
final data = response.data.data?.records ?? [];
roseHistoryList.addAll(data.toList());
if((data.length ?? 0) == size.value){
listRefreshController.finishLoad(IndicatorResult.success);
} else {
listRefreshController.finishLoad(IndicatorResult.noMore);
}
} else {
// 响应失败,抛出异常
throw Exception(response.data.message ?? '获取数据失败');
}
} catch(e) {
print('玫瑰记录获取失败: $e');
SmartDialog.showToast('玫瑰记录获取失败');
rethrow;
}
}
}