Commit 61bbbf6b1fea11298587f482ed5538c8d29dbcd8

Authored by liushiyu
1 parent 116cc992

提交空白占位图

@@ -25,6 +25,8 @@ target 'metaCode' do @@ -25,6 +25,8 @@ target 'metaCode' do
25 pod 'SnapKit' 25 pod 'SnapKit'
26 #加载框 26 #加载框
27 pod 'MBProgressHUD' 27 pod 'MBProgressHUD'
  28 + #空白占位
  29 + pod 'DZNEmptyDataSet'
28 #模型转换工具 30 #模型转换工具
29 pod 'HandyJSON' 31 pod 'HandyJSON'
30 #图片视频选择器 32 #图片视频选择器
metaCode.xcodeproj/project.pbxproj
@@ -23,7 +23,6 @@ @@ -23,7 +23,6 @@
23 79282A402A2F055100B5F8CF /* CNLiveConfigUserInfo.swift in Sources */ = {isa = PBXBuildFile; fileRef = 79282A3F2A2F055100B5F8CF /* CNLiveConfigUserInfo.swift */; }; 23 79282A402A2F055100B5F8CF /* CNLiveConfigUserInfo.swift in Sources */ = {isa = PBXBuildFile; fileRef = 79282A3F2A2F055100B5F8CF /* CNLiveConfigUserInfo.swift */; };
24 79282A442A2F1C1E00B5F8CF /* CNLiveLoginAuthView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 79282A432A2F1C1E00B5F8CF /* CNLiveLoginAuthView.swift */; }; 24 79282A442A2F1C1E00B5F8CF /* CNLiveLoginAuthView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 79282A432A2F1C1E00B5F8CF /* CNLiveLoginAuthView.swift */; };
25 79282A462A2F457D00B5F8CF /* CNLiveMineViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 79282A452A2F457D00B5F8CF /* CNLiveMineViewController.swift */; }; 25 79282A462A2F457D00B5F8CF /* CNLiveMineViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 79282A452A2F457D00B5F8CF /* CNLiveMineViewController.swift */; };
26 - 792E57D72A3AA2AC005834DB /* CNLiveCommonJsonUtil.swift in Sources */ = {isa = PBXBuildFile; fileRef = 792E57D62A3AA2AC005834DB /* CNLiveCommonJsonUtil.swift */; };  
27 792E57D92A3AA2F2005834DB /* CNLiveCommonBaseModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 792E57D82A3AA2F2005834DB /* CNLiveCommonBaseModel.swift */; }; 26 792E57D92A3AA2F2005834DB /* CNLiveCommonBaseModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 792E57D82A3AA2F2005834DB /* CNLiveCommonBaseModel.swift */; };
28 792E57DB2A3AE9F4005834DB /* CNLiveCommonQiniuTool.swift in Sources */ = {isa = PBXBuildFile; fileRef = 792E57DA2A3AE9F4005834DB /* CNLiveCommonQiniuTool.swift */; }; 27 792E57DB2A3AE9F4005834DB /* CNLiveCommonQiniuTool.swift in Sources */ = {isa = PBXBuildFile; fileRef = 792E57DA2A3AE9F4005834DB /* CNLiveCommonQiniuTool.swift */; };
29 79396EED2A319F220053E1AF /* NSObject+CNLiveCurrentVC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 79396EEC2A319F220053E1AF /* NSObject+CNLiveCurrentVC.swift */; }; 28 79396EED2A319F220053E1AF /* NSObject+CNLiveCurrentVC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 79396EEC2A319F220053E1AF /* NSObject+CNLiveCurrentVC.swift */; };
@@ -44,6 +43,7 @@ @@ -44,6 +43,7 @@
44 798A44FF2A30A0A800815935 /* CNLiveInputFeedBackViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 798A44FE2A30A0A800815935 /* CNLiveInputFeedBackViewController.swift */; }; 43 798A44FF2A30A0A800815935 /* CNLiveInputFeedBackViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 798A44FE2A30A0A800815935 /* CNLiveInputFeedBackViewController.swift */; };
45 79A68C4A2A26E6CE00DC3B43 /* (null) in Sources */ = {isa = PBXBuildFile; }; 44 79A68C4A2A26E6CE00DC3B43 /* (null) in Sources */ = {isa = PBXBuildFile; };
46 79A68C4C2A26EA6000DC3B43 /* (null) in Sources */ = {isa = PBXBuildFile; }; 45 79A68C4C2A26EA6000DC3B43 /* (null) in Sources */ = {isa = PBXBuildFile; };
  46 + 79BDDCBE2A3C3FC8008560FC /* NSObject+CNLiveJSONTool.swift in Sources */ = {isa = PBXBuildFile; fileRef = 79BDDCBD2A3C3FC8008560FC /* NSObject+CNLiveJSONTool.swift */; };
47 79F4B1162A32B96B00993C03 /* CNLiveMineInfoViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 79F4B1152A32B96B00993C03 /* CNLiveMineInfoViewController.swift */; }; 47 79F4B1162A32B96B00993C03 /* CNLiveMineInfoViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 79F4B1152A32B96B00993C03 /* CNLiveMineInfoViewController.swift */; };
48 79F4B11A2A32F21400993C03 /* CNLiveMineNickViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 79F4B1192A32F21400993C03 /* CNLiveMineNickViewController.swift */; }; 48 79F4B11A2A32F21400993C03 /* CNLiveMineNickViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 79F4B1192A32F21400993C03 /* CNLiveMineNickViewController.swift */; };
49 79F4B11C2A33036E00993C03 /* CNLiveMineInfoAlertView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 79F4B11B2A33036E00993C03 /* CNLiveMineInfoAlertView.swift */; }; 49 79F4B11C2A33036E00993C03 /* CNLiveMineInfoAlertView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 79F4B11B2A33036E00993C03 /* CNLiveMineInfoAlertView.swift */; };
@@ -114,7 +114,6 @@ @@ -114,7 +114,6 @@
114 79282A3F2A2F055100B5F8CF /* CNLiveConfigUserInfo.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CNLiveConfigUserInfo.swift; sourceTree = "<group>"; }; 114 79282A3F2A2F055100B5F8CF /* CNLiveConfigUserInfo.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CNLiveConfigUserInfo.swift; sourceTree = "<group>"; };
115 79282A432A2F1C1E00B5F8CF /* CNLiveLoginAuthView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CNLiveLoginAuthView.swift; sourceTree = "<group>"; }; 115 79282A432A2F1C1E00B5F8CF /* CNLiveLoginAuthView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CNLiveLoginAuthView.swift; sourceTree = "<group>"; };
116 79282A452A2F457D00B5F8CF /* CNLiveMineViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CNLiveMineViewController.swift; sourceTree = "<group>"; }; 116 79282A452A2F457D00B5F8CF /* CNLiveMineViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CNLiveMineViewController.swift; sourceTree = "<group>"; };
117 - 792E57D62A3AA2AC005834DB /* CNLiveCommonJsonUtil.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CNLiveCommonJsonUtil.swift; sourceTree = "<group>"; };  
118 792E57D82A3AA2F2005834DB /* CNLiveCommonBaseModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CNLiveCommonBaseModel.swift; sourceTree = "<group>"; }; 117 792E57D82A3AA2F2005834DB /* CNLiveCommonBaseModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CNLiveCommonBaseModel.swift; sourceTree = "<group>"; };
119 792E57DA2A3AE9F4005834DB /* CNLiveCommonQiniuTool.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CNLiveCommonQiniuTool.swift; sourceTree = "<group>"; }; 118 792E57DA2A3AE9F4005834DB /* CNLiveCommonQiniuTool.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CNLiveCommonQiniuTool.swift; sourceTree = "<group>"; };
120 79396EEC2A319F220053E1AF /* NSObject+CNLiveCurrentVC.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "NSObject+CNLiveCurrentVC.swift"; sourceTree = "<group>"; }; 119 79396EEC2A319F220053E1AF /* NSObject+CNLiveCurrentVC.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "NSObject+CNLiveCurrentVC.swift"; sourceTree = "<group>"; };
@@ -134,6 +133,7 @@ @@ -134,6 +133,7 @@
134 798A44FC2A309EBA00815935 /* CNLiveTypeFeedBackViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CNLiveTypeFeedBackViewController.swift; sourceTree = "<group>"; }; 133 798A44FC2A309EBA00815935 /* CNLiveTypeFeedBackViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CNLiveTypeFeedBackViewController.swift; sourceTree = "<group>"; };
135 798A44FE2A30A0A800815935 /* CNLiveInputFeedBackViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CNLiveInputFeedBackViewController.swift; sourceTree = "<group>"; }; 134 798A44FE2A30A0A800815935 /* CNLiveInputFeedBackViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CNLiveInputFeedBackViewController.swift; sourceTree = "<group>"; };
136 79A68C512A26F59C00DC3B43 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = Info.plist; path = metaCode/Info.plist; sourceTree = "<group>"; }; 135 79A68C512A26F59C00DC3B43 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = Info.plist; path = metaCode/Info.plist; sourceTree = "<group>"; };
  136 + 79BDDCBD2A3C3FC8008560FC /* NSObject+CNLiveJSONTool.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "NSObject+CNLiveJSONTool.swift"; sourceTree = "<group>"; };
137 79F4B1152A32B96B00993C03 /* CNLiveMineInfoViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CNLiveMineInfoViewController.swift; sourceTree = "<group>"; }; 137 79F4B1152A32B96B00993C03 /* CNLiveMineInfoViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CNLiveMineInfoViewController.swift; sourceTree = "<group>"; };
138 79F4B1192A32F21400993C03 /* CNLiveMineNickViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CNLiveMineNickViewController.swift; sourceTree = "<group>"; }; 138 79F4B1192A32F21400993C03 /* CNLiveMineNickViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CNLiveMineNickViewController.swift; sourceTree = "<group>"; };
139 79F4B11B2A33036E00993C03 /* CNLiveMineInfoAlertView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CNLiveMineInfoAlertView.swift; sourceTree = "<group>"; }; 139 79F4B11B2A33036E00993C03 /* CNLiveMineInfoAlertView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CNLiveMineInfoAlertView.swift; sourceTree = "<group>"; };
@@ -225,6 +225,7 @@ @@ -225,6 +225,7 @@
225 79282A3B2A2EDC2500B5F8CF /* NSString+CNLiveExtensions.swift */, 225 79282A3B2A2EDC2500B5F8CF /* NSString+CNLiveExtensions.swift */,
226 798A44EF2A305BC200815935 /* UIButton+CNLiveExtension.swift */, 226 798A44EF2A305BC200815935 /* UIButton+CNLiveExtension.swift */,
227 79396EEC2A319F220053E1AF /* NSObject+CNLiveCurrentVC.swift */, 227 79396EEC2A319F220053E1AF /* NSObject+CNLiveCurrentVC.swift */,
  228 + 79BDDCBD2A3C3FC8008560FC /* NSObject+CNLiveJSONTool.swift */,
228 ); 229 );
229 path = Extensions; 230 path = Extensions;
230 sourceTree = "<group>"; 231 sourceTree = "<group>";
@@ -300,7 +301,6 @@ @@ -300,7 +301,6 @@
300 792E57D52A3AA28E005834DB /* Util */ = { 301 792E57D52A3AA28E005834DB /* Util */ = {
301 isa = PBXGroup; 302 isa = PBXGroup;
302 children = ( 303 children = (
303 - 792E57D62A3AA2AC005834DB /* CNLiveCommonJsonUtil.swift */,  
304 792E57D82A3AA2F2005834DB /* CNLiveCommonBaseModel.swift */, 304 792E57D82A3AA2F2005834DB /* CNLiveCommonBaseModel.swift */,
305 792E57DA2A3AE9F4005834DB /* CNLiveCommonQiniuTool.swift */, 305 792E57DA2A3AE9F4005834DB /* CNLiveCommonQiniuTool.swift */,
306 ); 306 );
@@ -815,8 +815,8 @@ @@ -815,8 +815,8 @@
815 7CD675522A29C04B008354C1 /* CNLiveConstant.swift in Sources */, 815 7CD675522A29C04B008354C1 /* CNLiveConstant.swift in Sources */,
816 79282A402A2F055100B5F8CF /* CNLiveConfigUserInfo.swift in Sources */, 816 79282A402A2F055100B5F8CF /* CNLiveConfigUserInfo.swift in Sources */,
817 7C4931382A307BDB000E44B4 /* CNHomePageGuideView.swift in Sources */, 817 7C4931382A307BDB000E44B4 /* CNHomePageGuideView.swift in Sources */,
818 - 7CD6753E2A2740B0008354C1 /* CNPayMoneyCodeView.swift in Sources */,  
819 - 7CD675402A2740B0008354C1 /* CNCollectMoneyCodeView.swift in Sources */, 818 + 7CD6753E2A2740B0008354C1 /* CNUpSlideView.swift in Sources */,
  819 + 7CD675402A2740B0008354C1 /* CNDownSlideView.swift in Sources */,
820 792E57D92A3AA2F2005834DB /* CNLiveCommonBaseModel.swift in Sources */, 820 792E57D92A3AA2F2005834DB /* CNLiveCommonBaseModel.swift in Sources */,
821 7CD6753E2A2740B0008354C1 /* CNUpSlideView.swift in Sources */, 821 7CD6753E2A2740B0008354C1 /* CNUpSlideView.swift in Sources */,
822 7CD675402A2740B0008354C1 /* CNDownSlideView.swift in Sources */, 822 7CD675402A2740B0008354C1 /* CNDownSlideView.swift in Sources */,
@@ -829,7 +829,7 @@ @@ -829,7 +829,7 @@
829 798A44FF2A30A0A800815935 /* CNLiveInputFeedBackViewController.swift in Sources */, 829 798A44FF2A30A0A800815935 /* CNLiveInputFeedBackViewController.swift in Sources */,
830 79282A442A2F1C1E00B5F8CF /* CNLiveLoginAuthView.swift in Sources */, 830 79282A442A2F1C1E00B5F8CF /* CNLiveLoginAuthView.swift in Sources */,
831 7C2703302A36CBE30061EC50 /* CNCertificationView.swift in Sources */, 831 7C2703302A36CBE30061EC50 /* CNCertificationView.swift in Sources */,
832 - 792E57D72A3AA2AC005834DB /* CNLiveCommonJsonUtil.swift in Sources */, 832 + 79BDDCBE2A3C3FC8008560FC /* NSObject+CNLiveJSONTool.swift in Sources */,
833 790D01A32A2DDBA300C5978D /* CNLiveConfigManager.swift in Sources */, 833 790D01A32A2DDBA300C5978D /* CNLiveConfigManager.swift in Sources */,
834 7C2703332A36CC660061EC50 /* CNLiveGlobalBlock.swift in Sources */, 834 7C2703332A36CC660061EC50 /* CNLiveGlobalBlock.swift in Sources */,
835 798A44EA2A30135D00815935 /* CNLiveMineBodyListView.swift in Sources */, 835 798A44EA2A30135D00815935 /* CNLiveMineBodyListView.swift in Sources */,
metaCode/Classes/Config/CNLiveConfigUserInfo.swift
@@ -101,7 +101,7 @@ class UserInfoManager: NSObject { @@ -101,7 +101,7 @@ class UserInfoManager: NSObject {
101 print("获取用户信息失败") 101 print("获取用户信息失败")
102 return UserInfoModel() 102 return UserInfoModel()
103 } 103 }
104 - let userInfo = JsonUtil.jsonToModel(user_info as! String, UserInfoModel.self) as! UserInfoModel 104 + let userInfo = jsonToModel(user_info as! String, UserInfoModel.self) as! UserInfoModel
105 UserInfoManager.shared._userInfo = userInfo 105 UserInfoManager.shared._userInfo = userInfo
106 return userInfo 106 return userInfo
107 } 107 }
metaCode/Classes/Common/Util/CNLiveCommonJsonUtil.swift renamed to metaCode/Classes/Extensions/NSObject+CNLiveJSONTool.swift
1 // 1 //
2 -// CNLiveCommonJsonUtil.swift 2 +// NSObject+CNLiveJSONTool.swift
3 // metaCode 3 // metaCode
4 // 4 //
5 -// Created by open on 2023/6/15. 5 +// Created by open on 2023/6/16.
6 // 6 //
7 7
8 import Foundation 8 import Foundation
9 -  
10 -import UIKit  
11 import HandyJSON 9 import HandyJSON
12 10
13 -class JsonUtil: NSObject {  
14 - /**  
15 - * Json转对象  
16 - */  
17 - static func jsonToModel(_ jsonStr:String,_ modelType:HandyJSON.Type) -> BaseModel {  
18 - if jsonStr == "" || jsonStr.count == 0 {  
19 - #if DEBUG  
20 - print("jsonoModel:字符串为空")  
21 - #endif  
22 - return BaseModel()  
23 - }  
24 - return modelType.deserialize(from: jsonStr) as! BaseModel  
25 -  
26 - }  
27 -  
28 - /**  
29 - * Json转数组对象  
30 - */  
31 - static func jsonArrayToModel(_ jsonArrayStr:String, _ modelType:HandyJSON.Type) ->[BaseModel] {  
32 - if jsonArrayStr == "" || jsonArrayStr.count == 0 {  
33 - #if DEBUG  
34 - print("jsonToModelArray:字符串为空")  
35 - #endif  
36 - return []  
37 - }  
38 - var modelArray:[BaseModel] = []  
39 - let data = jsonArrayStr.data(using: String.Encoding.utf8)  
40 - let peoplesArray = try! JSONSerialization.jsonObject(with:data!, options: JSONSerialization.ReadingOptions()) as? [AnyObject]  
41 - for people in peoplesArray! {  
42 - modelArray.append(dictionaryToModel(people as! [String : Any], modelType))  
43 - }  
44 - return modelArray 11 +/**
  12 + * Json转对象
  13 + */
  14 +func jsonToModel(_ jsonStr:String,_ modelType:HandyJSON.Type) -> BaseModel {
  15 + if jsonStr == "" || jsonStr.count == 0 {
  16 + #if DEBUG
  17 + print("jsonoModel:字符串为空")
  18 + #endif
  19 + return BaseModel()
  20 + }
  21 + return modelType.deserialize(from: jsonStr) as! BaseModel
  22 +}
45 23
46 - } 24 +/**
  25 + * Json转数组对象
  26 + */
  27 +func jsonArrayToModel(_ jsonArrayStr:String, _ modelType:HandyJSON.Type) ->[BaseModel] {
  28 + if jsonArrayStr == "" || jsonArrayStr.count == 0 {
  29 + #if DEBUG
  30 + print("jsonToModelArray:字符串为空")
  31 + #endif
  32 + return []
  33 + }
  34 + var modelArray:[BaseModel] = []
  35 + let data = jsonArrayStr.data(using: String.Encoding.utf8)
  36 + let peoplesArray = try! JSONSerialization.jsonObject(with:data!, options: JSONSerialization.ReadingOptions()) as? [AnyObject]
  37 + for people in peoplesArray! {
  38 + modelArray.append(dictionaryToModel(people as! [String : Any], modelType))
  39 + }
  40 + return modelArray
47 41
48 - /**  
49 - * 字典转对象  
50 - */  
51 - static func dictionaryToModel(_ dictionStr:[String:Any],_ modelType:HandyJSON.Type) -> BaseModel {  
52 - if dictionStr.count == 0 {  
53 - #if DEBUG  
54 - print("dictionaryToModel:字符串为空")  
55 - #endif  
56 - return BaseModel()  
57 - }  
58 - return modelType.deserialize(from: dictionStr) as! BaseModel  
59 - } 42 +}
  43 +/**
  44 + * 字典转对象
  45 + */
  46 +func dictionaryToModel(_ dictionStr:[String:Any],_ modelType:HandyJSON.Type) -> BaseModel {
  47 + if dictionStr.count == 0 {
  48 + #if DEBUG
  49 + print("dictionaryToModel:字符串为空")
  50 + #endif
  51 + return BaseModel()
  52 + }
  53 + return modelType.deserialize(from: dictionStr) as! BaseModel
  54 +}
60 55
61 - /**  
62 - * 对象转JSON  
63 - */  
64 - static func modelToJson(_ model:BaseModel?) -> String {  
65 - if model == nil {  
66 - #if DEBUG  
67 - print("modelToJson:model为空")  
68 - #endif  
69 - return ""  
70 - }  
71 - return (model?.toJSONString())!  
72 - } 56 +/**
  57 + * 对象转JSON
  58 + */
  59 +func modelToJson(_ model:BaseModel?) -> String {
  60 + if model == nil {
  61 + #if DEBUG
  62 + print("modelToJson:model为空")
  63 + #endif
  64 + return ""
  65 + }
  66 + return (model?.toJSONString())!
  67 +}
73 68
74 - /**  
75 - * 对象转字典  
76 - */  
77 - static func modelToDictionary(_ model:BaseModel?) -> [String:Any] {  
78 - if model == nil {  
79 - #if DEBUG  
80 - print("modelToJson:model为空")  
81 - #endif  
82 - return [:]  
83 - }  
84 - return (model?.toJSON())!  
85 - } 69 +/**
  70 + * 对象转字典
  71 + */
  72 +func modelToDictionary(_ model:BaseModel?) -> [String:Any] {
  73 + if model == nil {
  74 + #if DEBUG
  75 + print("modelToJson:model为空")
  76 + #endif
  77 + return [:]
  78 + }
  79 + return (model?.toJSON())!
86 } 80 }
metaCode/Classes/Main/LoginPage/ViewModel/CNLiveLoginViewModel.swift
@@ -91,7 +91,7 @@ class CNLiveLoginViewModel : NSObject { @@ -91,7 +91,7 @@ class CNLiveLoginViewModel : NSObject {
91 if resp.allKeys.contains(where: { item in 91 if resp.allKeys.contains(where: { item in
92 return item as! String == "data" 92 return item as! String == "data"
93 }) { 93 }) {
94 - let userInfoModel = JsonUtil.dictionaryToModel(resp["data"] as! [String : Any], UserInfoModel.self) 94 + let userInfoModel = dictionaryToModel(resp["data"] as! [String : Any], UserInfoModel.self)
95 UserInfoManager.cacheUserInfo(userInfo: userInfoModel as! UserInfoModel) 95 UserInfoManager.cacheUserInfo(userInfo: userInfoModel as! UserInfoModel)
96 UserDefaults.standard.set(true,forKey: "is_login") 96 UserDefaults.standard.set(true,forKey: "is_login")
97 resultBlock() 97 resultBlock()
metaCode/Classes/Main/MinePage/Controller/CNLiveInputFeedBackViewController.swift
@@ -61,6 +61,8 @@ class CNLiveInputFeedBackViewController: CNLiveBaseViewController, UITextViewDel @@ -61,6 +61,8 @@ class CNLiveInputFeedBackViewController: CNLiveBaseViewController, UITextViewDel
61 lazy var photoView: MinePhotoUploadView = { 61 lazy var photoView: MinePhotoUploadView = {
62 let pView = MinePhotoUploadView.init(frame: .zero) { [self] index in 62 let pView = MinePhotoUploadView.init(frame: .zero) { [self] index in
63 let mString = NSMutableAttributedString(string: "上传截图 (选填 \(index)/3)") 63 let mString = NSMutableAttributedString(string: "上传截图 (选填 \(index)/3)")
  64 + mString.addAttributes([.foregroundColor: UIColor.black,.font: BoldFont_18], range: NSRange(location: 0, length: 4))
  65 + mString.addAttributes([.foregroundColor: HexColor("#B4B4B4")!,.font: Font_14], range: NSRange(location: 4, length: 9))
64 photoLabel.attributedText = mString 66 photoLabel.attributedText = mString
65 } 67 }
66 pView.backgroundColor = .clear 68 pView.backgroundColor = .clear
metaCode/Classes/Main/MinePage/Controller/CNLiveMineAddInfoViewController.swift
@@ -6,6 +6,7 @@ @@ -6,6 +6,7 @@
6 // 6 //
7 7
8 import Foundation 8 import Foundation
  9 +import DZNEmptyDataSet
9 10
10 enum CNLiveMineInfoShowType { 11 enum CNLiveMineInfoShowType {
11 case add//添加身份 12 case add//添加身份
@@ -13,7 +14,7 @@ enum CNLiveMineInfoShowType { @@ -13,7 +14,7 @@ enum CNLiveMineInfoShowType {
13 case message//消息中心 14 case message//消息中心
14 } 15 }
15 16
16 -class CNLiveMineAddInfoViewController : CNLiveBaseViewController, UITableViewDelegate, UITableViewDataSource, UITableViewDragDelegate, UITableViewDropDelegate { 17 +class CNLiveMineAddInfoViewController : CNLiveBaseViewController, UITableViewDelegate, UITableViewDataSource, UITableViewDragDelegate, UITableViewDropDelegate, DZNEmptyDataSetSource, DZNEmptyDataSetDelegate{
17 18
18 let kCNLiveMineInfoLListTableViewIdentifier = "kCNLiveMineInfoLListTableViewIdentifier" 19 let kCNLiveMineInfoLListTableViewIdentifier = "kCNLiveMineInfoLListTableViewIdentifier"
19 let kCNLiveMineStandInfoTableViewIdentifier = "kCNLiveMineStandInfoTableViewIdentifier" 20 let kCNLiveMineStandInfoTableViewIdentifier = "kCNLiveMineStandInfoTableViewIdentifier"
@@ -23,6 +24,8 @@ class CNLiveMineAddInfoViewController : CNLiveBaseViewController, UITableViewDel @@ -23,6 +24,8 @@ class CNLiveMineAddInfoViewController : CNLiveBaseViewController, UITableViewDel
23 tableView.dataSource = self 24 tableView.dataSource = self
24 tableView.dragDelegate = self 25 tableView.dragDelegate = self
25 tableView.dropDelegate = self 26 tableView.dropDelegate = self
  27 + tableView.emptyDataSetSource = self
  28 + tableView.emptyDataSetDelegate = self
26 tableView.backgroundColor = HexColor("#F7F8FA") 29 tableView.backgroundColor = HexColor("#F7F8FA")
27 tableView.tableFooterView = UIView.init() 30 tableView.tableFooterView = UIView.init()
28 tableView.rowHeight = 100 31 tableView.rowHeight = 100
@@ -44,8 +47,8 @@ class CNLiveMineAddInfoViewController : CNLiveBaseViewController, UITableViewDel @@ -44,8 +47,8 @@ class CNLiveMineAddInfoViewController : CNLiveBaseViewController, UITableViewDel
44 dataArray.add(["image":"mine_header_icon_defult_ava","name":"退伍军人身份","number":"证件编号:410800111127954"]) 47 dataArray.add(["image":"mine_header_icon_defult_ava","name":"退伍军人身份","number":"证件编号:410800111127954"])
45 } 48 }
46 if _show_type == .message { 49 if _show_type == .message {
47 - dataArray.add(["image":"mine_header_icon_defult_ava","name":"志愿者云","number":"志愿者大礼包发放中,快来领取吧!","time":"03-12"])  
48 - dataArray.add(["image":"mine_header_icon_defult_ava","name":"志愿者·志愿云","number":"志愿者大礼包快来领取吧~","time":"03-12"]) 50 +// dataArray.add(["image":"mine_header_icon_defult_ava","name":"志愿者云","number":"志愿者大礼包发放中,快来领取吧!","time":"03-12"])
  51 +// dataArray.add(["image":"mine_header_icon_defult_ava","name":"志愿者·志愿云","number":"志愿者大礼包快来领取吧~","time":"03-12"])
49 } 52 }
50 return dataArray 53 return dataArray
51 }() 54 }()
@@ -113,6 +116,28 @@ class CNLiveMineAddInfoViewController : CNLiveBaseViewController, UITableViewDel @@ -113,6 +116,28 @@ class CNLiveMineAddInfoViewController : CNLiveBaseViewController, UITableViewDel
113 } 116 }
114 117
115 extension CNLiveMineAddInfoViewController { 118 extension CNLiveMineAddInfoViewController {
  119 + func image(forEmptyDataSet scrollView: UIScrollView!) -> UIImage! {
  120 + return UIImage(named: "mine_list_source_empty")
  121 + }
  122 +
  123 + func title(forEmptyDataSet scrollView: UIScrollView!) -> NSAttributedString! {
  124 + var defult_string = ""
  125 + switch _show_type {
  126 + case .add:
  127 + defult_string = "暂时没有可添加的身份~"
  128 + case .info:
  129 + defult_string = "暂时没有身份信息~"
  130 + case .message:
  131 + defult_string = "暂时没有可读的消息~"
  132 + case .none:
  133 + break
  134 + }
  135 + return NSAttributedString(string: defult_string, attributes: [.font: Font_17,.foregroundColor: HexColor("#666666")!])
  136 + }
  137 +
  138 +}
  139 +
  140 +extension CNLiveMineAddInfoViewController {
116 141
117 func numberOfSections(in tableView: UITableView) -> Int { 142 func numberOfSections(in tableView: UITableView) -> Int {
118 return 1 143 return 1
metaCode/Classes/Main/MinePage/Controller/CNLiveMineInfoViewController.swift
@@ -72,6 +72,12 @@ class CNLiveMineInfoViewController: CNLiveBaseViewController, PhotoPickerControl @@ -72,6 +72,12 @@ class CNLiveMineInfoViewController: CNLiveBaseViewController, PhotoPickerControl
72 super.viewDidLoad() 72 super.viewDidLoad()
73 view.backgroundColor = .black 73 view.backgroundColor = .black
74 setNeedsStatusBarAppearanceUpdate() 74 setNeedsStatusBarAppearanceUpdate()
  75 + navigationBarHidden = false
  76 + topNavView.backgroundColor = .clear
  77 + //先设置一个默认返回按钮
  78 + let leftBtn_array : Array<UIButton> = [UIButton.backItem(imageName: "mine_header_icon_white_back", target: self, action: #selector(changeCancelAction))]
  79 + leftNavBtns = leftBtn_array
  80 +
75 81
76 view.addSubview(imageView) 82 view.addSubview(imageView)
77 imageView.snp.makeConstraints { make in 83 imageView.snp.makeConstraints { make in
@@ -109,7 +115,6 @@ class CNLiveMineInfoViewController: CNLiveBaseViewController, PhotoPickerControl @@ -109,7 +115,6 @@ class CNLiveMineInfoViewController: CNLiveBaseViewController, PhotoPickerControl
109 } 115 }
110 116
111 override var preferredStatusBarStyle: UIStatusBarStyle { 117 override var preferredStatusBarStyle: UIStatusBarStyle {
112 -  
113 return .lightContent 118 return .lightContent
114 } 119 }
115 120
metaCode/Supporting Files/Assets.xcassets/MinePage/mine_header_icon_white_back.imageset/Contents.json 0 → 100644
  1 +{
  2 + "images" : [
  3 + {
  4 + "idiom" : "universal",
  5 + "scale" : "1x"
  6 + },
  7 + {
  8 + "filename" : "mine_info_header_icon_white_back@2x.png",
  9 + "idiom" : "universal",
  10 + "scale" : "2x"
  11 + },
  12 + {
  13 + "filename" : "mine_info_header_icon_white_back@3x.png",
  14 + "idiom" : "universal",
  15 + "scale" : "3x"
  16 + }
  17 + ],
  18 + "info" : {
  19 + "author" : "xcode",
  20 + "version" : 1
  21 + }
  22 +}
metaCode/Supporting Files/Assets.xcassets/MinePage/mine_header_icon_white_back.imageset/mine_info_header_icon_white_back@2x.png 0 → 100644

369 Bytes

metaCode/Supporting Files/Assets.xcassets/MinePage/mine_header_icon_white_back.imageset/mine_info_header_icon_white_back@3x.png 0 → 100644

652 Bytes

metaCode/Supporting Files/Assets.xcassets/MinePage/mine_list_source_empty.imageset/Contents.json 0 → 100644
  1 +{
  2 + "images" : [
  3 + {
  4 + "idiom" : "universal",
  5 + "scale" : "1x"
  6 + },
  7 + {
  8 + "filename" : "mine_list_source_empty@2x.png",
  9 + "idiom" : "universal",
  10 + "scale" : "2x"
  11 + },
  12 + {
  13 + "filename" : "mine_list_source_empty@3x.png",
  14 + "idiom" : "universal",
  15 + "scale" : "3x"
  16 + }
  17 + ],
  18 + "info" : {
  19 + "author" : "xcode",
  20 + "version" : 1
  21 + }
  22 +}
metaCode/Supporting Files/Assets.xcassets/MinePage/mine_list_source_empty.imageset/mine_list_source_empty@2x.png 0 → 100644

21.8 KB

metaCode/Supporting Files/Assets.xcassets/MinePage/mine_list_source_empty.imageset/mine_list_source_empty@3x.png 0 → 100644

48.1 KB