Commit e9673ded by zhangyunjie

去重

parent 465ce70b
...@@ -1918,9 +1918,9 @@ ...@@ -1918,9 +1918,9 @@
"-ObjC", "-ObjC",
"$(inherited)", "$(inherited)",
); );
PRODUCT_BUNDLE_IDENTIFIER = com.eoffcn.classonline; PRODUCT_BUNDLE_IDENTIFIER = com.eoffcn.questions;
PRODUCT_NAME = "$(TARGET_NAME)"; PRODUCT_NAME = "$(TARGET_NAME)";
PROVISIONING_PROFILE_SPECIFIER = ClassonlineDev; PROVISIONING_PROFILE_SPECIFIER = WXQuestionDev;
TARGETED_DEVICE_FAMILY = "1,2"; TARGETED_DEVICE_FAMILY = "1,2";
}; };
name = Debug; name = Debug;
...@@ -1953,9 +1953,9 @@ ...@@ -1953,9 +1953,9 @@
"-ObjC", "-ObjC",
"$(inherited)", "$(inherited)",
); );
PRODUCT_BUNDLE_IDENTIFIER = com.eoffcn.classonline; PRODUCT_BUNDLE_IDENTIFIER = com.eoffcn.questions;
PRODUCT_NAME = "$(TARGET_NAME)"; PRODUCT_NAME = "$(TARGET_NAME)";
PROVISIONING_PROFILE_SPECIFIER = ClassonlineDev; PROVISIONING_PROFILE_SPECIFIER = WXQuestionDev;
TARGETED_DEVICE_FAMILY = "1,2"; TARGETED_DEVICE_FAMILY = "1,2";
}; };
name = Release; name = Release;
......
// //
...@@ -7,6 +7,7 @@ ...@@ -7,6 +7,7 @@
// //
#import <Foundation/Foundation.h> #import <Foundation/Foundation.h>
#import "OffcnIMModel.h"
NS_ASSUME_NONNULL_BEGIN NS_ASSUME_NONNULL_BEGIN
...@@ -18,7 +19,7 @@ typedef NS_ENUM(NSUInteger, OffcnIMConnectStatus) { ...@@ -18,7 +19,7 @@ typedef NS_ENUM(NSUInteger, OffcnIMConnectStatus) {
}; };
//收到消息回调 //收到消息回调
typedef void(^OffcnIMConnectReceiveMessage)(NSString *message); typedef void(^OffcnIMConnectReceiveMessage)(OffcnIMModel *IMModel);
//连接状态回调 //连接状态回调
typedef void(^OffcnIMReceiveConnectStatus)(OffcnIMConnectStatus status,NSString *errorMessage); typedef void(^OffcnIMReceiveConnectStatus)(OffcnIMConnectStatus status,NSString *errorMessage);
......
// //
...@@ -8,14 +8,24 @@ ...@@ -8,14 +8,24 @@
#import "OffcnIMSocketManager.h" #import "OffcnIMSocketManager.h"
#import <oimcore/oimcoreAdapter.h> #import <oimcore/oimcoreAdapter.h>
#import "ZYJMJExtension.h"
#import "DataSafe.h"
@interface OffcnIMSocketManager ()<OIMCoreDelegate> @interface OffcnIMSocketManager ()<OIMCoreDelegate>
@property (nonatomic, strong) OIMCoreAdapter *adapter; @property (nonatomic, strong) OIMCoreAdapter *adapter;
@property (nonatomic, strong) NSMutableArray *msgArr;
@end @end
@implementation OffcnIMSocketManager @implementation OffcnIMSocketManager
-(NSMutableArray *)msgArr{
if (!_msgArr) {
_msgArr = [NSMutableArray array];
}
return _msgArr;
}
static OffcnIMSocketManager *socketManager; static OffcnIMSocketManager *socketManager;
+(OffcnIMSocketManager *)defaultService{ +(OffcnIMSocketManager *)defaultService{
static dispatch_once_t onceToken; static dispatch_once_t onceToken;
...@@ -48,9 +58,29 @@ static OffcnIMSocketManager *socketManager; ...@@ -48,9 +58,29 @@ static OffcnIMSocketManager *socketManager;
-(void)OnOImCoreMessageWithMessage:(const char *_Nonnull)message msgLength:(int)len{ -(void)OnOImCoreMessageWithMessage:(const char *_Nonnull)message msgLength:(int)len{
// "{\"type\":1,\"body\":{\"session_id\":\"a05517f0-ddec-11ea-88a4-4a5555fb6ab4\",\"msg_id\":\"d5f9b600-e28f-11ea-88a4-4a5555fb6ab4\",\"version\":1,\"send_time\":\"2020-08-20 10:49:58\",\"msg_seq\":1597891798,\"msg_from\":\"jfdfjei0343\",\"msg_scope\":1,\"msg_type\":1,\"msg_content\":{\"msg\":\"随机数298\"}}}" // "{\"type\":1,\"body\":{\"session_id\":\"a05517f0-ddec-11ea-88a4-4a5555fb6ab4\",\"msg_id\":\"d5f9b600-e28f-11ea-88a4-4a5555fb6ab4\",\"version\":1,\"send_time\":\"2020-08-20 10:49:58\",\"msg_seq\":1597891798,\"msg_from\":\"jfdfjei0343\",\"msg_scope\":1,\"msg_type\":1,\"msg_content\":{\"msg\":\"随机数298\"}}}"
if (self.connectReceiveMessage) { NSString *revStr = [NSString stringWithUTF8String:message];
NSString *revStr = [NSString stringWithUTF8String:message]; OffcnIMModel *IMModel = [OffcnIMModel mj_ZYJobjectWithKeyValues:revStr];
self.connectReceiveMessage(revStr); NSString *msg_id = IMModel.body.msg_id;
if (self.msgArr.count) {
if ([self.msgArr containsObject:msg_id]) {
//消息重复,丢弃
}else{
if (self.msgArr.count>=100) {
[self.msgArr removeObjectAtIndex:0];
}
[self.msgArr addObject:msg_id];
if (self.connectReceiveMessage) {
self.connectReceiveMessage(IMModel);
}
}
}else{
[self.msgArr addObject:msg_id];
if (self.connectReceiveMessage) {
self.connectReceiveMessage(IMModel);
}
} }
} }
......
...@@ -2,14 +2,8 @@ ...@@ -2,14 +2,8 @@
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0"> <plist version="1.0">
<dict> <dict>
<key>NSMicrophoneUsageDescription</key>
<string>App需要您的同意,才能访问麦克风</string>
<key>NSPhotoLibraryUsageDescription</key>
<string>App需要您的同意,才能访问相册</string>
<key>CFBundleDevelopmentRegion</key> <key>CFBundleDevelopmentRegion</key>
<string>$(DEVELOPMENT_LANGUAGE)</string> <string>$(DEVELOPMENT_LANGUAGE)</string>
<key>NSCameraUsageDescription</key>
<string>App需要您的同意,才能访问相机</string>
<key>CFBundleExecutable</key> <key>CFBundleExecutable</key>
<string>$(EXECUTABLE_NAME)</string> <string>$(EXECUTABLE_NAME)</string>
<key>CFBundleIdentifier</key> <key>CFBundleIdentifier</key>
...@@ -31,6 +25,12 @@ ...@@ -31,6 +25,12 @@
<key>NSAllowsArbitraryLoads</key> <key>NSAllowsArbitraryLoads</key>
<true/> <true/>
</dict> </dict>
<key>NSCameraUsageDescription</key>
<string>App需要您的同意,才能访问相机</string>
<key>NSMicrophoneUsageDescription</key>
<string>App需要您的同意,才能访问麦克风</string>
<key>NSPhotoLibraryUsageDescription</key>
<string>App需要您的同意,才能访问相册</string>
<key>UIBackgroundModes</key> <key>UIBackgroundModes</key>
<array> <array>
<string>remote-notification</string> <string>remote-notification</string>
......
...@@ -11,6 +11,7 @@ ...@@ -11,6 +11,7 @@
#import "OffcnIMSocketManager.h" #import "OffcnIMSocketManager.h"
#import "OffcnNetworkExecutor.h" #import "OffcnNetworkExecutor.h"
#import "SDGeneralTool.h"
@interface ViewController ()<UINavigationControllerDelegate, UIImagePickerControllerDelegate> @interface ViewController ()<UINavigationControllerDelegate, UIImagePickerControllerDelegate>
...@@ -45,8 +46,14 @@ ...@@ -45,8 +46,14 @@
NSString *paramStr = @"{\"server_ip\":\"39.102.42.185\", \"server_port\":6000, \"user_id\":\"ce0819db8391f1e7258a71cc9e2c3235\",\"app_id\":\"offcn_live\", \"device_type\":\"ios\", \"token\":\"fadbce3f4929b6bdee0617fee34e32ae\"}"; NSString *paramStr = @"{\"server_ip\":\"39.102.42.185\", \"server_port\":6000, \"user_id\":\"ce0819db8391f1e7258a71cc9e2c3235\",\"app_id\":\"offcn_live\", \"device_type\":\"ios\", \"token\":\"fadbce3f4929b6bdee0617fee34e32ae\"}";
[[OffcnIMSocketManager defaultService] connectIMServerWithParam:paramStr]; [[OffcnIMSocketManager defaultService] connectIMServerWithParam:paramStr];
[OffcnIMSocketManager defaultService].connectReceiveMessage = ^(NSString * _Nonnull message) { [OffcnIMSocketManager defaultService].connectReceiveMessage = ^(OffcnIMModel *IMModel) {
NSLog(@"收到消息---%@",message); NSLog(@"收到消息---%@",IMModel.body.msg.msg);
dispatch_async(dispatch_get_main_queue(), ^{
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"收到消息" message:IMModel.body.msg.msg delegate:self cancelButtonTitle:@"取消" otherButtonTitles:@"确定", nil];
[alert show];
});
}; };
[OffcnIMSocketManager defaultService].connectStatus = ^(OffcnIMConnectStatus status, NSString * _Nonnull errorMessage) { [OffcnIMSocketManager defaultService].connectStatus = ^(OffcnIMConnectStatus status, NSString * _Nonnull errorMessage) {
...@@ -69,7 +76,8 @@ ...@@ -69,7 +76,8 @@
- (IBAction)sendMeg:(UIButton *)sender { - (IBAction)sendMeg:(UIButton *)sender {
//发送消息 //发送消息
[[OffcnIMSDKiOS defaultService] sendMsgWithMsg_fromID:self.fromId msg_toID:self.toId tid:@"13e266f3-e139-11ea-88a4-4a5555fb6ab4" msg_type:OffcnSDKMsgTypeText text:@"你好" filePath:nil Finished:^(BOOL success, OffcnIMSendMsgModel *sendMsgModel, NSString *errorMessage) { NSString *tidStr = [NSString stringWithFormat:@"%@_%@",self.toId,[SDGeneralTool getNowSSSTimeTimestamp]];
[[OffcnIMSDKiOS defaultService] sendMsgWithMsg_fromID:self.fromId msg_toID:self.toId tid:tidStr msg_type:OffcnSDKMsgTypeText text:@"你好" filePath:nil Finished:^(BOOL success, OffcnIMSendMsgModel *sendMsgModel, NSString *errorMessage) {
}]; }];
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment