| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758 |
- import 'package:application/logger.dart';
- import 'package:application/service/api.dart';
- import 'package:application/service/map_watch.dart';
- import 'package:get/get.dart';
- import '../home_controller.dart';
- export 'package:application/service/map_watch.dart';
- class UserInfo{
- var data = ToHisUserBasic();
- final isExpand = false.obs;
- }
- typedef DetailSimple = ToHisUserInfo;
- class DataDetailController extends GetxController{
- HomeController get _home => Get.find();
- MapWatchService? get mapWatch => MapWatchService.instance;
- final userMap = <int, UserInfo>{}.obs;
- Iterable<UserInfo> get userList => userMap.values;
- final selectedDetail = DetailSimple().obs;
- final selectedUserId = (-9).obs;
- @override
- void onInit() {
- super.onInit();
- workFlush();
- }
- Future<void> workFlush()async{
- while(!isClosed){
- await flushData();
- await 1.seconds.delay();
- }
- }
- Future<void> flushData()async {
- final map = mapWatch;
- if(map==null){
- return;
- }
- try {
- final r = await ApiService.to.stub.toHistoryUserListQuery(IdRequest(id: map.id));
- for(final one in r.list){
- final updated = userMap[one.oId]?? UserInfo();
- updated.data = one;
- userMap[one.oId] = updated;
- }
- } catch (e) {
- error(e);
- }
- }
- }
|