Skip to content

Commit 958f27a

Browse files
committed
add block group in iOS
1 parent 6b70629 commit 958f27a

File tree

2 files changed

+92
-0
lines changed

2 files changed

+92
-0
lines changed

index.js

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -496,6 +496,34 @@ export default class JMessage {
496496
JMessageModule.getBlacklist(success, error)
497497
}
498498

499+
/**
500+
* 设置是否屏蔽群消息。
501+
*
502+
* @param {Object} params = { id: String, isBlock: boolean }
503+
*/
504+
static blockGroupMessage(params, success, error) {
505+
JMessageModule.blockGroupMessage(params, success, error)
506+
}
507+
508+
/**
509+
* 判断指定群组是否被屏蔽。
510+
*
511+
* @param {object} params = { id: String }
512+
* @param {function} success = function ({ isBlocked: boolean }) {} // 以参数形式返回结果。
513+
*/
514+
static isGroupBlocked(params, success, error) {
515+
JMessageModule.isGroupBlocked(params, success, error)
516+
}
517+
518+
/**
519+
* 获取当前用户的群屏蔽列表。
520+
*
521+
* @param {function} success = function (groupArr) {} // 以参数形式返回结果。
522+
*/
523+
static getBlockedGroupList(success, error) {
524+
JMessageModule.getBlockedGroupList(success, error)
525+
}
526+
499527
/**
500528
* 设置某个用户或群组是否免打扰。
501529
*

ios/RCTJMessageModule/RCTJMessageModule.m

Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2419,5 +2419,69 @@ - (JMSGOptionalContent *)convertDicToJMSGOptionalContent:(NSDictionary *)dic {
24192419
}
24202420
}
24212421

2422+
RCT_EXPORT_METHOD(blockGroupMessage:(NSDictionary *)param
2423+
successCallback:(RCTResponseSenderBlock)successCallback
2424+
failCallBack:(RCTResponseSenderBlock)failCallback) {
2425+
2426+
if (!param[@"id"] || !param[@"isBlock"]) {
2427+
failCallback(@[[self getParamError]]);
2428+
return;
2429+
}
2430+
2431+
NSNumber *isBlock = param[@"isBlock"];
2432+
2433+
[JMSGGroup groupInfoWithGroupId:param[@"id"] completionHandler:^(id resultObject, NSError *error) {
2434+
if (error) {
2435+
failCallback(@[[error errorToDictionary]]);
2436+
return;
2437+
}
2438+
2439+
JMSGGroup *group = resultObject;
2440+
[group setIsShield:[isBlock boolValue] handler:^(id resultObject, NSError *error) {
2441+
if (error) {
2442+
failCallback(@[[error errorToDictionary]]);
2443+
} else {
2444+
successCallback(@[]);
2445+
}
2446+
}];
2447+
}];
2448+
}
2449+
2450+
RCT_EXPORT_METHOD(isGroupBlocked:(NSDictionary *)param
2451+
successCallback:(RCTResponseSenderBlock)successCallback
2452+
failCallBack:(RCTResponseSenderBlock)failCallback) {
24222453

2454+
if (!param[@"id"]) {
2455+
failCallback(@[[self getParamError]]);
2456+
return;
2457+
}
2458+
2459+
[JMSGGroup groupInfoWithGroupId:param[@"id"] completionHandler:^(id resultObject, NSError *error) {
2460+
if (error) {
2461+
failCallback(@[[error errorToDictionary]]);
2462+
return;
2463+
}
2464+
2465+
JMSGGroup *group = resultObject;
2466+
successCallback(@[@{@"isBlocked": @(group.isShieldMessage)}]);
2467+
}];
2468+
}
2469+
2470+
RCT_EXPORT_METHOD(getBlockedGroupList:(RCTResponseSenderBlock)successCallback
2471+
failCallBack:(RCTResponseSenderBlock)failCallback) {
2472+
[JMSGGroup shieldList:^(id resultObject, NSError *error) {
2473+
if (error) {
2474+
failCallback(@[[error errorToDictionary]]);
2475+
}
2476+
2477+
NSArray *groupArr = resultObject;
2478+
NSMutableArray *groupList = @[].mutableCopy;
2479+
2480+
for (JMSGGroup *group in groupArr) {
2481+
[groupList addObject:[group groupToDictionary]];
2482+
}
2483+
2484+
successCallback(@[groupList]);
2485+
}];
2486+
}
24232487
@end

0 commit comments

Comments
 (0)