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
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;
|
|
|
|
}
|
|
}
|
|
|
|
}
|