diff --git a/lib/controller/mine/deactivate_controller.dart b/lib/controller/mine/deactivate_controller.dart index e5b3142..eb19848 100644 --- a/lib/controller/mine/deactivate_controller.dart +++ b/lib/controller/mine/deactivate_controller.dart @@ -13,7 +13,9 @@ class DeactivateController extends GetxController { void logout() async { // 先退出 IM 登录 - await IMManager.instance.logout(); + if(IMManager.instance.isInitialized){ + await IMManager.instance.logout(); + } // 清除会话列表和用户信息缓存 if (Get.isRegistered()) { final conversationController = Get.find(); diff --git a/lib/controller/setting/setting_controller.dart b/lib/controller/setting/setting_controller.dart index bff52f6..58b5316 100644 --- a/lib/controller/setting/setting_controller.dart +++ b/lib/controller/setting/setting_controller.dart @@ -49,7 +49,9 @@ class SettingController extends GetxController { void logout() async { // 先退出 IM 登录 - await IMManager.instance.logout(); + if(IMManager.instance.isInitialized){ + await IMManager.instance.logout(); + } // 清除会话列表和用户信息缓存 if (Get.isRegistered()) { final conversationController = Get.find(); diff --git a/lib/network/network_config.dart b/lib/network/network_config.dart index f88cfa3..a86d420 100644 --- a/lib/network/network_config.dart +++ b/lib/network/network_config.dart @@ -163,7 +163,9 @@ class ResponseInterceptor extends Interceptor { // 处理token过期逻辑,如清除本地数据、跳转登录页等 // 这里可以使用Get.offAllNamed('/login')等方式跳转 // 先退出 IM 登录 - await IMManager.instance.logout(); + if(IMManager.instance.isInitialized){ + await IMManager.instance.logout(); + } // 清除会话列表和用户信息缓存 if (Get.isRegistered()) { final conversationController = Get.find();