import 'dart:async'; import 'package:dating_touchme_app/network/network_service.dart'; import 'package:flutter/material.dart'; import 'package:flutter_smart_dialog/flutter_smart_dialog.dart'; import 'package:get/get.dart'; import '../../model/discover/matchmaker_live_data.dart'; class SearchPageController extends GetxController { SearchPageController({NetworkService? networkService}) : _networkService = networkService ?? Get.find(); final NetworkService _networkService; final FocusNode blankFocusNode = FocusNode(); final searchController = TextEditingController().obs; final name = "".obs; final matchmakerList = [].obs; Timer? _debounce; void onTextChanged(String text) { // 取消上一次的计时 _debounce?.cancel(); _debounce = Timer(const Duration(milliseconds: 500), () { name.value = text; searchData(); }); } searchData() async { if(name.value.trim() == "" || name.value.trim().isEmpty){ return; } try{ final response = await _networkService.rtcApi.userPageLiveMatchmaker( searchKey: name.value ); if (response.data.isSuccess && response.data.data != null) { final data = response.data.data?.records ?? []; matchmakerList.value = data.toList(); } else { // 响应失败,抛出异常 throw Exception(response.data.message ?? '获取数据失败'); } } catch(e) { print('红娘搜索失败: $e'); SmartDialog.showToast('红娘搜索失败'); rethrow; } } }