Files
pilipala/lib/pages/member_dynamics/controller.dart
2024-10-31 00:10:25 +08:00

52 lines
1.3 KiB
Dart

import 'package:flutter/material.dart';
import 'package:get/get.dart';
import 'package:pilipala/http/member.dart';
import 'package:pilipala/models/dynamics/result.dart';
import 'package:pilipala/utils/global_data_cache.dart';
class MemberDynamicsController extends GetxController {
final ScrollController scrollController = ScrollController();
late int mid;
String offset = '';
int count = 0;
bool hasMore = true;
RxList<DynamicItemModel> dynamicsList = <DynamicItemModel>[].obs;
late int ownerMid;
RxBool isOwner = false.obs;
@override
void onInit() {
super.onInit();
mid = int.parse(Get.parameters['mid']!);
ownerMid = GlobalDataCache().userInfo != null
? GlobalDataCache().userInfo!.mid!
: -1;
isOwner.value = mid == -1 || mid == ownerMid;
}
Future getMemberDynamic(type) async {
if (type == 'onRefresh') {
offset = '';
dynamicsList.clear();
}
if (offset == '-1') {
return;
}
var res = await MemberHttp.memberDynamic(
offset: offset,
mid: mid,
);
if (res['status']) {
dynamicsList.addAll(res['data'].items);
offset = res['data'].offset != '' ? res['data'].offset : '-1';
hasMore = res['data'].hasMore;
}
return res;
}
// 上拉加载
Future onLoad() async {
getMemberDynamic('onLoad');
}
}