Commit 446c75f7 authored by lmj_521aiau@163.com's avatar lmj_521aiau@163.com

icloud 优化

parent 1a7e95d5
...@@ -73,7 +73,7 @@ class SHMineViewController: SHBaseViewController { ...@@ -73,7 +73,7 @@ class SHMineViewController: SHBaseViewController {
} }
func sortType(){ func sortType(){
UIAlertController.showActionSheet(withTitle: "", message: "", cancelBtnTitle: "取消", otherBtnTitles: sortTypes) { (index) in UIAlertController.showActionSheet(withTitle: nil, message: nil, cancelBtnTitle: "取消", otherBtnTitles: sortTypes) { (index) in
if index == 0{ if index == 0{
return return
} }
...@@ -153,6 +153,7 @@ extension SHMineViewController:UITableViewDelegate, UITableViewDataSource{ ...@@ -153,6 +153,7 @@ extension SHMineViewController:UITableViewDelegate, UITableViewDataSource{
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) { func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
tableView.deselectRow(at: indexPath, animated: true)
switch indexPath.section { switch indexPath.section {
case 0: case 0:
sortType() sortType()
...@@ -178,7 +179,18 @@ extension SHMineViewController:UITableViewDelegate, UITableViewDataSource{ ...@@ -178,7 +179,18 @@ extension SHMineViewController:UITableViewDelegate, UITableViewDataSource{
self.navigationController?.pushViewController(webView, animated: true) self.navigationController?.pushViewController(webView, animated: true)
break break
case 3: case 3:
SHStoreManager.restorePurchases(success: {
SHUserAccountManager.shared.getUserInfo({ (model) in
if model.isMember{
self.getUserInfo()
MBProgressHUD.showSuccess("恢复成功")
}else{
MBProgressHUD.showError("恢复失败,请稍后再试")
}
}, failure: {
MBProgressHUD.showError("恢复失败,请稍后再试")
})
}, toView: self.view)
break break
default: default:
break break
...@@ -188,13 +200,5 @@ extension SHMineViewController:UITableViewDelegate, UITableViewDataSource{ ...@@ -188,13 +200,5 @@ extension SHMineViewController:UITableViewDelegate, UITableViewDataSource{
default: default:
break break
} }
// let webView = SHWebViewController()
// webView.url = SHUserAccountManager.shared.h5_urlDic["user"] as? String
// webView.title = "付费用户协议"
// self.navigationController?.pushViewController(webView, animated: true)
// let delete = UIStoryboard.init(name: "Mine", bundle: nil).instantiateViewController(withIdentifier: "SHDeleteDetailsViewController") as! SHDeleteDetailsViewController
// self.navigationController?.pushViewController(delete, animated: true)
} }
} }
...@@ -32,6 +32,7 @@ class SHRecordModel: NSObject{ ...@@ -32,6 +32,7 @@ class SHRecordModel: NSObject{
@objc var selected: Bool = false @objc var selected: Bool = false
@objc var icloud: Bool = false @objc var icloud: Bool = false
@objc var processing: Bool = false
override func setValue(_ value: Any?, forUndefinedKey key: String) { override func setValue(_ value: Any?, forUndefinedKey key: String) {
......
...@@ -193,13 +193,13 @@ ...@@ -193,13 +193,13 @@
<rect key="frame" x="0.0" y="100" width="414" height="678"/> <rect key="frame" x="0.0" y="100" width="414" height="678"/>
<subviews> <subviews>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="点击右上角添加笔记" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="JlT-EC-bWg"> <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="点击右上角添加笔记" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="JlT-EC-bWg">
<rect key="frame" x="115.5" y="395" width="183.5" height="24"/> <rect key="frame" x="124.5" y="396" width="165.5" height="21.5"/>
<fontDescription key="fontDescription" type="system" pointSize="20"/> <fontDescription key="fontDescription" type="system" pointSize="18"/>
<color key="textColor" red="0.40000000000000002" green="0.40000000000000002" blue="0.40000000000000002" alpha="0.84705882349999995" colorSpace="calibratedRGB"/> <color key="textColor" red="0.40000000000000002" green="0.40000000000000002" blue="0.40000000000000002" alpha="0.84705882349999995" colorSpace="calibratedRGB"/>
<nil key="highlightedColor"/> <nil key="highlightedColor"/>
</label> </label>
<imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="recordlist_no_data" translatesAutoresizingMaskIntoConstraints="NO" id="1ji-L1-Qj7"> <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="recordlist_no_data" translatesAutoresizingMaskIntoConstraints="NO" id="1ji-L1-Qj7">
<rect key="frame" x="123.5" y="272" width="167" height="103"/> <rect key="frame" x="123.5" y="273" width="167" height="103"/>
</imageView> </imageView>
</subviews> </subviews>
<color key="backgroundColor" systemColor="systemBackgroundColor"/> <color key="backgroundColor" systemColor="systemBackgroundColor"/>
...@@ -334,13 +334,13 @@ ...@@ -334,13 +334,13 @@
<rect key="frame" x="0.0" y="44" width="414" height="758"/> <rect key="frame" x="0.0" y="44" width="414" height="758"/>
<subviews> <subviews>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="这个笔记本里还没有笔记" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="QYS-Yf-f9g"> <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="这个笔记本里还没有笔记" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="QYS-Yf-f9g">
<rect key="frame" x="95" y="367" width="224.5" height="24"/> <rect key="frame" x="106" y="368.5" width="202" height="21.5"/>
<fontDescription key="fontDescription" type="system" pointSize="20"/> <fontDescription key="fontDescription" type="system" pointSize="18"/>
<color key="textColor" red="0.40000000000000002" green="0.40000000000000002" blue="0.40000000000000002" alpha="0.84705882349999995" colorSpace="calibratedRGB"/> <color key="textColor" red="0.40000000000000002" green="0.40000000000000002" blue="0.40000000000000002" alpha="0.84705882349999995" colorSpace="calibratedRGB"/>
<nil key="highlightedColor"/> <nil key="highlightedColor"/>
</label> </label>
<imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="recordlist_no_data" translatesAutoresizingMaskIntoConstraints="NO" id="QrU-uf-U0R"> <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="recordlist_no_data" translatesAutoresizingMaskIntoConstraints="NO" id="QrU-uf-U0R">
<rect key="frame" x="123.5" y="244" width="167" height="103"/> <rect key="frame" x="123.5" y="245.5" width="167" height="103"/>
</imageView> </imageView>
</subviews> </subviews>
<color key="backgroundColor" systemColor="systemBackgroundColor"/> <color key="backgroundColor" systemColor="systemBackgroundColor"/>
......
...@@ -128,11 +128,12 @@ class SHRecordDetailsVC: SHBaseViewController { ...@@ -128,11 +128,12 @@ class SHRecordDetailsVC: SHBaseViewController {
@objc func editClick(_ restore:Bool){ @objc func editClick(_ restore:Bool){
self.markAlertViewShow(false)
self.bottomView?.cancel = true
if restore == false{ if restore == false{
if currentModel.dataSources.count == 0 { if currentModel.dataSources.count == 0 {
return return
} }
edit = !edit edit = !edit
}else { }else {
edit = false edit = false
...@@ -210,7 +211,9 @@ extension SHRecordDetailsVC { ...@@ -210,7 +211,9 @@ extension SHRecordDetailsVC {
//MARK:icloud上传Models //MARK:icloud上传Models
func icloundUpload(_ index:NSInteger){ func icloundUpload(_ index:NSInteger){
let model = currentModel.dataSources[index] let model = currentModel.dataSources[index]
if model.processing == true {
return
}
var contains = false var contains = false
for folderModel in SHCloudManager.shared.icloudFolderModels { for folderModel in SHCloudManager.shared.icloudFolderModels {
if currentModel.id == folderModel.id { if currentModel.id == folderModel.id {
...@@ -219,10 +222,12 @@ extension SHRecordDetailsVC { ...@@ -219,10 +222,12 @@ extension SHRecordDetailsVC {
} }
} }
model.processing = true
if contains { if contains {
SHCloudManager.shared.addNewRecord(model) { (result, models) in SHCloudManager.shared.addNewRecord(model) { (result, models) in
if result { if result {
model.icloud = true model.icloud = true
model.processing = false
SHCloudManager.shared.modifyFolder(self.currentModel) { (result, models) in SHCloudManager.shared.modifyFolder(self.currentModel) { (result, models) in
if result { if result {
self.updateocloudUI() self.updateocloudUI()
...@@ -234,6 +239,7 @@ extension SHRecordDetailsVC { ...@@ -234,6 +239,7 @@ extension SHRecordDetailsVC {
SHCloudManager.shared.addNewRecord(model) { (result, models) in SHCloudManager.shared.addNewRecord(model) { (result, models) in
if result { if result {
model.icloud = true model.icloud = true
model.processing = false
SHCloudManager.shared.addNewFolder(self.currentModel) { (result, models) in SHCloudManager.shared.addNewFolder(self.currentModel) { (result, models) in
if result { if result {
self.updateocloudUI() self.updateocloudUI()
...@@ -310,11 +316,8 @@ extension SHRecordDetailsVC { ...@@ -310,11 +316,8 @@ extension SHRecordDetailsVC {
if self.currentModel.dataSources.count == 0 { if self.currentModel.dataSources.count == 0 {
self.editClick(true) self.editClick(true)
self.markAlertViewShow(false)
self.bottomView?.cancel = true
} }
self.selectRecordModels = [] self.selectRecordModels = []
// edit = false
DispatchQueue.main.async { DispatchQueue.main.async {
self.tableView?.reloadData() self.tableView?.reloadData()
} }
......
...@@ -158,56 +158,6 @@ class SHRecordListViewController: SHBaseViewController { ...@@ -158,56 +158,6 @@ class SHRecordListViewController: SHBaseViewController {
} }
} }
var list = keyValueStore.object(forKey: "Folderlist") as? [Dictionary<String, Any>]
if list == nil {
list = keyValueStore.object(forKey: "list") as? [Dictionary<String, Any>]
}
list = nil
if let list = list {
var folderModel = SHRecordFolderModel()
if let sub = list.first{
folderModel = getDataDictWith(dict: sub)
if folderModel.id.length == 0 {
folderModel.createDate = nowDate
folderModel.modifyDate = nowDate
folderModel.name = "未知";
folderModel.id = nowDate.milliStamp
for dic in list.reversed(){
var model = SHRecordModel()
model = getDataDictWith(dict: dic)
folderModel.dataSources.append(model)
}
let modifyDateSortDataSources = folderModel.dataSources.sorted { (model0, model1) -> Bool in
return model0.modifyDate.compare(model1.modifyDate) == ComparisonResult.orderedDescending
}
folderModel.modifyDate = modifyDateSortDataSources.first?.modifyDate ?? nowDate
let modelDict = getDictWith(obj: folderModel)
keyValueStore.set([modelDict], forKey: "Folderlist")
keyValueStore.synchronize()
print("synchronize === \(keyValueStore.synchronize())")
}
}
// let modityList = keyValueStore.object(forKey: "Folderlist") as? [Dictionary<String, Any>]
// if let list = modityList {
// for dict in list.reversed(){
// var model = SHRecordFolderModel()
// model = getDataDictWith(dict: dict)
// if model.top == true {
// topDataSources.append(model)
// }else{
// dataSources.append(model)
// }
// }
// }
dataSources = dataSources.filterDuplicates({$0.id})
topDataSources = topDataSources.filterDuplicates({$0.id})
switch CRUserDefaults.sortType { switch CRUserDefaults.sortType {
case 0: case 0:
dataSources.sort { (model0, model1) -> Bool in dataSources.sort { (model0, model1) -> Bool in
...@@ -226,26 +176,6 @@ class SHRecordListViewController: SHBaseViewController { ...@@ -226,26 +176,6 @@ class SHRecordListViewController: SHBaseViewController {
} }
break break
} }
}else{
switch CRUserDefaults.sortType {
case 0:
dataSources.sort { (model0, model1) -> Bool in
return model0.createDate.compare(model1.createDate) == ComparisonResult.orderedDescending
}
topDataSources.sort { (model0, model1) -> Bool in
return model0.createDate.compare(model1.createDate) == ComparisonResult.orderedDescending
}
break
default:
dataSources.sort { (model0, model1) -> Bool in
return model0.modifyDate.compare(model1.modifyDate) == ComparisonResult.orderedDescending
}
topDataSources.sort { (model0, model1) -> Bool in
return model0.modifyDate.compare(model1.modifyDate) == ComparisonResult.orderedDescending
}
break
}
}
dataSources = topDataSources+dataSources dataSources = topDataSources+dataSources
...@@ -260,7 +190,6 @@ class SHRecordListViewController: SHBaseViewController { ...@@ -260,7 +190,6 @@ class SHRecordListViewController: SHBaseViewController {
self.view.sendSubviewToBack(maskView) self.view.sendSubviewToBack(maskView)
} }
markCountLab?.text = "笔记本总数:\(dataSources.count)" markCountLab?.text = "笔记本总数:\(dataSources.count)"
} }
@objc func mineCilck(){ @objc func mineCilck(){
...@@ -541,7 +470,7 @@ extension SHRecordListViewController: UITableViewDelegate, UITableViewDataSource ...@@ -541,7 +470,7 @@ extension SHRecordListViewController: UITableViewDelegate, UITableViewDataSource
self.removeModel(indexPath) self.removeModel(indexPath)
completionHandler(true) completionHandler(false)
} }
deleteAction.image = UIImage.init(named: "recordlist_delete") deleteAction.image = UIImage.init(named: "recordlist_delete")
deleteAction.backgroundColor = UIColor.init(hexStr: "E93425") deleteAction.backgroundColor = UIColor.init(hexStr: "E93425")
...@@ -550,7 +479,7 @@ extension SHRecordListViewController: UITableViewDelegate, UITableViewDataSource ...@@ -550,7 +479,7 @@ extension SHRecordListViewController: UITableViewDelegate, UITableViewDataSource
self.renameModel(indexPath) self.renameModel(indexPath)
completionHandler(true) completionHandler(false)
} }
renameAction.image = UIImage.init(named: "recordlist_rename") renameAction.image = UIImage.init(named: "recordlist_rename")
renameAction.backgroundColor = UIColor.init(hexStr: "BCBCBC") renameAction.backgroundColor = UIColor.init(hexStr: "BCBCBC")
......
...@@ -151,7 +151,7 @@ class SHRecordMoveFileVC: SHBaseViewController { ...@@ -151,7 +151,7 @@ class SHRecordMoveFileVC: SHBaseViewController {
} }
} }
} }
MBProgressHUD.show("正在处理中,请稍后...", view: nil) MBProgressHUD.show("正在转移中,请稍后...", view: nil)
let list = CRUserDefaults.recordList let list = CRUserDefaults.recordList
if var recordList = list{ if var recordList = list{
//增 //增
...@@ -183,14 +183,15 @@ class SHRecordMoveFileVC: SHBaseViewController { ...@@ -183,14 +183,15 @@ class SHRecordMoveFileVC: SHBaseViewController {
} }
SHCloudManager.shared.modifyFolder(self.currentModel) { (result, models) in SHCloudManager.shared.modifyFolder(self.currentModel) { (result, models) in
if result {
var contains = false var contains = false
for folderModel in SHCloudManager.shared.icloudFolderModels { let folderRecord = SHCloudManager.shared.icloudFolderModels.filter({ $0.id == targetModel.id
if targetModel.id == folderModel.id { }).first
if folderRecord != nil {
contains = true contains = true
break
}
} }
if contains { if contains {
SHCloudManager.shared.modifyFolder(targetModel) { (result, models) in SHCloudManager.shared.modifyFolder(targetModel) { (result, models) in
if result { if result {
...@@ -202,6 +203,17 @@ class SHRecordMoveFileVC: SHBaseViewController { ...@@ -202,6 +203,17 @@ class SHRecordMoveFileVC: SHBaseViewController {
} }
} }
} else { } else {
let folderRecord = targetModel.dataSources.filter({ $0.icloud == true
}).first
if folderRecord == nil {
self.saveSuccessCallBack?(self.currentModel)
DispatchQueue.main.async {
MBProgressHUD.hide()
self.navigationController?.dismiss(animated: true, completion: nil)
}
return
}
SHCloudManager.shared.addNewFolder(targetModel) { (result, models) in SHCloudManager.shared.addNewFolder(targetModel) { (result, models) in
if result { if result {
self.saveSuccessCallBack?(self.currentModel) self.saveSuccessCallBack?(self.currentModel)
...@@ -214,7 +226,6 @@ class SHRecordMoveFileVC: SHBaseViewController { ...@@ -214,7 +226,6 @@ class SHRecordMoveFileVC: SHBaseViewController {
} }
} }
} }
}
} }
//MARK: tableView delegate //MARK: tableView delegate
......
...@@ -263,10 +263,6 @@ class SHRecordViewController: SHBaseViewController{ ...@@ -263,10 +263,6 @@ class SHRecordViewController: SHBaseViewController{
func saveContent(){ func saveContent(){
// if currentTxt?.length == 0 {
// return
// }
let nowDate = Date() let nowDate = Date()
let model = SHRecordModel() let model = SHRecordModel()
model.recordingType = 0 model.recordingType = 0
...@@ -279,17 +275,17 @@ class SHRecordViewController: SHBaseViewController{ ...@@ -279,17 +275,17 @@ class SHRecordViewController: SHBaseViewController{
model.pcmPathFile = pcm_file_path model.pcmPathFile = pcm_file_path
model.during = seconds model.during = seconds
image_file_paths = [] // image_file_paths = []
image_indexs = [] // image_indexs = []
let images = ["recordlist_no_data_search", "recordlist_no_data"] // let images = ["recordlist_no_data_search", "recordlist_no_data"]
for (index, imageStr) in images.enumerated(){ // for (index, imageStr) in images.enumerated(){
let image = UIImage.init(named: imageStr) // let image = UIImage.init(named: imageStr)
let filePath = DocumentPath+image_file_path+"\(index).jpeg" // let filePath = DocumentPath+image_file_path+"\(index).jpeg"
let imageData = image!.jpegData(compressionQuality: 1) // let imageData = image!.jpegData(compressionQuality: 1)
try? imageData?.write(to: URL(fileURLWithPath: filePath)) // try? imageData?.write(to: URL(fileURLWithPath: filePath))
image_file_paths.append(image_file_path+"\(index).jpeg") // image_file_paths.append(image_file_path+"\(index).jpeg")
image_indexs.append(index) // image_indexs.append(index)
} // }
model.imagesPath = [] model.imagesPath = []
model.imagesIndex = [] model.imagesIndex = []
......
...@@ -177,6 +177,7 @@ class SHAVAudioManager: NSObject { ...@@ -177,6 +177,7 @@ class SHAVAudioManager: NSObject {
let lowPassResults = pow(10, (0.05 * (self.monitor?.peakPower(forChannel: 0))!)); let lowPassResults = pow(10, (0.05 * (self.monitor?.peakPower(forChannel: 0))!));
decibelsCallBack?(lowPassResults) decibelsCallBack?(lowPassResults)
// print("lowPassResults == \(lowPassResults)")
// print("decibels == \(decibels)") // print("decibels == \(decibels)")
if decibels > -44 { if decibels > -44 {
if recognitionTask?.isCancelled == true && self.state == SHRecordState.start{ if recognitionTask?.isCancelled == true && self.state == SHRecordState.start{
...@@ -260,7 +261,7 @@ class SHAVAudioManager: NSObject { ...@@ -260,7 +261,7 @@ class SHAVAudioManager: NSObject {
return $0 + " " + $1 return $0 + " " + $1
}} }}
) )
if recorderResult.hasSuffix("\n") { if recorderResult.hasSuffix("\n") || recorderResult.length == 0 {
recorderResult = recorderResult + processStr recorderResult = recorderResult + processStr
}else{ }else{
recorderResult = recorderResult + " " + processStr recorderResult = recorderResult + " " + processStr
......
...@@ -41,6 +41,7 @@ class SHCloudManager: NSObject { ...@@ -41,6 +41,7 @@ class SHCloudManager: NSObject {
container.accountStatus { (status, statusError) in container.accountStatus { (status, statusError) in
if let error = statusError { if let error = statusError {
MBProgressHUD.showError("未知错误,终止操作")
self.statusHandler?(false) self.statusHandler?(false)
print("\(error.localizedDescription)") print("\(error.localizedDescription)")
}else{ }else{
...@@ -48,7 +49,12 @@ class SHCloudManager: NSObject { ...@@ -48,7 +49,12 @@ class SHCloudManager: NSObject {
case .available: case .available:
self.statusHandler?(true) self.statusHandler?(true)
break; break;
case .noAccount:
MBProgressHUD.showError("请确认您的iCloid是否开启")
self.statusHandler?(false)
break;
default: default:
MBProgressHUD.showError("未知错误,终止操作")
self.statusHandler?(false) self.statusHandler?(false)
break; break;
} }
...@@ -60,10 +66,12 @@ class SHCloudManager: NSObject { ...@@ -60,10 +66,12 @@ class SHCloudManager: NSObject {
completionHandler = handler completionHandler = handler
self.cheakAccountStatus { result in
if result == true {
let predicate = NSPredicate.init(value: true) let predicate = NSPredicate.init(value: true)
let query = CKQuery.init(recordType: recordFolderName, predicate: predicate) let query = CKQuery.init(recordType: self.recordFolderName, predicate: predicate)
dateBase.perform(query, inZoneWith: nil) { (records, queryError) in self.dateBase.perform(query, inZoneWith: nil) { (records, queryError) in
if let error = queryError { if let error = queryError {
print("\(error.localizedDescription)") print("\(error.localizedDescription)")
...@@ -71,7 +79,11 @@ class SHCloudManager: NSObject { ...@@ -71,7 +79,11 @@ class SHCloudManager: NSObject {
}else{ }else{
self.folderResults = records ?? [] self.folderResults = records ?? []
self.getAllRecordDataSource(handler) self.getAllRecordDataSource(handler)
// self.cleanAllFolder() // self.cleanAllFolder()
}
}
} else {
self.completionHandler?(false, [])
} }
} }
} }
...@@ -80,10 +92,12 @@ class SHCloudManager: NSObject { ...@@ -80,10 +92,12 @@ class SHCloudManager: NSObject {
completionHandler = handler completionHandler = handler
self.cheakAccountStatus { result in
if result == true {
let predicate = NSPredicate.init(value: true) let predicate = NSPredicate.init(value: true)
let query = CKQuery.init(recordType: recordName, predicate: predicate) let query = CKQuery.init(recordType: self.recordName, predicate: predicate)
dateBase.perform(query, inZoneWith: nil) { (records, queryError) in self.dateBase.perform(query, inZoneWith: nil) { (records, queryError) in
if let error = queryError { if let error = queryError {
print("\(error.localizedDescription)") print("\(error.localizedDescription)")
...@@ -92,7 +106,11 @@ class SHCloudManager: NSObject { ...@@ -92,7 +106,11 @@ class SHCloudManager: NSObject {
self.recordResults = records ?? [] self.recordResults = records ?? []
self.mapDataSource() self.mapDataSource()
self.completionHandler?(true, self.icloudFolderModels) self.completionHandler?(true, self.icloudFolderModels)
// self.cleanAllRecord() // self.cleanAllRecord()
}
}
} else {
self.completionHandler?(false, [])
} }
} }
} }
...@@ -197,7 +215,9 @@ class SHCloudManager: NSObject { ...@@ -197,7 +215,9 @@ class SHCloudManager: NSObject {
folderRecord.setValue(model.top, forKey: "top") folderRecord.setValue(model.top, forKey: "top")
folderRecord.setValue(recordPaths, forKey: "recordPaths") folderRecord.setValue(recordPaths, forKey: "recordPaths")
dateBase.save(folderRecord) { (subscription, saveError) in self.cheakAccountStatus { result in
if result == true {
self.dateBase.save(folderRecord) { (subscription, saveError) in
if let error = saveError { if let error = saveError {
print("\(error.localizedDescription)") print("\(error.localizedDescription)")
self.completionHandler?(false, []) self.completionHandler?(false, [])
...@@ -207,6 +227,10 @@ class SHCloudManager: NSObject { ...@@ -207,6 +227,10 @@ class SHCloudManager: NSObject {
self.completionHandler?(true, self.icloudFolderModels) self.completionHandler?(true, self.icloudFolderModels)
} }
} }
} else {
self.completionHandler?(false, [])
}
}
} }
func addNewRecord(_ recordModel: SHRecordModel, handler:@escaping CompletionHandler){ func addNewRecord(_ recordModel: SHRecordModel, handler:@escaping CompletionHandler){
...@@ -217,7 +241,11 @@ class SHCloudManager: NSObject { ...@@ -217,7 +241,11 @@ class SHCloudManager: NSObject {
return item["pathFile"] == recordModel.pathFile return item["pathFile"] == recordModel.pathFile
}).first }).first
if recording == nil { if recording != nil {
self.completionHandler?(false, [])
return
}
let documentsFile = DocumentPath.appending(recordModel.pathFile) let documentsFile = DocumentPath.appending(recordModel.pathFile)
let url = URL.init(fileURLWithPath: documentsFile) let url = URL.init(fileURLWithPath: documentsFile)
let asset = CKAsset.init(fileURL: url) let asset = CKAsset.init(fileURL: url)
...@@ -245,7 +273,9 @@ class SHCloudManager: NSObject { ...@@ -245,7 +273,9 @@ class SHCloudManager: NSObject {
} }
record.setValue(imageAssets, forKey: "imagesAsset") record.setValue(imageAssets, forKey: "imagesAsset")
dateBase.save(record) { (subscription, saveError) in self.cheakAccountStatus { result in
if result == true {
self.dateBase.save(record) { (subscription, saveError) in
if let error = saveError { if let error = saveError {
print("\(error.localizedDescription)") print("\(error.localizedDescription)")
self.completionHandler?(false, []) self.completionHandler?(false, [])
...@@ -256,7 +286,8 @@ class SHCloudManager: NSObject { ...@@ -256,7 +286,8 @@ class SHCloudManager: NSObject {
} }
} }
} else { } else {
self.completionHandler?(false, [])
}
} }
} }
...@@ -276,8 +307,14 @@ class SHCloudManager: NSObject { ...@@ -276,8 +307,14 @@ class SHCloudManager: NSObject {
return item["id"] == folderModel.id return item["id"] == folderModel.id
}).first }).first
dateBase.fetch(withRecordID: folderRecord!.recordID) { (record, fetchError) in if folderRecord == nil{
self.completionHandler?(false, [])
return
}
self.cheakAccountStatus { result in
if result == true {
self.dateBase.fetch(withRecordID: folderRecord!.recordID) { (record, fetchError) in
if let error = fetchError { if let error = fetchError {
print("\(error.localizedDescription)") print("\(error.localizedDescription)")
self.completionHandler?(false, []) self.completionHandler?(false, [])
...@@ -302,6 +339,10 @@ class SHCloudManager: NSObject { ...@@ -302,6 +339,10 @@ class SHCloudManager: NSObject {
} }
} }
} }
} else {
self.completionHandler?(false, [])
}
}
} }
func modifyRecord(_ recordModel: SHRecordModel, handler:@escaping CompletionHandler){ func modifyRecord(_ recordModel: SHRecordModel, handler:@escaping CompletionHandler){
...@@ -312,8 +353,9 @@ class SHCloudManager: NSObject { ...@@ -312,8 +353,9 @@ class SHCloudManager: NSObject {
return item["pathFile"] == recordModel.pathFile return item["pathFile"] == recordModel.pathFile
}).first }).first
dateBase.fetch(withRecordID: recording!.recordID) { (record, fetchError) in self.cheakAccountStatus { result in
if result == true {
self.dateBase.fetch(withRecordID: recording!.recordID) { (record, fetchError) in
if let error = fetchError { if let error = fetchError {
print("\(error.localizedDescription)") print("\(error.localizedDescription)")
self.completionHandler?(false, []) self.completionHandler?(false, [])
...@@ -340,6 +382,10 @@ class SHCloudManager: NSObject { ...@@ -340,6 +382,10 @@ class SHCloudManager: NSObject {
} }
} }
} }
} else {
self.completionHandler?(false, [])
}
}
} }
func deleteFolder(_ folderModel: SHRecordFolderModel, handler:@escaping CompletionHandler){ func deleteFolder(_ folderModel: SHRecordFolderModel, handler:@escaping CompletionHandler){
...@@ -355,7 +401,9 @@ class SHCloudManager: NSObject { ...@@ -355,7 +401,9 @@ class SHCloudManager: NSObject {
return return
} }
dateBase.delete(withRecordID: folderRecord!.recordID) { (recordID, deleteError) in self.cheakAccountStatus { result in
if result == true {
self.dateBase.delete(withRecordID: folderRecord!.recordID) { (recordID, deleteError) in
if let error = deleteError { if let error = deleteError {
print("\(error.localizedDescription)") print("\(error.localizedDescription)")
...@@ -370,6 +418,10 @@ class SHCloudManager: NSObject { ...@@ -370,6 +418,10 @@ class SHCloudManager: NSObject {
self.completionHandler?(true, self.icloudFolderModels) self.completionHandler?(true, self.icloudFolderModels)
} }
} }
} else {
self.completionHandler?(false, [])
}
}
} }
func deleteRecord(_ recordModel: SHRecordModel, handler:@escaping CompletionHandler){ func deleteRecord(_ recordModel: SHRecordModel, handler:@escaping CompletionHandler){
...@@ -384,9 +436,9 @@ class SHCloudManager: NSObject { ...@@ -384,9 +436,9 @@ class SHCloudManager: NSObject {
self.completionHandler?(false, []) self.completionHandler?(false, [])
return return
} }
self.cheakAccountStatus { result in
dateBase.delete(withRecordID: record!.recordID) { (recordID, deleteError) in if result == true {
self.dateBase.delete(withRecordID: record!.recordID) { (recordID, deleteError) in
if let error = deleteError { if let error = deleteError {
print("\(error.localizedDescription)") print("\(error.localizedDescription)")
self.completionHandler?(false, []) self.completionHandler?(false, [])
...@@ -400,6 +452,10 @@ class SHCloudManager: NSObject { ...@@ -400,6 +452,10 @@ class SHCloudManager: NSObject {
self.completionHandler?(true, self.icloudFolderModels) self.completionHandler?(true, self.icloudFolderModels)
} }
} }
} else {
self.completionHandler?(false, [])
}
}
} }
func deleteRecord(_ record: CKRecord, handler:@escaping CompletionHandler){ func deleteRecord(_ record: CKRecord, handler:@escaping CompletionHandler){
......
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