完成优化登录的优化

完成切换和切回APP数据的及时响应
完成服务下发退出账号的命令
This commit is contained in:
2026-03-09 13:21:18 +08:00
parent 0fd5d620b5
commit 9f3a7e578a
5 changed files with 159 additions and 74 deletions

View File

@@ -14,6 +14,7 @@ import '../../../../core/network/tcp/tcp_client.dart';
import '../../../../core/storage/user_storage.dart';
import '../../../devices/domain/usecases/get_user_device_usecase.dart';
import '../../../devices/domain/usecases/switch_device_usecase.dart';
import '../../../devices/presentation/bloc/devices_cubit.dart';
import '../../data/datasources/auth_tcp_datasource.dart';
import '../../data/datasources/impl/auth_tcp_datasource_impl.dart';
import 'auth_state.dart';
@@ -47,12 +48,9 @@ class AuthCubit extends Cubit<AuthState> {
data: {'user': user, 'data': user}
);
if (user != null) {
// print("App 启动时检查本地缓存user != null) ");
// 1. print("App 启动时检查本地缓存user != null) ");
// print("App 启动时检查本地缓存 tcp.connect) ");
tcp.connect(host: TCPConsts.TCP_IP, port: TCPConsts.TCP_PORT);
tcp.connect(host: TCPConsts.TCP_IP, port: TCPConsts.TCP_PORT);
// await _authTcpDatasource.sendAuthPacket();//包括发送认证包和获取列表和切换函数
tcp.startHeartbeat(interval: const Duration(seconds: 4));
tcp.startHeartbeat(interval: const Duration(seconds: 4));
// 2. 同步全局 App 状态
appCubit.setAuth(user);
// 3. 进入已登录状态
@@ -67,9 +65,9 @@ class AuthCubit extends Cubit<AuthState> {
Future<void> loginSuccess(UserEntity user) async {
await storage.saveUser(user);
//await tcp.connect(host: TCPConsts.TCP_IP, port: TCPConsts.TCP_PORT);
// await _authTcpDatasource.sendAuthPacket(); //包括发送认证包和获取列表和切换函数
// await _authTcpDatasource.sendAuthPacket(); //包括发送认证包和获取列表和切换函数
//tcp.startHeartbeat(interval: const Duration(seconds: 4)); //启动心跳
// appCubit.setAuth(user);
appCubit.setAuth(user);
emit(AuthAuthenticated(user));
}
@@ -90,7 +88,11 @@ class AuthCubit extends Cubit<AuthState> {
_kickOutSub = dispatcher.onJsonMessage(0x12).listen((json) {
// 如果后端发来指令确认需要退出
// print('>>> [AUTH] 收到 0x12: $json'); //
logout();
// logout();
final respond = json['respond'] ?? '';
if (respond == 'have_logged_in') {
logout(); // ✅ 只有特定消息才退出
}
});
}