@@ -2227,4 +2227,194 @@ - (JMSGOptionalContent *)convertDicToJMSGOptionalContent:(NSDictionary *)dic {
22272227 }];
22282228}
22292229
2230+
2231+
2232+ /* *
2233+ * 查询当前 AppKey 下的聊天室信息
2234+ * @param {object} param = {
2235+ * "start": number, // 起始位置
2236+ * "count": number, // 获取个数
2237+ * }
2238+ * ChatRoomInfo = {
2239+ * "roomId": String,
2240+ * "roomName": String,
2241+ * "appKey": String,
2242+ * "maxMemberCount": number,
2243+ * "totalMemberCount": number,
2244+ * "owner": UserInfo,
2245+ * "description": String,
2246+ * "createTime": number,
2247+ * }
2248+ * @param {function} success = function([{chatRoomInfo}])
2249+ * @param {function} error = function ({'code': '错误码', 'description': '错误信息'}) {}
2250+ */
2251+ // static getChatRoomListByApp(param, success, error) {
2252+ RCT_EXPORT_METHOD (getChatRoomListByApp:(NSDictionary *)param
2253+ successCallback:(RCTResponseSenderBlock)successCallback
2254+ failCallBack:(RCTResponseSenderBlock)failCallback) {
2255+ NSNumber *start = nil ;
2256+ NSNumber *count = nil ;
2257+ if (!param[@" start" ]) {
2258+ start = param[@" start" ];
2259+ return ;
2260+ }
2261+
2262+ if (!param[@" count" ]) {
2263+ count = param[@" count" ];
2264+ return ;
2265+ }
2266+
2267+ NSString *appKey = nil ;
2268+ if (param[@" appKey" ]) {
2269+ appKey = param[@" appKey" ];
2270+ } else {
2271+ appKey = [JMessageHelper shareInstance ].JMessageAppKey ;
2272+ }
2273+
2274+ [JMSGChatRoom getChatRoomListWithAppKey: appKey start: [start integerValue ] count: [count integerValue ] completionHandler: ^(id resultObject, NSError *error) {
2275+ if (error) {
2276+ failCallback (@[[error errorToDictionary ]]);
2277+ return ;
2278+ }
2279+ NSArray *chatRoomArr = resultObject;
2280+ NSArray *chatRoomDicArr = [chatRoomArr mapObjectsUsingBlock: ^id (id obj, NSUInteger idx) {
2281+ JMSGChatRoom *chatRoom = obj;
2282+ return [chatRoom chatRoomToDictionary ];
2283+ }];
2284+
2285+ successCallback (@[chatRoomDicArr]);
2286+ }];
2287+ }
2288+
2289+ /* *
2290+ * 获取当前用户所加入的所有聊天室信息
2291+ * @param {function} success = function([{ChatRoomInfo}])
2292+ * @param {function} error = function ({'code': '错误码', 'description': '错误信息'}) {}
2293+ */
2294+ // static getChatRoomListByUser(success, error) {
2295+ RCT_EXPORT_METHOD (getChatRoomListByUser:(NSDictionary *)param
2296+ successCallback:(RCTResponseSenderBlock)successCallback
2297+ failCallBack:(RCTResponseSenderBlock)failCallback) {
2298+ [JMSGChatRoom getMyChatRoomListCompletionHandler: ^(id resultObject, NSError *error) {
2299+ if (error) {
2300+ failCallback (@[[error errorToDictionary ]]);
2301+ return ;
2302+ }
2303+
2304+ NSArray *chatRoomArr = resultObject;
2305+ NSArray *chatRoomDicArr = [chatRoomArr mapObjectsUsingBlock: ^id (id obj, NSUInteger idx) {
2306+ JMSGChatRoom *chatRoom = obj;
2307+ return [chatRoom chatRoomToDictionary ];
2308+ }];
2309+ successCallback (@[chatRoomDicArr]);
2310+ }];
2311+
2312+ }
2313+
2314+ /* *
2315+ * 查询指定 roomId 聊天室信息
2316+ * @param {Array} param = [String]
2317+ * @param {function} success = function([{ChatRoomInfo}])
2318+ * @param {function} error = function ({'code': '错误码', 'description': '错误信息'}) {}
2319+ */
2320+ // static getChatRoomInfos(param, success, error) {
2321+ RCT_EXPORT_METHOD (getChatRoomInfos:(NSDictionary *)param
2322+ successCallback:(RCTResponseSenderBlock)successCallback
2323+ failCallBack:(RCTResponseSenderBlock)failCallback) {
2324+ if (!param[@" roomIds" ]) {
2325+ failCallback (@[[self getParamError ]]);
2326+ return ;
2327+ }
2328+
2329+ [JMSGChatRoom getChatRoomInfosWithRoomIds: param[@" roomIds" ] completionHandler: ^(id resultObject, NSError *error) {
2330+ if (error) {
2331+ failCallback (@[[error errorToDictionary ]]);
2332+ return ;
2333+ }
2334+
2335+ NSArray *chatRoomArr = resultObject;
2336+ NSArray *chatRoomDicArr = [chatRoomArr mapObjectsUsingBlock: ^id (id obj, NSUInteger idx) {
2337+ JMSGChatRoom *chatRoom = obj;
2338+ return [chatRoom chatRoomToDictionary ];
2339+ }];
2340+
2341+ successCallback (@[chatRoomDicArr]);
2342+ }];
2343+ }
2344+
2345+ /* *
2346+ * 进入聊天室,进入后才能收到聊天室信息及发言
2347+ * @param {String} roomId
2348+ * @param {function} success = function({conversation})
2349+ * @param {function} error = function ({'code': '错误码', 'description': '错误信息'}) {}
2350+ */
2351+ // static enterChatRoom(roomId, success, error) {
2352+ RCT_EXPORT_METHOD (enterChatRoom:(NSDictionary *)param
2353+ successCallback:(RCTResponseSenderBlock)successCallback
2354+ failCallBack:(RCTResponseSenderBlock)failCallback) {
2355+ if (!param[@" roomId" ]) {
2356+ failCallback (@[[self getParamError ]]);
2357+ return ;
2358+ }
2359+
2360+ [JMSGChatRoom enterChatRoomWithRoomId: param[@" roomId" ] completionHandler: ^(id resultObject, NSError *error) {
2361+ if (error) {
2362+ failCallback (@[[error errorToDictionary ]]);
2363+ return ;
2364+ }
2365+
2366+ JMSGConversation *conversation = resultObject;
2367+ successCallback (@[[conversation conversationToDictionary ]]);
2368+ }];
2369+ }
2370+
2371+ /* *
2372+ * 离开聊天室
2373+ * @param {String} roomId
2374+ * @param {function} success = function(0)
2375+ * @param {function} error = function ({'code': '错误码', 'description': '错误信息'}) {}
2376+ */
2377+ // static leaveChatRoom(roomId, success, error) {
2378+ RCT_EXPORT_METHOD (leaveChatRoom:(NSDictionary *)param
2379+ successCallback:(RCTResponseSenderBlock)successCallback
2380+ failCallBack:(RCTResponseSenderBlock)failCallback) {
2381+ if (!param[@" roomId" ]) {
2382+ failCallback (@[[self getParamError ]]);
2383+ return ;
2384+ }
2385+
2386+ [JMSGChatRoom leaveChatRoomWithRoomId: param[@" roomId" ] completionHandler: ^(id resultObject, NSError *error) {
2387+ if (error) {
2388+ failCallback (@[[error errorToDictionary ]]);
2389+ return ;
2390+ }
2391+ successCallback (@[]);
2392+ }];
2393+ }
2394+
2395+ /* *
2396+ * 从本地获取用户的聊天室会话列表,没有则返回为空的列表
2397+ * @param {function} callback = function([{Conversation}])
2398+ *
2399+ */
2400+ // static getChatRoomConversationList(callback) {
2401+ RCT_EXPORT_METHOD (getChatRoomConversationList:(NSDictionary *)param
2402+ successCallback:(RCTResponseSenderBlock)successCallback
2403+ failCallBack:(RCTResponseSenderBlock)failCallback) {
2404+ [JMSGConversation allChatRoomConversation: ^(id resultObject, NSError *error) {
2405+ if (error) {
2406+ failCallback (@[[error errorToDictionary ]]);
2407+ return ;
2408+ }
2409+
2410+ NSArray *conversationArr = resultObject;
2411+ NSArray *conversationDicArr = [conversationArr mapObjectsUsingBlock: ^id (id obj, NSUInteger idx) {
2412+ JMSGConversation *conversation = obj;
2413+ return [conversation conversationToDictionary ];
2414+ }];
2415+ successCallback (@[conversationDicArr]);
2416+ }];
2417+ }
2418+
2419+
22302420@end
0 commit comments