57 lines
1.1 KiB
Dart
57 lines
1.1 KiB
Dart
![]() |
import 'package:get/get.dart';
|
||
|
import 'package:loopin/pages/my/merchant/balance/model.dart';
|
||
|
|
||
|
class BalanceController extends GetxController {
|
||
|
/// 钱包余额
|
||
|
final balance = 0.0.obs;
|
||
|
|
||
|
final data = <AccountBill>[].obs;
|
||
|
|
||
|
int currentPage = 1;
|
||
|
|
||
|
final isLoading = false.obs;
|
||
|
|
||
|
/// 是否还有更多
|
||
|
var hasMore = true.obs;
|
||
|
|
||
|
@override
|
||
|
void onInit() {
|
||
|
super.onInit();
|
||
|
getData(reset: true);
|
||
|
}
|
||
|
|
||
|
/// 充值
|
||
|
void recharge(double amount) {
|
||
|
balance.value += amount;
|
||
|
// 同时加一条流水
|
||
|
}
|
||
|
|
||
|
/// 分页数据
|
||
|
Future<void> getData({bool reset = false}) async {
|
||
|
if (isLoading.value) return;
|
||
|
isLoading.value = true;
|
||
|
|
||
|
if (reset) {
|
||
|
currentPage = 1;
|
||
|
data.clear();
|
||
|
hasMore.value = true;
|
||
|
}
|
||
|
|
||
|
await Future.delayed(const Duration(seconds: 3)); // 模拟网络延迟
|
||
|
|
||
|
List<AccountBill> newData = List.generate(
|
||
|
10,
|
||
|
(index) => AccountBill(id: index),
|
||
|
);
|
||
|
|
||
|
data.addAll(newData);
|
||
|
currentPage++;
|
||
|
|
||
|
if (currentPage > 3) {
|
||
|
hasMore.value = false;
|
||
|
}
|
||
|
|
||
|
isLoading.value = false;
|
||
|
}
|
||
|
}
|