Commit 786288f5f6e784ce9daa250c4cbfb825eb79cd1c

Authored by niudaojian
1 parent 60ab037a

身份列表接口对接, 引入 WCDB做数据存储

metaCode.xcodeproj/project.pbxproj
... ... @@ -62,7 +62,9 @@
62 62 7C4931342A307B58000E44B4 /* slide_down.gif in Resources */ = {isa = PBXBuildFile; fileRef = 7C4931332A307B58000E44B4 /* slide_down.gif */; };
63 63 7C4931362A307B60000E44B4 /* slide_up.gif in Resources */ = {isa = PBXBuildFile; fileRef = 7C4931352A307B60000E44B4 /* slide_up.gif */; };
64 64 7C4931382A307BDB000E44B4 /* CNHomePageGuideView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7C4931372A307BDB000E44B4 /* CNHomePageGuideView.swift */; };
65   - 7C7C62F62A4D72E9007A912E /* CNMetaCodeDB.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7C7C62F52A4D72E9007A912E /* CNMetaCodeDB.swift */; };
  65 + 7C7C62F62A4D72E9007A912E /* CNIdentityDB.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7C7C62F52A4D72E9007A912E /* CNIdentityDB.swift */; };
  66 + 7C83B43E2A52B8BA004BF4A4 /* CNHomePageViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7C83B43D2A52B8BA004BF4A4 /* CNHomePageViewModel.swift */; };
  67 + 7C83B4402A52BB2B004BF4A4 /* CNGlobalEnum.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7C83B43F2A52BB2B004BF4A4 /* CNGlobalEnum.swift */; };
66 68 7CD675292A270F6A008354C1 /* WJColorChange.m in Sources */ = {isa = PBXBuildFile; fileRef = 7CD675282A270F6A008354C1 /* WJColorChange.m */; };
67 69 7CD6753C2A2740B0008354C1 /* CNUpSlideViewRemindView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7CD675372A2740B0008354C1 /* CNUpSlideViewRemindView.swift */; };
68 70 7CD6753D2A2740B0008354C1 /* CNMainView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7CD675382A2740B0008354C1 /* CNMainView.swift */; };
... ... @@ -159,7 +161,9 @@
159 161 7C4931332A307B58000E44B4 /* slide_down.gif */ = {isa = PBXFileReference; lastKnownFileType = image.gif; path = slide_down.gif; sourceTree = "<group>"; };
160 162 7C4931352A307B60000E44B4 /* slide_up.gif */ = {isa = PBXFileReference; lastKnownFileType = image.gif; path = slide_up.gif; sourceTree = "<group>"; };
161 163 7C4931372A307BDB000E44B4 /* CNHomePageGuideView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CNHomePageGuideView.swift; sourceTree = "<group>"; };
162   - 7C7C62F52A4D72E9007A912E /* CNMetaCodeDB.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CNMetaCodeDB.swift; sourceTree = "<group>"; };
  164 + 7C7C62F52A4D72E9007A912E /* CNIdentityDB.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CNIdentityDB.swift; sourceTree = "<group>"; };
  165 + 7C83B43D2A52B8BA004BF4A4 /* CNHomePageViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CNHomePageViewModel.swift; sourceTree = "<group>"; };
  166 + 7C83B43F2A52BB2B004BF4A4 /* CNGlobalEnum.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CNGlobalEnum.swift; sourceTree = "<group>"; };
163 167 7CD675262A270F69008354C1 /* metaCode-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "metaCode-Bridging-Header.h"; sourceTree = "<group>"; };
164 168 7CD675272A270F6A008354C1 /* WJColorChange.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WJColorChange.h; sourceTree = "<group>"; };
165 169 7CD675282A270F6A008354C1 /* WJColorChange.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = WJColorChange.m; sourceTree = "<group>"; };
... ... @@ -329,9 +333,8 @@
329 333 7963988A2A260B3300D045EB /* Classes */ = {
330 334 isa = PBXGroup;
331 335 children = (
332   - 7C7C62F42A4D72BA007A912E /* DB */,
333 336 7C2703342A3AFD130061EC50 /* Environment */,
334   - 7C2703312A36CC430061EC50 /* GlobalBlock */,
  337 + 7C2703312A36CC430061EC50 /* Global */,
335 338 798A44F32A3077ED00815935 /* CustomView */,
336 339 790D01832A2D89E100C5978D /* Extensions */,
337 340 7CD675502A29C036008354C1 /* Constant */,
... ... @@ -457,12 +460,13 @@
457 460 path = CustomView;
458 461 sourceTree = "<group>";
459 462 };
460   - 7C2703312A36CC430061EC50 /* GlobalBlock */ = {
  463 + 7C2703312A36CC430061EC50 /* Global */ = {
461 464 isa = PBXGroup;
462 465 children = (
463 466 7C2703322A36CC660061EC50 /* CNLiveGlobalBlock.swift */,
  467 + 7C83B43F2A52BB2B004BF4A4 /* CNGlobalEnum.swift */,
464 468 );
465   - path = GlobalBlock;
  469 + path = Global;
466 470 sourceTree = "<group>";
467 471 };
468 472 7C2703342A3AFD130061EC50 /* Environment */ = {
... ... @@ -476,14 +480,25 @@
476 480 7C7C62F42A4D72BA007A912E /* DB */ = {
477 481 isa = PBXGroup;
478 482 children = (
479   - 7C7C62F52A4D72E9007A912E /* CNMetaCodeDB.swift */,
  483 + 7C7C62F52A4D72E9007A912E /* CNIdentityDB.swift */,
480 484 );
481 485 path = DB;
482 486 sourceTree = "<group>";
483 487 };
  488 + 7C83B43C2A52B899004BF4A4 /* ViewModel */ = {
  489 + isa = PBXGroup;
  490 + children = (
  491 + 7C83B43D2A52B8BA004BF4A4 /* CNHomePageViewModel.swift */,
  492 + );
  493 + name = ViewModel;
  494 + path = HomePage/ViewModel;
  495 + sourceTree = "<group>";
  496 + };
484 497 7CD675212A26F844008354C1 /* HomePage */ = {
485 498 isa = PBXGroup;
486 499 children = (
  500 + 7C7C62F42A4D72BA007A912E /* DB */,
  501 + 7C83B43C2A52B899004BF4A4 /* ViewModel */,
487 502 7CD6754D2A2840B9008354C1 /* Controller */,
488 503 7CD675232A26F8F8008354C1 /* View */,
489 504 );
... ... @@ -838,15 +853,17 @@
838 853 790B1FB82A41B6A60074CF00 /* CNLiveMineMessageViewController.swift in Sources */,
839 854 798A44F22A30674200815935 /* CNLiveMineSubBodyListView.swift in Sources */,
840 855 790D01822A2D88FC00C5978D /* CNLiveConfigMacro.swift in Sources */,
  856 + 7C83B4402A52BB2B004BF4A4 /* CNGlobalEnum.swift in Sources */,
841 857 7CD675482A274167008354C1 /* PGIndexBannerSubiew.m in Sources */,
842 858 790D019F2A2DD66E00C5978D /* CNLiveLoginViewModel.swift in Sources */,
843   - 7C7C62F62A4D72E9007A912E /* CNMetaCodeDB.swift in Sources */,
  859 + 7C7C62F62A4D72E9007A912E /* CNIdentityDB.swift in Sources */,
844 860 790B1FB62A41938F0074CF00 /* UIImage+CNLiveColorImage.swift in Sources */,
845 861 790D019D2A2DCBD000C5978D /* UIView+CNGradient.swift in Sources */,
846 862 798A44F72A3077ED00815935 /* CNLiveHotButton.swift in Sources */,
847 863 7CD6753D2A2740B0008354C1 /* CNMainView.swift in Sources */,
848 864 7CD675522A29C04B008354C1 /* CNLiveConstant.swift in Sources */,
849 865 79282A402A2F055100B5F8CF /* CNLiveConfigUserInfo.swift in Sources */,
  866 + 7C83B43E2A52B8BA004BF4A4 /* CNHomePageViewModel.swift in Sources */,
850 867 7C4931382A307BDB000E44B4 /* CNHomePageGuideView.swift in Sources */,
851 868 7CD6753E2A2740B0008354C1 /* CNUpSlideView.swift in Sources */,
852 869 7CD675402A2740B0008354C1 /* CNDownSlideView.swift in Sources */,
... ...
metaCode/Classes/DB/CNMetaCodeDB.swift deleted 100644 → 0
1   -//
2   -// CNMetaCodeDB.swift
3   -// metaCode
4   -// 数据库
5   -// Created by daojian on 2023/6/29.
6   -//
7   -
8   -import Foundation
9   -
metaCode/Classes/Environment/CNLiveEnvironment.swift
... ... @@ -11,8 +11,8 @@ import Foundation
11 11 let APPId: String = CNLiveEnvironmentManager.shared.appId
12 12 ///当前应用的APPKey
13 13 let APPKey: String = CNLiveEnvironmentManager.shared.appKey
14   -///当前应用的网络请求域名
15   -let APPBaseUrl: String! = CNLiveEnvironmentManager.shared.baseUrl
  14 +///当前应用的登录请求域名
  15 +let APPLoginHost: String! = CNLiveEnvironmentManager.shared.loginHost
16 16 ///当前应用的Secret
17 17 let APPSecret: String = CNLiveEnvironmentManager.shared.appSecret
18 18 ///当前应用的部分请求接口
... ... @@ -46,12 +46,14 @@ class CNLiveEnvironmentManager: NSObject{
46 46  
47 47 var appId: String
48 48 var appKey: String
49   - var baseUrl: String
50 49 var appSecret: String
  50 + ///登录接口域名
  51 + var loginHost: String
  52 + /// 码云项目的主域名
51 53 var base_mc_url: String
  54 + /// 获取IM token 请求域名
52 55 var img_token_url: String
53 56  
54   -
55 57 ///当前环境
56 58 var currentEnvironment: CNLiveEnvironment
57 59  
... ... @@ -59,7 +61,7 @@ class CNLiveEnvironmentManager: NSObject{
59 61 private override init() {
60 62 self.appId = ""
61 63 self.appKey = ""
62   - self.baseUrl = ""
  64 + self.loginHost = ""
63 65 self.appSecret = ""
64 66 self.base_mc_url = ""
65 67 self.img_token_url = ""
... ... @@ -94,7 +96,7 @@ class CNLiveEnvironmentManager: NSObject{
94 96 self.appId = "802_li40qhp922"
95 97 self.appKey = "ae3a7ad3e4b9beb7cfe2078db648ebb89aa249ca2e82ac"
96 98 self.appSecret = "3cc9f12db322a3d3656012ef929604cf6d6847471535f9"
97   - self.baseUrl = "https://api.cnlive.com"
  99 + self.loginHost = "https://api.cnlive.com"
98 100 self.img_token_url = "https://api.cnlive.com/open/api2"
99 101 self.base_mc_url = "https://metacode.cnlive.com/api"
100 102 }
... ... @@ -103,7 +105,7 @@ class CNLiveEnvironmentManager: NSObject{
103 105 self.appId = "802_li40qhp922"
104 106 self.appKey = "ae3a7ad3e4b9beb7cfe2078db648ebb89aa249ca2e82ac"
105 107 self.appSecret = "3cc9f12db322a3d3656012ef929604cf6d6847471535f9"
106   - self.baseUrl = "https://api.cnlive.com"
  108 + self.loginHost = "https://api.cnlive.com"
107 109 self.img_token_url = "https://api.cnlive.com/open/api2"
108 110 self.base_mc_url = "https://metacode.cnlive.com/api"
109 111 }
... ... @@ -112,7 +114,7 @@ class CNLiveEnvironmentManager: NSObject{
112 114 self.appId = "769_li40lrkt53"
113 115 self.appKey = "064f392f84dfe7bbe9f1eabeda53ea02044213019b0406"
114 116 self.appSecret = "68b5cc42fbdb466d56c2e22b00b1494feec8149f9dd32e"
115   - self.baseUrl = "https://api.cnlive.com"
  117 + self.loginHost = "https://api.cnlive.com"
116 118 self.img_token_url = "https://api.cnlive.com/open/api2"
117 119 self.base_mc_url = "https://metacode.cnlive.com/api"
118 120 }
... ...
metaCode/Classes/Global/CNGlobalEnum.swift 0 → 100644
  1 +//
  2 +// CNGlobalEnum.swift
  3 +// metaCode
  4 +//
  5 +// Created by daojian on 2023/7/3.
  6 +//
  7 +
  8 +import Foundation
  9 +///网络请求响应状态
  10 +enum CNNetworkingResponseType {
  11 + ///成功
  12 + case success
  13 + ///失败
  14 + case failed
  15 + ///无网
  16 + case noNetwork
  17 +}
... ...
metaCode/Classes/GlobalBlock/CNLiveGlobalBlock.swift renamed to metaCode/Classes/Global/CNLiveGlobalBlock.swift
metaCode/Classes/Main/DB/CNIdentityDB.swift 0 → 100644
  1 +//
  2 +// CNMetaCodeDB.swift
  3 +// metaCode
  4 +// 数据库
  5 +// Created by daojian on 2023/6/29.
  6 +//
  7 +
  8 +import Foundation
  9 +import WCDBSwift
  10 +
  11 +///身份认证表名
  12 +let CNIdentityTableName = "CNIdentityTable"
  13 +
  14 +///身份model
  15 +class CNIdentityModel: BaseModel,TableCodable {
  16 + var id: String = ""
  17 + var name: String?
  18 + var icon: String?
  19 + var createTime: String?
  20 + var enable: Bool?
  21 +
  22 + enum CodingKeys: String, CodingTableKey {
  23 + typealias Root = CNIdentityModel
  24 + static let objectRelationalMapping = TableBinding(CodingKeys.self){
  25 + //设置表的主键key为id,用来区分数据唯一性, 如果id为int类型,可以按实现按顺序递增
  26 + BindColumnConstraint(id, isPrimary: true)
  27 + }
  28 + case id //不修改数据库字段名,和属性名保持一直
  29 + case name //不修改数据库字段名,和属性名保持一直
  30 + case icon
  31 + case createTime
  32 + case enable
  33 + }
  34 +
  35 +}
  36 +
  37 +///身份列表数据库
  38 +class CNIdentityDB :NSObject{
  39 +
  40 + ///数据库
  41 + var database:Database
  42 +
  43 + //重新init方法为私有,不让外部调用
  44 + override init() {
  45 +
  46 + //数据库地址
  47 + let filePath = NSHomeDirectory() + "/Documents/DB/CNIdentity.db"
  48 + database = Database(at: filePath)
  49 +
  50 + super.init()
  51 + self.createTable(name: CNIdentityTableName, classType: CNIdentityModel.self)
  52 + }
  53 +
  54 + /// 创建表
  55 + /// - Parameters:
  56 + /// - name: 表名
  57 + /// - classType: class类型,当前class需要实现 TableCodable
  58 + private func createTable<Root:TableDecodable>(name:String, classType: Root.Type){
  59 + do{
  60 + try database.create(table: name, of: classType)
  61 + }
  62 + catch{
  63 + print("创建失败")
  64 + }
  65 +
  66 + }
  67 +
  68 + /// 新增一条数据
  69 + /// - Parameter object: 数据
  70 + func insterObject(object: CNIdentityModel){
  71 + let array: [CNIdentityModel] = [object]
  72 + self.insterObjects(objects: array)
  73 + }
  74 +
  75 + ///新增多条数据
  76 + func insterObjects(objects: Array<CNIdentityModel>){
  77 + do{
  78 + try database.insert(objects, intoTable: CNIdentityTableName)
  79 + }
  80 + catch{
  81 + print("增加一条数据失败")
  82 + }
  83 + }
  84 +
  85 + /// 删除一条数据
  86 + /// - Parameter delete: 被删除的数据
  87 + func deleteObject(delete: CNIdentityModel){
  88 +
  89 + do{
  90 + try database.delete(fromTable: CNIdentityTableName, where: CNIdentityModel.Properties.id == delete.id)
  91 + }
  92 + catch{
  93 + print("删除一条数据失败")
  94 + }
  95 + }
  96 +
  97 + ///更新一条数据
  98 + func updateObject(newObject:CNIdentityModel){
  99 + do{
  100 + //需要更新的字段
  101 + let updateProperties = [CNIdentityModel.Properties.name,
  102 + CNIdentityModel.Properties.icon,
  103 + CNIdentityModel.Properties.createTime,
  104 + CNIdentityModel.Properties.enable]
  105 +
  106 + try database.update(table: CNIdentityTableName, on:updateProperties, with: newObject,where: CNIdentityModel.Properties.id == newObject.id)
  107 + }
  108 + catch{
  109 + print("更新一条数据失败")
  110 + }
  111 + }
  112 +
  113 + ///获取所有数据
  114 + func searchAllObject()-> Array<CNIdentityModel>{
  115 + do{
  116 + let allData: [CNIdentityModel] = try database.getObjects(fromTable: CNIdentityTableName)
  117 + return allData
  118 + }
  119 + catch{
  120 + print("获取失败")
  121 + return []
  122 + }
  123 +
  124 +
  125 + }
  126 +
  127 +}
  128 +
  129 +
  130 +
... ...
metaCode/Classes/Main/HomePage/Controller/CNMetaCodeHomePageController.swift
... ... @@ -9,6 +9,7 @@ import Foundation
9 9 import UIKit
10 10 import YYCategories
11 11 import SwiftGifOrigin
  12 +import CNLiveRequestBastKit
12 13  
13 14 let Width: CGFloat = UIScreen.main.bounds.size.width
14 15 let Height: CGFloat = UIScreen.main.bounds.size.height
... ... @@ -98,7 +99,7 @@ class CNMetaCodeHomePageController:CNLiveBaseViewController, NewPagedFlowViewDel
98 99 private var tabBarY:CGFloat = 0.0
99 100  
100 101 ///用户身份认证状态
101   - private var identityStatus: UserIdentityStatus = .haveBeenCertified
  102 + private var identityStatus: UserIdentityStatus = .notCertified
102 103  
103 104 // MARK: - 懒加载
104 105 ///数据源
... ... @@ -139,9 +140,11 @@ class CNMetaCodeHomePageController:CNLiveBaseViewController, NewPagedFlowViewDel
139 140 self.tabBarY = (self.tabBarController?.tabBar.top)!
140 141  
141 142  
142   - for i in (0..<5) {
143   - self.dataArray.add("122")
144   - }
  143 +// for i in (0..<5) {
  144 +// self.dataArray.add("122")
  145 +// }
  146 +
  147 + self.getUserIdentityApi()
145 148  
146 149 self.setupUI()
147 150  
... ... @@ -154,14 +157,52 @@ class CNMetaCodeHomePageController:CNLiveBaseViewController, NewPagedFlowViewDel
154 157  
155 158 print("uid = ",UserInfoManager.shared.userInfo.uid)
156 159 print("1111")
  160 +
  161 +// let db = CNIdentityDB()
  162 +//
  163 +//
  164 +// let model = CNIdentityModel()
  165 +// model.id = "q_123"
  166 +// model.name = "小米"
  167 +// db.insterObject(object: model)
  168 +//
  169 +// let model2 = CNIdentityModel()
  170 +// model2.id = "a_451"
  171 +// model2.name = "小明"
  172 +// db.insterObject(object: model2)
  173 +//
  174 +// let model4 = CNIdentityModel()
  175 +// model4.id = "3_234"
  176 +// model4.name = "小张"
  177 +// db.insterObject(object: model4)
  178 +//
  179 +//
  180 +// let time:DispatchTime = DispatchTime.now() + 2.0
  181 +// DispatchQueue.main.asyncAfter(deadline: time, execute: DispatchWorkItem(block: {
  182 +//
  183 +// let modelNew = CNIdentityModel()
  184 +// modelNew.id = "a_451"
  185 +// modelNew.name = "小张"
  186 +// modelNew.icon = "http://apple.com"
  187 +// modelNew.createTime = "1234555223"
  188 +// modelNew.enable = true
  189 +// db.updateObject(newObject: modelNew)
  190 +//
  191 +// let allData = CNIdentityDB().searchAllObject()
  192 +// print(allData)
  193 +//
  194 +// }))
  195 +
  196 +
157 197 }
158 198 override func viewDidAppear(_ animated: Bool) {
159 199 super.viewDidAppear(animated)
160 200 self.view.height = KSreenHeight
161 201  
162 202 self.topNavView.isHidden = true
163   -
164 203 }
  204 +
  205 +
165 206 // MARK: - 添加UI
166 207 func setupUI(){
167 208 self.view.backgroundColor = KVCBackgroupColor
... ... @@ -344,5 +385,27 @@ class CNMetaCodeHomePageController:CNLiveBaseViewController, NewPagedFlowViewDel
344 385 }
345 386 }
346 387 }
  388 + //MARK: - 网络请求
  389 + func getUserIdentityApi(){
  390 + CNHomePageViewModel.getUserIdentityApi { listArray, responseType, errorMsg in
  391 + switch responseType{
  392 + case .success:
  393 + if(listArray.count>0){
  394 + self.addCertificationView.isHidden = true
  395 + self.addCertificationView.removeFromSuperview()
  396 + self.dataArray.addObjects(from: listArray)
  397 + self.addPageView()
  398 + self.identityStatus = .haveBeenCertified
  399 + }else{
  400 + self.identityStatus = .notCertified
  401 + }
  402 +
  403 + case .failed:
  404 + showMessage(message: errorMsg)
  405 + case .noNetwork:
  406 + showMessage(message: "网络未连接")
  407 + }
  408 + }
  409 + }
347 410  
348 411 }
... ...
metaCode/Classes/Main/HomePage/ViewModel/CNHomePageViewModel.swift 0 → 100644
  1 +//
  2 +// CNHomePageViewModel.swift
  3 +// metaCode
  4 +//
  5 +// Created by daojian on 2023/7/3.
  6 +//
  7 +
  8 +import Foundation
  9 +import CNLiveRequestBastKit
  10 +
  11 +///请求响应回调
  12 +typealias responseBlock = (_ listArray:Array<CNIdentityModel>, _ responseType:CNNetworkingResponseType, _ errorMsg:String) -> Void
  13 +
  14 +class CNHomePageViewModel:NSObject {
  15 +
  16 + /// 获取身份列表
  17 + class func getUserIdentityApi(resultBlock:@escaping responseBlock){
  18 +
  19 + //先从本地获取,本地有直接返回
  20 + let db = CNIdentityDB()
  21 + let allDbArray = db.searchAllObject()
  22 + if(allDbArray.count > 0){
  23 + resultBlock(allDbArray,.success,"")
  24 + return
  25 + }
  26 +
  27 + //从网络获取
  28 + CNLiveNetworking.setAllowRequestDefaultArgument(false)
  29 + CNLiveNetworking.setupShowDataResult(false)
  30 + CNLiveNetworking.requestNetwork(with: .GET, urlString: "\(APPBaseMCUrl)/identityApi/list?sid=\(UserInfoManager.shared.userInfo.uid)&page=1&pageSize=1000", param: nil, cacheType: .networkOnly) { task , result, error in
  31 +
  32 + if((error) != nil){
  33 + //网络请求失败
  34 + if CNLiveNetworking.isNetworking(){
  35 + resultBlock([],.failed,error?.localizedDescription ?? "请求失败")
  36 + }else{
  37 + resultBlock([],.noNetwork,"无网络连接")
  38 + }
  39 + return
  40 + }
  41 +
  42 + let resultDic:NSDictionary = result as! NSDictionary
  43 +
  44 + let errorCode:String = "\(resultDic["errorCode"]!)"
  45 + if (errorCode == "0"){
  46 + let data:NSDictionary = resultDic["data"] as! NSDictionary
  47 + let list:NSArray = data["list"] as! NSArray
  48 +
  49 + //list数据转CNIdentityModel, 并把model存入本地
  50 +
  51 + var array:Array = Array<CNIdentityModel>()
  52 + for index in 0..<list.count{
  53 + let item = dictionaryToModel(list[index] as! [String : Any], CNIdentityModel.self, "")
  54 + array.append(item as! CNIdentityModel)
  55 + //存入数据库
  56 + db.insterObject(object: item as! CNIdentityModel)
  57 + }
  58 + resultBlock(array,.success,"")
  59 + }
  60 + else{
  61 + let errorMessage:String = resultDic["errorMessage"] as! String
  62 + showMessage(message: errorMessage)
  63 + resultBlock([],.failed,errorMessage)
  64 + }
  65 +
  66 + }
  67 +
  68 + }
  69 +
  70 +
  71 +}
... ...
metaCode/Classes/Other/AppDelegate.swift
... ... @@ -57,7 +57,7 @@ class AppDelegate: UIResponder, UIApplicationDelegate {
57 57 CNLiveNetworking.setupSignKey(APPKey)
58 58 CNLiveNetworking.setAllowRequestDefaultArgument(true)
59 59 CNLiveNetworking.setResponseSerializerType(.JSON)
60   - CNLiveNetworking.setupBaseURL(APPBaseUrl)
  60 + CNLiveNetworking.setupBaseURL(APPLoginHost)
61 61 }
62 62  
63 63  
... ...