feat(mobile-next): 工号查询防抖、开关接入,资料页不再把工号当手机号

Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: multica-agent <github@multica.ai>
This commit is contained in:
编码工程师
2026-08-20 03:51:27 +08:00
co-authored by Cursor multica-agent
parent 3b87812db8
commit 26622676ed
5 changed files with 33 additions and 36 deletions
@@ -1,3 +1,5 @@
import 'dart:async';
import 'package:flutter/material.dart';
import 'package:flutter_openim_sdk/flutter_openim_sdk.dart';
import 'package:get/get.dart';
@@ -18,6 +20,7 @@ class AddColleagueLogic extends GetxController {
final loadFailed = false.obs;
final _directory = DirectoryApi();
Timer? _lookupDebounce;
@override
void onReady() {
@@ -27,11 +30,18 @@ class AddColleagueLogic extends GetxController {
@override
void onClose() {
_lookupDebounce?.cancel();
staffCtrl.dispose();
msgCtrl.dispose();
super.onClose();
}
void onStaffChanged(String _) {
staffError.value = null;
_lookupDebounce?.cancel();
_lookupDebounce = Timer(const Duration(milliseconds: 300), lookupDirectory);
}
Future<void> reload() async {
loading.value = true;
loadFailed.value = false;
@@ -98,7 +108,7 @@ class AddColleaguePage extends StatelessWidget {
@override
Widget build(BuildContext context) {
final logic = Get.put(AddColleagueLogic());
final logic = Get.find<AddColleagueLogic>();
return Scaffold(
backgroundColor: AppColors.pageBg,
appBar: AppBar(
@@ -125,10 +135,7 @@ class AddColleaguePage extends StatelessWidget {
height: 48,
error: logic.staffError.value,
enabled: !logic.sending.value,
onChanged: (_) {
logic.staffError.value = null;
logic.lookupDirectory();
},
onChanged: logic.onStaffChanged,
),
Obx(() {
final hint = logic.directoryHint.value;