@patra-cid/akaim-sdk-rn 0.4.16-denymsg.3

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.
Files changed (46) hide show
  1. package/AkaimSdkRn.podspec +96 -0
  2. package/LICENSE +20 -0
  3. package/README.md +109 -0
  4. package/android/build.gradle +86 -0
  5. package/android/gradle.properties +8 -0
  6. package/android/src/main/AndroidManifest.xml +2 -0
  7. package/android/src/main/java/com/akaimsdkrn/AkaimSdkRnModule.kt +1327 -0
  8. package/android/src/main/java/com/akaimsdkrn/AkaimSdkRnPackage.kt +33 -0
  9. package/android/src/main/java/com/akaimsdkrn/CallbackPromise.kt +27 -0
  10. package/android/src/main/java/com/akaimsdkrn/SendMsgCallBack.kt +32 -0
  11. package/android/src/main/java/com/akaimsdkrn/listener/AdvancedMsgListener.kt +36 -0
  12. package/android/src/main/java/com/akaimsdkrn/listener/BatchMsgListener.kt +16 -0
  13. package/android/src/main/java/com/akaimsdkrn/listener/InitSDKListener.kt +39 -0
  14. package/android/src/main/java/com/akaimsdkrn/listener/OnConversationListener.kt +40 -0
  15. package/android/src/main/java/com/akaimsdkrn/listener/OnFriendshipListener.kt +53 -0
  16. package/android/src/main/java/com/akaimsdkrn/listener/OnGroupListener.kt +52 -0
  17. package/android/src/main/java/com/akaimsdkrn/listener/SetCustomBusinessListener.kt +12 -0
  18. package/android/src/main/java/com/akaimsdkrn/listener/UploadFileCallbackListener.kt +52 -0
  19. package/android/src/main/java/com/akaimsdkrn/listener/UploadLogProgressListener.kt +20 -0
  20. package/android/src/main/java/com/akaimsdkrn/listener/UserListener.kt +28 -0
  21. package/android/src/main/java/com/akaimsdkrn/utils/Emitter.kt +78 -0
  22. package/ios/AkaimSdkRn.h +17 -0
  23. package/ios/AkaimSdkRn.mm +1622 -0
  24. package/ios/CallbackPromise.h +19 -0
  25. package/ios/CallbackPromise.mm +58 -0
  26. package/ios/CodeGenStructHelper.h +17 -0
  27. package/ios/ReactLazyVectorConverter.h +22 -0
  28. package/ios/SendMessageCallback.h +22 -0
  29. package/ios/SendMessageCallback.mm +67 -0
  30. package/ios/UploadFileCallback.h +21 -0
  31. package/ios/UploadFileCallback.mm +80 -0
  32. package/ios/UploadLogCallback.h +22 -0
  33. package/ios/UploadLogCallback.mm +44 -0
  34. package/lib/module/NativeAkaimSdkRn.js +153 -0
  35. package/lib/module/NativeAkaimSdkRn.js.map +1 -0
  36. package/lib/module/index.js +361 -0
  37. package/lib/module/index.js.map +1 -0
  38. package/lib/module/package.json +1 -0
  39. package/lib/typescript/package.json +1 -0
  40. package/lib/typescript/src/NativeAkaimSdkRn.d.ts +947 -0
  41. package/lib/typescript/src/NativeAkaimSdkRn.d.ts.map +1 -0
  42. package/lib/typescript/src/index.d.ts +118 -0
  43. package/lib/typescript/src/index.d.ts.map +1 -0
  44. package/package.json +171 -0
  45. package/src/NativeAkaimSdkRn.ts +1177 -0
  46. package/src/index.tsx +758 -0
@@ -0,0 +1,1622 @@
1
+ #import "AkaimSdkRn.h"
2
+ #import <AkaIMCore/AkaIMCore.h>
3
+ #import <ReactCommon/RCTTurboModule.h>
4
+ #import "CodeGenStructHelper.h"
5
+ #import "ReactLazyVectorConverter.h"
6
+ #import "SendMessageCallback.h"
7
+ #import "UploadFileCallback.h"
8
+ #import "UploadLogCallback.h"
9
+ using namespace JS::NativeAkaimSdkRn;
10
+
11
+ @implementation NSDictionary (Extensions)
12
+
13
+ - (NSString *)json {
14
+ NSString *json = nil;
15
+
16
+ NSError *error = nil;
17
+ NSData *data = [NSJSONSerialization dataWithJSONObject:self options:NSJSONWritingPrettyPrinted error:&error];
18
+ json = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
19
+
20
+ return (error ? nil : json);
21
+ }
22
+
23
+ @end
24
+ @implementation NSArray (Extensions)
25
+ - (NSString *)json {
26
+ NSString *json = nil;
27
+
28
+ NSError *error = nil;
29
+ NSData *data = [NSJSONSerialization dataWithJSONObject:self options:NSJSONWritingPrettyPrinted error:&error];
30
+ json = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
31
+
32
+ return (error ? nil : json);
33
+ }
34
+ @end
35
+
36
+ @implementation NSString (Extensions)
37
+ - (NSString *)json {
38
+ return [NSString stringWithFormat:@"\"%@\"",self];
39
+ }
40
+ @end
41
+
42
+ @implementation AkaimSdkRn
43
+ bool hasListeners;
44
+ RCT_EXPORT_MODULE()
45
+ - (NSArray<NSString *> *)supportedEvents{
46
+ return @[
47
+ @"onConnectSuccess",
48
+ @"onConnecting",
49
+ @"onConnectFailed",
50
+ @"onKickedOffline",
51
+ @"onSelfInfoUpdated",
52
+ @"onUserStatusChanged",
53
+ @"onUserTokenExpired",
54
+ @"onUserTokenInvalid",
55
+ @"onRecvNewMessages",
56
+ @"onRecvOfflineNewMessages",
57
+ @"onMsgDeleted" ,
58
+ @"onRecvC2CReadReceipt",
59
+ @"onNewRecvMessageRevoked",
60
+ @"onRecvMessageRevoked",
61
+ @"onRecvNewMessage",
62
+ @"onMsgContentChanged",
63
+ @"onRecvOfflineNewMessage",
64
+ @"onRecvOnlineOnlyMessage",
65
+ @"onRecvMessageExtensionsAdded",
66
+ @"onRecvMessageExtensionsChanged",
67
+ @"onRecvMessageExtensionsDeleted",
68
+
69
+ @"onConversationChanged",
70
+ @"onInputStatusChanged",
71
+ @"onNewConversation",
72
+ @"onSyncServerFailed",
73
+ @"onSyncServerFinish",
74
+ @"onSyncServerStart",
75
+ @"onSyncServerProgress",
76
+ @"onTotalUnreadMessageCountChanged",
77
+
78
+ @"onBlackAdded",
79
+ @"onBlackDeleted",
80
+ @"onBlackAddedByOther",
81
+ @"onBlackDeletedByOther",
82
+ @"onFriendApplicationAccepted",
83
+ @"onFriendApplicationAdded",
84
+ @"onFriendApplicationDeleted",
85
+ @"onFriendApplicationRejected",
86
+ @"onFriendInfoChanged",
87
+ @"onFriendAdded",
88
+ @"onFriendDeleted",
89
+
90
+ @"onGroupApplicationAccepted",
91
+ @"onGroupApplicationRejected",
92
+ @"onGroupApplicationAdded",
93
+ @"onGroupApplicationDeleted",
94
+ @"onGroupInfoChanged",
95
+ @"onGroupMemberInfoChanged",
96
+ @"onGroupMemberAdded",
97
+ @"onGroupMemberDeleted",
98
+ @"onJoinedGroupAdded",
99
+ @"onJoinedGroupDeleted",
100
+ @"onGroupDismissed",
101
+ @"SendMessageProgress",
102
+ @"uploadComplete",
103
+ @"onReceiveNewMessages",
104
+ @"onReceiveOfflineNewMessages",
105
+ @"onRecvCustomBusinessMessage",
106
+ @"uploadOnProgress"
107
+ ];
108
+ }
109
+ -(void)startObserving {
110
+ hasListeners = YES;
111
+ }
112
+
113
+ -(void)stopObserving {
114
+ hasListeners = NO;
115
+ }
116
+
117
+ - (void)pushEvent:(NSString *)eventName data:(id)data {
118
+ [self sendEventWithName:eventName body:data];
119
+ }
120
+
121
+ - (void)uploadFile:(UploadFileParams &)options operationID:(NSString *)operationID
122
+ resolve:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject {
123
+ RNCallbackPromise * proxy = [[RNCallbackPromise alloc] initWithCallbackPromise:resolve reject:reject];
124
+ RNUploadFileCallback * uploadProxy = [[RNUploadFileCallback alloc] initWithOpid:operationID module:self resolve:resolve reject:reject];
125
+ NSDictionary *optionsDict = STRUCT_TO_DICT(options);
126
+ Aka_im_coreUploadFile(proxy,operationID, [optionsDict json],uploadProxy);
127
+ }
128
+ // - (void)getSdkVersion:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject {
129
+ // NSString *version = Aka_im_coreGetSdkVersion();
130
+ // resolve(version);
131
+ // }
132
+ - (void)logs:(LogsParams &)options operationID:(NSString *)operationID
133
+ resolve:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject {
134
+ RNCallbackPromise *proxy = [[RNCallbackPromise alloc] initWithCallbackPromise:resolve reject:reject];
135
+ NSDictionary *optionsDict = STRUCT_TO_DICT(options);
136
+ Aka_im_coreLogs(proxy, operationID, [optionsDict[@"logLevel"] longValue], optionsDict[@"file"], [optionsDict[@"line"] longValue], optionsDict[@"msgs"], optionsDict[@"err"], optionsDict[@"keyAndValue"]);
137
+ }
138
+ - (void)uploadLogs:(UploadLogsParams &)options operationID:(NSString *)operationID
139
+ resolve:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject {
140
+ RNCallbackPromise * proxy = [[RNCallbackPromise alloc] initWithCallbackPromise:resolve reject:reject];
141
+ RNUploadLogCallback * uploadProxy = [[RNUploadLogCallback alloc] initWithOpid:operationID module:self resolve:resolve reject:reject];
142
+ NSDictionary *optionsDict = STRUCT_TO_DICT(options);
143
+ NSString *ex = optionsDict[@"ex"];
144
+
145
+ if (!ex) {
146
+ ex = @"";
147
+ }
148
+
149
+ Aka_im_coreUploadLogs(proxy,operationID,[[optionsDict valueForKey:@"line"] longValue],ex,uploadProxy);
150
+ }
151
+ // - (void)setAppBadge:(int32_t)appUnreadCount operationID:(NSString *)operationID
152
+ // resolve:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject {
153
+ // RNCallbackPromise *proxy = [[RNCallbackPromise alloc] initWithCallbackPromise:resolve reject:reject];
154
+ // Aka_im_coreSetAppBadge(proxy, operationID, appUnreadCount);
155
+ // }
156
+
157
+ // - (void)updateFcmToken:(NSDictionary *)options operationID:(NSString *)operationID
158
+ // resolve:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject {
159
+ // RNCallbackPromise *proxy = [[RNCallbackPromise alloc] initWithCallbackPromise:resolve reject:reject];
160
+ // NSArray *userIDList = options[@"userIDList"];
161
+ // NSInteger expiredTime = [options[@"expiredTime"] integerValue];
162
+
163
+ // Aka_im_coreUpdateFcmToken(proxy, operationID, [userIDList json], (long)expiredTime);
164
+ // }
165
+ - (void)unInitSDK:(NSString *)operationID
166
+ resolve:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject {
167
+ Aka_im_coreUnInitSDK(operationID);
168
+ }
169
+
170
+ - (void)isJoinGroup:(NSString *)groupID operationID:(NSString *)operationID
171
+ resolve:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject {
172
+ RNCallbackPromise *proxy = [[RNCallbackPromise alloc] initWithCallbackPromise:resolve reject:reject];
173
+ Aka_im_coreIsJoinGroup(proxy, operationID, groupID);
174
+ }
175
+
176
+
177
+ - (void)searchGroupMembers:(SearchGroupMemberParams &)options operationID:(NSString *)operationID
178
+ resolve:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject {
179
+ RNCallbackPromise *proxy = [[RNCallbackPromise alloc] initWithCallbackPromise:resolve reject:reject];
180
+ NSDictionary *optionsDict = STRUCT_TO_DICT(options);
181
+ NSString *searchOptionsJson = [optionsDict json];
182
+
183
+ Aka_im_coreSearchGroupMembers(proxy, operationID, searchOptionsJson);
184
+ }
185
+ // - (void)setGroupMemberNickname:(NSDictionary *)options operationID:(NSString *)operationID
186
+ // resolve:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject {
187
+ // RNCallbackPromise *proxy = [[RNCallbackPromise alloc] initWithCallbackPromise:resolve reject:reject];
188
+ // NSDictionary *param = @{
189
+ // @"groupID":options[@"groupID"],
190
+ // @"userID":options[@"userID"],
191
+ // @"nickname":options[@"groupMemberNickname"],
192
+ // };
193
+
194
+ // Aka_im_coreSetGroupMemberInfo(proxy, operationID, [param json]);
195
+ // }
196
+ - (void)refuseGroupApplication:(AccessGroupParams &)options operationID:(NSString *)operationID
197
+ resolve:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject {
198
+ RNCallbackPromise *proxy = [[RNCallbackPromise alloc] initWithCallbackPromise:resolve reject:reject];
199
+ NSDictionary *optionsDict = STRUCT_TO_DICT(options);
200
+ NSString *groupID = optionsDict[@"groupID"];
201
+ NSString *fromUserID = optionsDict[@"fromUserID"];
202
+ NSString *handleMsg = optionsDict[@"handleMsg"];
203
+
204
+ Aka_im_coreRefuseGroupApplication(proxy, operationID, groupID, fromUserID, handleMsg);
205
+ }
206
+ - (void)acceptGroupApplication:(AccessGroupParams &)options operationID:(NSString *)operationID
207
+ resolve:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject {
208
+ RNCallbackPromise *proxy = [[RNCallbackPromise alloc] initWithCallbackPromise:resolve reject:reject];
209
+ NSDictionary *optionsDict = STRUCT_TO_DICT(options);
210
+ NSString *groupID = optionsDict[@"groupID"];
211
+ NSString *fromUserID = optionsDict[@"fromUserID"];
212
+ NSString *handleMsg = optionsDict[@"handleMsg"];
213
+
214
+ Aka_im_coreAcceptGroupApplication(proxy, operationID, groupID, fromUserID, handleMsg);
215
+ }
216
+
217
+ - (void)getGroupApplicationListAsApplicant:(NSString *)operationID
218
+ resolve:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject {
219
+ RNCallbackPromise *proxy = [[RNCallbackPromise alloc] initWithCallbackPromise:resolve reject:reject];
220
+ Aka_im_coreGetGroupApplicationListAsApplicant(proxy, operationID);
221
+ }
222
+ - (void)getGroupApplicationListAsRecipient:(NSString *)operationID
223
+ resolve:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject {
224
+ RNCallbackPromise *proxy = [[RNCallbackPromise alloc] initWithCallbackPromise:resolve reject:reject];
225
+ Aka_im_coreGetGroupApplicationListAsRecipient(proxy, operationID);
226
+ }
227
+ - (void)inviteUserToGroup:(OperateGroupParams &)options operationID:(NSString *)operationID
228
+ resolve:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject {
229
+ RNCallbackPromise *proxy = [[RNCallbackPromise alloc] initWithCallbackPromise:resolve reject:reject];
230
+ NSDictionary *optionsDict = STRUCT_TO_DICT(options);
231
+ NSString *groupID = optionsDict[@"groupID"];
232
+ NSString *reason = optionsDict[@"reason"];
233
+ NSArray *userIDList = optionsDict[@"userIDList"];
234
+ Aka_im_coreInviteUserToGroup(proxy, operationID, groupID, reason, [userIDList json]);
235
+ }
236
+ - (void)transferGroupOwner:(TransferGroupParams &)options operationID:(NSString *)operationID
237
+ resolve:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject {
238
+ RNCallbackPromise *proxy = [[RNCallbackPromise alloc] initWithCallbackPromise:resolve reject:reject];
239
+ NSDictionary *optionsDict = STRUCT_TO_DICT(options);
240
+ NSString *groupID = optionsDict[@"groupID"];
241
+ NSString *newOwnerUserID = optionsDict[@"newOwnerUserID"];
242
+
243
+ Aka_im_coreTransferGroupOwner(proxy, operationID, groupID, newOwnerUserID);
244
+ }
245
+ - (void)kickGroupMember:(OperateGroupParams &)options operationID:(NSString *)operationID
246
+ resolve:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject {
247
+ RNCallbackPromise *proxy = [[RNCallbackPromise alloc] initWithCallbackPromise:resolve reject:reject];
248
+ NSDictionary *optionsDict = STRUCT_TO_DICT(options);
249
+ NSString *groupID = optionsDict[@"groupID"];
250
+ NSString *reason = optionsDict[@"reason"];
251
+ NSArray *userIDList = optionsDict[@"userIDList"];
252
+
253
+ Aka_im_coreKickGroupMember(proxy, operationID, groupID, reason, [userIDList json]);
254
+ }
255
+ - (void)getUsersInGroup:(GetGroupMembersInfoParams &)options operationID:(NSString *)operationID
256
+ resolve:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject {
257
+ RNCallbackPromise *proxy = [[RNCallbackPromise alloc] initWithCallbackPromise:resolve reject:reject];
258
+ NSDictionary *optionsDict = STRUCT_TO_DICT(options);
259
+ NSString *groupID = optionsDict[@"groupID"];
260
+ NSArray *userIDList = optionsDict[@"userIDList"];
261
+
262
+ Aka_im_coreGetUsersInGroup(proxy, operationID, groupID, [userIDList json]);
263
+ }
264
+ - (void)getSpecifiedGroupMembersInfo:(GetGroupMembersInfoParams &)options operationID:(NSString *)operationID
265
+ resolve:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject {
266
+ RNCallbackPromise *proxy = [[RNCallbackPromise alloc] initWithCallbackPromise:resolve reject:reject];
267
+ NSDictionary *optionsDict = STRUCT_TO_DICT(options);
268
+ NSString *groupID = optionsDict[@"groupID"];
269
+ NSArray *userIDList = optionsDict[@"userIDList"];
270
+
271
+ Aka_im_coreGetSpecifiedGroupMembersInfo(proxy, operationID, groupID, [userIDList json]);
272
+ }
273
+ - (void)getGroupMemberListByJoinTimeFilter:(GetGroupMemberByTimeParams &)options operationID:(NSString *)operationID
274
+ resolve:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject {
275
+ RNCallbackPromise *proxy = [[RNCallbackPromise alloc] initWithCallbackPromise:resolve reject:reject];
276
+ NSDictionary *optionsDict = STRUCT_TO_DICT(options);
277
+ NSString *groupID = optionsDict[@"groupID"];
278
+ NSArray *filterUserIDList = optionsDict[@"filterUserIDList"];
279
+ NSInteger offset = [optionsDict[@"offset"] integerValue];
280
+ NSInteger count = [optionsDict[@"count"] integerValue];
281
+ NSInteger joinTimeBegin = [optionsDict[@"joinTimeBegin"] integerValue];
282
+ NSInteger joinTimeEnd = [optionsDict[@"joinTimeEnd"] integerValue];
283
+
284
+ Aka_im_coreGetGroupMemberListByJoinTimeFilter(proxy, operationID, groupID, (int32_t)offset, (int32_t)count, (long)joinTimeBegin, (long)joinTimeEnd, [filterUserIDList json]);
285
+ }
286
+ - (void)getGroupMemberOwnerAndAdmin:(NSString *)groupID operationID:(NSString *)operationID
287
+ resolve:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject {
288
+ RNCallbackPromise *proxy = [[RNCallbackPromise alloc] initWithCallbackPromise:resolve reject:reject];
289
+ Aka_im_coreGetGroupMemberOwnerAndAdmin(proxy, operationID, groupID);
290
+ }
291
+ - (void)getGroupMemberList:(GetGroupMemberParams &)options operationID:(NSString *)operationID
292
+ resolve:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject {
293
+ RNCallbackPromise *proxy = [[RNCallbackPromise alloc] initWithCallbackPromise:resolve reject:reject];
294
+ NSDictionary *optionsDict = STRUCT_TO_DICT(options);
295
+ NSString *groupID = optionsDict[@"groupID"];
296
+ NSInteger filter = [optionsDict[@"filter"] integerValue];
297
+ NSInteger offset = [optionsDict[@"offset"] integerValue];
298
+ NSInteger count = [optionsDict[@"count"] integerValue];
299
+
300
+ Aka_im_coreGetGroupMemberList(proxy, operationID, groupID, (int32_t)filter, (int32_t)offset, (int32_t)count);
301
+ }
302
+ // - (void)setGroupApplyMemberFriend:(NSDictionary *)options operationID:(NSString *)operationID
303
+ // resolve:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject {
304
+ // RNCallbackPromise *proxy = [[RNCallbackPromise alloc] initWithCallbackPromise:resolve reject:reject];
305
+ // NSDictionary *param = @{
306
+ // @"groupID":options[@"groupID"],
307
+ // @"applyMemberFriend":options[@"rule"],
308
+ // };
309
+
310
+ // Aka_im_coreSetGroupInfo(proxy, operationID, [param json]);
311
+ // }
312
+ // - (void)setGroupLookMemberInfo:(NSDictionary *)options operationID:(NSString *)operationID
313
+ // resolve:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject {
314
+ // RNCallbackPromise *proxy = [[RNCallbackPromise alloc] initWithCallbackPromise:resolve reject:reject];
315
+ // NSDictionary *param = @{
316
+ // @"groupID":options[@"groupID"],
317
+ // @"lookMemberInfo":options[@"rule"],
318
+ // };
319
+
320
+ // Aka_im_coreSetGroupInfo(proxy, operationID, [param json]);
321
+ // }
322
+ // - (void)setGroupVerification:(NSDictionary *)options operationID:(NSString *)operationID
323
+ // resolve:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject {
324
+ // RNCallbackPromise *proxy = [[RNCallbackPromise alloc] initWithCallbackPromise:resolve reject:reject];
325
+ // NSDictionary *param = @{
326
+ // @"groupID":options[@"groupID"],
327
+ // @"needVerification":options[@"verification"],
328
+ // };
329
+
330
+ // Aka_im_coreSetGroupInfo(proxy, operationID, [param json]);
331
+ // }
332
+
333
+ - (void)setGroupInfo:(SpecSetGroupInfoOptions &)options operationID:(NSString *)operationID
334
+ resolve:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject {
335
+ RNCallbackPromise *proxy = [[RNCallbackPromise alloc] initWithCallbackPromise:resolve reject:reject];
336
+ NSDictionary *optionsDict = STRUCT_TO_DICT(options);
337
+
338
+ Aka_im_coreSetGroupInfo(proxy, operationID, [optionsDict json]);
339
+ }
340
+ - (void)searchGroups:(SearchGroupParams &)options operationID:(NSString *)operationID
341
+ resolve:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject {
342
+ RNCallbackPromise *proxy = [[RNCallbackPromise alloc] initWithCallbackPromise:resolve reject:reject];
343
+ NSDictionary *optionsDict = STRUCT_TO_DICT(options);
344
+ NSString *optionsJson = [optionsDict json];
345
+
346
+ Aka_im_coreSearchGroups(proxy, operationID, optionsJson);
347
+ }
348
+ - (void)getSpecifiedGroupsInfo:(NSArray *)groupIDList operationID:(NSString *)operationID
349
+ resolve:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject {
350
+ RNCallbackPromise *proxy = [[RNCallbackPromise alloc] initWithCallbackPromise:resolve reject:reject];
351
+ NSString *groupIDListJson = [groupIDList json];
352
+
353
+ Aka_im_coreGetSpecifiedGroupsInfo(proxy, operationID, groupIDListJson);
354
+ }
355
+ - (void)getJoinedGroupListPage:(OffsetParams &)options operationID:(NSString *)operationID
356
+ resolve:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject {
357
+ RNCallbackPromise *proxy = [[RNCallbackPromise alloc] initWithCallbackPromise:resolve reject:reject];
358
+ NSDictionary *optionsDict = STRUCT_TO_DICT(options);
359
+ NSInteger offset = [optionsDict[@"offset"] integerValue];
360
+ NSInteger count = [optionsDict[@"count"] integerValue];
361
+
362
+ Aka_im_coreGetJoinedGroupListPage(proxy, operationID, (int32_t)offset, (int32_t)count);
363
+ }
364
+ - (void)getJoinedGroupList:(NSString *)operationID
365
+ resolve:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject {
366
+ RNCallbackPromise *proxy = [[RNCallbackPromise alloc] initWithCallbackPromise:resolve reject:reject];
367
+ Aka_im_coreGetJoinedGroupList(proxy, operationID);
368
+ }
369
+ - (void)setGroupMemberInfo:(UpdateMemberInfoParams &)options operationID:(NSString *)operationID
370
+ resolve:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject {
371
+ RNCallbackPromise *proxy = [[RNCallbackPromise alloc] initWithCallbackPromise:resolve reject:reject];
372
+ NSDictionary *optionsDict = STRUCT_TO_DICT(options);
373
+
374
+ Aka_im_coreSetGroupMemberInfo(proxy, operationID, [optionsDict json]);
375
+ }
376
+ // - (void)setGroupMemberRoleLevel:(NSDictionary *)options operationID:(NSString *)operationID
377
+ // resolve:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject {
378
+ // RNCallbackPromise *proxy = [[RNCallbackPromise alloc] initWithCallbackPromise:resolve reject:reject];
379
+
380
+ // Aka_im_coreSetGroupMemberInfo(proxy, operationID, [options json]);
381
+ // }
382
+
383
+ - (void)changeGroupMute:(ChangeGroupMuteParams &)options operationID:(NSString *)operationID
384
+ resolve:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject {
385
+ RNCallbackPromise *proxy = [[RNCallbackPromise alloc] initWithCallbackPromise:resolve reject:reject];
386
+ NSDictionary *optionsDict = STRUCT_TO_DICT(options);
387
+ NSString *groupID = optionsDict[@"groupID"];
388
+ BOOL isMute = [optionsDict[@"isMute"] boolValue];
389
+
390
+ Aka_im_coreChangeGroupMute(proxy, operationID, groupID, isMute);
391
+ }
392
+
393
+ - (void)changeGroupMemberMute:(ChangeGroupMemberMuteParams &)options operationID:(NSString *)operationID
394
+ resolve:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject {
395
+ RNCallbackPromise *proxy = [[RNCallbackPromise alloc] initWithCallbackPromise:resolve reject:reject];
396
+ NSDictionary *optionsDict = STRUCT_TO_DICT(options);
397
+ NSString *groupID = optionsDict[@"groupID"];
398
+ NSString *userID = optionsDict[@"userID"];
399
+ NSInteger mutedSeconds = [optionsDict[@"mutedSeconds"] integerValue];
400
+
401
+ Aka_im_coreChangeGroupMemberMute(proxy, operationID, groupID, userID, (int32_t)mutedSeconds);
402
+ }
403
+ - (void)dismissGroup:(NSString *)groupID operationID:(NSString *)operationID
404
+ resolve:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject {
405
+ RNCallbackPromise *proxy = [[RNCallbackPromise alloc] initWithCallbackPromise:resolve reject:reject];
406
+ Aka_im_coreDismissGroup(proxy, operationID, groupID);
407
+ }
408
+
409
+ - (void)quitGroup:(NSString *)groupId operationID:(NSString *)operationID
410
+ resolve:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject {
411
+ RNCallbackPromise *proxy = [[RNCallbackPromise alloc] initWithCallbackPromise:resolve reject:reject];
412
+ Aka_im_coreQuitGroup(proxy, operationID, groupId);
413
+ }
414
+ - (void)joinGroup:(JoinGroupParams &)options operationID:(NSString *)operationID
415
+ resolve:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject {
416
+ RNCallbackPromise *proxy = [[RNCallbackPromise alloc] initWithCallbackPromise:resolve reject:reject];
417
+ NSDictionary *optionsDict = STRUCT_TO_DICT(options);
418
+ NSInteger joinSource = [optionsDict[@"joinSource"] integerValue];
419
+ NSString *groupID = optionsDict[@"groupID"];
420
+ NSString *reqMsg = optionsDict[@"reqMsg"];
421
+ NSString *ex = optionsDict[@"ex"];
422
+
423
+ if (!ex) {
424
+ ex = @"";
425
+ }
426
+
427
+ Aka_im_coreJoinGroup(proxy, operationID, groupID, reqMsg, (int32_t)joinSource, ex);
428
+ }
429
+ - (void)createGroup:(CreateGroupParams &)options operationID:(NSString *)operationID
430
+ resolve:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject {
431
+ RNCallbackPromise * proxy = [[RNCallbackPromise alloc] initWithCallbackPromise:resolve reject:reject];
432
+ NSDictionary *optionsDict = STRUCT_TO_DICT(options);
433
+ Aka_im_coreCreateGroup(proxy,operationID, [optionsDict json]);
434
+ }
435
+ - (void)setGroupListener {
436
+ Aka_im_coreSetGroupListener(self);
437
+ }
438
+
439
+ - (void)setFriendListener {
440
+ Aka_im_coreSetFriendListener(self);
441
+ }
442
+
443
+ - (void)removeBlack:(NSString *)removeUserID operationID:(NSString *)operationID
444
+ resolve:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject {
445
+ RNCallbackPromise *proxy = [[RNCallbackPromise alloc] initWithCallbackPromise:resolve reject:reject];
446
+ Aka_im_coreRemoveBlack(proxy, operationID, removeUserID);
447
+ }
448
+ - (void)getBlackList:(NSString *)operationID
449
+ resolve:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject {
450
+ RNCallbackPromise *proxy = [[RNCallbackPromise alloc] initWithCallbackPromise:resolve reject:reject];
451
+ Aka_im_coreGetBlackList(proxy, operationID);
452
+ }
453
+ - (void)addBlack:(AddBlackParams &)options operationID:(NSString *)operationID
454
+ resolve:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject {
455
+ RNCallbackPromise *proxy = [[RNCallbackPromise alloc] initWithCallbackPromise:resolve reject:reject];
456
+ NSDictionary *optionsDict = STRUCT_TO_DICT(options);
457
+ NSString *toUserID = optionsDict[@"toUserID"];
458
+ NSString *ex = optionsDict[@"ex"];
459
+ if (!ex) {
460
+ ex = @"";
461
+ }
462
+
463
+ Aka_im_coreAddBlack(proxy, operationID, toUserID, ex);
464
+ }
465
+ - (void)refuseFriendApplication:(AccessFriendParams &)userIDHandleMsg operationID:(NSString *)operationID
466
+ resolve:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject {
467
+ RNCallbackPromise *proxy = [[RNCallbackPromise alloc] initWithCallbackPromise:resolve reject:reject];
468
+ NSDictionary *optionsDict = STRUCT_TO_DICT(userIDHandleMsg);
469
+ NSString *userIDHandleMsgJson = [optionsDict json];
470
+
471
+ Aka_im_coreRefuseFriendApplication(proxy, operationID, userIDHandleMsgJson);
472
+ }
473
+ - (void)acceptFriendApplication:(AccessFriendParams &)options operationID:(NSString *)operationID
474
+ resolve:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject {
475
+ RNCallbackPromise *proxy = [[RNCallbackPromise alloc] initWithCallbackPromise:resolve reject:reject];
476
+ NSDictionary *optionsDict = STRUCT_TO_DICT(options);
477
+ NSString *userIDHandleMsgJson = [optionsDict json];
478
+
479
+ Aka_im_coreAcceptFriendApplication(proxy, operationID, userIDHandleMsgJson);
480
+ }
481
+
482
+ - (void)getFriendApplicationListAsApplicant:(NSString *)operationID
483
+ resolve:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject {
484
+ RNCallbackPromise *proxy = [[RNCallbackPromise alloc] initWithCallbackPromise:resolve reject:reject];
485
+ Aka_im_coreGetFriendApplicationListAsApplicant(proxy, operationID);
486
+ }
487
+
488
+ - (void)getFriendApplicationListAsRecipient:(NSString *)operationID
489
+ resolve:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject {
490
+ RNCallbackPromise *proxy = [[RNCallbackPromise alloc] initWithCallbackPromise:resolve reject:reject];
491
+ Aka_im_coreGetFriendApplicationListAsRecipient(proxy, operationID);
492
+ }
493
+
494
+ - (void)deleteFriend:(NSString *)friendUserID operationID:(NSString *)operationID
495
+ resolve:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject {
496
+ RNCallbackPromise *proxy = [[RNCallbackPromise alloc] initWithCallbackPromise:resolve reject:reject];
497
+ Aka_im_coreDeleteFriend(proxy, operationID, friendUserID);
498
+ }
499
+ - (void)setFriendRemark:(RemarkFriendParams &)options operationID:(NSString *)operationID
500
+ resolve:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject {
501
+ RNCallbackPromise *proxy = [[RNCallbackPromise alloc] initWithCallbackPromise:resolve reject:reject];
502
+ NSDictionary *optionsDict = STRUCT_TO_DICT(options);
503
+
504
+ NSMutableArray *friendUserIDs = [NSMutableArray array];
505
+ NSString *friendUserID = optionsDict[@"friendUserIDs"];
506
+ if (friendUserID) {
507
+ [friendUserIDs addObject:friendUserID];
508
+ }
509
+
510
+ NSDictionary *param = @{
511
+ @"friendUserIDs":friendUserIDs,
512
+ @"remark":optionsDict[@"remark"] ?: @"",
513
+ };
514
+ Aka_im_coreUpdateFriends(proxy, operationID, [param json]);
515
+ }
516
+ - (void)addFriend:(AddFriendParams &)options operationID:(NSString *)operationID
517
+ resolve:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject {
518
+ RNCallbackPromise *proxy = [[RNCallbackPromise alloc] initWithCallbackPromise:resolve reject:reject];
519
+ NSDictionary *optionsDict = STRUCT_TO_DICT(options);
520
+ NSString *paramsReqJson = [optionsDict json];
521
+
522
+ Aka_im_coreAddFriend(proxy, operationID, paramsReqJson);
523
+ }
524
+
525
+ - (void)checkFriend:(NSArray *)userIDList operationID:(NSString *)operationID
526
+ resolve:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject {
527
+ RNCallbackPromise *proxy = [[RNCallbackPromise alloc] initWithCallbackPromise:resolve reject:reject];
528
+ NSString *userIDListString = [userIDList json];
529
+
530
+ Aka_im_coreCheckFriend(proxy, operationID, userIDListString);
531
+ }
532
+ - (void)searchFriends:(SearchFriendParams &)options operationID:(NSString *)operationID
533
+ resolve:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject {
534
+ RNCallbackPromise *proxy = [[RNCallbackPromise alloc] initWithCallbackPromise:resolve reject:reject];
535
+ NSDictionary *optionsDict = STRUCT_TO_DICT(options);
536
+ NSString *optionsJson = [optionsDict json];
537
+
538
+ Aka_im_coreSearchFriends(proxy, operationID, optionsJson);
539
+ }
540
+ - (void)getFriendListPage:(OffsetParams &)options operationID:(NSString *)operationID
541
+ resolve:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject {
542
+ RNCallbackPromise *proxy = [[RNCallbackPromise alloc] initWithCallbackPromise:resolve reject:reject];
543
+ NSDictionary *optionsDict = STRUCT_TO_DICT(options);
544
+ NSInteger offset = [optionsDict[@"offset"] integerValue];
545
+ NSInteger count = [optionsDict[@"count"] integerValue];
546
+
547
+ Aka_im_coreGetFriendListPage(proxy, operationID, (int32_t)offset, (int32_t)count, [[optionsDict valueForKey:@"filterBlack"] boolValue]);
548
+ }
549
+ - (void)getFriendList:(BOOL)filterBlack operationID:(NSString *)operationID
550
+ resolve:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject {
551
+ RNCallbackPromise *proxy = [[RNCallbackPromise alloc] initWithCallbackPromise:resolve reject:reject];
552
+ Aka_im_coreGetFriendList(proxy, operationID, filterBlack);
553
+ }
554
+ - (void)getSpecifiedFriendsInfo:(GetSpecifiedFriendsParams &)options operationID:(NSString *)operationID
555
+ resolve:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject {
556
+ RNCallbackPromise *proxy = [[RNCallbackPromise alloc] initWithCallbackPromise:resolve reject:reject];
557
+ NSDictionary *optionsDict = STRUCT_TO_DICT(options);
558
+ NSArray *userIDList = [optionsDict valueForKey:@"userIDList"];
559
+ Aka_im_coreGetSpecifiedFriendsInfo(proxy, operationID, [userIDList json], [[optionsDict valueForKey:@"filterBlack"] boolValue]);
560
+ }
561
+ - (void)searchLocalMessages:(SearchLocalParams &)options operationID:(NSString *)operationID
562
+ resolve:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject {
563
+ RNCallbackPromise *proxy = [[RNCallbackPromise alloc] initWithCallbackPromise:resolve reject:reject];
564
+ NSDictionary *optionsDict = STRUCT_TO_DICT(options);
565
+ Aka_im_coreSearchLocalMessages(proxy, operationID, [optionsDict json]);
566
+ }
567
+ - (void)setMessageLocalEx:(SetMessageLocalExParams &)options operationID:(NSString *)operationID
568
+ resolve:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject {
569
+ RNCallbackPromise *proxy = [[RNCallbackPromise alloc] initWithCallbackPromise:resolve reject:reject];
570
+ NSDictionary *optionsDict = STRUCT_TO_DICT(options);
571
+ NSString *conversationID = optionsDict[@"conversationID"];
572
+ NSString *clientMsgID = optionsDict[@"clientMsgID"];
573
+ NSString *localEx = optionsDict[@"localEx"];
574
+
575
+ Aka_im_coreSetMessageLocalEx(proxy, operationID, conversationID, clientMsgID, localEx);
576
+ }
577
+ - (void)insertGroupMessageToLocalStorage:(InsertGroupMsgParams &)options operationID:(NSString *)operationID
578
+ resolve:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject {
579
+ RNCallbackPromise *proxy = [[RNCallbackPromise alloc] initWithCallbackPromise:resolve reject:reject];
580
+ NSDictionary *optionsDict = STRUCT_TO_DICT(options);
581
+ NSDictionary *message = optionsDict[@"message"];
582
+ NSString *groupID = optionsDict[@"groupID"];
583
+ NSString *sendID = optionsDict[@"sendID"];
584
+
585
+ Aka_im_coreInsertGroupMessageToLocalStorage(proxy, operationID, [message json], groupID, sendID);
586
+ }
587
+ - (void)insertSingleMessageToLocalStorage:(InsertSingleMsgParams &)options operationID:(NSString *)operationID
588
+ resolve:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject {
589
+ RNCallbackPromise *proxy = [[RNCallbackPromise alloc] initWithCallbackPromise:resolve reject:reject];
590
+ NSDictionary *optionsDict = STRUCT_TO_DICT(options);
591
+ NSDictionary *message = optionsDict[@"message"];
592
+ NSString *recvID = optionsDict[@"recvID"];
593
+ NSString *sendID = optionsDict[@"sendID"];
594
+
595
+ Aka_im_coreInsertSingleMessageToLocalStorage(proxy, operationID, [message json], recvID, sendID);
596
+ }
597
+
598
+ - (void)deleteConversationAndDeleteAllMsg:(NSString *)conversationID operationID:(NSString *)operationID
599
+ resolve:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject {
600
+ RNCallbackPromise *proxy = [[RNCallbackPromise alloc] initWithCallbackPromise:resolve reject:reject];
601
+ Aka_im_coreDeleteConversationAndDeleteAllMsg(proxy, operationID, conversationID);
602
+ }
603
+ - (void)clearConversationAndDeleteAllMsg:(NSString *)conversationID operationID:(NSString *)operationID
604
+ resolve:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject {
605
+ RNCallbackPromise *proxy = [[RNCallbackPromise alloc] initWithCallbackPromise:resolve reject:reject];
606
+ Aka_im_coreClearConversationAndDeleteAllMsg(proxy, operationID, conversationID);
607
+ }
608
+
609
+ - (void)deleteAllMsgFromLocal:(NSString *)operationID
610
+ resolve:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject {
611
+ RNCallbackPromise *proxy = [[RNCallbackPromise alloc] initWithCallbackPromise:resolve reject:reject];
612
+ Aka_im_coreDeleteAllMsgFromLocal(proxy, operationID);
613
+ }
614
+ - (void)deleteAllMsgFromLocalAndSvr:(NSString *)operationID
615
+ resolve:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject {
616
+ RNCallbackPromise *proxy = [[RNCallbackPromise alloc] initWithCallbackPromise:resolve reject:reject];
617
+ Aka_im_coreDeleteAllMsgFromLocalAndSvr(proxy, operationID);
618
+ }
619
+
620
+ - (void)deleteMessage:(OpreateMessageParams &)options operationID:(NSString *)operationID
621
+ resolve:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject {
622
+ RNCallbackPromise *proxy = [[RNCallbackPromise alloc] initWithCallbackPromise:resolve reject:reject];
623
+ NSDictionary *optionsDict = STRUCT_TO_DICT(options);
624
+ NSString *conversationID = optionsDict[@"conversationID"];
625
+ NSString *clientMsgID = optionsDict[@"clientMsgID"];
626
+
627
+ Aka_im_coreDeleteMessage(proxy, operationID, conversationID, clientMsgID);
628
+ }
629
+ - (void)deleteMessageFromLocalStorage:(OpreateMessageParams &)options operationID:(NSString *)operationID
630
+ resolve:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject {
631
+ RNCallbackPromise *proxy = [[RNCallbackPromise alloc] initWithCallbackPromise:resolve reject:reject];
632
+ NSDictionary *optionsDict = STRUCT_TO_DICT(options);
633
+ NSString *conversationID = optionsDict[@"conversationID"];
634
+ NSString *clientMsgID = optionsDict[@"clientMsgID"];
635
+
636
+ Aka_im_coreDeleteMessageFromLocalStorage(proxy, operationID, conversationID, clientMsgID);
637
+ }
638
+ // - (void)markMessagesAsReadByMsgID:(NSDictionary *)options operationID:(NSString *)operationID
639
+ // resolve:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject {
640
+ // RNCallbackPromise *proxy = [[RNCallbackPromise alloc] initWithCallbackPromise:resolve reject:reject];
641
+ // NSString *conversationID = options[@"conversationID"];
642
+ // NSArray *clientMsgIDList = options[@"clientMsgIDList"];
643
+
644
+ // Aka_im_coreMarkMessagesAsReadByMsgID(proxy,operationID, conversationID, [clientMsgIDList json]);
645
+ // }
646
+
647
+ - (void)markConversationMessageAsRead:(NSString *)conversationID operationID:(NSString *)operationID
648
+ resolve:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject {
649
+ RNCallbackPromise *proxy = [[RNCallbackPromise alloc] initWithCallbackPromise:resolve reject:reject];
650
+ Aka_im_coreMarkConversationMessageAsRead(proxy,operationID, conversationID);
651
+ }
652
+
653
+ - (void)getInputStates:(GetInputStatesParams &)options operationID:(NSString *)operationID
654
+ resolve:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject {
655
+ RNCallbackPromise *proxy = [[RNCallbackPromise alloc] initWithCallbackPromise:resolve reject:reject];
656
+ NSDictionary *optionsDict = STRUCT_TO_DICT(options);
657
+
658
+ Aka_im_coreGetInputStates(proxy, operationID, [optionsDict valueForKey:@"conversationID"], [optionsDict valueForKey:@"userID"]);
659
+ }
660
+ - (void)changeInputStates:(ChangeInputStatesParams &)options operationID:(NSString *)operationID
661
+ resolve:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject {
662
+ RNCallbackPromise *proxy = [[RNCallbackPromise alloc] initWithCallbackPromise:resolve reject:reject];
663
+ NSDictionary *optionsDict = STRUCT_TO_DICT(options);
664
+ Aka_im_coreChangeInputStates(proxy, operationID, [optionsDict valueForKey:@"conversationID"], [[optionsDict valueForKey:@"focus"] boolValue]);
665
+ }
666
+ - (void)typingStatusUpdate:(TypingUpdateParams &)options operationID:(NSString *)operationID
667
+ resolve:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject {
668
+ RNCallbackPromise *proxy = [[RNCallbackPromise alloc] initWithCallbackPromise:resolve reject:reject];
669
+ NSDictionary *optionsDict = STRUCT_TO_DICT(options);
670
+ NSString *recvID = optionsDict[@"recvID"];
671
+ NSString *msgTip = optionsDict[@"msgTip"];
672
+
673
+ Aka_im_coreTypingStatusUpdate(proxy, operationID, recvID, msgTip);
674
+ }
675
+ // - (void)searchConversation:(NSString *)searchParams operationID:(NSString *)operationID resolve:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject {
676
+ // RNCallbackPromise *proxy = [[RNCallbackPromise alloc] initWithCallbackPromise:resolve reject:reject];
677
+
678
+ // Aka_im_coreSearchConversation(proxy, operationID, searchParams);
679
+ // }
680
+
681
+ - (void)revokeMessage:(OpreateMessageParams &)options operationID:(NSString *)operationID
682
+ resolve:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject {
683
+ RNCallbackPromise *proxy = [[RNCallbackPromise alloc] initWithCallbackPromise:resolve reject:reject];
684
+ NSDictionary *optionsDict = STRUCT_TO_DICT(options);
685
+ NSString *conversationID = optionsDict[@"conversationID"];
686
+ NSString *clientMsgID = optionsDict[@"clientMsgID"];
687
+
688
+ Aka_im_coreRevokeMessage(proxy, operationID, conversationID, clientMsgID);
689
+ }
690
+ - (void)getAdvancedHistoryMessageListReverse:(GetAdvancedHistoryMsgParams &)options operationID:(NSString *)operationID
691
+ resolve:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject {
692
+ RNCallbackPromise *proxy = [[RNCallbackPromise alloc] initWithCallbackPromise:resolve reject:reject];
693
+ NSDictionary *optionsDict = STRUCT_TO_DICT(options);
694
+ NSString *optionsJson = [optionsDict json];
695
+
696
+ Aka_im_coreGetAdvancedHistoryMessageListReverse(proxy, operationID, optionsJson);
697
+ }
698
+ - (void)getAdvancedHistoryMessageList:(GetAdvancedHistoryMsgParams &)options operationID:(NSString *)operationID
699
+ resolve:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject {
700
+ RNCallbackPromise *proxy = [[RNCallbackPromise alloc] initWithCallbackPromise:resolve reject:reject];
701
+ NSDictionary *optionsDict = STRUCT_TO_DICT(options);
702
+ NSString *optionsJson = [optionsDict json];
703
+ Aka_im_coreGetAdvancedHistoryMessageList(proxy, operationID, optionsJson);
704
+ }
705
+ - (void)findMessageList:(NSArray *)findOptions operationID:(NSString *)operationID
706
+ resolve:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject {
707
+ RNCallbackPromise *proxy = [[RNCallbackPromise alloc] initWithCallbackPromise:resolve reject:reject];
708
+ NSString *findOptionsJson = [findOptions json];
709
+
710
+ Aka_im_coreFindMessageList(proxy, operationID, findOptionsJson);
711
+ }
712
+ - (void)sendMessageNotOss:(SendMsgParams &)options operationID:(NSString *)operationID
713
+ resolve:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject {
714
+ NSDictionary *optionsDict = STRUCT_TO_DICT(options);
715
+ NSDictionary *message = optionsDict[@"message"];
716
+ NSString *recvID = optionsDict[@"recvID"];
717
+ NSString *groupID = optionsDict[@"groupID"];
718
+ NSDictionary *offlinePushInfo = optionsDict[@"offlinePushInfo"];
719
+
720
+ BOOL isOnlineOnly = [optionsDict[@"isOnlineOnly"] boolValue];
721
+ if(!isOnlineOnly) {
722
+ isOnlineOnly = NO;
723
+ }
724
+
725
+ if (!offlinePushInfo) {
726
+ offlinePushInfo = @{
727
+ @"title": @"you have a new message",
728
+ @"desc": @"new message",
729
+ @"ex": @"",
730
+ @"iOSPushSound": @"+1",
731
+ @"iOSBadgeCount": @YES
732
+ };
733
+ }
734
+
735
+ RNSendMessageCallback * proxy = [[RNSendMessageCallback alloc] initWithMessage:[message json] module:self resolve:resolve reject:reject];
736
+ Aka_im_coreSendMessageNotOss(proxy, operationID, [message json], recvID, groupID, [offlinePushInfo json], isOnlineOnly);
737
+ }
738
+ - (void)sendMessage:(SendMsgParams &)options operationID:(NSString *)operationID
739
+ resolve:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject {
740
+ NSDictionary *optionsDict = STRUCT_TO_DICT(options);
741
+ NSDictionary *message = optionsDict[@"message"];
742
+ NSString *recvID = optionsDict[@"recvID"];
743
+ NSString *groupID = optionsDict[@"groupID"];
744
+ NSDictionary *offlinePushInfo = optionsDict[@"offlinePushInfo"];
745
+
746
+ BOOL isOnlineOnly = [optionsDict[@"isOnlineOnly"] boolValue];
747
+ if(!isOnlineOnly) {
748
+ isOnlineOnly = NO;
749
+ }
750
+ if (!offlinePushInfo) {
751
+ offlinePushInfo = @{
752
+ @"title": @"you have a new message",
753
+ @"desc": @"new message",
754
+ @"ex": @"",
755
+ @"iOSPushSound": @"+1",
756
+ @"iOSBadgeCount": @YES
757
+ };
758
+ }
759
+ RNSendMessageCallback * proxy = [[RNSendMessageCallback alloc] initWithMessage:[message json] module:self resolve:resolve reject:reject];
760
+ Aka_im_coreSendMessage(proxy, operationID, [message json], recvID, groupID, [offlinePushInfo json], isOnlineOnly);
761
+ }
762
+ - (void)getConversationIDBySessionType:(GetOneConversationParams &)options operationID:(NSString *)operationID
763
+ resolve:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject {
764
+ NSDictionary *optionsDict = STRUCT_TO_DICT(options);
765
+ NSString *sourceID = optionsDict[@"sourceID"];
766
+ NSInteger sessionType = [optionsDict[@"sessionType"] integerValue];
767
+
768
+ NSString *result = Aka_im_coreGetConversationIDBySessionType(operationID, sourceID, (long)sessionType);
769
+ NSDictionary *message = [self parseJsonStr2Dict:result];
770
+ if (message) {
771
+ resolve(message);
772
+ } else {
773
+ resolve(result);
774
+ }
775
+ }
776
+ - (void)createForwardMessage:(MessageItem &)options operationID:(NSString *)operationID
777
+ resolve:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject {
778
+ NSDictionary *optionsDict = STRUCT_TO_DICT(options);
779
+ NSString *result = Aka_im_coreCreateForwardMessage(operationID, [optionsDict json]);
780
+ NSDictionary *messageObj = [self parseJsonStr2Dict:result];
781
+ if (messageObj) {
782
+ resolve(messageObj);
783
+ } else {
784
+ resolve(result);
785
+ }
786
+ }
787
+
788
+ - (void)createFaceMessage:(FaceMessageParams &)options operationID:(NSString *)operationID
789
+ resolve:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject {
790
+ NSDictionary *optionsDict = STRUCT_TO_DICT(options);
791
+ NSInteger index = [optionsDict[@"index"] integerValue];
792
+ NSString *dataStr = optionsDict[@"dataStr"];
793
+
794
+ NSString *result = Aka_im_coreCreateFaceMessage(operationID, (long)index, dataStr);
795
+ NSDictionary *message = [self parseJsonStr2Dict:result];
796
+ if (message) {
797
+ resolve(message);
798
+ } else {
799
+ resolve(result);
800
+ }
801
+ }
802
+ - (void)createMergerMessage:(MergerMsgParams &)options operationID:(NSString *)operationID
803
+ resolve:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject {
804
+ NSDictionary *optionsDict = STRUCT_TO_DICT(options);
805
+ NSDictionary *messageList = optionsDict[@"messageList"];
806
+ NSDictionary *summaryList = optionsDict[@"summaryList"];
807
+ NSString *title = optionsDict[@"title"];
808
+
809
+ NSString *result = Aka_im_coreCreateMergerMessage(operationID, [messageList json], title, [summaryList json]);
810
+ NSDictionary *message = [self parseJsonStr2Dict:result];
811
+ if (message) {
812
+ resolve(message);
813
+ } else {
814
+ resolve(result);
815
+ }
816
+ }
817
+ - (void)createFileMessageByURL:(FileMsgParams &)options operationID:(NSString *)operationID
818
+ resolve:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject {
819
+ NSDictionary *optionsDict = STRUCT_TO_DICT(options);
820
+ NSString *result = Aka_im_coreCreateFileMessageByURL(operationID, [optionsDict json]);
821
+ NSDictionary *message = [self parseJsonStr2Dict:result];
822
+ if (message) {
823
+ resolve(message);
824
+ } else {
825
+ resolve(result);
826
+ }
827
+ }
828
+
829
+ - (void)createFileMessageFromFullPath:(VideoMsgByPathParams &)options operationID:(NSString *)operationID
830
+ resolve:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject {
831
+ NSDictionary *optionsDict = STRUCT_TO_DICT(options);
832
+ NSString *filePath = optionsDict[@"filePath"];
833
+ NSString *fileName = optionsDict[@"fileName"];
834
+
835
+ NSString *result = Aka_im_coreCreateFileMessageFromFullPath(operationID, filePath, fileName);
836
+ NSDictionary *message = [self parseJsonStr2Dict:result];
837
+ if (message) {
838
+ resolve(message);
839
+ } else {
840
+ resolve(result);
841
+ }
842
+ }
843
+
844
+ - (void)createFileMessage:(FileMsgByPathParams &)options operationID:(NSString *)operationID
845
+ resolve:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject {
846
+ NSDictionary *optionsDict = STRUCT_TO_DICT(options);
847
+ NSString *filePath = optionsDict[@"filePath"];
848
+ NSString *fileName = optionsDict[@"fileName"];
849
+
850
+ NSString *result = Aka_im_coreCreateFileMessage(operationID, filePath, fileName);
851
+ NSDictionary *message = [self parseJsonStr2Dict:result];
852
+ if (message) {
853
+ resolve(message);
854
+ } else {
855
+ resolve(result);
856
+ }
857
+ }
858
+
859
+ - (void)createVideoMessageByURL:(VideoMsgParams &)options operationID:(NSString *)operationID
860
+ resolve:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject {
861
+ NSDictionary *optionsDict = STRUCT_TO_DICT(options);
862
+ NSString *result = Aka_im_coreCreateVideoMessageByURL(operationID, [optionsDict json]);
863
+ NSDictionary *message = [self parseJsonStr2Dict:result];
864
+ if (message) {
865
+ resolve(message);
866
+ } else {
867
+ resolve(result);
868
+ }
869
+ }
870
+ - (void)createVideoMessageFromFullPath:(VideoMsgByPathParams &)options operationID:(NSString *)operationID
871
+ resolve:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject {
872
+ NSDictionary *optionsDict = STRUCT_TO_DICT(options);
873
+ NSString *videoPath = optionsDict[@"videoPath"];
874
+ NSString *videoType = optionsDict[@"videoType"];
875
+ NSString *snapshotPath = optionsDict[@"snapshotPath"];
876
+ NSInteger duration = [optionsDict[@"duration"] integerValue];
877
+
878
+ NSString *result = Aka_im_coreCreateVideoMessageFromFullPath(operationID, videoPath, videoType, (long)duration, snapshotPath);
879
+ NSDictionary *message = [self parseJsonStr2Dict:result];
880
+ if (message) {
881
+ resolve(message);
882
+ } else {
883
+ resolve(result);
884
+ }
885
+ }
886
+ // - (void)createVideoMessage:(VideoMsgParams &)options operationID:(NSString *)operationID
887
+ // resolve:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject {
888
+ // NSDictionary *optionsDict = STRUCT_TO_DICT(options);
889
+ // NSString *videoPath = optionsDict[@"videoPath"];
890
+ // NSString *videoType = optionsDict[@"videoType"];
891
+ // NSString *snapshotPath = optionsDict[@"snapshotPath"];
892
+ // NSInteger duration = [optionsDict[@"duration"] integerValue];
893
+
894
+ // NSString *result = Aka_im_coreCreateVideoMessage(operationID, videoPath, videoType, (long)duration, snapshotPath);
895
+ // NSDictionary *message = [self parseJsonStr2Dict:result];
896
+ // if (message) {
897
+ // resolve(message);
898
+ // } else {
899
+ // resolve(result);
900
+ // }
901
+ // }
902
+
903
+ - (void)createSoundMessageByURL:(SoundMsgParams &)options operationID:(NSString *)operationID
904
+ resolve:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject {
905
+ NSDictionary *optionsDict = STRUCT_TO_DICT(options);
906
+ NSString *result = Aka_im_coreCreateSoundMessageByURL(operationID, [optionsDict json]);
907
+ NSDictionary *message = [self parseJsonStr2Dict:result];
908
+ if (message) {
909
+ resolve(message);
910
+ } else {
911
+ resolve(result);
912
+ }
913
+ }
914
+ - (void)createSoundMessageFromFullPath:(SoundMsgByPathParams &)options operationID:(NSString *)operationID
915
+ resolve:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject {
916
+ NSDictionary *optionsDict = STRUCT_TO_DICT(options);
917
+ NSString *soundPath = optionsDict[@"soundPath"];
918
+ NSInteger duration = [optionsDict[@"duration"] integerValue];
919
+
920
+ NSString *result = Aka_im_coreCreateSoundMessageFromFullPath(operationID, soundPath, (long)duration);
921
+ NSDictionary *message = [self parseJsonStr2Dict:result];
922
+ if (message) {
923
+ resolve(message);
924
+ } else {
925
+ resolve(result);
926
+ }
927
+ }
928
+ // - (void)createSoundMessage:(SpecCreateSoundMessageOptions &)options operationID:(NSString *)operationID
929
+ // resolve:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject {
930
+ // NSDictionary *optionsDict = STRUCT_TO_DICT(options);
931
+ // NSString *result = Aka_im_coreCreateSoundMessage(operationID, optionsDict[@"soundPath"], [optionsDict[@"duration"] integerValue]);
932
+ // NSDictionary *message = [self parseJsonStr2Dict:result];
933
+ // if (message) {
934
+ // resolve(message);
935
+ // } else {
936
+ // resolve(result);
937
+ // }
938
+ // }
939
+
940
+ - (void)createImageMessageByURL:(ImageMsgParams &)options operationID:(NSString *)operationID
941
+ resolve:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject {
942
+ NSDictionary *optionsDict = STRUCT_TO_DICT(options);
943
+ NSDictionary *sourcePicture = optionsDict[@"sourcePicture"];
944
+ NSDictionary *bigPicture = optionsDict[@"bigPicture"];
945
+ NSDictionary *snapshotPicture = optionsDict[@"snapshotPicture"];
946
+ NSString *sourcePath = optionsDict[@"sourcePath"];
947
+
948
+ NSString *result = Aka_im_coreCreateImageMessageByURL(operationID, sourcePath, [sourcePicture json], [bigPicture json], [snapshotPicture json]);
949
+ NSDictionary *message = [self parseJsonStr2Dict:result];
950
+ if (message) {
951
+ resolve(message);
952
+ } else {
953
+ resolve(result);
954
+ }
955
+ }
956
+ - (void)createImageMessageFromFullPath:(NSString *)imagePath operationID:(NSString *)operationID
957
+ resolve:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject {
958
+ NSString *result = Aka_im_coreCreateImageMessageFromFullPath(operationID,imagePath);
959
+ NSDictionary *message = [self parseJsonStr2Dict:result];
960
+ if (message) {
961
+ resolve(message);
962
+ } else {
963
+ resolve(result);
964
+ }
965
+ }
966
+ // - (void)createImageMessage:(NSString *)imagePath operationID:(NSString *)operationID
967
+ // resolve:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject {
968
+ // NSString *result = Aka_im_coreCreateImageMessage(operationID,imagePath);
969
+ // NSDictionary *message = [self parseJsonStr2Dict:result];
970
+ // if (message) {
971
+ // resolve(message);
972
+ // } else {
973
+ // resolve(result);
974
+ // }
975
+ // }
976
+
977
+ - (void)createCardMessage:(CardElem &)options operationID:(NSString *)operationID
978
+ resolve:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject {
979
+ NSDictionary *optionsDict = STRUCT_TO_DICT(options);
980
+ NSString *result = Aka_im_coreCreateCardMessage(operationID, [optionsDict json]);
981
+ NSDictionary *message = [self parseJsonStr2Dict:result];
982
+ if (message) {
983
+ resolve(message);
984
+ } else {
985
+ resolve(result);
986
+ }
987
+ }
988
+ // - (void)createAdvancedQuoteMessage:(AdvancedQuoteMsgParams &)options operationID:(NSString *)operationID
989
+ // resolve:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject {
990
+ // NSDictionary *optionsDict = STRUCT_TO_DICT(options);
991
+ // NSString *result = Aka_im_coreCreateAdvancedQuoteMessage(operationID,optionsDict[@"text"] ,optionsDict[@"message"],optionsDict[@"messageEntityList"]);
992
+ // NSDictionary *message = [self parseJsonStr2Dict:result];
993
+ // if (message) {
994
+ // resolve(message);
995
+ // } else {
996
+ // resolve(result);
997
+ // }
998
+ // }
999
+ - (void)createQuoteMessage:(QuoteMsgParams &)options operationID:(NSString *)operationID
1000
+ resolve:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject {
1001
+ NSString *messageJson = @"";
1002
+ NSDictionary *optionsDict = STRUCT_TO_DICT(options);
1003
+ NSDictionary *message = optionsDict[@"message"];
1004
+ if (message != nil) {
1005
+ messageJson = [message json];
1006
+ }
1007
+ NSString *text = optionsDict[@"text"];
1008
+ NSString *result = Aka_im_coreCreateQuoteMessage(operationID, text, messageJson);
1009
+ NSDictionary *messageObj = [self parseJsonStr2Dict:result];
1010
+ if (messageObj) {
1011
+ resolve(messageObj);
1012
+ } else {
1013
+ resolve(result);
1014
+ }
1015
+ }
1016
+ - (void)createCustomMessage:(CustomMsgParams &)options operationID:(NSString *)operationID
1017
+ resolve:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject {
1018
+ NSString *result = Aka_im_coreCreateCustomMessage(operationID, options.data(), options.extension(), options.description());
1019
+ NSDictionary *message = [self parseJsonStr2Dict:result];
1020
+ if (message) {
1021
+ resolve(message);
1022
+ } else {
1023
+ resolve(result);
1024
+ }
1025
+ }
1026
+
1027
+
1028
+ - (void)createLocationMessage:(LocationMsgParams &)options operationID:(NSString *)operationID
1029
+ resolve:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject {
1030
+ NSDictionary *optionsDict = STRUCT_TO_DICT(options);
1031
+ NSString *description = optionsDict[@"description"];
1032
+ double longitude = [optionsDict[@"longitude"] doubleValue];
1033
+ double latitude = [optionsDict[@"latitude"] doubleValue];
1034
+ NSString *result = Aka_im_coreCreateLocationMessage(operationID, description, longitude, latitude);
1035
+ NSDictionary *message = [self parseJsonStr2Dict:result];
1036
+ if (message) {
1037
+ resolve(message);
1038
+ } else {
1039
+ resolve(result);
1040
+ }
1041
+ }
1042
+ - (void)createTextMessage:(NSString *)options operationID:(NSString *)operationID
1043
+ resolve:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject {
1044
+ NSString *result = Aka_im_coreCreateTextMessage(operationID, options);
1045
+ NSDictionary *message = [self parseJsonStr2Dict:result];
1046
+ if (message) {
1047
+ resolve(message);
1048
+ } else {
1049
+ resolve(result);
1050
+ }
1051
+ }
1052
+ - (void)createTextAtMessage:(AtMsgParams &)options operationID:(NSString *)operationID
1053
+ resolve:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject {
1054
+ NSString *messageJson = @"";
1055
+ NSDictionary *optionsDict = STRUCT_TO_DICT(options);
1056
+ NSDictionary *message = optionsDict[@"message"];
1057
+ if (message != nil) {
1058
+ messageJson = [message json];
1059
+ }
1060
+
1061
+ NSString *text = optionsDict[@"text"];
1062
+ NSArray *atUsersInfo = optionsDict[@"atUsersInfo"];
1063
+
1064
+ NSArray *atUserIDList = optionsDict[@"atUserIDList"];
1065
+ if (!atUserIDList) {
1066
+ atUserIDList = [NSArray array];
1067
+ }
1068
+ NSString *result = Aka_im_coreCreateTextAtMessage(operationID, text, [atUserIDList json], [atUsersInfo json], messageJson);
1069
+ NSDictionary *messageObj = [self parseJsonStr2Dict:result];
1070
+ if (messageObj) {
1071
+ resolve(messageObj);
1072
+ } else {
1073
+ resolve(result);
1074
+ }
1075
+ }
1076
+ // - (void)createAdvancedTextMessage:(SpecCreateAdvancedTextMessageOptions &)options operationID:(NSString *)operationID
1077
+ // resolve:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject {
1078
+
1079
+ // NSArray *messageEntityList = nsArrayFromLazyVector(options.messageEntityList());
1080
+ // NSString *text = options.text();
1081
+ // NSString *result = Aka_im_coreCreateAdvancedTextMessage(operationID, text, [messageEntityList json]);
1082
+ // NSDictionary *message = [self parseJsonStr2Dict:result];
1083
+ // if (message) {
1084
+ // resolve(message);
1085
+ // } else {
1086
+ // resolve(result);
1087
+ // }
1088
+ // }
1089
+ // - (void)getAtAllTag:(NSString *)operationID
1090
+ // resolve:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject {
1091
+ // NSString *atAllTag = Aka_im_coreGetAtAllTag(operationID);
1092
+ // resolve(atAllTag);
1093
+ // }
1094
+
1095
+ - (void)getTotalUnreadMsgCount:(NSString *)operationID
1096
+ resolve:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject {
1097
+ RNCallbackPromise *proxy = [[RNCallbackPromise alloc] initWithCallbackPromise:resolve reject:reject];
1098
+ Aka_im_coreGetTotalUnreadMsgCount(proxy, operationID);
1099
+ }
1100
+ - (void)setConversationRecvMessageOpt:(SetConversationRecvOptParams &)options operationID:(NSString *)operationID
1101
+ resolve:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject {
1102
+ RNCallbackPromise *proxy = [[RNCallbackPromise alloc] initWithCallbackPromise:resolve reject:reject];
1103
+
1104
+ NSDictionary *param =STRUCT_TO_DICT(options);
1105
+ Aka_im_coreSetConversation(proxy, operationID , options.conversationID(), [param json]);
1106
+ }
1107
+ - (void)setConversationBurnDuration:(SetBurnDurationParams &)options operationID:(NSString *)operationID
1108
+ resolve:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject {
1109
+ RNCallbackPromise *proxy = [[RNCallbackPromise alloc] initWithCallbackPromise:resolve reject:reject];
1110
+
1111
+ NSDictionary *param = STRUCT_TO_DICT(options);
1112
+ Aka_im_coreSetConversation(proxy,operationID,options.conversationID(), [param json]);
1113
+ }
1114
+
1115
+ - (void)setConversationPrivateChat:(SetConversationPrivateParams &)options operationID:(NSString *)operationID
1116
+ resolve:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject {
1117
+ RNCallbackPromise *proxy = [[RNCallbackPromise alloc] initWithCallbackPromise:resolve reject:reject];
1118
+ NSDictionary *param = STRUCT_TO_DICT(options);
1119
+ Aka_im_coreSetConversation(proxy,operationID, options.conversationID(), [param json]);
1120
+ }
1121
+ - (void)pinConversation:(PinConversationParams &)options operationID:(NSString *)operationID
1122
+ resolve:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject {
1123
+ RNCallbackPromise *proxy = [[RNCallbackPromise alloc] initWithCallbackPromise:resolve reject:reject];
1124
+
1125
+ NSDictionary *param = STRUCT_TO_DICT(options);
1126
+ Aka_im_coreSetConversation(proxy,operationID, options.conversationID(), [param json]);
1127
+ }
1128
+ - (void)resetConversationGroupAtType:(NSString *)conversationID operationID:(NSString *)operationID
1129
+ resolve:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject {
1130
+ RNCallbackPromise *proxy = [[RNCallbackPromise alloc] initWithCallbackPromise:resolve reject:reject];
1131
+
1132
+ NSDictionary *param = @{
1133
+ @"groupAtType":@(0),
1134
+ };
1135
+ Aka_im_coreSetConversation(proxy, operationID, conversationID, [param json]);
1136
+ }
1137
+ - (void)setConversationDraft:(SetConversationDraftParams &)options operationID:(NSString *)operationID
1138
+ resolve:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject {
1139
+ RNCallbackPromise *proxy = [[RNCallbackPromise alloc] initWithCallbackPromise:resolve reject:reject];
1140
+
1141
+ NSString *conversationID = options.conversationID();
1142
+ NSString *draftText = options.draftText();
1143
+ Aka_im_coreSetConversationDraft(proxy,operationID, conversationID, draftText);
1144
+ }
1145
+ - (void)setConversation:(SetConversationParams &)options operationID:(NSString *)operationID
1146
+ resolve:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject {
1147
+ RNCallbackPromise *proxy = [[RNCallbackPromise alloc] initWithCallbackPromise:resolve reject:reject];
1148
+
1149
+ NSString *conversationID = options.conversationID();
1150
+ NSDictionary *param = STRUCT_TO_DICT(options);
1151
+ Aka_im_coreSetConversation(proxy,operationID, conversationID, [param json]);
1152
+ }
1153
+ - (void)hideConversation:(NSString *)conversationID operationID:(NSString *)operationID
1154
+ resolve:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject {
1155
+ RNCallbackPromise *proxy = [[RNCallbackPromise alloc] initWithCallbackPromise:resolve reject:reject];
1156
+ Aka_im_coreHideConversation(proxy, operationID, conversationID);
1157
+ }
1158
+ // - (void)hideAllConversations:(NSString *)operationID
1159
+ // resolve:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject {
1160
+ // RNCallbackPromise *proxy = [[RNCallbackPromise alloc] initWithCallbackPromise:resolve reject:reject];
1161
+ // Aka_im_coreHideAllConversations(proxy, operationID);
1162
+ // }
1163
+ - (void)setGlobalRecvMessageOpt:(NSInteger)opt operationID:(NSString *)operationID
1164
+ resolve:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject {
1165
+ RNCallbackPromise *proxy = [[RNCallbackPromise alloc] initWithCallbackPromise:resolve reject:reject];
1166
+
1167
+ NSDictionary *param = @{
1168
+ @"globalRecvMsgOpt":@(opt),
1169
+ };
1170
+
1171
+ Aka_im_coreSetSelfInfo(proxy, operationID, [param json]);
1172
+ }
1173
+ - (void)getMultipleConversation:(NSArray *)conversationIDList operationID:(NSString *)operationID
1174
+ resolve:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject {
1175
+ RNCallbackPromise *proxy = [[RNCallbackPromise alloc] initWithCallbackPromise:resolve reject:reject];
1176
+ Aka_im_coreGetMultipleConversation(proxy, operationID, [conversationIDList json]);
1177
+ }
1178
+ - (void)getOneConversation:(GetOneConversationParams &)options operationID:(NSString *)operationID
1179
+ resolve:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject {
1180
+ RNCallbackPromise *proxy = [[RNCallbackPromise alloc] initWithCallbackPromise:resolve reject:reject];
1181
+ Aka_im_coreGetOneConversation(proxy,operationID, options.sessionType(), options.sourceID());
1182
+ }
1183
+ - (void)getConversationListSplit:(SplitConversationParams &)options operationID:(NSString *)operationID
1184
+ resolve:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject {
1185
+ RNCallbackPromise * proxy = [[RNCallbackPromise alloc] initWithCallbackPromise:resolve reject:reject];
1186
+ Aka_im_coreGetConversationListSplit(proxy,operationID,options.offset(),options.count());
1187
+ }
1188
+ - (void)getAllConversationList:(NSString *)operationID
1189
+ resolve:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject {
1190
+ RNCallbackPromise * proxy = [[RNCallbackPromise alloc] initWithCallbackPromise:resolve reject:reject];
1191
+ Aka_im_coreGetAllConversationList(proxy,operationID);
1192
+ }
1193
+ - (void)setConversationListener {
1194
+ Aka_im_coreSetConversationListener(self);
1195
+ }
1196
+
1197
+ - (void)getSubscribeUsersStatus:(NSString *)operationID
1198
+ resolve:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject {
1199
+ RNCallbackPromise *proxy = [[RNCallbackPromise alloc] initWithCallbackPromise:resolve reject:reject];
1200
+ Aka_im_coreGetSubscribeUsersStatus(proxy, operationID);
1201
+ }
1202
+ - (void)unsubscribeUsersStatus:(NSArray *)userIDList operationID:(NSString *)operationID
1203
+ resolve:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject {
1204
+ RNCallbackPromise *proxy = [[RNCallbackPromise alloc] initWithCallbackPromise:resolve reject:reject];
1205
+ Aka_im_coreUnsubscribeUsersStatus(proxy, operationID, [userIDList json]);
1206
+ }
1207
+
1208
+ - (void)subscribeUsersStatus:(NSArray *)userIDList operationID:(NSString *)operationID
1209
+ resolve:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject {
1210
+ RNCallbackPromise *proxy = [[RNCallbackPromise alloc] initWithCallbackPromise:resolve reject:reject];
1211
+ Aka_im_coreSubscribeUsersStatus(proxy, operationID, [userIDList json]);
1212
+ }
1213
+
1214
+ // - (void) getUserStatus:(NSArray *)uidList operationID:(NSString *)operationID
1215
+ // resolve:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject {
1216
+ // RNCallbackPromise * proxy = [[RNCallbackPromise alloc] initWithCallbackPromise:resolve reject:reject];
1217
+ // Aka_im_coreGetUserStatus(proxy, operationID,[uidList json]);
1218
+ // }
1219
+
1220
+ - (void) getSelfUserInfo:(NSString *)operationID
1221
+ resolve:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject {
1222
+ RNCallbackPromise * proxy = [[RNCallbackPromise alloc] initWithCallbackPromise:resolve reject:reject];
1223
+ Aka_im_coreGetSelfUserInfo(proxy, operationID);
1224
+ }
1225
+
1226
+ - (void) setSelfInfo:(SelfUserInfo &)info operationID:(NSString *)operationID
1227
+ resolve:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject {
1228
+ RNCallbackPromise *proxy = [[RNCallbackPromise alloc] initWithCallbackPromise:resolve reject:reject];
1229
+ NSDictionary *infoDict = STRUCT_TO_DICT(info);
1230
+ Aka_im_coreSetSelfInfo(proxy, operationID, [infoDict json]);
1231
+ }
1232
+ - (void) getUsersInfo:(NSArray *)uidList operationID:(NSString *)operationID
1233
+ resolve:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject {
1234
+ RNCallbackPromise *proxy = [[RNCallbackPromise alloc] initWithCallbackPromise:resolve reject:reject];
1235
+ Aka_im_coreGetUsersInfo(proxy, operationID, [uidList json]);
1236
+ }
1237
+
1238
+
1239
+ - (void)getLoginUserID:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject {
1240
+ NSString* uid = Aka_im_coreGetLoginUserID();
1241
+ resolve(uid);
1242
+ }
1243
+
1244
+
1245
+ - (void)networkStatusChange:(NSString *)operationID
1246
+ resolve:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject {
1247
+ RNCallbackPromise *proxy = [[RNCallbackPromise alloc] initWithCallbackPromise:resolve reject:reject];
1248
+ Aka_im_coreNetworkStatusChanged(proxy, operationID);
1249
+ }
1250
+
1251
+
1252
+ - (void)setAppBackgroundStatus:(BOOL)isBackground operationID:(NSString *)operationID
1253
+ resolve:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject {
1254
+ RNCallbackPromise *proxy = [[RNCallbackPromise alloc] initWithCallbackPromise:resolve reject:reject];
1255
+ Aka_im_coreSetAppBackgroundStatus(proxy, operationID, isBackground);
1256
+ }
1257
+
1258
+ - (void)logout:(NSString *)operationID
1259
+ resolve:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject {
1260
+ RNCallbackPromise *proxy = [[RNCallbackPromise alloc] initWithCallbackPromise:resolve reject:reject];
1261
+ Aka_im_coreLogout(proxy,operationID);
1262
+ }
1263
+ - (void)login:(LoginParams &)options operationID:(NSString *)operationID
1264
+ resolve:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject {
1265
+
1266
+ RNCallbackPromise *proxy = [[RNCallbackPromise alloc] initWithCallbackPromise:resolve reject:reject];
1267
+ Aka_im_coreLogin(proxy, operationID, options.userID(), options.token());
1268
+ }
1269
+
1270
+ - (void)getLoginStatus:(NSString *)operationID
1271
+ resolve:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject {
1272
+ long status =Aka_im_coreGetLoginStatus(operationID);
1273
+ resolve(@(status));
1274
+ }
1275
+ - (void)initSDK:(InitOptions &)config operationID:(NSString *)operationID
1276
+ resolve:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject {
1277
+ @try {
1278
+ // 使用 StructHelper 直接提取字典
1279
+ NSDictionary *sdkConfig = STRUCT_TO_DICT(config);
1280
+ // 添加平台 ID(如果需要)
1281
+ NSMutableDictionary *configDict = [sdkConfig mutableCopy];
1282
+ configDict[@"platformID"] = @1;
1283
+
1284
+ BOOL initResult = Aka_im_coreInitSDK(self, operationID,[configDict json]);
1285
+
1286
+ if (initResult) {
1287
+ // 设置所有监听器
1288
+ Aka_im_coreSetUserListener(self);
1289
+ Aka_im_coreSetConversationListener(self);
1290
+ Aka_im_coreSetFriendListener(self);
1291
+ Aka_im_coreSetGroupListener(self);
1292
+ Aka_im_coreSetAdvancedMsgListener(self);
1293
+ Aka_im_coreSetBatchMsgListener(self);
1294
+
1295
+ // 返回成功结果
1296
+ NSDictionary *successResult = @{
1297
+ @"status": @"success",
1298
+ @"message": @"SDK initialized successfully",
1299
+ @"platformID": @1,
1300
+ @"operationID": operationID
1301
+ };
1302
+ resolve([successResult json] ?: @"SDK initialization completed");
1303
+ } else {
1304
+ reject(@"INIT_SDK_FAILED",
1305
+ @"SDK initialization failed. Please check configuration parameters and data directory permissions",
1306
+ nil);
1307
+ }
1308
+ } @catch (NSException *exception) {
1309
+ reject(@"INIT_SDK_EXCEPTION",
1310
+ [NSString stringWithFormat:@"SDK initialization exception: %@", exception.reason ?: @"Unknown error"],
1311
+ nil);
1312
+ }
1313
+ }
1314
+
1315
+ - (void)setBatchMsgListener {
1316
+ Aka_im_coreSetBatchMsgListener(self);
1317
+ }
1318
+ - (void)setUserListener {
1319
+ Aka_im_coreSetUserListener(self);
1320
+ }
1321
+ // ============================== Aka_im_callback OnConnListener ==============================
1322
+ - (void)onConnectSuccess {
1323
+ [self pushEvent:@"onConnectSuccess" data:nil];
1324
+ }
1325
+ - (void)onConnecting {
1326
+ [self pushEvent:@"onConnecting" data:nil];
1327
+ }
1328
+ - (void)onKickedOffline {
1329
+ [self pushEvent:@"onKickedOffline" data:nil];
1330
+ }
1331
+ - (void)onUserTokenExpired {
1332
+ [self pushEvent:@"onUserTokenExpired" data:nil];
1333
+ }
1334
+ - (void)onConnectFailed:(int32_t)errCode errMsg:(NSString * _Nullable)errMsg {
1335
+ NSDictionary *data = @{
1336
+ @"errCode": @(errCode),
1337
+ @"errMsg": (errMsg ? errMsg : @"")
1338
+ };
1339
+
1340
+ [self pushEvent:@"onConnectFailed" data:data];
1341
+ }
1342
+ - (void)onUserTokenInvalid:(NSString* _Nullable)errMsg {
1343
+ [self pushEvent:@"onUserTokenInvalid" data:nil];
1344
+ }
1345
+
1346
+ // ============================== Aka_im_callback OnUserListener ==============================
1347
+ - (void)onSelfInfoUpdated:(NSString* _Nullable)userInfo {
1348
+ NSDictionary *data = [self parseJsonStr2Dict:userInfo];
1349
+ [self pushEvent:@"onSelfInfoUpdated" data:data];
1350
+ }
1351
+
1352
+ - (void)onUserStatusChanged:(NSString * _Nullable)statusMap {
1353
+ NSDictionary *data = [self parseJsonStr2Dict:statusMap];
1354
+ [self pushEvent:@"onUserStatusChanged" data:data];
1355
+ }
1356
+
1357
+ - (void)onUserCommandAdd:(NSString* _Nullable)userCommand {
1358
+ [self pushEvent:@"onUserCommandAdd" data:nil];
1359
+ }
1360
+
1361
+ - (void)onUserCommandDelete:(NSString* _Nullable)userCommand {
1362
+ [self pushEvent:@"onUserCommandDelete" data:nil];
1363
+ }
1364
+
1365
+ - (void)onUserCommandUpdate:(NSString* _Nullable)userCommand {
1366
+ [self pushEvent:@"onUserCommandUpdate" data:nil];
1367
+ }
1368
+
1369
+ // ============================== Aka_im_callback OnAdvancedMsgListener ==============================
1370
+ - (void)onMsgDeleted:(NSString* _Nullable)message {
1371
+ NSDictionary *messageDict = [self parseJsonStr2Dict:message];
1372
+ [self pushEvent:@"onMsgDeleted" data:messageDict];
1373
+ }
1374
+
1375
+ - (void)onNewRecvMessageRevoked:(NSString *)messageRevoked {
1376
+ NSDictionary *messageRevokedDict = [self parseJsonStr2Dict:messageRevoked];
1377
+ [self pushEvent:@"onNewRecvMessageRevoked" data:messageRevokedDict];
1378
+ }
1379
+
1380
+ - (void)onRecvC2CReadReceipt:(NSString* _Nullable)msgReceiptList {
1381
+ NSArray *msgReceiptListArray = [self parseJsonStr2Array:msgReceiptList];
1382
+ [self pushEvent:@"onRecvC2CReadReceipt" data:msgReceiptListArray];
1383
+ }
1384
+
1385
+ - (void)onRecvMessageRevoked:(NSString* _Nullable)msgId {
1386
+ [self pushEvent:@"onRecvMessageRevoked" data:msgId];
1387
+ }
1388
+
1389
+ - (void)onRecvNewMessage:(NSString* _Nullable)message {
1390
+ NSDictionary *messageDict = [self parseJsonStr2Dict:message];
1391
+ [self pushEvent:@"onRecvNewMessage" data:messageDict];
1392
+ }
1393
+
1394
+ - (void)onMsgContentChanged:(NSString* _Nullable)message {
1395
+ NSDictionary *messageDict = [self parseJsonStr2Dict:message];
1396
+ [self pushEvent:@"onMsgContentChanged" data:messageDict];
1397
+ }
1398
+
1399
+ - (void)onRecvOfflineNewMessage:(NSString * _Nullable)message {
1400
+ NSArray *messageListArray = [self parseJsonStr2Array:message];
1401
+ [self pushEvent:@"onRecvOfflineNewMessage" data:messageListArray];
1402
+ }
1403
+
1404
+ - (void)onRecvOnlineOnlyMessage:(NSString * _Nullable)message {
1405
+ NSArray *messageListArray = [self parseJsonStr2Array:message];
1406
+ [self pushEvent:@"onRecvOnlineOnlyMessage" data:messageListArray];
1407
+ }
1408
+
1409
+ // ============================== Aka_im_callback Aka_im_callbackOnFriendshipListener ==============================
1410
+
1411
+
1412
+ - (void)onBlackAdded:(NSString * _Nullable)blackInfo {
1413
+ NSDictionary *blackInfoDict = [self parseJsonStr2Dict:blackInfo];
1414
+ [self pushEvent:@"onBlackAdded" data:blackInfoDict];
1415
+ }
1416
+
1417
+ - (void)onBlackDeleted:(NSString * _Nullable)blackInfo {
1418
+ NSDictionary *blackInfoDict = [self parseJsonStr2Dict:blackInfo];
1419
+ [self pushEvent:@"onBlackDeleted" data:blackInfoDict];
1420
+ }
1421
+
1422
+ - (void)onBlackAddedByOther:(NSString * _Nullable)blackInfo {
1423
+ NSDictionary *blackInfoDict = [self parseJsonStr2Dict:blackInfo];
1424
+ [self pushEvent:@"onBlackAddedByOther" data:blackInfoDict];
1425
+ }
1426
+
1427
+ - (void)onBlackDeletedByOther:(NSString * _Nullable)blackInfo {
1428
+ NSDictionary *blackInfoDict = [self parseJsonStr2Dict:blackInfo];
1429
+ [self pushEvent:@"onBlackDeletedByOther" data:blackInfoDict];
1430
+ }
1431
+
1432
+ - (void)onFriendAdded:(NSString * _Nullable)friendInfo {
1433
+ NSDictionary *friendInfoDict = [self parseJsonStr2Dict:friendInfo];
1434
+ [self pushEvent:@"onFriendAdded" data:friendInfoDict];
1435
+ }
1436
+
1437
+ - (void)onFriendApplicationAccepted:(NSString * _Nullable)friendApplication {
1438
+ NSDictionary *friendApplicationDict = [self parseJsonStr2Dict:friendApplication];
1439
+ [self pushEvent:@"onFriendApplicationAccepted" data:friendApplicationDict];
1440
+ }
1441
+
1442
+
1443
+ - (void)onFriendApplicationAdded:(NSString * _Nullable)friendApplication {
1444
+ NSDictionary *friendApplicationDict = [self parseJsonStr2Dict:friendApplication];
1445
+ [self pushEvent:@"onFriendApplicationAdded" data:friendApplicationDict];
1446
+ }
1447
+
1448
+ - (void)onFriendApplicationDeleted:(NSString * _Nullable)friendApplication {
1449
+ NSDictionary *friendApplicationDict = [self parseJsonStr2Dict:friendApplication];
1450
+ [self pushEvent:@"onFriendApplicationDeleted" data:friendApplicationDict];
1451
+ }
1452
+
1453
+ - (void)onFriendApplicationRejected:(NSString * _Nullable)friendApplication {
1454
+ NSDictionary *friendApplicationDict = [self parseJsonStr2Dict:friendApplication];
1455
+ [self pushEvent:@"onFriendApplicationRejected" data:friendApplicationDict];
1456
+ }
1457
+
1458
+ - (void)onFriendDeleted:(NSString * _Nullable)friendInfo {
1459
+ NSDictionary *friendInfoDict = [self parseJsonStr2Dict:friendInfo];
1460
+ [self pushEvent:@"onFriendDeleted" data:friendInfoDict];
1461
+ }
1462
+
1463
+ - (void)onFriendInfoChanged:(NSString * _Nullable)friendInfo {
1464
+ NSDictionary *friendInfoDict = [self parseJsonStr2Dict:friendInfo];
1465
+ [self pushEvent:@"onFriendInfoChanged" data:friendInfoDict];
1466
+ }
1467
+
1468
+ // ============================== Aka_im_callback OnConversationListener ==============================
1469
+ - (void)onConversationChanged:(NSString* _Nullable)conversationList {
1470
+ NSArray *conversationListArray = [self parseJsonStr2Array:conversationList];
1471
+ [self pushEvent:@"onConversationChanged" data:conversationListArray];
1472
+ }
1473
+
1474
+ - (void)onConversationUserInputStatusChanged:(NSString* _Nullable)datils {
1475
+ NSDictionary *datilsDic = [self parseJsonStr2Dict:datils];
1476
+ [self pushEvent:@"onInputStatusChanged" data:datilsDic];
1477
+ }
1478
+
1479
+ - (void)onNewConversation:(NSString* _Nullable)conversationList {
1480
+ NSArray *conversationListArray = [self parseJsonStr2Array:conversationList];
1481
+ [self pushEvent:@"onNewConversation" data:conversationListArray];
1482
+ }
1483
+
1484
+ - (void)onSyncServerFailed:(BOOL)reinstalled {
1485
+ [self pushEvent:@"onSyncServerFailed" data:@(reinstalled)];
1486
+ }
1487
+
1488
+ - (void)onSyncServerFinish:(BOOL)reinstalled {
1489
+ [self pushEvent:@"onSyncServerFinish" data:@(reinstalled)];
1490
+ }
1491
+
1492
+ - (void)onSyncServerStart:(BOOL)reinstalled {
1493
+ [self pushEvent:@"onSyncServerStart" data:@(reinstalled)];
1494
+ }
1495
+
1496
+ - (void)onSyncServerProgress:(long)progress {
1497
+ [self pushEvent:@"onSyncServerProgress" data:@(progress)];
1498
+ }
1499
+
1500
+ - (void)onTotalUnreadMessageCountChanged:(int32_t)totalUnreadCount {
1501
+ [self pushEvent:@"onTotalUnreadMessageCountChanged" data:@(totalUnreadCount)];
1502
+ }
1503
+
1504
+ // ============================== Aka_im_callback OnGroupListener ==============================
1505
+ - (void)onGroupApplicationAccepted:(NSString * _Nullable)groupApplication {
1506
+ NSDictionary *groupApplicationDict = [self parseJsonStr2Dict:groupApplication];
1507
+ [self pushEvent:@"onGroupApplicationAccepted" data:groupApplicationDict];
1508
+ }
1509
+
1510
+ - (void)onGroupApplicationAdded:(NSString * _Nullable)groupApplication {
1511
+ NSDictionary *groupApplicationDict = [self parseJsonStr2Dict:groupApplication];
1512
+ [self pushEvent:@"onGroupApplicationAdded" data:groupApplicationDict];
1513
+ }
1514
+
1515
+ - (void)onGroupApplicationDeleted:(NSString * _Nullable)groupApplication {
1516
+ NSDictionary *groupApplicationDict = [self parseJsonStr2Dict:groupApplication];
1517
+ [self pushEvent:@"onGroupApplicationDeleted" data:groupApplicationDict];
1518
+ }
1519
+
1520
+ - (void)onGroupApplicationRejected:(NSString * _Nullable)groupApplication {
1521
+ NSDictionary *groupApplicationDict = [self parseJsonStr2Dict:groupApplication];
1522
+ [self pushEvent:@"onGroupApplicationRejected" data:groupApplicationDict];
1523
+ }
1524
+
1525
+ - (void)onGroupInfoChanged:(NSString * _Nullable)groupInfo {
1526
+ NSDictionary *groupInfoDict = [self parseJsonStr2Dict:groupInfo];
1527
+ [self pushEvent:@"onGroupInfoChanged" data:groupInfoDict];
1528
+ }
1529
+
1530
+ - (void)onGroupMemberAdded:(NSString * _Nullable)groupMemberInfo {
1531
+ NSDictionary *groupMemberInfoDict = [self parseJsonStr2Dict:groupMemberInfo];
1532
+ [self pushEvent:@"onGroupMemberAdded" data:groupMemberInfoDict];
1533
+ }
1534
+
1535
+ - (void)onGroupMemberDeleted:(NSString * _Nullable)groupMemberInfo {
1536
+ NSDictionary *groupMemberInfoDict = [self parseJsonStr2Dict:groupMemberInfo];
1537
+ [self pushEvent:@"onGroupMemberDeleted" data:groupMemberInfoDict];
1538
+ }
1539
+
1540
+ - (void)onGroupMemberInfoChanged:(NSString * _Nullable)groupMemberInfo {
1541
+ NSDictionary *groupMemberInfoDict = [self parseJsonStr2Dict:groupMemberInfo];
1542
+ [self pushEvent:@"onGroupMemberInfoChanged" data:groupMemberInfoDict];
1543
+ }
1544
+
1545
+ - (void)onJoinedGroupAdded:(NSString * _Nullable)groupInfo {
1546
+ NSDictionary *groupInfoDict = [self parseJsonStr2Dict:groupInfo];
1547
+ [self pushEvent:@"onJoinedGroupAdded" data:groupInfoDict];
1548
+ }
1549
+
1550
+ - (void)onJoinedGroupDeleted:(NSString * _Nullable)groupInfo {
1551
+ NSDictionary *groupInfoDict = [self parseJsonStr2Dict:groupInfo];
1552
+ [self pushEvent:@"onJoinedGroupDeleted" data:groupInfoDict];
1553
+ }
1554
+
1555
+ - (void)onGroupDismissed:(NSString * _Nullable)groupInfo {
1556
+ NSDictionary *groupInfoDict = [self parseJsonStr2Dict:groupInfo];
1557
+ [self pushEvent:@"onGroupDismissed" data:groupInfoDict];
1558
+ }
1559
+
1560
+ - (void)onReceiveNewMessages:(NSString* _Nullable)receiveNewMessagesCallback{
1561
+ [self pushEvent:@"onReceiveNewMessages" data:receiveNewMessagesCallback];
1562
+ }
1563
+
1564
+ - (void)onReceiveOfflineNewMessages:(NSString* _Nullable)receiveOfflineNewMessages{
1565
+ [self pushEvent:@"onReceiveOfflineNewMessages" data:receiveOfflineNewMessages];
1566
+ }
1567
+
1568
+ - (void)onRecvCustomBusinessMessage:(NSString* _Nullable)receiveCustomBusinessMessage{
1569
+ [self pushEvent:@"onRecvCustomBusinessMessage" data:receiveCustomBusinessMessage];
1570
+ }
1571
+
1572
+ // ============================== Aka_im_callback OnBatchMsgListener ==============================
1573
+ - (void)onRecvNewMessages:(NSString * _Nullable)messageList {
1574
+ NSArray *messageListArray = [self parseJsonStr2Array:messageList];
1575
+ [self pushEvent:@"onRecvNewMessages" data:messageListArray];
1576
+ }
1577
+ - (void)onRecvOfflineNewMessages:(NSString* _Nullable)messageList {
1578
+ NSArray *messageListArray = [self parseJsonStr2Array:messageList];
1579
+ [self pushEvent:@"onRecvOfflineNewMessages" data:messageListArray];
1580
+ }
1581
+
1582
+ - (NSDictionary *)parseJsonStr2Dict:(NSString *)jsonStr {
1583
+ NSData *jsonData = [jsonStr dataUsingEncoding:NSUTF8StringEncoding];
1584
+ NSError *error = nil;
1585
+ id jsonObject = [NSJSONSerialization JSONObjectWithData:jsonData options:NSJSONReadingMutableContainers error:&error];
1586
+ if (error) {
1587
+ NSLog(@"Error while parsing JSON: %@", error.localizedDescription);
1588
+ return nil;
1589
+ }
1590
+ NSDictionary *data = (NSDictionary *)jsonObject;
1591
+ return data;
1592
+ }
1593
+
1594
+ - (NSArray *)parseJsonStr2Array:(NSString *)jsonStr {
1595
+ NSData *jsonData = [jsonStr dataUsingEncoding:NSUTF8StringEncoding];
1596
+ NSError *error = nil;
1597
+ id jsonObject = [NSJSONSerialization JSONObjectWithData:jsonData options:NSJSONReadingMutableContainers error:&error];
1598
+ if (error) {
1599
+ NSLog(@"Error while parsing JSON: %@", error.localizedDescription);
1600
+ return nil;
1601
+ }
1602
+ NSArray *data = (NSArray *)jsonObject;
1603
+ return data;
1604
+ }
1605
+ // demo method
1606
+ - (NSNumber *)multiply:(double)a b:(double)b {
1607
+ NSNumber *result = @(a * b);
1608
+
1609
+ return result;
1610
+ }
1611
+
1612
+
1613
+ - (std::shared_ptr<facebook::react::TurboModule>)getTurboModule:
1614
+ (const facebook::react::ObjCTurboModule::InitParams &)params
1615
+ {
1616
+ return std::make_shared<facebook::react::NativeAkaimSdkRnSpecJSI>(params);
1617
+ }
1618
+
1619
+ @end
1620
+
1621
+
1622
+