@smart-link/im-base 1.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/REMAD.md +2 -0
- package/dist/DBAdapter.d.ts +60 -0
- package/dist/DBAdapter.js +151 -0
- package/dist/DBAdapter.js.map +1 -0
- package/dist/ImManager.d.ts +116 -0
- package/dist/ImManager.js +400 -0
- package/dist/ImManager.js.map +1 -0
- package/dist/api/api.config.d.ts +35 -0
- package/dist/api/api.config.js +40 -0
- package/dist/api/api.config.js.map +1 -0
- package/dist/api/index.d.ts +32 -0
- package/dist/api/index.js +29 -0
- package/dist/api/index.js.map +1 -0
- package/dist/constants.d.ts +192 -0
- package/dist/constants.js +181 -0
- package/dist/constants.js.map +1 -0
- package/dist/db/indexdb/index.d.ts +82 -0
- package/dist/db/indexdb/index.js +591 -0
- package/dist/db/indexdb/index.js.map +1 -0
- package/dist/db/indexdb/indexdb.config.d.ts +18 -0
- package/dist/db/indexdb/indexdb.config.js +117 -0
- package/dist/db/indexdb/indexdb.config.js.map +1 -0
- package/dist/db/sqlite/index.d.ts +65 -0
- package/dist/db/sqlite/index.js +687 -0
- package/dist/db/sqlite/index.js.map +1 -0
- package/dist/db/sqlite/scripts/db-script-1.0.0.d.ts +2 -0
- package/dist/db/sqlite/scripts/db-script-1.0.0.js +77 -0
- package/dist/db/sqlite/scripts/db-script-1.0.0.js.map +1 -0
- package/dist/db/sqlite/scripts/db-script-1.0.1.d.ts +2 -0
- package/dist/db/sqlite/scripts/db-script-1.0.1.js +7 -0
- package/dist/db/sqlite/scripts/db-script-1.0.1.js.map +1 -0
- package/dist/db/sqlite/sqlite.config.d.ts +11 -0
- package/dist/db/sqlite/sqlite.config.js +24 -0
- package/dist/db/sqlite/sqlite.config.js.map +1 -0
- package/dist/index.d.ts +13 -0
- package/dist/index.js +39 -0
- package/dist/index.js.map +1 -0
- package/dist/interface.d.ts +386 -0
- package/dist/interface.js +3 -0
- package/dist/interface.js.map +1 -0
- package/dist/locales/en/im.d.ts +3 -0
- package/dist/locales/en/im.js +305 -0
- package/dist/locales/en/im.js.map +1 -0
- package/dist/locales/index.d.ts +4 -0
- package/dist/locales/index.js +28 -0
- package/dist/locales/index.js.map +1 -0
- package/dist/locales/lao/im.d.ts +3 -0
- package/dist/locales/lao/im.js +305 -0
- package/dist/locales/lao/im.js.map +1 -0
- package/dist/locales/zh/im.d.ts +303 -0
- package/dist/locales/zh/im.js +307 -0
- package/dist/locales/zh/im.js.map +1 -0
- package/dist/slice/call/call.action.d.ts +1 -0
- package/dist/slice/call/call.action.js +518 -0
- package/dist/slice/call/call.action.js.map +1 -0
- package/dist/slice/call/call.slice.d.ts +29 -0
- package/dist/slice/call/call.slice.js +107 -0
- package/dist/slice/call/call.slice.js.map +1 -0
- package/dist/slice/collection/collection.action.d.ts +4 -0
- package/dist/slice/collection/collection.action.js +28 -0
- package/dist/slice/collection/collection.action.js.map +1 -0
- package/dist/slice/collection/collection.slice.d.ts +10 -0
- package/dist/slice/collection/collection.slice.js +33 -0
- package/dist/slice/collection/collection.slice.js.map +1 -0
- package/dist/slice/collection/index.d.ts +8 -0
- package/dist/slice/collection/index.js +30 -0
- package/dist/slice/collection/index.js.map +1 -0
- package/dist/slice/conversation/conversation.action.d.ts +47 -0
- package/dist/slice/conversation/conversation.action.js +507 -0
- package/dist/slice/conversation/conversation.action.js.map +1 -0
- package/dist/slice/conversation/conversation.slice.d.ts +39 -0
- package/dist/slice/conversation/conversation.slice.js +79 -0
- package/dist/slice/conversation/conversation.slice.js.map +1 -0
- package/dist/slice/conversation/index.d.ts +60 -0
- package/dist/slice/conversation/index.js +30 -0
- package/dist/slice/conversation/index.js.map +1 -0
- package/dist/slice/forward/forward.action.d.ts +8 -0
- package/dist/slice/forward/forward.action.js +100 -0
- package/dist/slice/forward/forward.action.js.map +1 -0
- package/dist/slice/forward/forward.slice.d.ts +17 -0
- package/dist/slice/forward/forward.slice.js +29 -0
- package/dist/slice/forward/forward.slice.js.map +1 -0
- package/dist/slice/forward/index.d.ts +11 -0
- package/dist/slice/forward/index.js +30 -0
- package/dist/slice/forward/index.js.map +1 -0
- package/dist/slice/getState.d.ts +8 -0
- package/dist/slice/getState.js +12 -0
- package/dist/slice/getState.js.map +1 -0
- package/dist/slice/group/group.action.d.ts +2 -0
- package/dist/slice/group/group.action.js +24 -0
- package/dist/slice/group/group.action.js.map +1 -0
- package/dist/slice/group/group.slice.d.ts +10 -0
- package/dist/slice/group/group.slice.js +33 -0
- package/dist/slice/group/group.slice.js.map +1 -0
- package/dist/slice/group/index.d.ts +8 -0
- package/dist/slice/group/index.js +32 -0
- package/dist/slice/group/index.js.map +1 -0
- package/dist/slice/index.d.ts +28 -0
- package/dist/slice/index.js +60 -0
- package/dist/slice/index.js.map +1 -0
- package/dist/slice/message/index.d.ts +47 -0
- package/dist/slice/message/index.js +31 -0
- package/dist/slice/message/index.js.map +1 -0
- package/dist/slice/message/message.action.d.ts +16 -0
- package/dist/slice/message/message.action.js +269 -0
- package/dist/slice/message/message.action.js.map +1 -0
- package/dist/slice/message/message.panel.action.d.ts +23 -0
- package/dist/slice/message/message.panel.action.js +234 -0
- package/dist/slice/message/message.panel.action.js.map +1 -0
- package/dist/slice/message/message.slice.d.ts +66 -0
- package/dist/slice/message/message.slice.js +119 -0
- package/dist/slice/message/message.slice.js.map +1 -0
- package/dist/slice/setting/index.d.ts +20 -0
- package/dist/slice/setting/index.js +31 -0
- package/dist/slice/setting/index.js.map +1 -0
- package/dist/slice/setting/setting.action.d.ts +8 -0
- package/dist/slice/setting/setting.action.js +94 -0
- package/dist/slice/setting/setting.action.js.map +1 -0
- package/dist/slice/setting/setting.slice.d.ts +18 -0
- package/dist/slice/setting/setting.slice.js +64 -0
- package/dist/slice/setting/setting.slice.js.map +1 -0
- package/dist/socket/emitter-call.d.ts +1 -0
- package/dist/socket/emitter-call.js +290 -0
- package/dist/socket/emitter-call.js.map +1 -0
- package/dist/socket/emitter-message.d.ts +15 -0
- package/dist/socket/emitter-message.js +341 -0
- package/dist/socket/emitter-message.js.map +1 -0
- package/dist/socket/listener/busi-notify.d.ts +3 -0
- package/dist/socket/listener/busi-notify.js +49 -0
- package/dist/socket/listener/busi-notify.js.map +1 -0
- package/dist/socket/listener/c2c.d.ts +5 -0
- package/dist/socket/listener/c2c.js +95 -0
- package/dist/socket/listener/c2c.js.map +1 -0
- package/dist/socket/listener/c2g.d.ts +4 -0
- package/dist/socket/listener/c2g.js +35 -0
- package/dist/socket/listener/c2g.js.map +1 -0
- package/dist/socket/listener/conversation.d.ts +3 -0
- package/dist/socket/listener/conversation.js +83 -0
- package/dist/socket/listener/conversation.js.map +1 -0
- package/dist/socket/listener/group-operate.d.ts +13 -0
- package/dist/socket/listener/group-operate.js +102 -0
- package/dist/socket/listener/group-operate.js.map +1 -0
- package/dist/socket/listener/index.d.ts +33 -0
- package/dist/socket/listener/index.js +33 -0
- package/dist/socket/listener/index.js.map +1 -0
- package/dist/socket/listener/one-2-one-call.d.ts +1 -0
- package/dist/socket/listener/one-2-one-call.js +200 -0
- package/dist/socket/listener/one-2-one-call.js.map +1 -0
- package/dist/socket/listener/session.d.ts +8 -0
- package/dist/socket/listener/session.js +91 -0
- package/dist/socket/listener/session.js.map +1 -0
- package/dist/socket/message-handler.d.ts +27 -0
- package/dist/socket/message-handler.js +436 -0
- package/dist/socket/message-handler.js.map +1 -0
- package/dist/socket/sync-subscribe.d.ts +8 -0
- package/dist/socket/sync-subscribe.js +408 -0
- package/dist/socket/sync-subscribe.js.map +1 -0
- package/dist/utils/carousel-lock.d.ts +7 -0
- package/dist/utils/carousel-lock.js +35 -0
- package/dist/utils/carousel-lock.js.map +1 -0
- package/dist/utils/conversation.d.ts +9 -0
- package/dist/utils/conversation.js +58 -0
- package/dist/utils/conversation.js.map +1 -0
- package/dist/utils/file.d.ts +3 -0
- package/dist/utils/file.js +53 -0
- package/dist/utils/file.js.map +1 -0
- package/dist/utils/guid.d.ts +1 -0
- package/dist/utils/guid.js +15 -0
- package/dist/utils/guid.js.map +1 -0
- package/dist/utils/message.d.ts +14 -0
- package/dist/utils/message.js +242 -0
- package/dist/utils/message.js.map +1 -0
- package/dist/utils/request.d.ts +41 -0
- package/dist/utils/request.js +72 -0
- package/dist/utils/request.js.map +1 -0
- package/dist/utils/time.d.ts +6 -0
- package/dist/utils/time.js +45 -0
- package/dist/utils/time.js.map +1 -0
- package/dist/utils/url.d.ts +1 -0
- package/dist/utils/url.js +22 -0
- package/dist/utils/url.js.map +1 -0
- package/dist/utils/version.d.ts +1 -0
- package/dist/utils/version.js +15 -0
- package/dist/utils/version.js.map +1 -0
- package/package.json +35 -0
package/REMAD.md
ADDED
@@ -0,0 +1,60 @@
|
|
1
|
+
import { ConversationType } from './constants';
|
2
|
+
import { IAvatar, ICollection, IConversation, IDBQueryRange, IDbStorage, IMessage, IMessageQuery, IMessageRange, IMessageSubscribe, IPage, IReceiptBack, IResource } from './interface';
|
3
|
+
declare class DBAdapter {
|
4
|
+
constructor(storage: IDbStorage);
|
5
|
+
storage: IDbStorage;
|
6
|
+
createStores(userId: string): Promise<void>;
|
7
|
+
getAvatar(id: string): Promise<IAvatar | null>;
|
8
|
+
insertAvatar(avatar: IAvatar): Promise<void>;
|
9
|
+
updateAvatar(avatar: IAvatar): Promise<void>;
|
10
|
+
selectAvatar(): Promise<IAvatar[]>;
|
11
|
+
cleanConversations(): Promise<void>;
|
12
|
+
insertConversation(conversation: Partial<IConversation>): Promise<void>;
|
13
|
+
updateConversationById(conversation: Partial<IConversation>): Promise<void>;
|
14
|
+
selectConversationById(id: string): Promise<IConversation | null>;
|
15
|
+
selectConversationByType(type?: ConversationType): Promise<IConversation[]>;
|
16
|
+
selectConversations(): Promise<IConversation[]>;
|
17
|
+
deleteConversation(id: string): Promise<void>;
|
18
|
+
insertMessage(message: IMessage): Promise<void>;
|
19
|
+
updateMessage(message: Partial<IMessage>): Promise<void>;
|
20
|
+
updateMessageStatus(message: Pick<IMessage, 'messageSeq' | 'messageStatus'>): Promise<void>;
|
21
|
+
selectMessage(cond: Partial<IMessage>, map?: boolean): Promise<IMessage[]>;
|
22
|
+
selectRangeMessage(cond: IMessageRange): Promise<IMessage[]>;
|
23
|
+
selectAfterMessages(cond: IDBQueryRange & Partial<IMessage>): Promise<IMessage[]>;
|
24
|
+
selectBeforeMessages(cond: IDBQueryRange & Partial<IMessage>): Promise<IMessage[]>;
|
25
|
+
selectMessageForBackup(cond: {
|
26
|
+
messageSeq?: string;
|
27
|
+
} & IPage): Promise<{
|
28
|
+
data: string[];
|
29
|
+
lastMessageSeq: string;
|
30
|
+
}>;
|
31
|
+
countMessageAfterSeq(messageSeq?: string): Promise<number>;
|
32
|
+
existMessage(messageSeq: string): Promise<boolean>;
|
33
|
+
deleteMessageByPK(messageSeq: string): Promise<void>;
|
34
|
+
deleteMessageByPKBatch(messageSeqs: string[]): Promise<void>;
|
35
|
+
insertMessageEmitting(message: IMessage): Promise<void>;
|
36
|
+
updateMyMessageStatus(message: Partial<IMessage>): Promise<void>;
|
37
|
+
updateMessageEmitting(message: Partial<IMessage>): Promise<void>;
|
38
|
+
deleteMessageEmittingByPK(messageSeq: string): Promise<void>;
|
39
|
+
deleteMessageEmittingByPKBatch(messageSeqs: string[]): Promise<void>;
|
40
|
+
selectMessageEmitting(cond: Partial<IMessage>, map?: boolean): Promise<IMessage[]>;
|
41
|
+
selectConversationMessageCount(keyword: string): Promise<{
|
42
|
+
conversationId: string;
|
43
|
+
count: number;
|
44
|
+
}[]>;
|
45
|
+
searchMessages(cond: IMessageQuery): Promise<IMessage[]>;
|
46
|
+
addReceiptBackList(messageSeq: string, receiptBack: IReceiptBack): Promise<IMessage | undefined>;
|
47
|
+
deleteConversationMessageEmitting(conversationId: string): Promise<void>;
|
48
|
+
deleteConversationMessage(conversationId: string): Promise<void>;
|
49
|
+
isCollection(messageSeq: string): Promise<boolean>;
|
50
|
+
insertCollection(collection: ICollection): Promise<void>;
|
51
|
+
selectCollections(keyword: string): Promise<ICollection[]>;
|
52
|
+
insertResource(resource: IResource): Promise<void>;
|
53
|
+
updateResource(resource: IResource): Promise<void>;
|
54
|
+
selectResource(cond: Partial<IResource>): Promise<IResource[]>;
|
55
|
+
insertOrUpdateSubscribeMessageSeq(subscribe: IMessageSubscribe): Promise<void>;
|
56
|
+
selectSubscribeMessageSeq(cond: Partial<IMessageSubscribe>): Promise<IMessageSubscribe[]>;
|
57
|
+
deleteSubscribeMessageSeq(subscribeId: string): Promise<void>;
|
58
|
+
close(): void;
|
59
|
+
}
|
60
|
+
export default DBAdapter;
|
@@ -0,0 +1,151 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
class DBAdapter {
|
4
|
+
constructor(storage) {
|
5
|
+
this.storage = storage;
|
6
|
+
}
|
7
|
+
// 创建数据库表
|
8
|
+
createStores(userId) {
|
9
|
+
return this.storage.createStores(userId);
|
10
|
+
}
|
11
|
+
// 头像操作
|
12
|
+
getAvatar(id) {
|
13
|
+
return this.storage.getAvatar(id);
|
14
|
+
}
|
15
|
+
insertAvatar(avatar) {
|
16
|
+
return this.storage.insertAvatar(avatar);
|
17
|
+
}
|
18
|
+
updateAvatar(avatar) {
|
19
|
+
return this.storage.updateAvatar(avatar);
|
20
|
+
}
|
21
|
+
selectAvatar() {
|
22
|
+
return this.storage.selectAvatar();
|
23
|
+
}
|
24
|
+
// 会话操作
|
25
|
+
cleanConversations() {
|
26
|
+
return this.storage.cleanConversations();
|
27
|
+
}
|
28
|
+
insertConversation(conversation) {
|
29
|
+
return this.storage.insertConversation(conversation);
|
30
|
+
}
|
31
|
+
updateConversationById(conversation) {
|
32
|
+
return this.storage.updateConversationById(conversation);
|
33
|
+
}
|
34
|
+
selectConversationById(id) {
|
35
|
+
return this.storage.selectConversationById(id);
|
36
|
+
}
|
37
|
+
selectConversationByType(type) {
|
38
|
+
return this.storage.selectConversationByType(type);
|
39
|
+
}
|
40
|
+
selectConversations() {
|
41
|
+
return this.storage.selectConversations();
|
42
|
+
}
|
43
|
+
deleteConversation(id) {
|
44
|
+
return this.storage.deleteConversation(id);
|
45
|
+
}
|
46
|
+
// 消息操作
|
47
|
+
insertMessage(message) {
|
48
|
+
return this.storage.insertMessage(message);
|
49
|
+
}
|
50
|
+
updateMessage(message) {
|
51
|
+
return this.storage.updateMessage(message);
|
52
|
+
}
|
53
|
+
updateMessageStatus(message) {
|
54
|
+
return this.storage.updateMessageStatus(message);
|
55
|
+
}
|
56
|
+
selectMessage(cond, map = true) {
|
57
|
+
return this.storage.selectMessage(cond, map);
|
58
|
+
}
|
59
|
+
selectRangeMessage(cond) {
|
60
|
+
return this.storage.selectRangeMessage(cond);
|
61
|
+
}
|
62
|
+
selectAfterMessages(cond) {
|
63
|
+
return this.storage.selectBeforeMessages(cond, true);
|
64
|
+
}
|
65
|
+
selectBeforeMessages(cond) {
|
66
|
+
return this.storage.selectBeforeMessages(cond);
|
67
|
+
}
|
68
|
+
selectMessageForBackup(cond) {
|
69
|
+
return this.storage.selectMessageForBackup(cond);
|
70
|
+
}
|
71
|
+
countMessageAfterSeq(messageSeq) {
|
72
|
+
return this.storage.countMessageAfterSeq(messageSeq);
|
73
|
+
}
|
74
|
+
existMessage(messageSeq) {
|
75
|
+
return this.storage.existMessage(messageSeq);
|
76
|
+
}
|
77
|
+
deleteMessageByPK(messageSeq) {
|
78
|
+
return this.storage.deleteMessageByPK(messageSeq);
|
79
|
+
}
|
80
|
+
deleteMessageByPKBatch(messageSeqs) {
|
81
|
+
return this.storage.deleteMessageByPKBatch(messageSeqs);
|
82
|
+
}
|
83
|
+
insertMessageEmitting(message) {
|
84
|
+
return this.storage.insertMessageEmitting(message);
|
85
|
+
}
|
86
|
+
updateMyMessageStatus(message) {
|
87
|
+
return this.storage.updateMyMessageStatus(message);
|
88
|
+
}
|
89
|
+
updateMessageEmitting(message) {
|
90
|
+
return this.storage.updateMessageEmitting(message);
|
91
|
+
}
|
92
|
+
deleteMessageEmittingByPK(messageSeq) {
|
93
|
+
return this.storage.deleteMessageEmittingByPK(messageSeq);
|
94
|
+
}
|
95
|
+
deleteMessageEmittingByPKBatch(messageSeqs) {
|
96
|
+
return this.storage.deleteMessageEmittingByPKBatch(messageSeqs);
|
97
|
+
}
|
98
|
+
selectMessageEmitting(cond, map = true) {
|
99
|
+
return this.storage.selectMessageEmitting(cond, map);
|
100
|
+
}
|
101
|
+
selectConversationMessageCount(keyword) {
|
102
|
+
return this.storage.selectConversationMessageCount(keyword);
|
103
|
+
}
|
104
|
+
searchMessages(cond) {
|
105
|
+
return this.storage.searchMessages(cond);
|
106
|
+
}
|
107
|
+
addReceiptBackList(messageSeq, receiptBack) {
|
108
|
+
return this.storage.addReceiptBackList(messageSeq, receiptBack);
|
109
|
+
}
|
110
|
+
deleteConversationMessageEmitting(conversationId) {
|
111
|
+
return this.storage.deleteConversationMessageEmitting(conversationId);
|
112
|
+
}
|
113
|
+
deleteConversationMessage(conversationId) {
|
114
|
+
return this.storage.deleteConversationMessage(conversationId);
|
115
|
+
}
|
116
|
+
// 收藏操作
|
117
|
+
isCollection(messageSeq) {
|
118
|
+
return this.storage.isCollection(messageSeq);
|
119
|
+
}
|
120
|
+
insertCollection(collection) {
|
121
|
+
return this.storage.insertCollection(collection);
|
122
|
+
}
|
123
|
+
selectCollections(keyword) {
|
124
|
+
return this.storage.selectCollections(keyword);
|
125
|
+
}
|
126
|
+
// 资源操作
|
127
|
+
insertResource(resource) {
|
128
|
+
return this.storage.insertResource(resource);
|
129
|
+
}
|
130
|
+
updateResource(resource) {
|
131
|
+
return this.storage.updateResource(resource);
|
132
|
+
}
|
133
|
+
selectResource(cond) {
|
134
|
+
return this.storage.selectResource(cond);
|
135
|
+
}
|
136
|
+
// 订阅消息操作
|
137
|
+
insertOrUpdateSubscribeMessageSeq(subscribe) {
|
138
|
+
return this.storage.insertOrUpdateSubscribeMessageSeq(subscribe);
|
139
|
+
}
|
140
|
+
selectSubscribeMessageSeq(cond) {
|
141
|
+
return this.storage.selectSubscribeMessageSeq(cond);
|
142
|
+
}
|
143
|
+
deleteSubscribeMessageSeq(subscribeId) {
|
144
|
+
return this.storage.deleteSubscribeMessageSeq(subscribeId);
|
145
|
+
}
|
146
|
+
close() {
|
147
|
+
return this.storage.close();
|
148
|
+
}
|
149
|
+
}
|
150
|
+
exports.default = DBAdapter;
|
151
|
+
//# sourceMappingURL=DBAdapter.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"DBAdapter.js","sourceRoot":"","sources":["../src/DBAdapter.ts"],"names":[],"mappings":"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"}
|
@@ -0,0 +1,116 @@
|
|
1
|
+
import { Socket } from 'socket.io-client';
|
2
|
+
import { PayloadType, Platform } from './constants';
|
3
|
+
import DBAdapter from './DBAdapter';
|
4
|
+
import { IAvatar, IConversation, IMessage, IMessageQuery, IChatGroup, IUser, IPayload, RefObject, SocketStore, Storage, SyncQueue, ICollection, IResource, IDownloadOptions } from './interface';
|
5
|
+
import { ImLocaleKey } from './locales';
|
6
|
+
type DefaultAvatars = Record<'MAN' | 'WOMAN' | 'GROUP' | 'BUSI_NOTIFY' | 'EMPTY', any>;
|
7
|
+
export interface IMSocketOptions {
|
8
|
+
user: IUser;
|
9
|
+
db: DBAdapter;
|
10
|
+
server: string;
|
11
|
+
namespace: string;
|
12
|
+
store: SocketStore;
|
13
|
+
storage: Storage;
|
14
|
+
lastSyncTime?: number;
|
15
|
+
undoLimitTime?: number;
|
16
|
+
defaultAvatars?: DefaultAvatars;
|
17
|
+
platform: Platform;
|
18
|
+
t: (key: ImLocaleKey, data?: any) => string;
|
19
|
+
uploadFile: (file: IPayload, onProgress: (o: {
|
20
|
+
loaded: number;
|
21
|
+
total: number;
|
22
|
+
}) => void) => Promise<string>;
|
23
|
+
beforeUpload?: (payload: IPayload, payloadType: PayloadType) => Promise<IPayload>;
|
24
|
+
toast?: (message: string, type: 'success' | 'fail' | 'info') => void;
|
25
|
+
download: (options: IDownloadOptions) => Promise<string>;
|
26
|
+
logout?: () => Promise<void>;
|
27
|
+
scrollToLatest: (animated?: boolean) => void;
|
28
|
+
scrollTo: (messageSeq: string, animated?: boolean) => void;
|
29
|
+
}
|
30
|
+
declare class ImManager {
|
31
|
+
db: DBAdapter;
|
32
|
+
storage: Storage;
|
33
|
+
store: SocketStore;
|
34
|
+
private network?;
|
35
|
+
socket?: Socket;
|
36
|
+
user: IUser;
|
37
|
+
server: string;
|
38
|
+
namespace: string;
|
39
|
+
defaultAvatars?: DefaultAvatars;
|
40
|
+
t: (key: ImLocaleKey, data?: any) => string;
|
41
|
+
syncQueries: SyncQueue[];
|
42
|
+
avatarsMap: Record<string, string>;
|
43
|
+
resourceMap: Record<string, string>;
|
44
|
+
platform: Platform;
|
45
|
+
LAST_SYNC_TIME_LIMIT: number;
|
46
|
+
undoLimitTime: number;
|
47
|
+
flatListRef?: RefObject;
|
48
|
+
inputRef?: RefObject;
|
49
|
+
beforeUpload?: IMSocketOptions['beforeUpload'];
|
50
|
+
uploadFile: IMSocketOptions['uploadFile'];
|
51
|
+
download: IMSocketOptions['download'];
|
52
|
+
toast: IMSocketOptions['toast'];
|
53
|
+
scrollToLatest: IMSocketOptions['scrollToLatest'];
|
54
|
+
scrollTo: IMSocketOptions['scrollTo'];
|
55
|
+
logout?: () => Promise<void>;
|
56
|
+
_destroyed: boolean;
|
57
|
+
constructor({ db, user, store, storage, lastSyncTime, undoLimitTime, defaultAvatars, platform, t, server, namespace, uploadFile, beforeUpload, download, toast, logout, scrollTo, scrollToLatest, }: IMSocketOptions);
|
58
|
+
init(): Promise<void>;
|
59
|
+
newSocket(): void;
|
60
|
+
bindSocketListener(): void;
|
61
|
+
syncMessage(): Promise<void>;
|
62
|
+
setNetwork(network: boolean): void;
|
63
|
+
getNetwork(): boolean | undefined;
|
64
|
+
emit(event: string, data?: {}, retryCount?: number): Promise<any>;
|
65
|
+
emitNoTips(event: string, data?: {}): Promise<unknown> | undefined;
|
66
|
+
disconnect(): void;
|
67
|
+
reconnect(): void;
|
68
|
+
mulClientLoginKickOut(): Promise<void>;
|
69
|
+
cleanSyncFlag(): void;
|
70
|
+
setFlatListRef(ref: RefObject): void;
|
71
|
+
setInputRef(ref: RefObject): void;
|
72
|
+
initResource(): void;
|
73
|
+
updateResource(resource: IResource): Promise<void>;
|
74
|
+
loadResourceFromCache(url: string): Promise<string | undefined>;
|
75
|
+
updateAvatar(avatar: IAvatar): Promise<void>;
|
76
|
+
loadAvatarFromCache(id: string): Promise<string | undefined>;
|
77
|
+
/**
|
78
|
+
* 会话操作 ---start
|
79
|
+
*/
|
80
|
+
markRead(conversation: IConversation): void;
|
81
|
+
markUnread(conversation: IConversation): void;
|
82
|
+
deleteConversation(conversation: IConversation): void;
|
83
|
+
topOn(conversation: IConversation): void;
|
84
|
+
topOff(conversation: IConversation): void;
|
85
|
+
noDisturbOn(conversation: IConversation): void;
|
86
|
+
noDisturbOff(conversation: IConversation): void;
|
87
|
+
initConversation(conversation: IConversation): void;
|
88
|
+
initUserConversation(user: IUser): Promise<void>;
|
89
|
+
initSearchConversation(conversationId: string, messageSeq: string): Promise<void>;
|
90
|
+
initChatGroupConversation(chatGroup: IChatGroup): Promise<void>;
|
91
|
+
leaveConversation(): void;
|
92
|
+
/**
|
93
|
+
* 消息操作 ---start
|
94
|
+
*/
|
95
|
+
deleteMessage(message: IMessage): Promise<void>;
|
96
|
+
replyMessage(message: IMessage): void;
|
97
|
+
loadBeforeMessages(conversationId: string, query: IMessageQuery): Promise<void>;
|
98
|
+
loadAfterMessages(conversationId: string, query: IMessageQuery): Promise<void>;
|
99
|
+
handleSend(text: string): Promise<void>;
|
100
|
+
sendTextMessage(conversation: IConversation, textInfo: Partial<IPayload>): Promise<void>;
|
101
|
+
sendPictureMessage(conversation: IConversation, picInfo: Partial<IPayload>): Promise<void>;
|
102
|
+
sendVideoMessage(conversation: IConversation, videoInfo: Partial<IPayload>): Promise<void>;
|
103
|
+
sendVoiceMessage(conversation: IConversation, voiceInfo: Partial<IPayload>): Promise<void>;
|
104
|
+
sendFileMessage(conversation: IConversation, fileInfo: Partial<IPayload>): Promise<void>;
|
105
|
+
sendCollectionMessage(collection: ICollection): void;
|
106
|
+
sendContactMessage(conversation: IConversation, contact: IUser): Promise<void>;
|
107
|
+
resendMessage(conversation: IConversation, message: IMessage): Promise<void>;
|
108
|
+
undoMessage(message: IMessage): Promise<void>;
|
109
|
+
clearMessages(conversationId: string): Promise<void>;
|
110
|
+
/** 收藏操作 */
|
111
|
+
selectCollections(keyword: string): void;
|
112
|
+
collectMessage(message: IMessage): void;
|
113
|
+
isDestroyed(): boolean;
|
114
|
+
destroy(): void;
|
115
|
+
}
|
116
|
+
export default ImManager;
|