logout method

  1. @override
Future<void> logout()
override

Implementation

@override
Future<void> logout() async {
  try {
    final result = await _pluginChat.logout().toDart;
    final rawData = result.dartify();
    final data = <String, dynamic>{};
    if (rawData is Map<Object?, Object?>) {
      rawData.forEach((key, value) {
        data[key.toString()] = value;
      });
      ImState.setChatLoginInfo(null);
    }

    if (ImState.callInstance.value != null) {
      if (kDebugMode) {
        print('销毁 IM Call >>>');
      }
      await _pluginCall.destroy().toDart;
      ImState.callInstance.value = null;
    }
  } catch (e) {
    throw Exception('登出失败: $e');
  }
}