Commit 276beb8f by zhangyunjie

数据库

parent 6cf4c29f
...@@ -44,7 +44,7 @@ ...@@ -44,7 +44,7 @@
A966215224EA80A60024EB54 /* ZYJZYJFMDatabase.m in Sources */ = {isa = PBXBuildFile; fileRef = A9661FF024EA80A50024EB54 /* ZYJZYJFMDatabase.m */; }; A966215224EA80A60024EB54 /* ZYJZYJFMDatabase.m in Sources */ = {isa = PBXBuildFile; fileRef = A9661FF024EA80A50024EB54 /* ZYJZYJFMDatabase.m */; };
A966215324EA80A60024EB54 /* ZYJZYJFMDatabaseAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = A9661FF124EA80A50024EB54 /* ZYJZYJFMDatabaseAdditions.m */; }; A966215324EA80A60024EB54 /* ZYJZYJFMDatabaseAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = A9661FF124EA80A50024EB54 /* ZYJZYJFMDatabaseAdditions.m */; };
A966215424EA80A60024EB54 /* ZYJZYJFMResultSet.m in Sources */ = {isa = PBXBuildFile; fileRef = A9661FF424EA80A50024EB54 /* ZYJZYJFMResultSet.m */; }; A966215424EA80A60024EB54 /* ZYJZYJFMResultSet.m in Sources */ = {isa = PBXBuildFile; fileRef = A9661FF424EA80A50024EB54 /* ZYJZYJFMResultSet.m */; };
A966215524EA80A60024EB54 /* OffcnZYJFMDBHandler.m in Sources */ = {isa = PBXBuildFile; fileRef = A9661FF524EA80A50024EB54 /* OffcnZYJFMDBHandler.m */; }; A966215524EA80A60024EB54 /* OffcnIMZYJFMDBHandler.m in Sources */ = {isa = PBXBuildFile; fileRef = A9661FF524EA80A50024EB54 /* OffcnIMZYJFMDBHandler.m */; };
A966215624EA80A60024EB54 /* NSObject+ZYJMJCoding.m in Sources */ = {isa = PBXBuildFile; fileRef = A9661FF824EA80A50024EB54 /* NSObject+ZYJMJCoding.m */; }; A966215624EA80A60024EB54 /* NSObject+ZYJMJCoding.m in Sources */ = {isa = PBXBuildFile; fileRef = A9661FF824EA80A50024EB54 /* NSObject+ZYJMJCoding.m */; };
A966215724EA80A60024EB54 /* ZYJMJPropertyType.m in Sources */ = {isa = PBXBuildFile; fileRef = A9661FFB24EA80A50024EB54 /* ZYJMJPropertyType.m */; }; A966215724EA80A60024EB54 /* ZYJMJPropertyType.m in Sources */ = {isa = PBXBuildFile; fileRef = A9661FFB24EA80A50024EB54 /* ZYJMJPropertyType.m */; };
A966215824EA80A60024EB54 /* ZYJMJProperty.m in Sources */ = {isa = PBXBuildFile; fileRef = A9661FFC24EA80A50024EB54 /* ZYJMJProperty.m */; }; A966215824EA80A60024EB54 /* ZYJMJProperty.m in Sources */ = {isa = PBXBuildFile; fileRef = A9661FFC24EA80A50024EB54 /* ZYJMJProperty.m */; };
...@@ -300,14 +300,14 @@ ...@@ -300,14 +300,14 @@
A9661FEB24EA80A50024EB54 /* ZYJZYJFMDatabaseQueue.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ZYJZYJFMDatabaseQueue.m; sourceTree = "<group>"; }; A9661FEB24EA80A50024EB54 /* ZYJZYJFMDatabaseQueue.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ZYJZYJFMDatabaseQueue.m; sourceTree = "<group>"; };
A9661FEC24EA80A50024EB54 /* ZYJZYJFMDatabaseAdditions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ZYJZYJFMDatabaseAdditions.h; sourceTree = "<group>"; }; A9661FEC24EA80A50024EB54 /* ZYJZYJFMDatabaseAdditions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ZYJZYJFMDatabaseAdditions.h; sourceTree = "<group>"; };
A9661FED24EA80A50024EB54 /* ZYJZYJFMDatabasePool.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ZYJZYJFMDatabasePool.m; sourceTree = "<group>"; }; A9661FED24EA80A50024EB54 /* ZYJZYJFMDatabasePool.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ZYJZYJFMDatabasePool.m; sourceTree = "<group>"; };
A9661FEE24EA80A50024EB54 /* OffcnZYJFMDBHandler.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OffcnZYJFMDBHandler.h; sourceTree = "<group>"; }; A9661FEE24EA80A50024EB54 /* OffcnIMZYJFMDBHandler.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OffcnIMZYJFMDBHandler.h; sourceTree = "<group>"; };
A9661FEF24EA80A50024EB54 /* ZYJZYJFMResultSet.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ZYJZYJFMResultSet.h; sourceTree = "<group>"; }; A9661FEF24EA80A50024EB54 /* ZYJZYJFMResultSet.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ZYJZYJFMResultSet.h; sourceTree = "<group>"; };
A9661FF024EA80A50024EB54 /* ZYJZYJFMDatabase.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ZYJZYJFMDatabase.m; sourceTree = "<group>"; }; A9661FF024EA80A50024EB54 /* ZYJZYJFMDatabase.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ZYJZYJFMDatabase.m; sourceTree = "<group>"; };
A9661FF124EA80A50024EB54 /* ZYJZYJFMDatabaseAdditions.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ZYJZYJFMDatabaseAdditions.m; sourceTree = "<group>"; }; A9661FF124EA80A50024EB54 /* ZYJZYJFMDatabaseAdditions.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ZYJZYJFMDatabaseAdditions.m; sourceTree = "<group>"; };
A9661FF224EA80A50024EB54 /* ZYJZYJFMDatabaseQueue.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ZYJZYJFMDatabaseQueue.h; sourceTree = "<group>"; }; A9661FF224EA80A50024EB54 /* ZYJZYJFMDatabaseQueue.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ZYJZYJFMDatabaseQueue.h; sourceTree = "<group>"; };
A9661FF324EA80A50024EB54 /* ZYJZYJFMDatabasePool.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ZYJZYJFMDatabasePool.h; sourceTree = "<group>"; }; A9661FF324EA80A50024EB54 /* ZYJZYJFMDatabasePool.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ZYJZYJFMDatabasePool.h; sourceTree = "<group>"; };
A9661FF424EA80A50024EB54 /* ZYJZYJFMResultSet.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ZYJZYJFMResultSet.m; sourceTree = "<group>"; }; A9661FF424EA80A50024EB54 /* ZYJZYJFMResultSet.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ZYJZYJFMResultSet.m; sourceTree = "<group>"; };
A9661FF524EA80A50024EB54 /* OffcnZYJFMDBHandler.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = OffcnZYJFMDBHandler.m; sourceTree = "<group>"; }; A9661FF524EA80A50024EB54 /* OffcnIMZYJFMDBHandler.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = OffcnIMZYJFMDBHandler.m; sourceTree = "<group>"; };
A9661FF824EA80A50024EB54 /* NSObject+ZYJMJCoding.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSObject+ZYJMJCoding.m"; sourceTree = "<group>"; }; A9661FF824EA80A50024EB54 /* NSObject+ZYJMJCoding.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSObject+ZYJMJCoding.m"; sourceTree = "<group>"; };
A9661FF924EA80A50024EB54 /* NSObject+ZYJMJProperty.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSObject+ZYJMJProperty.h"; sourceTree = "<group>"; }; A9661FF924EA80A50024EB54 /* NSObject+ZYJMJProperty.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSObject+ZYJMJProperty.h"; sourceTree = "<group>"; };
A9661FFA24EA80A50024EB54 /* ZYJMJFoundation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ZYJMJFoundation.h; sourceTree = "<group>"; }; A9661FFA24EA80A50024EB54 /* ZYJMJFoundation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ZYJMJFoundation.h; sourceTree = "<group>"; };
...@@ -721,6 +721,7 @@ ...@@ -721,6 +721,7 @@
A9661F8124EA7AD10024EB54 /* Tools-(工具) */ = { A9661F8124EA7AD10024EB54 /* Tools-(工具) */ = {
isa = PBXGroup; isa = PBXGroup;
children = ( children = (
A9D1B33324FD1308000F4662 /* ZYJQiniu */,
A9661FE824EA80A50024EB54 /* OffcnZYJFMDBHandler */, A9661FE824EA80A50024EB54 /* OffcnZYJFMDBHandler */,
A9661FF624EA80A50024EB54 /* ZYJLibs */, A9661FF624EA80A50024EB54 /* ZYJLibs */,
A9661F8224EA7AD10024EB54 /* LoadingView */, A9661F8224EA7AD10024EB54 /* LoadingView */,
...@@ -924,8 +925,6 @@ ...@@ -924,8 +925,6 @@
A9661FF224EA80A50024EB54 /* ZYJZYJFMDatabaseQueue.h */, A9661FF224EA80A50024EB54 /* ZYJZYJFMDatabaseQueue.h */,
A9661FF324EA80A50024EB54 /* ZYJZYJFMDatabasePool.h */, A9661FF324EA80A50024EB54 /* ZYJZYJFMDatabasePool.h */,
A9661FF424EA80A50024EB54 /* ZYJZYJFMResultSet.m */, A9661FF424EA80A50024EB54 /* ZYJZYJFMResultSet.m */,
A9661FEE24EA80A50024EB54 /* OffcnZYJFMDBHandler.h */,
A9661FF524EA80A50024EB54 /* OffcnZYJFMDBHandler.m */,
); );
path = OffcnZYJFMDBHandler; path = OffcnZYJFMDBHandler;
sourceTree = "<group>"; sourceTree = "<group>";
...@@ -1448,16 +1447,25 @@ ...@@ -1448,16 +1447,25 @@
children = ( children = (
A966274B24EBA56C0024EB54 /* OffcnIMSDKiOS.h */, A966274B24EBA56C0024EB54 /* OffcnIMSDKiOS.h */,
A966274C24EBA56C0024EB54 /* OffcnIMSDKiOS.m */, A966274C24EBA56C0024EB54 /* OffcnIMSDKiOS.m */,
A9D1B31624EFAD8C000F4662 /* OffcnUploadManager.h */,
A9D1B31724EFAD8C000F4662 /* OffcnUploadManager.m */,
A9D1B31924F34C25000F4662 /* OffcnIMSocketManager.h */, A9D1B31924F34C25000F4662 /* OffcnIMSocketManager.h */,
A9D1B31A24F34C25000F4662 /* OffcnIMSocketManager.m */, A9D1B31A24F34C25000F4662 /* OffcnIMSocketManager.m */,
A9D1B32024F50973000F4662 /* OffcnIMModel.h */, A9D1B32024F50973000F4662 /* OffcnIMModel.h */,
A9D1B32124F50973000F4662 /* OffcnIMModel.m */, A9D1B32124F50973000F4662 /* OffcnIMModel.m */,
A9661FEE24EA80A50024EB54 /* OffcnIMZYJFMDBHandler.h */,
A9661FF524EA80A50024EB54 /* OffcnIMZYJFMDBHandler.m */,
); );
path = "ExposedInterface-(外放接口)"; path = "ExposedInterface-(外放接口)";
sourceTree = "<group>"; sourceTree = "<group>";
}; };
A9D1B33324FD1308000F4662 /* ZYJQiniu */ = {
isa = PBXGroup;
children = (
A9D1B31624EFAD8C000F4662 /* OffcnUploadManager.h */,
A9D1B31724EFAD8C000F4662 /* OffcnUploadManager.m */,
);
path = ZYJQiniu;
sourceTree = "<group>";
};
CC1958D307ED3EA5F9EA7118 /* Frameworks */ = { CC1958D307ED3EA5F9EA7118 /* Frameworks */ = {
isa = PBXGroup; isa = PBXGroup;
children = ( children = (
...@@ -1597,7 +1605,7 @@ ...@@ -1597,7 +1605,7 @@
A9661FE424EA7AD10024EB54 /* CLSlider.m in Sources */, A9661FE424EA7AD10024EB54 /* CLSlider.m in Sources */,
A966217224EA80A60024EB54 /* ZYJReachStateWWAN.m in Sources */, A966217224EA80A60024EB54 /* ZYJReachStateWWAN.m in Sources */,
A966217024EA80A60024EB54 /* ZYJReachStateUnReachable.m in Sources */, A966217024EA80A60024EB54 /* ZYJReachStateUnReachable.m in Sources */,
A966215524EA80A60024EB54 /* OffcnZYJFMDBHandler.m in Sources */, A966215524EA80A60024EB54 /* OffcnIMZYJFMDBHandler.m in Sources */,
A96621B824EA80A60024EB54 /* ZYJOSSTask.m in Sources */, A96621B824EA80A60024EB54 /* ZYJOSSTask.m in Sources */,
A96621DE24EA80A60024EB54 /* ZYJMQTTSessionManager.m in Sources */, A96621DE24EA80A60024EB54 /* ZYJMQTTSessionManager.m in Sources */,
A9661FDF24EA7AD10024EB54 /* NSAttributedString+SDSize.m in Sources */, A9661FDF24EA7AD10024EB54 /* NSAttributedString+SDSize.m in Sources */,
......
...@@ -10,6 +10,7 @@ ...@@ -10,6 +10,7 @@
#import "ViewController.h" #import "ViewController.h"
#import "OffcnIMSDKiOS.h" #import "OffcnIMSDKiOS.h"
#import "OffcnIMSocketManager.h" #import "OffcnIMSocketManager.h"
#import "OffcnIMZYJFMDBHandler.h"
@interface AppDelegate () @interface AppDelegate ()
...@@ -33,11 +34,13 @@ ...@@ -33,11 +34,13 @@
NSLog(@"changeEnvironment---%@",changeEnvironment); NSLog(@"changeEnvironment---%@",changeEnvironment);
[OffcnIMSDKiOS defaultService].isTest = [changeEnvironment boolValue]; [OffcnIMSDKiOS defaultService].isTest = [changeEnvironment boolValue];
//获取网络状态和内部初始化处理
[[OffcnIMSDKiOS defaultService] startNotifierUseRealReachability];
//获取用户相关数据库,该方法在登陆或者第一次启动已登陆下执行
[[OffcnIMZYJFMDBHandler sharedInstance] getUserDB];
//推送 //推送
[self registerOffcnUserNotificationSettingsWithApplication:application options:launchOptions]; [self registerOffcnUserNotificationSettingsWithApplication:application options:launchOptions];
//获取网络状态和内部初始化处理
[[OffcnIMSDKiOS defaultService] startNotifierUseRealReachability];
return YES; return YES;
} }
......
// //
...@@ -30,6 +30,14 @@ NS_ASSUME_NONNULL_BEGIN ...@@ -30,6 +30,14 @@ NS_ASSUME_NONNULL_BEGIN
@property (nonatomic,copy)NSString *msg_to;//接受消息的用户id @property (nonatomic,copy)NSString *msg_to;//接受消息的用户id
@property (nonatomic,assign)NSInteger msg_type;//消息类型 @property (nonatomic,assign)NSInteger msg_type;//消息类型
@property (nonatomic,strong)OffcnIMMsgModel *msg;//消息内容 @property (nonatomic,strong)OffcnIMMsgModel *msg;//消息内容
//以下数据库使用
@property (nonatomic,assign)NSInteger isSentSuccess;//是否发送成功
@property (nonatomic,assign)NSInteger bymyself;//是否是我发送的
@property (nonatomic,assign)NSInteger isRead;//是否已读
@property (nonatomic,copy)NSString *lastmessage;//最后一条消息
@property (nonatomic,copy)NSString *lastSendtime;//最后一条消息时间
@property (nonatomic,copy)NSString *tid;//本地的消息Id
@end @end
@interface OffcnIMMsgModel : NSObject @interface OffcnIMMsgModel : NSObject
......
// //
...@@ -17,6 +17,7 @@ ...@@ -17,6 +17,7 @@
#import "NSString+MD5.h" #import "NSString+MD5.h"
#import <Foundation/Foundation.h> #import <Foundation/Foundation.h>
#import <AVFoundation/AVFoundation.h> #import <AVFoundation/AVFoundation.h>
#import "OffcnIMZYJFMDBHandler.h"
@interface OffcnIMSDKiOS () @interface OffcnIMSDKiOS ()
...@@ -119,6 +120,23 @@ static OffcnIMSDKiOS *liveTelecastSDK; ...@@ -119,6 +120,23 @@ static OffcnIMSDKiOS *liveTelecastSDK;
if (!text || !text.length) { if (!text || !text.length) {
text = @""; text = @"";
} }
OffcnIMMsgModel *MsgModel = [[OffcnIMMsgModel alloc] init];
OffcnIMBodyModel *BodyModel = [[OffcnIMBodyModel alloc] init];
BodyModel.msg_from = msg_fromID;
BodyModel.msg_to = msg_toID;
BodyModel.msg_type = msg_type;
BodyModel.tid = tidStr;
MsgModel.msg = text;
BodyModel.msg = MsgModel;
BodyModel.isSentSuccess = 0;
BodyModel.bymyself = 1;
BodyModel.isRead = 0;
[[OffcnIMZYJFMDBHandler sharedInstance] insertChatInfoToFMDBWithModel:BodyModel];
[[OffcnIMZYJFMDBHandler sharedInstance] chatlistCacheInfo:BodyModel callback:nil];
NSMutableDictionary *dataDic = [NSMutableDictionary dictionaryWithObject:text forKey:@"msg"]; NSMutableDictionary *dataDic = [NSMutableDictionary dictionaryWithObject:text forKey:@"msg"];
[OffcnNetworkExecutor requestSendMsgWithMsg_fromID:msg_fromID msg_toID:msg_toID msg_type:msg_type tid:tidStr msg:dataDic Finished:^(BOOL success, OffcnIMSendMsgModel *sendMsgModel, BaseResponse *baseResponse) { [OffcnNetworkExecutor requestSendMsgWithMsg_fromID:msg_fromID msg_toID:msg_toID msg_type:msg_type tid:tidStr msg:dataDic Finished:^(BOOL success, OffcnIMSendMsgModel *sendMsgModel, BaseResponse *baseResponse) {
...@@ -128,6 +146,18 @@ static OffcnIMSDKiOS *liveTelecastSDK; ...@@ -128,6 +146,18 @@ static OffcnIMSDKiOS *liveTelecastSDK;
if (!filePath || !filePath.length) { if (!filePath || !filePath.length) {
filePath = @""; filePath = @"";
} }
OffcnIMBodyModel *BodyModel = [[OffcnIMBodyModel alloc] init];
BodyModel.msg_from = msg_fromID;
BodyModel.msg_to = msg_toID;
BodyModel.msg_type = msg_type;
BodyModel.tid = tidStr;
BodyModel.isSentSuccess = 0;
BodyModel.bymyself = 1;
BodyModel.isRead = 0;
[[OffcnIMZYJFMDBHandler sharedInstance] insertChatInfoToFMDBWithModel:BodyModel];
[[OffcnIMZYJFMDBHandler sharedInstance] chatlistCacheInfo:BodyModel callback:nil];
[[OffcnUploadManager defaultService] uploadToQNFilePath:filePath Finished:^(BOOL success, id _Nonnull response, NSString * _Nonnull errorMessage) { [[OffcnUploadManager defaultService] uploadToQNFilePath:filePath Finished:^(BOOL success, id _Nonnull response, NSString * _Nonnull errorMessage) {
if (success) { if (success) {
NSString *urlStr = @""; NSString *urlStr = @"";
......
// //
...@@ -11,6 +11,7 @@ ...@@ -11,6 +11,7 @@
#import "ZYJMJExtension.h" #import "ZYJMJExtension.h"
#import "DataSafe.h" #import "DataSafe.h"
#import "SDGeneralTool.h" #import "SDGeneralTool.h"
#import "OffcnIMZYJFMDBHandler.h"
@interface OffcnIMSocketManager ()<OIMCoreDelegate> @interface OffcnIMSocketManager ()<OIMCoreDelegate>
...@@ -52,8 +53,8 @@ static OffcnIMSocketManager *socketManager; ...@@ -52,8 +53,8 @@ static OffcnIMSocketManager *socketManager;
// tls = ["disable", "enable"] // tls = ["disable", "enable"]
NSMutableDictionary *dic = [NSMutableDictionary dictionary]; NSMutableDictionary *dic = [NSMutableDictionary dictionary];
[dic setObjectOnSafe:@"192.168.43.141" forKey:@"server_ip"]; [dic setObjectOnSafe:@"39.102.42.185" forKey:@"server_ip"];
[dic setObjectOnSafe:[NSNumber numberWithInteger:1026] forKey:@"server_port"]; [dic setObjectOnSafe:[NSNumber numberWithInteger:1280] forKey:@"server_port"];
[dic setObjectOnSafe:account_id forKey:@"account_id"]; [dic setObjectOnSafe:account_id forKey:@"account_id"];
[dic setObjectOnSafe:@"offcn_live" forKey:@"app_id"]; [dic setObjectOnSafe:@"offcn_live" forKey:@"app_id"];
[dic setObjectOnSafe:@"ios" forKey:@"device_type"]; [dic setObjectOnSafe:@"ios" forKey:@"device_type"];
...@@ -97,6 +98,13 @@ static OffcnIMSocketManager *socketManager; ...@@ -97,6 +98,13 @@ static OffcnIMSocketManager *socketManager;
[self.msgArr addObject:msg_id]; [self.msgArr addObject:msg_id];
//存数据库 //存数据库
OffcnIMBodyModel *body = IMModel.body;
body.isSentSuccess = 1;
body.bymyself = 0;
body.isRead = 0;
[[OffcnIMZYJFMDBHandler sharedInstance] insertChatInfoToFMDBWithModel:body];
[[OffcnIMZYJFMDBHandler sharedInstance] chatlistCacheInfo:body callback:nil];
if (self.connectReceiveMessage) { if (self.connectReceiveMessage) {
self.connectReceiveMessage(IMModel); self.connectReceiveMessage(IMModel);
} }
...@@ -104,8 +112,14 @@ static OffcnIMSocketManager *socketManager; ...@@ -104,8 +112,14 @@ static OffcnIMSocketManager *socketManager;
}else{ }else{
[self.msgArr addObject:msg_id]; [self.msgArr addObject:msg_id];
//存数据库 //存数据库
OffcnIMBodyModel *body = IMModel.body;
body.isSentSuccess = 1;
body.bymyself = 0;
body.isRead = 0;
[[OffcnIMZYJFMDBHandler sharedInstance] insertChatInfoToFMDBWithModel:body];
[[OffcnIMZYJFMDBHandler sharedInstance] chatlistCacheInfo:body callback:nil];
if (self.connectReceiveMessage) { if (self.connectReceiveMessage) {
self.connectReceiveMessage(IMModel); self.connectReceiveMessage(IMModel);
} }
......
//
//
// OffcnIMZYJFMDBHandler.h
// OffcnIMSDKiOS
//
// Created by vockey on 2019/4/9.
// Copyright © 2019年 中公教育. All rights reserved.
//
#import <Foundation/Foundation.h>
typedef NS_ENUM(NSInteger, UIClearStyle) {
UIClearStyleAll = 1,//删除list和具体聊天内容
UIClearStylePart = 2,//只删除聊天内容 , list记录不删除
UIClearStyleList = 3 //删除系统消息等
};
typedef void (^getFMDBHistoryMessagesBlock)(NSArray *messagesArray);
typedef void (^callBackIsSuccess)(BOOL isSuccess);
@class OffcnIMBodyModel;
@interface OffcnIMZYJFMDBHandler : NSObject
+ (OffcnIMZYJFMDBHandler *)sharedInstance;
//获取用户相关数据库,该方法在登陆或者第一次启动已登陆下执行
- (void)getUserDB;
//发送,收到消息写入
- (void)insertChatInfoToFMDBWithModel:(OffcnIMBodyModel *)chatModel;
//消息发送成功更新状态
- (void)updateChatInfoIsSendStatusToFMDBWithModel:(OffcnIMBodyModel *)messageModel isSuccess:(callBackIsSuccess)isSuccess;
//自己发送消息更新聊天列表
- (void)chatlistCacheInfo:(OffcnIMBodyModel *)chatlistModel callback:(callBackIsSuccess)isSucess;
//某一条消息更新已读状态
- (void)updateChatInfoIsRead:(OffcnIMBodyModel *)model callBack:(callBackIsSuccess)isSuccess;
//删除个人聊天记录
- (void)deleteUserChatDataWithFromUser:(NSString *)fromUser toUser:(NSString *)toUser clearStyle:(UIClearStyle)clearStyle callBack:(callBackIsSuccess)callbackBool;
//删除消息,并更新消息列表最后一条消息
- (void)deleteMessage:(OffcnIMBodyModel *)messageModel dataSource:(NSMutableArray *)array callback:(callBackIsSuccess)isSuccess;
//删除表格
- (void)deleteDataTable;
//查询聊天记录(按时间戳倒叙排序)
- (void)getChatInfoArrayWithFromUser:(NSString *)fromUser toUser:(NSString *)toUser limit:(NSString *)limit startIndex:(NSString *)startIndex callback:(getFMDBHistoryMessagesBlock)messagesBack;
//查询聊天列表
- (void)getChatInfoAllDataArrayCallback:(getFMDBHistoryMessagesBlock)messagesBack;
//消息内容
- (NSString *)lastMessage:(OffcnIMBodyModel *)messageModel;
@end
// //
...@@ -10,6 +10,7 @@ ...@@ -10,6 +10,7 @@
#import "DataSafe.h" #import "DataSafe.h"
#import "SDConfigrationNetwork.h" #import "SDConfigrationNetwork.h"
#import "ZYJMJExtension.h" #import "ZYJMJExtension.h"
#import "OffcnIMZYJFMDBHandler.h"
@implementation OffcnNetworkExecutor @implementation OffcnNetworkExecutor
+ (void)cancelAllOperations{ + (void)cancelAllOperations{
...@@ -47,11 +48,29 @@ ...@@ -47,11 +48,29 @@
[OffcnBaseNetworking postToURL:sendMsgURL bodyParams:dic finished:^(BaseResponse *baseResponse) { [OffcnBaseNetworking postToURL:sendMsgURL bodyParams:dic finished:^(BaseResponse *baseResponse) {
if (baseResponse.isSuccess) { if (baseResponse.isSuccess) {
OffcnIMSendMsgModel *SendMsgModel = [OffcnIMSendMsgModel mj_ZYJobjectWithKeyValues:baseResponse.responseObject]; OffcnIMSendMsgModel *SendMsgModel = [OffcnIMSendMsgModel mj_ZYJobjectWithKeyValues:baseResponse.responseObject];
OffcnIMBodyModel *BodyModel = [[OffcnIMBodyModel alloc] init];
BodyModel.msg_id = SendMsgModel.msg_id;
BodyModel.send_time = SendMsgModel.send_time;
BodyModel.session_id = SendMsgModel.session_id;
BodyModel.tid = tid;
BodyModel.isSentSuccess = 1;
[[OffcnIMZYJFMDBHandler sharedInstance] updateChatInfoIsSendStatusToFMDBWithModel:BodyModel isSuccess:nil];
finished(YES,SendMsgModel,nil); finished(YES,SendMsgModel,nil);
}else{ }else{
OffcnIMBodyModel *BodyModel = [[OffcnIMBodyModel alloc] init];
BodyModel.msg_id = @"";
BodyModel.send_time = @"";
BodyModel.session_id = @"";
BodyModel.tid = tid;
BodyModel.isSentSuccess = 0;
[[OffcnIMZYJFMDBHandler sharedInstance] updateChatInfoIsSendStatusToFMDBWithModel:BodyModel isSuccess:nil];
finished(NO,nil,baseResponse); finished(NO,nil,baseResponse);
} }
}]; }];
......
// ++ /dev/null
//
// OffcnZYJFMDBHandler.h
// OffcnIMSDKiOS
//
// Created by vockey on 2019/4/9.
// Copyright © 2019年 中公教育. All rights reserved.
//
#import <Foundation/Foundation.h>
#import "ZYJZYJFMDB.h"
typedef NS_ENUM(NSInteger, UIClearStyle) {
UIClearStyleAll = 2,//删除list和具体聊天内容
UIClearStylePart = 3,//只删除聊天内容 , list记录不删除
UIClearStyleList = 4 //删除系统消息等
};
typedef void(^ReturnData)(NSMutableArray *modelArr);
@interface OffcnZYJFMDBHandler : NSObject
+ (OffcnZYJFMDBHandler *)sharedInstance;
@end
// ++ /dev/null
//
// OffcnZYJFMDBHandler.m
// OffcnIMSDKiOS
//
// Created by vockey on 2019/4/9.
// Copyright © 2019年 中公教育. All rights reserved.
//
#import "OffcnZYJFMDBHandler.h"
@interface OffcnZYJFMDBHandler()
@property (nonatomic,strong) ZYJZYJFMDatabaseQueue *chatDBDatabase;
@end
@implementation OffcnZYJFMDBHandler
static OffcnZYJFMDBHandler *FMDBHandler;
+ (OffcnZYJFMDBHandler *)sharedInstance {
static dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
FMDBHandler = [[self alloc] init];
});
return FMDBHandler;
}
- (instancetype)init {
if (self = [super init]) {
}
return self;
}
#pragma mark - 聊天本地数据库
//创建聊天本地数据库
NS_INLINE ZYJZYJFMDatabaseQueue * getFMDBInstance(){
NSString *path = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask,YES).firstObject;
NSString *filePath = [path stringByAppendingPathComponent:@"ZYJFMDBChat.db"];
ZYJZYJFMDatabaseQueue *database = [ZYJZYJFMDatabaseQueue databaseQueueWithPath:filePath];
return database;
}
@end
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