import 'dart:convert'; 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/user_help_center_page.dart'; import 'package:easy_refresh/easy_refresh.dart'; import 'package:flutter/material.dart'; import 'package:flutter_smart_dialog/flutter_smart_dialog.dart'; import 'package:get/get.dart'; import '../../pages/setting/setting_page.dart'; import '../../model/home/post_data.dart'; class MineController extends GetxController with GetTickerProviderStateMixin { final blockList = [ // {"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 = [ {"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; late final TabController tabController; late final EasyRefreshController listRefreshController; @override void onInit() { super.onInit(); tabController = TabController(length: 2, vsync: this); listRefreshController = EasyRefreshController( controlFinishRefresh: true, controlFinishLoad: true, ); userData.value = GlobalData().userData; userId.value = GlobalData().userId; _userApi = Get.find(); getPostList(); getTestData(); } final resultData = {}.obs; final resultTitle = "".obs; getTestData() async { try { final response = await _userApi.userGetOwnPersonalityReport( personalityTestId: 1, userId: userId.value ?? "" ); if (response.data.isSuccess && response.data.data != null) { final data = response.data.data; print(data); resultTitle.value = data["type"]; resultData.value = jsonDecode(data["report"])["report"]; print(resultTitle.value); print(resultData.value); } else { // 响应失败,设置错误信息 final errorMsg = response.data.message ?? '获取数据失败'; SmartDialog.showToast(errorMsg); } } catch(e, stackTrace){ print('获取用户信息失败: $e'); print('堆栈跟踪: $stackTrace'); SmartDialog.showToast('获取用户测试结果失败,请稍后重试'); // 不再 rethrow,避免导致闪退 } } final page = 1.obs; final size = 10.obs; final postList = [].obs; getPostList() async { try{ final response = await _userApi.userPageAuthorPost( pageNum: page.value, pageSize: size.value, authorUserId: userId.value ?? "" ); if (response.data.isSuccess && response.data.data != null) { final data = response.data.data?.records ?? []; postList.addAll(data.toList()); if((data.length ?? 0) == size.value){ listRefreshController.finishLoad(IndicatorResult.success); } else { listRefreshController.finishLoad(IndicatorResult.noMore); } } else { // 响应失败,抛出异常 throw Exception(response.data.message ?? '获取数据失败'); } } catch(e) { print('活动列表获取失败: $e'); SmartDialog.showToast('活动列表获取失败'); rethrow; } } final tab = 0.obs; changeTab(int i){ tab.value = i; update(); } }