diff --git a/lib/manager/channel_manager.dart b/lib/manager/channel_manager.dart index 03f0efa..920d46a 100644 --- a/lib/manager/channel_manager.dart +++ b/lib/manager/channel_manager.dart @@ -4,6 +4,11 @@ import '../db/channel.dart'; import '../entity/channel.dart'; class WKChannelManager { + WKChannelManager._privateConstructor(); + static final WKChannelManager _instance = + WKChannelManager._privateConstructor(); + static WKChannelManager get shared => _instance; + final List _list = []; HashMap? _refeshChannelMap; Function(String channelID, int channelType, Function(WKChannel) back)? diff --git a/lib/manager/channel_member_manager.dart b/lib/manager/channel_member_manager.dart index 0e31aea..8202dca 100644 --- a/lib/manager/channel_member_manager.dart +++ b/lib/manager/channel_member_manager.dart @@ -5,6 +5,11 @@ import 'package:wukongimfluttersdk/db/channel_member.dart'; import '../entity/channel_member.dart'; class WKChannelMemberManager { + WKChannelMemberManager._privateConstructor(); + static final WKChannelMemberManager _instance = + WKChannelMemberManager._privateConstructor(); + static WKChannelMemberManager get shared => _instance; + HashMap)>? _newMembersBack; HashMap? _refreshMembersBack; HashMap)>? _deleteMembersBack; diff --git a/lib/manager/cmd_manager.dart b/lib/manager/cmd_manager.dart index 6119670..e8da876 100644 --- a/lib/manager/cmd_manager.dart +++ b/lib/manager/cmd_manager.dart @@ -3,6 +3,10 @@ import 'dart:collection'; import '../entity/cmd.dart'; class WKCMDManager { + WKCMDManager._privateConstructor(); + static final WKCMDManager _instance = WKCMDManager._privateConstructor(); + static WKCMDManager get shared => _instance; + HashMap? _cmdback; handleCMD(dynamic json) { String cmd = json['cmd']; diff --git a/lib/manager/connect_manager.dart b/lib/manager/connect_manager.dart index f5e3423..18c024b 100644 --- a/lib/manager/connect_manager.dart +++ b/lib/manager/connect_manager.dart @@ -43,6 +43,11 @@ class _WKSocket { } class WKConnectionManager { + WKConnectionManager._privateConstructor(); + static final WKConnectionManager _instance = + WKConnectionManager._privateConstructor(); + static WKConnectionManager get shared => _instance; + bool isReconnection = false; final int reconnMilliseconds = 1500; Timer? heartTimer; diff --git a/lib/manager/conversation_manager.dart b/lib/manager/conversation_manager.dart index cddac4d..3f8e473 100644 --- a/lib/manager/conversation_manager.dart +++ b/lib/manager/conversation_manager.dart @@ -9,6 +9,11 @@ import '../entity/conversation.dart'; import '../type/const.dart'; class WKConversationManager { + WKConversationManager._privateConstructor(); + static final WKConversationManager _instance = + WKConversationManager._privateConstructor(); + static WKConversationManager get shared => _instance; + HashMap? _refeshMsgMap; HashMap? _deleteMsgMap; diff --git a/lib/manager/message_manager.dart b/lib/manager/message_manager.dart index 4f93155..6098fa0 100644 --- a/lib/manager/message_manager.dart +++ b/lib/manager/message_manager.dart @@ -14,6 +14,11 @@ import '../model/wk_unknown_content.dart'; import '../wkim.dart'; class WKMessageManager { + WKMessageManager._privateConstructor(); + static final WKMessageManager _instance = + WKMessageManager._privateConstructor(); + static WKMessageManager get shared => _instance; + final Map _msgContentList = HashMap(); Function(WKMsg wkMsg, Function(WKMsg wkMsg))? _uploadAttachmentBack; diff --git a/lib/manager/reminder_manager.dart b/lib/manager/reminder_manager.dart index 02143ab..55ecc47 100644 --- a/lib/manager/reminder_manager.dart +++ b/lib/manager/reminder_manager.dart @@ -4,6 +4,11 @@ import 'package:wukongimfluttersdk/db/reminder.dart'; import 'package:wukongimfluttersdk/entity/reminder.dart'; class WKReminderManager { + WKReminderManager._privateConstructor(); + static final WKReminderManager _instance = + WKReminderManager._privateConstructor(); + static WKReminderManager get shared => _instance; + HashMap)>? _newReminderback; Future> getWithChannel( diff --git a/lib/wkim.dart b/lib/wkim.dart index bb44fcf..760e3bd 100644 --- a/lib/wkim.dart +++ b/lib/wkim.dart @@ -64,11 +64,11 @@ class WKIM { }); } - WKConnectionManager connectionManager = WKConnectionManager(); - WKMessageManager messageManager = WKMessageManager(); - WKConversationManager conversationManager = WKConversationManager(); - WKChannelManager channelManager = WKChannelManager(); - WKChannelMemberManager channelMemberManager = WKChannelMemberManager(); - WKReminderManager reminderManager = WKReminderManager(); - WKCMDManager cmdManager = WKCMDManager(); + WKConnectionManager connectionManager = WKConnectionManager.shared; + WKMessageManager messageManager = WKMessageManager.shared; + WKConversationManager conversationManager = WKConversationManager.shared; + WKChannelManager channelManager = WKChannelManager.shared; + WKChannelMemberManager channelMemberManager = WKChannelMemberManager.shared; + WKReminderManager reminderManager = WKReminderManager.shared; + WKCMDManager cmdManager = WKCMDManager.shared; }