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.
 
 
 
 
 

76 lines
3.1 KiB

import 'package:dating_touchme_app/controller/global.dart';
import 'package:dating_touchme_app/generated/assets.dart';
import 'package:dating_touchme_app/model/mine/user_count_data.dart';
import 'package:dating_touchme_app/network/user_api.dart';
import 'package:dating_touchme_app/pages/mine/auth_center_page.dart';
import 'package:dating_touchme_app/pages/mine/matchmaker_update_page.dart';
import 'package:dating_touchme_app/pages/mine/my_wallet_page.dart';
import 'package:dating_touchme_app/pages/mine/rose_page.dart';
import 'package:dating_touchme_app/pages/mine/user_help_center_page.dart';
import 'package:flutter_smart_dialog/flutter_smart_dialog.dart';
import 'package:get/get.dart';
import '../../pages/setting/match_spread_page.dart';
import '../../pages/setting/setting_page.dart';
class MineController extends GetxController {
final infoList = <Map>[
{"label": "好友", "num": 0, "type": 1},
{"label": "好友申请", "num": 0, "type": 2},
{"label": "访客", "num": 0, "type": 3},
].obs;
final blockList = <Map>[
{"icon": Assets.imagesRose, "title": "我的玫瑰", "subTitle": "新人限时福利", "path": () => RosePage()},
{"icon": Assets.imagesWallet, "title": "我的钱包", "subTitle": "提现无门槛", "path": () => MyWalletPage()},
{"icon": Assets.imagesShop, "title": "商城中心", "subTitle": "不定期更新商品", "path": () => null},
{"icon": Assets.imagesCert, "title": "认证中心", "subTitle": GlobalData().userData?.identityCard == null || GlobalData().userData?.profilePhoto == null ? "未认证" : "已认证", "path": () => AuthCenterPage()},
{"icon": Assets.imagesMatchmaker, "title": "红娘等级", "subTitle": "实习红娘", "path": () => MatchSpreadPage()},
].obs;
final settingList = <Map>[
{"icon": Assets.imagesSetting, "title": "设置", "path": () => SettingPage()},
{"icon": Assets.imagesCustomer, "title": "联系客服", "path": () => Null},
{"icon": Assets.imagesMail, "title": "意见反馈", "path": () => UserHelpCenterPage()},
].obs;
final userData = GlobalData().userData.obs;
final userId = GlobalData().userId.obs;
final countData = UserCountData(friendNum: 0, friendApplyNum: 0, visitorNum:0).obs;
late UserApi _userApi;
@override
void onInit() {
super.onInit();
userData.value = GlobalData().userData;
userId.value = GlobalData().userId;
_userApi = Get.find<UserApi>();
getUserCount();
}
getUserCount() async {
try {
final response = await _userApi.userGetDongwoOwnUserCount();
if (response.data.isSuccess && response.data.data != null) {
countData.value = response.data.data ?? UserCountData(friendNum: 0, friendApplyNum: 0, visitorNum:0);
infoList[0]["num"] = countData.value.friendNum;
infoList[1]["num"] = countData.value.friendApplyNum;
infoList[2]["num"] = countData.value.visitorNum;
} else {
// 响应失败,抛出异常
throw Exception(response.data.message ?? '获取数据失败');
}
} catch(e){
print('用户数据获取失败: $e');
SmartDialog.showToast('用户数据获取失败');
rethrow;
}
}
}