Commit 45213823 authored by ljh's avatar ljh

更换工作中心的存储方式

parent 5d2fd070
......@@ -10,7 +10,7 @@ import Foundation
import Alamofire
import SwiftyJSON
import ObjectMapper
import RealmSwift
import UIKit
private let NetworkRequestShareInstance = NetworkRequest()
......@@ -126,10 +126,8 @@ extension NetworkRequest {
HUD.flash(.label(json["message"].stringValue), delay: 1.5)
failture(DogError.DataInvalidError)
delay(1.5) {
let realm = try! Realm()
try! realm.write {
realm.deleteAll()
}
UserDefaults.standard.removeObject(forKey: "WorkDataModel")
UserDefaults.standard.removeObject(forKey: "user_token")
NotificationCenter.default.post(name: Notification.Name(rawValue: "logout"), object: nil)
JPUSHService.deleteAlias({ (resCode, alias, num) in
......
......@@ -7,7 +7,6 @@
//
import UIKit
import RealmSwift
import IQKeyboardManagerSwift
import SwiftDate
......@@ -156,7 +155,6 @@ class WorkCViewController: BaseViewController, UITableViewDelegate, UITableViewD
var endTime = Date()
var starTime = DateInRegion().dateAt(.startOfDay).date
let realm = try! Realm()
var dataModel:WorkcenterIndexDataModel? = nil
var oftenArr:Array<WorkcenterIndexAuthResModel>? = []
//MARK:--加载数据
......@@ -174,11 +172,11 @@ class WorkCViewController: BaseViewController, UITableViewDelegate, UITableViewD
if dataM.code == 1 {
self.dataModel = dataM.data
//查询常用的
let items = self.realm.objects(WorkDataModel.self)
if items.count > 0 {
let userdataStr = UserDefaults.standard.value(forKey: "WorkDataModel")
if userdataStr != nil {
print("有数据哦--")
let workTestMd:WorkDataModel = items[0];
let oftenStr = workTestMd.oftenArrStr
let workTestMd = WorkDataModel(JSONString: userdataStr as! String)
let oftenStr = workTestMd!.oftenArrStr
if oftenStr.count > 0 {
//经过对比需要删除剩哪一些
let oldOftenArr = Array<WorkcenterIndexAuthResModel>(JSONString: oftenStr)
......@@ -211,15 +209,9 @@ class WorkCViewController: BaseViewController, UITableViewDelegate, UITableViewD
saveModel.end_time = end_time
saveModel.oftenArrStr = oftenStr!
// 数据持久化操作--(退出登录的话,或者token异常那里,全部要删除)
try! self.realm.write {
self.realm.deleteAll()
}
//成功插入
try! self.realm.write {
self.realm.add(saveModel)
}
//打印出数据库地址
print(self.realm.configuration.fileURL ?? "")
let userDataStr = saveModel.toJSONString()
UserDefaults.standard.set(userDataStr, forKey: "WorkDataModel")
UserDefaults.standard.synchronize()
self.tableV.reloadData()
}
......@@ -519,27 +511,26 @@ class WorkCViewController: BaseViewController, UITableViewDelegate, UITableViewD
//MARK:--编辑页面保存回调(主要增加使用体验)不应网络请求出差而无法改变
func updataUIbyEditWorkSave() {
//查询所有记录
let items = realm.objects(WorkDataModel.self)
// 已经有记录的话就不插入了
if items.count > 0 {
let userdataStr = UserDefaults.standard.value(forKey: "WorkDataModel")
if userdataStr != nil {
print("有数据哦--")
let workTestMd:WorkDataModel = items[0];
let dataModelStr = workTestMd.dataModelStr
self.dataModel = WorkcenterIndexDataModel(JSONString: dataModelStr)
let workTestMd = WorkDataModel(JSONString: userdataStr as! String)
let dataModelStr = workTestMd?.dataModelStr
self.dataModel = WorkcenterIndexDataModel(JSONString: dataModelStr!)
//旧的常用功能
let oftenStr = workTestMd.oftenArrStr
if oftenStr.count > 0 {
let oftenStr = workTestMd?.oftenArrStr
if oftenStr!.count > 0 {
self.oftenArr?.removeAll()
self.oftenArr = Array<WorkcenterIndexAuthResModel>(JSONString: oftenStr)
self.oftenArr = Array<WorkcenterIndexAuthResModel>(JSONString: oftenStr!)
}
self.tableV.reloadData()
}else{
print("没有数据hehe--")
}
}
}
......@@ -7,16 +7,29 @@
//
import Foundation
import RealmSwift
import ObjectMapper
//工作中心
class WorkDataModel:Object {
class WorkDataModel:Mappable {
//类型名
@objc dynamic var dataModelStr = ""
@objc dynamic var star_time = 0
@objc dynamic var end_time = 0
@objc dynamic var oftenArrStr = ""
var dataModelStr:String = ""
var star_time = 0
var end_time = 0
var oftenArrStr = ""
init(){
}
required init?(map: Map) {
}
// Mappable
func mapping(map: Map) {
dataModelStr <- map["dataModelStr"]
star_time <- map["star_time"]
end_time <- map["end_time"]
oftenArrStr <- map["oftenArrStr"]
}
}
......@@ -7,7 +7,6 @@
//
import UIKit
import RealmSwift
protocol EditWorkCViewControllerDelegate {
func updataUIbyEditWorkSave()
......@@ -21,7 +20,6 @@ class EditWorkCViewController: BaseViewController, UICollectionViewDelegate, UIC
//MARK:--一级分类
var titleStrArr:[String] = []
var pAuthResModelArr:[WorkcenterIndexAuthResModel] = []
let realm = try! Realm()//数据库
@IBOutlet weak var topLayou: NSLayoutConstraint!
@IBOutlet weak var itemListCollectionView: UICollectionView!
......@@ -90,14 +88,15 @@ class EditWorkCViewController: BaseViewController, UICollectionViewDelegate, UIC
}
func sureGeliAlertViewAction(sender: UIButton) {
if sender.tag == 1001 {
let items = self.realm.objects(WorkDataModel.self)
if items.count > 0 {
let workTestMd:WorkDataModel = items[0];
let userdataStr = UserDefaults.standard.value(forKey: "WorkDataModel")
if userdataStr != nil {
let workTestMd = WorkDataModel(JSONString: userdataStr as! String)
// 在一个事务中更新对象
let oftenStr = self.oftenArr?.toJSONString()
try! realm.write {
workTestMd.oftenArrStr = oftenStr!
}
workTestMd!.oftenArrStr = oftenStr!
let userDataStr = workTestMd!.toJSONString()
UserDefaults.standard.set(userDataStr, forKey: "WorkDataModel")
UserDefaults.standard.synchronize()
HUD.flash(.label("保存成功"), onView: nil, delay: 1.2) { (istrue) in
self.delegate?.updataUIbyEditWorkSave()
self.navigationController?.popViewController(animated: true)
......
......@@ -7,7 +7,7 @@
//
import UIKit
import RealmSwift
class AccountViewController: BaseViewController{
@IBOutlet weak var phoneLbl: UILabel!
......@@ -52,10 +52,7 @@ class AccountViewController: BaseViewController{
@IBAction func logOutAction(_ sender: Any) {
print("退出登录")
//模拟退出登录
let realm = try! Realm()
try! realm.write {
realm.deleteAll()
}
UserDefaults.standard.removeObject(forKey: "WorkDataModel")
UserDefaults.standard.removeObject(forKey: "user_token")
NotificationCenter.default.post(name: Notification.Name(rawValue: "logout"), object: nil)
JPUSHService.deleteAlias({ (resCode, alias, num) in
......
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