77
88#import " OIMManager+Conversation.h"
99#import " CallbackProxy.h"
10+ #import " OIMConversationInfo.h"
1011
1112@implementation OIMManager (Conversation)
1213
@@ -98,9 +99,10 @@ - (void)pinConversation:(NSString *)conversationID
9899 isPinned : (BOOL )isPinned
99100 onSuccess : (OIMSuccessCallback)onSuccess
100101 onFailure : (OIMFailureCallback)onFailure {
101- CallbackProxy *callback = [[CallbackProxy alloc ]initWithOnSuccess:onSuccess onFailure: onFailure];
102+ OIMConversationReq *req = [OIMConversationReq new ];
103+ req.isPinned = isPinned;
102104
103- Open_im_sdkPinConversation (callback, [self operationId ], conversationID, isPinned) ;
105+ [self setConversation: conversationID req: req onSuccess: onSuccess onFailure: onFailure] ;
104106}
105107
106108- (void )getTotalUnreadMsgCountWithOnSuccess : (OIMNumberCallback)onSuccess
@@ -114,51 +116,43 @@ - (void)getTotalUnreadMsgCountWithOnSuccess:(OIMNumberCallback)onSuccess
114116 Open_im_sdkGetTotalUnreadMsgCount (callback, [self operationId ]);
115117}
116118
117- - (void )getConversationRecvMessageOpt : (NSArray <NSString *> *)conversationIDs
118- onSuccess : (OIMConversationNotDisturbInfoCallback)onSuccess
119- onFailure : (OIMFailureCallback)onFailure {
120- CallbackProxy *callback = [[CallbackProxy alloc ]initWithOnSuccess:^(NSString * _Nullable data) {
121- if (onSuccess) {
122- onSuccess ([OIMConversationNotDisturbInfo mj_objectArrayWithKeyValuesArray: data]);
123- }
124- } onFailure:onFailure];
125-
126- Open_im_sdkGetConversationRecvMessageOpt (callback, [self operationId ], conversationIDs.mj_JSONString );
127- }
128-
129119- (void )setConversationRecvMessageOpt : (NSString *)conversationID
130120 status : (OIMReceiveMessageOpt)status
131121 onSuccess : (OIMSuccessCallback)onSuccess
132122 onFailure : (OIMFailureCallback)onFailure {
133- CallbackProxy *callback = [[CallbackProxy alloc ]initWithOnSuccess:onSuccess onFailure: onFailure];
123+ OIMConversationReq *req = [OIMConversationReq new ];
124+ req.recvMsgOpt = status;
134125
135- Open_im_sdkSetConversationRecvMessageOpt (callback, [self operationId ], conversationID, status) ;
126+ [self setConversation: conversationID req: req onSuccess: onSuccess onFailure: onFailure] ;
136127}
137128
138129- (void )setConversationPrivateChat : (NSString *)conversationID
139130 isPrivate : (BOOL )isPrivate
140131 onSuccess : (OIMSuccessCallback)onSuccess
141132 onFailure : (OIMFailureCallback)onFailure {
142- CallbackProxy *callback = [[CallbackProxy alloc ]initWithOnSuccess:onSuccess onFailure: onFailure];
133+ OIMConversationReq *req = [OIMConversationReq new ];
134+ req.isPrivateChat = isPrivate;
143135
144- Open_im_sdkSetConversationPrivateChat (callback, [self operationId ], conversationID, isPrivate) ;
136+ [self setConversation: conversationID req: req onSuccess: onSuccess onFailure: onFailure] ;
145137}
146138
147139- (void )setConversationBurnDuration : (NSString *)conversationID
148140 duration : (NSInteger )burnDuration
149141 onSuccess : (OIMSuccessCallback)onSuccess
150142 onFailure : (OIMFailureCallback)onFailure {
151- CallbackProxy *callback = [[CallbackProxy alloc ]initWithOnSuccess:onSuccess onFailure: onFailure];
143+ OIMConversationReq *req = [OIMConversationReq new ];
144+ req.burnDuration = burnDuration;
152145
153- Open_im_sdkSetConversationBurnDuration (callback, [self operationId ], conversationID, ( int32_t )burnDuration) ;
146+ [self setConversation: conversationID req: req onSuccess: onSuccess onFailure: onFailure] ;
154147}
155148
156149- (void )resetConversationGroupAtType : (NSString *)conversationID
157150 onSuccess : (OIMSuccessCallback)onSuccess
158151 onFailure : (OIMFailureCallback)onFailure {
159- CallbackProxy *callback = [[CallbackProxy alloc ]initWithOnSuccess:onSuccess onFailure: onFailure];
152+ OIMConversationReq *req = [OIMConversationReq new ];
153+ req.groupAtType = 0 ;
160154
161- Open_im_sdkResetConversationGroupAtType (callback, [self operationId ], conversationID) ;
155+ [self setConversation: conversationID req: req onSuccess: onSuccess onFailure: onFailure] ;
162156}
163157
164158- (void )hideConversation : (NSString *)conversationID
@@ -188,9 +182,10 @@ - (void)setConversationEx:(NSString *)conversationID
188182 ex : (NSString *)ex
189183 onSuccess : (nullable OIMSuccessCallback)onSuccess
190184 onFailure : (nullable OIMFailureCallback)onFailure {
191- CallbackProxy *callback = [[CallbackProxy alloc ]initWithOnSuccess:onSuccess onFailure: onFailure];
192-
193- Open_im_sdkSetConversationEx (callback, [self operationId ], conversationID, ex);
185+ OIMConversationReq *req = [OIMConversationReq new ];
186+ req.ex = ex;
187+
188+ [self setConversation: conversationID req: req onSuccess: onSuccess onFailure: onFailure];
194189}
195190
196191- (void )searchConversation : (NSString *)name
@@ -226,4 +221,13 @@ - (void)getInputstates:(NSString *)conversationID
226221
227222 Open_im_sdkGetInputStates (callback, [self operationId ], conversationID, userID);
228223}
224+
225+ - (void )setConversation : (NSString *)conversationID
226+ req : (OIMConversationReq *)req
227+ onSuccess : (nullable OIMSuccessCallback)onSuccess
228+ onFailure : (nullable OIMFailureCallback)onFailure {
229+ CallbackProxy *callback = [[CallbackProxy alloc ]initWithOnSuccess:onSuccess onFailure: onFailure];
230+
231+ Open_im_sdkSetConversation (callback, [self operationId ], conversationID, req.mj_JSONString );
232+ }
229233@end
0 commit comments