Commit fafdc5529e57748767a14b5dcd996c378cdbadbb

Authored by Cao yang
1 parent eaf34b66
Exists in parentassistant

封装searchbar ,优化咨询频道代码,适配UI等

Showing 28 changed files with 367 additions and 273 deletions   Show diff stats
ParentAssistant/ParentAssistant.xcodeproj/project.pbxproj
@@ -81,6 +81,8 @@ @@ -81,6 +81,8 @@
81 ADC9AB82207C673300348EF1 /* SceneMiddleCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = ADC9AB81207C673300348EF1 /* SceneMiddleCell.xib */; }; 81 ADC9AB82207C673300348EF1 /* SceneMiddleCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = ADC9AB81207C673300348EF1 /* SceneMiddleCell.xib */; };
82 ADC9AB84207C673C00348EF1 /* SceneDownCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = ADC9AB83207C673C00348EF1 /* SceneDownCell.xib */; }; 82 ADC9AB84207C673C00348EF1 /* SceneDownCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = ADC9AB83207C673C00348EF1 /* SceneDownCell.xib */; };
83 ADC9AB88207C940700348EF1 /* ProgramViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = ADC9AB87207C940700348EF1 /* ProgramViewController.swift */; }; 83 ADC9AB88207C940700348EF1 /* ProgramViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = ADC9AB87207C940700348EF1 /* ProgramViewController.swift */; };
  84 + ADCDA070208AE317004F1852 /* SearchBarView.swift in Sources */ = {isa = PBXBuildFile; fileRef = ADCDA06F208AE317004F1852 /* SearchBarView.swift */; };
  85 + ADCDA072208B2982004F1852 /* InfoModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = ADCDA071208B2982004F1852 /* InfoModel.swift */; };
84 ADE33B312062202300BEA6E6 /* Macro.swift in Sources */ = {isa = PBXBuildFile; fileRef = ADE33B302062202300BEA6E6 /* Macro.swift */; }; 86 ADE33B312062202300BEA6E6 /* Macro.swift in Sources */ = {isa = PBXBuildFile; fileRef = ADE33B302062202300BEA6E6 /* Macro.swift */; };
85 ADF159612069E00000A9485D /* CalendarView.swift in Sources */ = {isa = PBXBuildFile; fileRef = ADF159602069E00000A9485D /* CalendarView.swift */; }; 87 ADF159612069E00000A9485D /* CalendarView.swift in Sources */ = {isa = PBXBuildFile; fileRef = ADF159602069E00000A9485D /* CalendarView.swift */; };
86 ADF15E7620883D1B00381EE1 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = ADF15E7520883D1B00381EE1 /* Assets.xcassets */; }; 88 ADF15E7620883D1B00381EE1 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = ADF15E7520883D1B00381EE1 /* Assets.xcassets */; };
@@ -262,6 +264,8 @@ @@ -262,6 +264,8 @@
262 ADC9AB81207C673300348EF1 /* SceneMiddleCell.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = SceneMiddleCell.xib; sourceTree = "<group>"; }; 264 ADC9AB81207C673300348EF1 /* SceneMiddleCell.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = SceneMiddleCell.xib; sourceTree = "<group>"; };
263 ADC9AB83207C673C00348EF1 /* SceneDownCell.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = SceneDownCell.xib; sourceTree = "<group>"; }; 265 ADC9AB83207C673C00348EF1 /* SceneDownCell.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = SceneDownCell.xib; sourceTree = "<group>"; };
264 ADC9AB87207C940700348EF1 /* ProgramViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ProgramViewController.swift; sourceTree = "<group>"; }; 266 ADC9AB87207C940700348EF1 /* ProgramViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ProgramViewController.swift; sourceTree = "<group>"; };
  267 + ADCDA06F208AE317004F1852 /* SearchBarView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SearchBarView.swift; sourceTree = "<group>"; };
  268 + ADCDA071208B2982004F1852 /* InfoModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = InfoModel.swift; sourceTree = "<group>"; };
265 ADE33B302062202300BEA6E6 /* Macro.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Macro.swift; sourceTree = "<group>"; }; 269 ADE33B302062202300BEA6E6 /* Macro.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Macro.swift; sourceTree = "<group>"; };
266 ADF159602069E00000A9485D /* CalendarView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CalendarView.swift; sourceTree = "<group>"; }; 270 ADF159602069E00000A9485D /* CalendarView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CalendarView.swift; sourceTree = "<group>"; };
267 ADF15E7520883D1B00381EE1 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; }; 271 ADF15E7520883D1B00381EE1 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
@@ -467,6 +471,7 @@ @@ -467,6 +471,7 @@
467 599364E0204E62E700C8B371 /* Information */ = { 471 599364E0204E62E700C8B371 /* Information */ = {
468 isa = PBXGroup; 472 isa = PBXGroup;
469 children = ( 473 children = (
  474 + ADCDA073208B298D004F1852 /* Model */,
470 599364E1204E62E700C8B371 /* InformationViewController.swift */, 475 599364E1204E62E700C8B371 /* InformationViewController.swift */,
471 599364DD204E62E700C8B371 /* ChannelViewController.swift */, 476 599364DD204E62E700C8B371 /* ChannelViewController.swift */,
472 599364DE204E62E700C8B371 /* Information.storyboard */, 477 599364DE204E62E700C8B371 /* Information.storyboard */,
@@ -642,6 +647,14 @@ @@ -642,6 +647,14 @@
642 path = Program; 647 path = Program;
643 sourceTree = "<group>"; 648 sourceTree = "<group>";
644 }; 649 };
  650 + ADCDA073208B298D004F1852 /* Model */ = {
  651 + isa = PBXGroup;
  652 + children = (
  653 + ADCDA071208B2982004F1852 /* InfoModel.swift */,
  654 + );
  655 + path = Model;
  656 + sourceTree = "<group>";
  657 + };
645 B605235D289EDBCA5C5AF2C5 /* Frameworks */ = { 658 B605235D289EDBCA5C5AF2C5 /* Frameworks */ = {
646 isa = PBXGroup; 659 isa = PBXGroup;
647 children = ( 660 children = (
@@ -892,6 +905,7 @@ @@ -892,6 +905,7 @@
892 BFF9B7F32057A29D00F39B3E /* TableEmptyView.xib */, 905 BFF9B7F32057A29D00F39B3E /* TableEmptyView.xib */,
893 AD639F0420897CBC0028BE73 /* AlertShowView.swift */, 906 AD639F0420897CBC0028BE73 /* AlertShowView.swift */,
894 AD639F082089D8670028BE73 /* PickSelectView.swift */, 907 AD639F082089D8670028BE73 /* PickSelectView.swift */,
  908 + ADCDA06F208AE317004F1852 /* SearchBarView.swift */,
895 ); 909 );
896 path = view; 910 path = view;
897 sourceTree = "<group>"; 911 sourceTree = "<group>";
@@ -1162,7 +1176,9 @@ @@ -1162,7 +1176,9 @@
1162 BFEAAAC4205257460072FAAF /* LXCalendarMonthModel.m in Sources */, 1176 BFEAAAC4205257460072FAAF /* LXCalendarMonthModel.m in Sources */,
1163 BFA7443A207DB6EE00845D30 /* ActivationSchoolCardViewController.swift in Sources */, 1177 BFA7443A207DB6EE00845D30 /* ActivationSchoolCardViewController.swift in Sources */,
1164 BF38847E205CDE2D00A240EF /* JSViewController.swift in Sources */, 1178 BF38847E205CDE2D00A240EF /* JSViewController.swift in Sources */,
  1179 + ADCDA070208AE317004F1852 /* SearchBarView.swift in Sources */,
1165 ADE33B312062202300BEA6E6 /* Macro.swift in Sources */, 1180 ADE33B312062202300BEA6E6 /* Macro.swift in Sources */,
  1181 + ADCDA072208B2982004F1852 /* InfoModel.swift in Sources */,
1166 ADF159612069E00000A9485D /* CalendarView.swift in Sources */, 1182 ADF159612069E00000A9485D /* CalendarView.swift in Sources */,
1167 AD122ACA2084498F00C7D0AD /* ProgramVacateAddView.swift in Sources */, 1183 AD122ACA2084498F00C7D0AD /* ProgramVacateAddView.swift in Sources */,
1168 BF406CD82057B529000A6681 /* MessageTableViewCell.swift in Sources */, 1184 BF406CD82057B529000A6681 /* MessageTableViewCell.swift in Sources */,
ParentAssistant/ParentAssistant.xcodeproj/xcuserdata/caoyang.xcuserdatad/xcschemes/xcschememanagement.plist
@@ -10,5 +10,18 @@ @@ -10,5 +10,18 @@
10 <integer>11</integer> 10 <integer>11</integer>
11 </dict> 11 </dict>
12 </dict> 12 </dict>
  13 + <key>SuppressBuildableAutocreation</key>
  14 + <dict>
  15 + <key>BF7A4C2F204CD55300460463</key>
  16 + <dict>
  17 + <key>primary</key>
  18 + <true/>
  19 + </dict>
  20 + <key>BF7A4C46204CD55500460463</key>
  21 + <dict>
  22 + <key>primary</key>
  23 + <true/>
  24 + </dict>
  25 + </dict>
13 </dict> 26 </dict>
14 </plist> 27 </plist>
ParentAssistant/ParentAssistant.xcworkspace/xcuserdata/caoyang.xcuserdatad/UserInterfaceState.xcuserstate
No preview for this file type
ParentAssistant/ParentAssistant.xcworkspace/xcuserdata/caoyang.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist
@@ -20,11 +20,11 @@ @@ -20,11 +20,11 @@
20 ignoreCount = "0" 20 ignoreCount = "0"
21 continueAfterRunningActions = "No" 21 continueAfterRunningActions = "No"
22 filePath = "ParentAssistant/Classes/controllers/Grow/GrowViewController.swift" 22 filePath = "ParentAssistant/Classes/controllers/Grow/GrowViewController.swift"
23 - timestampString = "545907653.422401" 23 + timestampString = "545996291.249851"
24 startingColumnNumber = "9223372036854775807" 24 startingColumnNumber = "9223372036854775807"
25 endingColumnNumber = "9223372036854775807" 25 endingColumnNumber = "9223372036854775807"
26 - startingLineNumber = "161"  
27 - endingLineNumber = "161" 26 + startingLineNumber = "162"
  27 + endingLineNumber = "162"
28 landmarkName = "switchChildrenAction()" 28 landmarkName = "switchChildrenAction()"
29 landmarkType = "7"> 29 landmarkType = "7">
30 </BreakpointContent> 30 </BreakpointContent>
ParentAssistant/ParentAssistant/AppDelegate.swift
@@ -16,6 +16,7 @@ class AppDelegate: UIResponder, UIApplicationDelegate { @@ -16,6 +16,7 @@ class AppDelegate: UIResponder, UIApplicationDelegate {
16 var conn:Reachability! 16 var conn:Reachability!
17 func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool { 17 func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
18 setUpYXIM() 18 setUpYXIM()
  19 +
19 //1.设置网络状态监听 20 //1.设置网络状态监听
20 NotificationCenter.default.addObserver(self, selector: #selector(AppDelegate.networkStatusChange), name: NSNotification.Name.reachabilityChanged, object: nil) 21 NotificationCenter.default.addObserver(self, selector: #selector(AppDelegate.networkStatusChange), name: NSNotification.Name.reachabilityChanged, object: nil)
21 // 2、获得网络Reachability对象 22 // 2、获得网络Reachability对象
@@ -56,13 +57,20 @@ class AppDelegate: UIResponder, UIApplicationDelegate { @@ -56,13 +57,20 @@ class AppDelegate: UIResponder, UIApplicationDelegate {
56 func setUpYXIM(){ 57 func setUpYXIM(){
57 var appkey = "" 58 var appkey = ""
58 var cername = "" 59 var cername = ""
59 - if Debug.isFormal{  
60 - appkey = "a1ff0bc08fa0d6f95b480d131e55584b"  
61 - cername = "hxyproductpush"  
62 - }else{ 60 + #if DEBUG
63 appkey = "330158c080acdf4dc1092d6a74576c2c" 61 appkey = "330158c080acdf4dc1092d6a74576c2c"
64 cername = "parentdevelop" 62 cername = "parentdevelop"
65 - } 63 + #else
  64 + appkey = "a1ff0bc08fa0d6f95b480d131e55584b"
  65 + cername = "hxyproductpush"
  66 + #endif
  67 +// if Debug.isFormal{
  68 +// appkey = "a1ff0bc08fa0d6f95b480d131e55584b"
  69 +// cername = "hxyproductpush"
  70 +// }else{
  71 +// appkey = "330158c080acdf4dc1092d6a74576c2c"
  72 +// cername = "parentdevelop"
  73 +// }
66 let option = NIMSDKOption(appKey: appkey) 74 let option = NIMSDKOption(appKey: appkey)
67 option.apnsCername = cername 75 option.apnsCername = cername
68 NIMSDK.shared().register(with: option) 76 NIMSDK.shared().register(with: option)
@@ -298,6 +306,5 @@ class AppDelegate: UIResponder, UIApplicationDelegate { @@ -298,6 +306,5 @@ class AppDelegate: UIResponder, UIApplicationDelegate {
298 } 306 }
299 } 307 }
300 } 308 }
301 -  
302 } 309 }
303 310
ParentAssistant/ParentAssistant/Classes/controllers/Grow/GrowViewController.swift
@@ -65,7 +65,6 @@ class GrowViewController: UIViewController,UIScrollViewDelegate { @@ -65,7 +65,6 @@ class GrowViewController: UIViewController,UIScrollViewDelegate {
65 //设置导航栏标题 65 //设置导航栏标题
66 self.navigationItem.titleView = self.titleView 66 self.navigationItem.titleView = self.titleView
67 self.navigationItem.titleView?.center.x = screenWidth/2 67 self.navigationItem.titleView?.center.x = screenWidth/2
68 - print(self.navigationItem.titleView!.frame)  
69 self.view.addSubview(contentScrollView) 68 self.view.addSubview(contentScrollView)
70 69
71 self.title = "成长" 70 self.title = "成长"
@@ -110,16 +109,18 @@ class GrowViewController: UIViewController,UIScrollViewDelegate { @@ -110,16 +109,18 @@ class GrowViewController: UIViewController,UIScrollViewDelegate {
110 //MARK: 导航栏视图UI 109 //MARK: 导航栏视图UI
111 func drawHeadView () { 110 func drawHeadView () {
112 //左按钮 111 //左按钮
113 - let leftView = UIButton.init(frame: CGRect.init(x: 0, y: 0, width: 60, height: 44))  
114 - let titleLab = UILabel.init(frame: CGRect.init(x: 0, y: 0, width: 50, height: 44)) 112 + let leftView = UIButton.init(frame: CGRect.init(x: 0, y: 0, width: 70, height: 44))
  113 + let titleLab = UILabel.init(frame: CGRect.init(x: 0, y: 0, width: 60, height: 44))
115 114
116 titleLab.font = UIFont.systemFont(ofSize: 15) 115 titleLab.font = UIFont.systemFont(ofSize: 15)
117 titleLab.textAlignment = .center 116 titleLab.textAlignment = .center
118 titleLab.textColor = .white 117 titleLab.textColor = .white
  118 + titleLab.numberOfLines = 0
  119 + titleLab.adjustsFontSizeToFitWidth = true
119 self.titleLeftLab = titleLab 120 self.titleLeftLab = titleLab
120 leftView.addSubview(titleLab) 121 leftView.addSubview(titleLab)
121 122
122 - let imageView = UIImageView.init(frame: CGRect.init(x: 50, y: 11, width: 10, height: 22)) 123 + let imageView = UIImageView.init(frame: CGRect.init(x: 60, y: 11, width: 10, height: 22))
123 imageView.image = UIImage.init(named: "report_white_pull") 124 imageView.image = UIImage.init(named: "report_white_pull")
124 imageView.contentMode = .scaleAspectFit 125 imageView.contentMode = .scaleAspectFit
125 leftView.addSubview(imageView) 126 leftView.addSubview(imageView)
ParentAssistant/ParentAssistant/Classes/controllers/Grow/Program/ProgramCardViewController.swift
@@ -33,7 +33,7 @@ class ProgramCardViewController: UIViewController,UITextFieldDelegate { @@ -33,7 +33,7 @@ class ProgramCardViewController: UIViewController,UITextFieldDelegate {
33 }() 33 }()
34 34
35 @objc func applyAction(){ 35 @objc func applyAction(){
36 - print("补卡申请提交") 36 + DebugLog( "补卡提交")
37 let params = ["studentid":1,"onecard":"sss"] as [String : Any] 37 let params = ["studentid":1,"onecard":"sss"] as [String : Any]
38 HTTPServer.shared.postStudentMendCard(parameters: params as [String : AnyObject]) { (backData, error) in 38 HTTPServer.shared.postStudentMendCard(parameters: params as [String : AnyObject]) { (backData, error) in
39 print(backData!) 39 print(backData!)
@@ -66,7 +66,6 @@ class ProgramCardViewController: UIViewController,UITextFieldDelegate { @@ -66,7 +66,6 @@ class ProgramCardViewController: UIViewController,UITextFieldDelegate {
66 66
67 @objc func handleTap(sender:UITapGestureRecognizer){ 67 @objc func handleTap(sender:UITapGestureRecognizer){
68 if sender.state == .ended { 68 if sender.state == .ended {
69 - print("收起键盘")  
70 self.cardInputTextField.resignFirstResponder() 69 self.cardInputTextField.resignFirstResponder()
71 } 70 }
72 sender.cancelsTouchesInView = false 71 sender.cancelsTouchesInView = false
ParentAssistant/ParentAssistant/Classes/controllers/Grow/Program/ProgramCheckViewController.swift
@@ -56,7 +56,7 @@ class ProgramCheckViewController: UIViewController,UITableViewDelegate,UITableVi @@ -56,7 +56,7 @@ class ProgramCheckViewController: UIViewController,UITableViewDelegate,UITableVi
56 SVProgressHUD.dismiss() 56 SVProgressHUD.dismiss()
57 if error == nil && JSON.fromString(backData)!["status"].intValue == 1 { 57 if error == nil && JSON.fromString(backData)!["status"].intValue == 1 {
58 let data = JSON.fromString(backData)!["data"].arrayValue 58 let data = JSON.fromString(backData)!["data"].arrayValue
59 - print(backData!) 59 + DebugLog(backData!)
60 for i in 0..<data.count { 60 for i in 0..<data.count {
61 let dic = data[i].dictionary 61 let dic = data[i].dictionary
62 if let model = StudentCardModel.deserialize(from: dic){ 62 if let model = StudentCardModel.deserialize(from: dic){
@@ -91,7 +91,6 @@ class ProgramCheckViewController: UIViewController,UITableViewDelegate,UITableVi @@ -91,7 +91,6 @@ class ProgramCheckViewController: UIViewController,UITableViewDelegate,UITableVi
91 cell.timeSelectBtn.setTitle(timeSelectString, for: UIControlState.normal) 91 cell.timeSelectBtn.setTitle(timeSelectString, for: UIControlState.normal)
92 cell.checkName.text = studentModel.studentName 92 cell.checkName.text = studentModel.studentName
93 cell.backBlock = { 93 cell.backBlock = {
94 - print("选择日期")  
95 self.selectTimeAction() 94 self.selectTimeAction()
96 } 95 }
97 return cell 96 return cell
@@ -109,7 +108,6 @@ class ProgramCheckViewController: UIViewController,UITableViewDelegate,UITableVi @@ -109,7 +108,6 @@ class ProgramCheckViewController: UIViewController,UITableViewDelegate,UITableVi
109 self.addAlertView.setRowAndTitle(title: [], type: PickSelectView.AlertType.TimeDateType) 108 self.addAlertView.setRowAndTitle(title: [], type: PickSelectView.AlertType.TimeDateType)
110 self.addAlertView.showView() 109 self.addAlertView.showView()
111 self.addAlertView.alertTimeBlock = {str in 110 self.addAlertView.alertTimeBlock = {str in
112 - print("backdata= \(str)")  
113 self.timeSelectString = str 111 self.timeSelectString = str
114 self.downLoadDataFromNet(time: str) 112 self.downLoadDataFromNet(time: str)
115 } 113 }
ParentAssistant/ParentAssistant/Classes/controllers/Grow/Program/ProgramVacateViewController.swift
@@ -23,9 +23,9 @@ class ProgramVacateViewController: UIViewController,UITableViewDelegate,UITableV @@ -23,9 +23,9 @@ class ProgramVacateViewController: UIViewController,UITableViewDelegate,UITableV
23 }() 23 }()
24 24
25 lazy var bottomBtn = {()-> UIButton in 25 lazy var bottomBtn = {()-> UIButton in
26 - let btn = UIButton.init(frame: CGRect.init(x: screenWidth/2-100, y: screenHeight-66-50, width: 200, height: 40)) 26 + let btn = UIButton.init(frame: CGRect.init(x: 50, y: screenHeight-66-50, width: screenWidth-100, height: 40))
27 btn.setTitle("请假", for: UIControlState.normal) 27 btn.setTitle("请假", for: UIControlState.normal)
28 - btn.setTitleColor(UIColor.black, for: UIControlState.normal) 28 + btn.setTitleColor(UIColor.white, for: UIControlState.normal)
29 btn.backgroundColor = Theme.topBarColor() 29 btn.backgroundColor = Theme.topBarColor()
30 btn.layer.cornerRadius = 5 30 btn.layer.cornerRadius = 5
31 btn.clipsToBounds = true 31 btn.clipsToBounds = true
@@ -42,7 +42,7 @@ class ProgramVacateViewController: UIViewController,UITableViewDelegate,UITableV @@ -42,7 +42,7 @@ class ProgramVacateViewController: UIViewController,UITableViewDelegate,UITableV
42 42
43 /// 请假页面 43 /// 请假页面
44 @objc func addVacateAction(){ 44 @objc func addVacateAction(){
45 - print("申请请假!") 45 +
46 let vc = ProgramVacateAddViewController() 46 let vc = ProgramVacateAddViewController()
47 vc.title = "申请请假" 47 vc.title = "申请请假"
48 vc.view.backgroundColor = backGroundColor 48 vc.view.backgroundColor = backGroundColor
@@ -140,8 +140,6 @@ class ProgramVacateViewController: UIViewController,UITableViewDelegate,UITableV @@ -140,8 +140,6 @@ class ProgramVacateViewController: UIViewController,UITableViewDelegate,UITableV
140 140
141 func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) { 141 func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
142 if indexPath.section == 1 && indexPath.row != 0 && vacateRecodeArray.count>0 { 142 if indexPath.section == 1 && indexPath.row != 0 && vacateRecodeArray.count>0 {
143 -  
144 - print(indexPath.row)  
145 let vc = ProgramVacateDetailViewController() 143 let vc = ProgramVacateDetailViewController()
146 vc.view.backgroundColor = UIColor.white 144 vc.view.backgroundColor = UIColor.white
147 vc.title = "请假详情" 145 vc.title = "请假详情"
ParentAssistant/ParentAssistant/Classes/controllers/Grow/Program/ProgramViewController.swift
@@ -79,7 +79,6 @@ class ProgramViewController: UIViewController,UITableViewDelegate,UITableViewDat @@ -79,7 +79,6 @@ class ProgramViewController: UIViewController,UITableViewDelegate,UITableViewDat
79 } 79 }
80 80
81 @objc func gotoChildView () { 81 @objc func gotoChildView () {
82 - print("去个人中心页面-我的孩子!")  
83 let vc = Story.instantiateViewControllerWithIdentifier("MyChildrenViewController", storyName: "My") as! MyChildrenViewController 82 let vc = Story.instantiateViewControllerWithIdentifier("MyChildrenViewController", storyName: "My") as! MyChildrenViewController
84 self.navigationController?.pushViewController(vc, animated: true) 83 self.navigationController?.pushViewController(vc, animated: true)
85 } 84 }
ParentAssistant/ParentAssistant/Classes/controllers/Grow/Report/MoralViewController.swift
@@ -45,7 +45,8 @@ class MoralViewController: UIViewController,UITableViewDelegate,UITableViewDataS @@ -45,7 +45,8 @@ class MoralViewController: UIViewController,UITableViewDelegate,UITableViewDataS
45 self.data = JSON.fromString(backData)!["data"].dictionaryValue 45 self.data = JSON.fromString(backData)!["data"].dictionaryValue
46 46
47 if !self.data.isEmpty{ 47 if !self.data.isEmpty{
48 - print(self.data) 48 +
  49 + DebugLog( self.data)
49 } 50 }
50 } 51 }
51 } 52 }
ParentAssistant/ParentAssistant/Classes/controllers/Grow/View/ReportView/CalendarView.swift
@@ -81,7 +81,8 @@ class CalendarView: UIView,UICollectionViewDelegate,UICollectionViewDataSource { @@ -81,7 +81,8 @@ class CalendarView: UIView,UICollectionViewDelegate,UICollectionViewDataSource {
81 } 81 }
82 func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) { 82 func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) {
83 if indexPath.row >= firstDay-1+7 && indexPath.row < todayDay+7+firstDay-1 { 83 if indexPath.row >= firstDay-1+7 && indexPath.row < todayDay+7+firstDay-1 {
84 - print("点击了 ...\(indexPath.row+1-7-firstDay+1)号") 84 +
  85 + DebugLog( "点击了 ...\(indexPath.row+1-7-firstDay+1)号")
85 } 86 }
86 } 87 }
87 required init?(coder aDecoder: NSCoder) { 88 required init?(coder aDecoder: NSCoder) {
ParentAssistant/ParentAssistant/Classes/controllers/Grow/View/ReportView/EducationDetailCell.swift
@@ -18,7 +18,6 @@ class EducationDetailCell: UITableViewCell { @@ -18,7 +18,6 @@ class EducationDetailCell: UITableViewCell {
18 18
19 let rect = CGRect.init(x: 10, y: 60, width: screenWidth-20, height: screenWidth*0.62-60) 19 let rect = CGRect.init(x: 10, y: 60, width: screenWidth-20, height: screenWidth*0.62-60)
20 customLineChart = LineChartView.init(frame: rect) 20 customLineChart = LineChartView.init(frame: rect)
21 - print("linechart frame = \(customLineChart.frame)")  
22 customLineChart.drawUI(xLableArr: nil) 21 customLineChart.drawUI(xLableArr: nil)
23 let arr1 = [4,4,2,1,3] 22 let arr1 = [4,4,2,1,3]
24 let arr2 = [2,1,4,4,5] 23 let arr2 = [2,1,4,4,5]
ParentAssistant/ParentAssistant/Classes/controllers/Grow/View/ReportView/LineChartView.swift
@@ -158,8 +158,6 @@ class LineChartView: UIView { @@ -158,8 +158,6 @@ class LineChartView: UIView {
158 self.addSubview(newLab) 158 self.addSubview(newLab)
159 yLabArray.append(newLab) 159 yLabArray.append(newLab)
160 } 160 }
161 - }else{  
162 - print(yLabArray)  
163 } 161 }
164 btnTouch = index 162 btnTouch = index
165 163
ParentAssistant/ParentAssistant/Classes/controllers/Grow/View/ReportView/ReportHeaderView.swift
@@ -85,7 +85,8 @@ class ReportHeaderView: UIView,UICollectionViewDelegate,UICollectionViewDataSour @@ -85,7 +85,8 @@ class ReportHeaderView: UIView,UICollectionViewDelegate,UICollectionViewDataSour
85 } 85 }
86 func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) { 86 func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) {
87 if indexPath.row >= firstDay-1 && indexPath.row < todayDate+firstDay-1 { 87 if indexPath.row >= firstDay-1 && indexPath.row < todayDate+firstDay-1 {
88 - print("点击了 ...\(indexPath.row+1-firstDay+1)号") 88 +
  89 + DebugLog( "点击了 ...\(indexPath.row+1-firstDay+1)号")
89 } 90 }
90 } 91 }
91 92
ParentAssistant/ParentAssistant/Classes/controllers/Information/InformationViewController.swift
@@ -14,32 +14,81 @@ class InformationViewController: UIViewController,UISearchBarDelegate { @@ -14,32 +14,81 @@ class InformationViewController: UIViewController,UISearchBarDelegate {
14 var topADs:[ADSModel]=[] 14 var topADs:[ADSModel]=[]
15 var isFirstviewController:Bool=true 15 var isFirstviewController:Bool=true
16 var channel:Int=0 16 var channel:Int=0
  17 +
  18 + //导航栏左侧按钮
  19 + lazy var leftCityView = {()-> UIView in
  20 + //左按钮
  21 + let leftView = UIButton.init(frame: CGRect.init(x: 0, y: 0, width: 70, height: 44))
  22 + let titleLab = UILabel.init(frame: CGRect.init(x: 0, y: 0, width: 60, height: 44))
  23 +
  24 + titleLab.font = UIFont.systemFont(ofSize: 15)
  25 + titleLab.numberOfLines = 0
  26 + titleLab.adjustsFontSizeToFitWidth = true
  27 + titleLab.textAlignment = .center
  28 + titleLab.textColor = .white
  29 + titleLab.text = localAddress
  30 + self.leftLabel = titleLab
  31 + leftView.addSubview(titleLab)
  32 +
  33 + let imageView = UIImageView.init(frame: CGRect.init(x: 60, y: 11, width: 10, height: 22))
  34 + imageView.image = UIImage.init(named: "report_white_pull")
  35 + imageView.contentMode = .scaleAspectFit
  36 + leftView.addSubview(imageView)
  37 +
  38 + leftView.addGestureRecognizer(UITapGestureRecognizer(target: self, action: #selector(EvaluationViewController.getAddreess(tap:))))
  39 + return leftView
  40 + }()
  41 +
17 override func viewDidLoad() { 42 override func viewDidLoad() {
18 super.viewDidLoad() 43 super.viewDidLoad()
19 -  
20 - self.configTheme()  
21 -  
22 - // Do any additional setup after loading the view.  
23 - var searchViewFrame = CGRect(x: 0, y: 0, width: getScreenWidth()-100, height: 30)  
24 - 44 +
  45 + let item = UIBarButtonItem.init(title: "返回", style: .plain, target: self, action: nil)
  46 + self.navigationItem.backBarButtonItem = item
  47 +
  48 + drawTopUI()
  49 +
  50 + }
  51 + override func viewWillAppear(_ animated: Bool) {
  52 + super.viewWillAppear(animated)
  53 +
25 if isFirstviewController{ 54 if isFirstviewController{
26 - self.navigationItem.title = ""  
27 - addLeftBarBtn()  
28 - }else{  
29 - searchViewFrame.size.width = getScreenWidth()-60 55 + let leftBtn = UIBarButtonItem.init(customView: self.leftCityView)
  56 + self.navigationItem.leftBarButtonItem = leftBtn
  57 + if localAddress == "未知" {
  58 + LocationManger.shared.block = { str in
  59 + localAddress = str
  60 + self.leftLabel.text = localAddress
  61 + self.getDataFromNet()
  62 + }
  63 + }
30 } 64 }
31 - let searchView = UISearchBar(frame: searchViewFrame)  
32 - let view = UIView(frame: CGRect(x: 0, y: 7, width: searchViewFrame.size.width, height: 30))  
33 - searchView.delegate = self  
34 - searchView.placeholder = "请输入搜索内容"  
35 - searchView.showsCancelButton = false  
36 - view.addSubview(searchView)  
37 - self.navigationItem.titleView = view  
38 - self.navigationController?.navigationBar.tintColor=UIColor.white 65 + self.getDataFromNet()
39 } 66 }
40 -  
41 - private func getDataFromNet(){ 67 + func drawTopUI(){
42 68
  69 + self.configTheme()
  70 + //搜索框
  71 + let searchView = SearchBarView.init(frame: CGRect.init(x: 0, y: 0, width: screenWidth-100, height: navigationBarHeight!))
  72 + //MARK:搜索框搜索回调
  73 + searchView.block = { str,type in
  74 + DebugLog(str)
  75 + switch type {
  76 + case .SearchType:
  77 + self.getList(key: str)
  78 + case .CancelType:
  79 + self.getDataFromNet()
  80 + }
  81 + }
  82 + self.navigationItem.titleView = searchView
  83 + }
  84 + override func viewWillDisappear(_ animated: Bool) {
  85 + super.viewWillDisappear(animated)
  86 + SVProgressHUD.dismiss()
  87 + }
  88 + //MARK: - 获取该城市下的数据
  89 + private func getDataFromNet(){
  90 + //position 广告位置0-首次广告位1-开屏广告位2-资讯首页3-频道首页4-频道内容5-文章内容页
  91 + SVProgressHUD.show()
43 let group = DispatchGroup() 92 let group = DispatchGroup()
44 var position:Int = 2 93 var position:Int = 2
45 if !self.isFirstviewController { 94 if !self.isFirstviewController {
@@ -72,48 +121,27 @@ class InformationViewController: UIViewController,UISearchBarDelegate { @@ -72,48 +121,27 @@ class InformationViewController: UIViewController,UISearchBarDelegate {
72 group.leave() 121 group.leave()
73 }) 122 })
74 group.notify(queue: DispatchQueue.main) { 123 group.notify(queue: DispatchQueue.main) {
  124 + SVProgressHUD.dismiss()
75 self.collectView.reloadData() 125 self.collectView.reloadData()
76 } 126 }
77 } 127 }
78 -  
79 -  
80 - func getData(){  
81 - let topADsQueue = DispatchQueue(label: "topADs")  
82 - topADsQueue.async {  
83 - //position 广告位置0-首次广告位1-开屏广告位2-资讯首页3-频道首页4-频道内容5-文章内容页  
84 - var position:Int = 2  
85 - if !self.isFirstviewController {  
86 - position = 3  
87 - }  
88 - HTTPServer.shared.getAds(["position":position as AnyObject,"areaName":localAddress as AnyObject], completionHandler: { (str, error) in//getPercentEncodingString(str: localAddress)  
89 - httpJsonResule(jsonString: str, error: error, successHandler: { (json) in  
90 - if json["status"] == 1 && error == nil{  
91 - self.topADs.removeAll()  
92 - for item in json.contentData().arrayValue{  
93 - self.topADs.append(ADSModel(j: item))  
94 - }  
95 - self.collectView.reloadData()  
96 - }  
97 - }, failHandler: { (error) in  
98 -  
99 - })  
100 - })  
101 - }  
102 - topADsQueue.async {  
103 - let dic = self.getListDic()  
104 - HTTPServer.shared.getChannelInfo(dic, completionHandler: { (str, error) in  
105 - httpJsonResule(jsonString: str, error: error, successHandler: { (json) in  
106 - if json["status"] == 1 && error == nil{  
107 - self.data = ChannelDemol(j: json.contentData())  
108 - self.collectView.reloadData()  
109 - }  
110 - }, failHandler: { (error) in  
111 -  
112 - })  
113 - }) 128 + //MARK: - 地址选择回调
  129 + @objc func getAddreess(tap:UITapGestureRecognizer){
  130 + tap.view?.isUserInteractionEnabled = false
  131 + LZCityPickerController.showPicker(in: self
  132 + , select: { (address, province, city, area, isSelect) in
  133 + if isSelect{
  134 + tap.view?.isUserInteractionEnabled = true
  135 + self.leftLabel.text = area!
  136 + localAddress = area!
  137 + self.getDataFromNet()
  138 + }
  139 + }) {
  140 + tap.view?.isUserInteractionEnabled = true
114 } 141 }
115 } 142 }
116 143
  144 + //MARK: - 搜索框搜索咨询
117 func getList(key:String?) { 145 func getList(key:String?) {
118 if key == nil{ 146 if key == nil{
119 return 147 return
@@ -149,81 +177,8 @@ class InformationViewController: UIViewController,UISearchBarDelegate { @@ -149,81 +177,8 @@ class InformationViewController: UIViewController,UISearchBarDelegate {
149 dic.updateValue(toFirstPage as AnyObject, forKey: "toFirstPage") 177 dic.updateValue(toFirstPage as AnyObject, forKey: "toFirstPage")
150 return dic 178 return dic
151 } 179 }
152 -  
153 - //左上交城市选择按钮添加  
154 - func addLeftBarBtn(){  
155 - let leftbtn = UIView(frame: CGRect(x: 0, y: 0, width: 100, height: 40))  
156 - leftLabel = UILabel(frame: CGRect(x: 0, y: 10, width: 60, height: 20))  
157 - leftLabel.text = localAddress  
158 - leftLabel.textColor = UIColor.white  
159 - leftLabel.sizeToFit()  
160 - let image = UIImageView(frame: CGRect(x: leftLabel.frame.maxX+4, y: 15, width: 16, height: 9))  
161 - image.image = #imageLiteral(resourceName: "evaluation_icon_pushDown")  
162 - leftbtn.addGestureRecognizer(UITapGestureRecognizer(target: self, action: #selector(EvaluationViewController.getAddreess(tap:))))  
163 - leftbtn.addSubview(leftLabel)  
164 - leftbtn.addSubview(image)  
165 - leftbtn.frame.size = CGSize(width: image.frame.maxX+4, height: 40)  
166 - self.navigationItem.leftBarButtonItem = UIBarButtonItem(customView: leftbtn)  
167 - }  
168 -  
169 - //地址选择  
170 - @objc func getAddreess(tap:UITapGestureRecognizer){  
171 - tap.view?.isUserInteractionEnabled = false  
172 - LZCityPickerController.showPicker(in: self  
173 - , select: { (address, province, city, area, isSelect) in  
174 - if isSelect{  
175 - tap.view?.isUserInteractionEnabled = true  
176 - self.selectCity(city: area!)  
177 - }  
178 - }) {  
179 - tap.view?.isUserInteractionEnabled = true  
180 - }  
181 - }  
182 180
183 - //完成选择城市  
184 - func selectCity(city: String) {  
185 - localAddress = city  
186 - addLeftBarBtn()  
187 -// getData()  
188 - getDataFromNet()  
189 -  
190 - }  
191 -  
192 - func searchBarTextDidBeginEditing(_ searchBar: UISearchBar) {  
193 - searchBar.showsCancelButton = true  
194 - }  
195 -  
196 - func searchBarCancelButtonClicked(_ searchBar: UISearchBar) {  
197 - searchData(searchBar)  
198 - }  
199 -  
200 - func searchBarSearchButtonClicked(_ searchBar: UISearchBar) {  
201 - searchData(searchBar)  
202 - }  
203 -  
204 - //搜索资讯  
205 - func searchData(_ searchBar: UISearchBar){  
206 - getList(key: searchBar.text)  
207 - searchBar.resignFirstResponder()  
208 - searchBar.showsCancelButton = false  
209 -  
210 - }  
211 -  
212 - override func viewWillDisappear(_ animated: Bool) {  
213 - super.viewWillDisappear(animated)  
214 - }  
215 -  
216 - override func viewWillAppear(_ animated: Bool) {  
217 - super.viewWillAppear(animated)  
218 -// getData()  
219 - getDataFromNet()  
220 - if isFirstviewController{  
221 - addLeftBarBtn()  
222 - }else{  
223 -  
224 - }  
225 181
226 - }  
227 override func didReceiveMemoryWarning() { 182 override func didReceiveMemoryWarning() {
228 super.didReceiveMemoryWarning() 183 super.didReceiveMemoryWarning()
229 // Dispose of any resources that can be recreated. 184 // Dispose of any resources that can be recreated.
@@ -419,83 +374,4 @@ extension ChannelSelectView:UICollectionViewDataSource,UICollectionViewDelegateF @@ -419,83 +374,4 @@ extension ChannelSelectView:UICollectionViewDataSource,UICollectionViewDelegateF
419 } 374 }
420 } 375 }
421 376
422 -class ChannelDemol:NSObject{  
423 - var id:Int=0 // 频道ID ,  
424 - var channelName:String=""// 频道名称 ,  
425 - var channelImage:String=""// 频道图片 ,  
426 - var orderById:Int=0 // 频道排序 ,  
427 - var subchannel:[SubchannelDemol] = []// 二级频道 ,  
428 - var channelContent:[ChannelContentDemol] = []// 频道信息  
429 - init(j:JSON){  
430 - id = j["id"].intValue  
431 - channelName = j["channelName"].stringValue  
432 - channelName = j["channelName"].stringValue  
433 - orderById = j["orderById"].intValue  
434 - for item in j["subchannel"].arrayValue {  
435 - subchannel.append(SubchannelDemol(j: item))  
436 - }  
437 - for item in j["channelContent"].arrayValue {  
438 - channelContent.append(ChannelContentDemol(j: item))  
439 - }  
440 - }  
441 -}  
442 -  
443 -class SubchannelDemol: NSObject {  
444 - var id:Int=0 // 二级频道ID ,  
445 - var channelName:String=""// 二级频道名称 ,  
446 - var channelImage:String=""// 二级频道图片 ,  
447 - var orderById:Int=0// 二级工具排序,  
448 - var url:String=""// 二级工具链接  
449 - init(j:JSON){  
450 - id = j["id"].intValue  
451 - channelName = j["channelName"].stringValue  
452 - channelImage = j["channelImage"].stringValue  
453 - orderById = j["orderById"].intValue  
454 - url = j["url"].stringValue  
455 - }  
456 -  
457 -}  
458 -  
459 -class ChannelContentDemol: NSObject {  
460 - var id:Int=0// 资讯ID ,  
461 - var image:String=""// 资讯标题图片 ,  
462 - var title:String=""// 资讯标题 ,  
463 - var url:String=""// 资讯链接 ,  
464 - var content:String=""// 资讯内容 ,  
465 - var forwardingNum:Int=0// 资讯转发数 ,  
466 - var talkNum:Int=0 // 评论数 ,  
467 - var lookNum:Int = 0 //浏览数  
468 - var orderById:Int=0// 资讯排序  
469 - var isAds:Int=0// 是否为广告 1是广告  
470 - init(j:JSON){  
471 - id = j["id"].intValue  
472 - image = j["image"].stringValue  
473 - title = j["title"].stringValue  
474 - url = j["url"].stringValue  
475 - content = j["content"].stringValue  
476 - forwardingNum = j["forwardingNum"].intValue  
477 - talkNum = j["talkNum"].intValue  
478 - lookNum = j["lookNum"].intValue  
479 - orderById = j["orderById"].intValue  
480 - isAds = j["isAds"].intValue  
481 - }  
482 -  
483 -}  
484 -  
485 -class ADSModel: NSObject {  
486 - var id:Int=0// 广告ID ,  
487 - var location:Int=0// 广告位 ,  
488 - var describe:String=""// 广告内容 ,  
489 - var fileSrc:String=""// 广告内容 ,  
490 - var url:String=""// 广告跳转链接 ,  
491 - var orderById:Int=0// 广告排序  
492 - init(j:JSON){  
493 - id = j["id"].intValue  
494 - location = j["location"].intValue  
495 - describe = j["describe"].stringValue  
496 - fileSrc = j["fileSrc"].stringValue  
497 - url = j["url"].stringValue  
498 - orderById = j["orderById"].intValue  
499 - }  
500 377
501 -}  
ParentAssistant/ParentAssistant/Classes/controllers/Information/Model/InfoModel.swift 0 → 100644
@@ -0,0 +1,93 @@ @@ -0,0 +1,93 @@
  1 +//
  2 +// InfoModel.swift
  3 +// ParentAssistant
  4 +//
  5 +// Created by Cao yang on 2018/4/21.
  6 +// Copyright © 2018年 HANGZHOUTEAM. All rights reserved.
  7 +//
  8 +
  9 +import UIKit
  10 +
  11 +class InfoModel: NSObject {
  12 +
  13 +}
  14 +class ChannelDemol:NSObject{
  15 + var id:Int=0 // 频道ID ,
  16 + var channelName:String=""// 频道名称 ,
  17 + var channelImage:String=""// 频道图片 ,
  18 + var orderById:Int=0 // 频道排序 ,
  19 + var subchannel:[SubchannelDemol] = []// 二级频道 ,
  20 + var channelContent:[ChannelContentDemol] = []// 频道信息
  21 + init(j:JSON){
  22 + id = j["id"].intValue
  23 + channelName = j["channelName"].stringValue
  24 + channelName = j["channelName"].stringValue
  25 + orderById = j["orderById"].intValue
  26 + for item in j["subchannel"].arrayValue {
  27 + subchannel.append(SubchannelDemol(j: item))
  28 + }
  29 + for item in j["channelContent"].arrayValue {
  30 + channelContent.append(ChannelContentDemol(j: item))
  31 + }
  32 + }
  33 +}
  34 +
  35 +class SubchannelDemol: NSObject {
  36 + var id:Int=0 // 二级频道ID ,
  37 + var channelName:String=""// 二级频道名称 ,
  38 + var channelImage:String=""// 二级频道图片 ,
  39 + var orderById:Int=0// 二级工具排序,
  40 + var url:String=""// 二级工具链接
  41 + init(j:JSON){
  42 + id = j["id"].intValue
  43 + channelName = j["channelName"].stringValue
  44 + channelImage = j["channelImage"].stringValue
  45 + orderById = j["orderById"].intValue
  46 + url = j["url"].stringValue
  47 + }
  48 +
  49 +}
  50 +
  51 +class ChannelContentDemol: NSObject {
  52 + var id:Int=0// 资讯ID ,
  53 + var image:String=""// 资讯标题图片 ,
  54 + var title:String=""// 资讯标题 ,
  55 + var url:String=""// 资讯链接 ,
  56 + var content:String=""// 资讯内容 ,
  57 + var forwardingNum:Int=0// 资讯转发数 ,
  58 + var talkNum:Int=0 // 评论数 ,
  59 + var lookNum:Int = 0 //浏览数
  60 + var orderById:Int=0// 资讯排序
  61 + var isAds:Int=0// 是否为广告 1是广告
  62 + init(j:JSON){
  63 + id = j["id"].intValue
  64 + image = j["image"].stringValue
  65 + title = j["title"].stringValue
  66 + url = j["url"].stringValue
  67 + content = j["content"].stringValue
  68 + forwardingNum = j["forwardingNum"].intValue
  69 + talkNum = j["talkNum"].intValue
  70 + lookNum = j["lookNum"].intValue
  71 + orderById = j["orderById"].intValue
  72 + isAds = j["isAds"].intValue
  73 + }
  74 +
  75 +}
  76 +
  77 +class ADSModel: NSObject {
  78 + var id:Int=0// 广告ID ,
  79 + var location:Int=0// 广告位 ,
  80 + var describe:String=""// 广告内容 ,
  81 + var fileSrc:String=""// 广告内容 ,
  82 + var url:String=""// 广告跳转链接 ,
  83 + var orderById:Int=0// 广告排序
  84 + init(j:JSON){
  85 + id = j["id"].intValue
  86 + location = j["location"].intValue
  87 + describe = j["describe"].stringValue
  88 + fileSrc = j["fileSrc"].stringValue
  89 + url = j["url"].stringValue
  90 + orderById = j["orderById"].intValue
  91 + }
  92 +
  93 +}
ParentAssistant/ParentAssistant/Classes/controllers/main/JSViewController.swift
@@ -76,7 +76,8 @@ class JSViewController: UIViewController,WKUIDelegate,WKScriptMessageHandler,UIA @@ -76,7 +76,8 @@ class JSViewController: UIViewController,WKUIDelegate,WKScriptMessageHandler,UIA
76 self.view.insertSubview(loadingView, aboveSubview: progressView) 76 self.view.insertSubview(loadingView, aboveSubview: progressView)
77 } 77 }
78 func userContentController(_ userContentController: WKUserContentController, didReceive message: WKScriptMessage) { 78 func userContentController(_ userContentController: WKUserContentController, didReceive message: WKScriptMessage) {
79 - Debug.log("方法名:\(message.name),参数:\(message.body)") 79 +
  80 + DebugLog( "方法名:\(message.name),参数:\(message.body)")
80 // 调用方法 81 // 调用方法
81 if message.name == "setMenu" { 82 if message.name == "setMenu" {
82 ary=[] 83 ary=[]
@@ -114,7 +115,7 @@ class JSViewController: UIViewController,WKUIDelegate,WKScriptMessageHandler,UIA @@ -114,7 +115,7 @@ class JSViewController: UIViewController,WKUIDelegate,WKScriptMessageHandler,UIA
114 if buttonIndex==i { 115 if buttonIndex==i {
115 self.wkWebView.evaluateJavaScript(jsAry[i-1], completionHandler: { (data, error) in 116 self.wkWebView.evaluateJavaScript(jsAry[i-1], completionHandler: { (data, error) in
116 if error != nil { 117 if error != nil {
117 - print("错误:\(String(describing: error?.localizedDescription)))") 118 + DebugLog( "错误:\(String(describing: error?.localizedDescription)))")
118 } 119 }
119 }) 120 })
120 } 121 }
@@ -125,7 +126,7 @@ class JSViewController: UIViewController,WKUIDelegate,WKScriptMessageHandler,UIA @@ -125,7 +126,7 @@ class JSViewController: UIViewController,WKUIDelegate,WKScriptMessageHandler,UIA
125 if object as! WKWebView == self.wkWebView { 126 if object as! WKWebView == self.wkWebView {
126 self.progressView.alpha=1.0 127 self.progressView.alpha=1.0
127 self.progressView.setProgress(Float(wkWebView.estimatedProgress), animated: true) 128 self.progressView.setProgress(Float(wkWebView.estimatedProgress), animated: true)
128 - Debug.log("+++++++++++++++++\(Float(wkWebView.estimatedProgress))") 129 + DebugLog( "+++++++++++++++++\(Float(wkWebView.estimatedProgress))")
129 if wkWebView.estimatedProgress >= 1.0 { 130 if wkWebView.estimatedProgress >= 1.0 {
130 UIView.animate(withDuration: 0.3, delay: 0.3, options: UIViewAnimationOptions.curveEaseIn, animations: { 131 UIView.animate(withDuration: 0.3, delay: 0.3, options: UIViewAnimationOptions.curveEaseIn, animations: {
131 self.progressView.alpha=0.0 132 self.progressView.alpha=0.0
ParentAssistant/ParentAssistant/Classes/controllers/main/TabBarController.swift
@@ -78,14 +78,14 @@ extension TabBarController: URLSessionDelegate { @@ -78,14 +78,14 @@ extension TabBarController: URLSessionDelegate {
78 //认证服务器证书 78 //认证服务器证书
79 if challenge.protectionSpace.authenticationMethod 79 if challenge.protectionSpace.authenticationMethod
80 == (NSURLAuthenticationMethodServerTrust) { 80 == (NSURLAuthenticationMethodServerTrust) {
81 - print("服务端证书认证!") 81 + DebugLog("服务器证书认证!")
82 completionHandler(.performDefaultHandling, nil) 82 completionHandler(.performDefaultHandling, nil)
83 } 83 }
84 //认证客户端证书 84 //认证客户端证书
85 else if challenge.protectionSpace.authenticationMethod 85 else if challenge.protectionSpace.authenticationMethod
86 == NSURLAuthenticationMethodClientCertificate 86 == NSURLAuthenticationMethodClientCertificate
87 { 87 {
88 - print("客户端证书认证!") 88 + DebugLog( "客户端证书认证!")
89 //获取客户端证书相关信息 89 //获取客户端证书相关信息
90 let identityAndTrust:IdentityAndTrust = self.extractIdentity(); 90 let identityAndTrust:IdentityAndTrust = self.extractIdentity();
91 91
@@ -96,10 +96,9 @@ extension TabBarController: URLSessionDelegate { @@ -96,10 +96,9 @@ extension TabBarController: URLSessionDelegate {
96 96
97 completionHandler(.useCredential, urlCredential); 97 completionHandler(.useCredential, urlCredential);
98 } 98 }
99 -  
100 - // 其它情况(不接受认证) 99 + // 其它情况(不接受认证)
101 else { 100 else {
102 - print("其它情况(不接受认证)") 101 + DebugLog( "其他情况,不接受认证")
103 completionHandler(.cancelAuthenticationChallenge, nil); 102 completionHandler(.cancelAuthenticationChallenge, nil);
104 } 103 }
105 } 104 }
ParentAssistant/ParentAssistant/Classes/controllers/my/Controller/CurrentInfoViewController.swift
@@ -91,7 +91,7 @@ class CurrentInfoViewController: UIViewController,UIImagePickerControllerDelegat @@ -91,7 +91,7 @@ class CurrentInfoViewController: UIViewController,UIImagePickerControllerDelegat
91 } 91 }
92 func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : Any]) { 92 func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : Any]) {
93 picker.dismiss(animated: true, completion: { () -> Void in 93 picker.dismiss(animated: true, completion: { () -> Void in
94 - Debug.log("\(info)") 94 + DebugLog( "\(info)")
95 let image=info[UIImagePickerControllerEditedImage] as! UIImage 95 let image=info[UIImagePickerControllerEditedImage] as! UIImage
96 let smallimage=scaleImage(image, toSize: CGSize(width: 256, height: 256)) 96 let smallimage=scaleImage(image, toSize: CGSize(width: 256, height: 256))
97 let filePath=imageFilePath(String(format:"%f.jpg",Date().timeIntervalSince1970)) 97 let filePath=imageFilePath(String(format:"%f.jpg",Date().timeIntervalSince1970))
ParentAssistant/ParentAssistant/Classes/controllers/my/Controller/Login/RegisterViewController.swift
@@ -60,7 +60,6 @@ class RegisterViewController: UITableViewController,UITextFieldDelegate { @@ -60,7 +60,6 @@ class RegisterViewController: UITableViewController,UITextFieldDelegate {
60 let userInfo:NSDictionary=noti.userInfo! as NSDictionary 60 let userInfo:NSDictionary=noti.userInfo! as NSDictionary
61 let endFrame=(userInfo[UIKeyboardFrameEndUserInfoKey] as? NSValue)?.cgRectValue 61 let endFrame=(userInfo[UIKeyboardFrameEndUserInfoKey] as? NSValue)?.cgRectValue
62 62
63 - print(self.rootTableView.frame)  
64 let y = navigationBarHeight! + statusBarHeight 63 let y = navigationBarHeight! + statusBarHeight
65 if endFrame?.origin.y == getScreenHeight() { 64 if endFrame?.origin.y == getScreenHeight() {
66 UIView.animate(withDuration: 0.5) { 65 UIView.animate(withDuration: 0.5) {
ParentAssistant/ParentAssistant/Classes/util/LocationManger.swift
@@ -11,8 +11,15 @@ import CoreLocation @@ -11,8 +11,15 @@ import CoreLocation
11 11
12 class LocationManger: NSObject,CLLocationManagerDelegate { 12 class LocationManger: NSObject,CLLocationManagerDelegate {
13 13
  14 + typealias BackCityBlock = (String)->()
  15 +
14 static let shared = LocationManger() 16 static let shared = LocationManger()
15 - required override init() {} 17 + required override init() {
  18 +
  19 + }
  20 +
  21 + var block : BackCityBlock?
  22 +
16 23
17 var locationManger = CLLocationManager() 24 var locationManger = CLLocationManager()
18 25
@@ -41,8 +48,13 @@ class LocationManger: NSObject,CLLocationManagerDelegate { @@ -41,8 +48,13 @@ class LocationManger: NSObject,CLLocationManagerDelegate {
41 if city == nil{ 48 if city == nil{
42 city = placeMark!.administrativeArea 49 city = placeMark!.administrativeArea
43 } 50 }
  51 + if localAddress == "未知" {
  52 + if let add = city {
  53 + self.block!(add)
  54 + }
  55 + }
44 localAddress = city! 56 localAddress = city!
45 - 57 +
46 }else if error == nil && arr == nil{ 58 }else if error == nil && arr == nil{
47 59
48 }else if error == nil{ 60 }else if error == nil{
ParentAssistant/ParentAssistant/Classes/util/Macro.swift
@@ -24,16 +24,31 @@ var localAddress = &quot;未知&quot; @@ -24,16 +24,31 @@ var localAddress = &quot;未知&quot;
24 24
25 25
26 //MARK: -------------------------- 接口地址 ---------------------------- 26 //MARK: -------------------------- 接口地址 ----------------------------
  27 +
  28 +//var ReleaseHOST:String!="http://campus.myjxt.com"//正式网址
  29 +//var ReleaseHOSTWap:String!="http://parent.myjxt.com"
  30 +//var ReleaseHOSTImage:String!="http://manage.myjxt.com"
  31 +//var DebugHOST:String!="http://60.190.202.57:1000"//测试网址
  32 +//var DebugHOSTWap:String!="http://60.190.202.57:8101"
  33 +//var DebugHOSTImage:String!="http://60.190.202.57:8196"
  34 +//var HOST:String! = Debug.isFormal ? ReleaseHOST : DebugHOST
  35 +//var HOSTWAP:String! = Debug.isFormal ? ReleaseHOSTWap : DebugHOSTWap
  36 +//var HOSTImage:String! = Debug.isFormal ? ReleaseHOSTImage : DebugHOSTImage
  37 +
27 let appsecret="sincere:3a530f39f99411b454e667d69693c127" 38 let appsecret="sincere:3a530f39f99411b454e667d69693c127"
28 -var ReleaseHOST:String!="http://campus.myjxt.com"//正式网址  
29 -var ReleaseHOSTWap:String!="http://parent.myjxt.com"  
30 -var ReleaseHOSTImage:String!="http://manage.myjxt.com"  
31 -var DebugHOST:String!="http://60.190.202.57:1000"//测试网址  
32 -var DebugHOSTWap:String!="http://60.190.202.57:8101"  
33 -var DebugHOSTImage:String!="http://60.190.202.57:8196"  
34 -var HOST:String! = Debug.isFormal ? ReleaseHOST : DebugHOST  
35 -var HOSTWAP:String! = Debug.isFormal ? ReleaseHOSTWap : DebugHOSTWap  
36 -var HOSTImage:String! = Debug.isFormal ? ReleaseHOSTImage : DebugHOSTImage 39 +
  40 +#if DEBUG
  41 +//测试网址
  42 +var HOST:String! = "http://60.190.202.57:1000"
  43 +var HOSTWAP:String! = "http://60.190.202.57:8101"
  44 +var HOSTImage:String! = "http://60.190.202.57:8196"
  45 +#else
  46 +//正式网址
  47 +var HOST:String! = "http://campus.myjxt.com"
  48 +var HOSTWAP:String! = "http://parent.myjxt.com"
  49 +var HOSTImage:String! = "http://manage.myjxt.com"
  50 +#endif
  51 +
37 52
38 let URL_UPLOAD_FILE=HOST+"/api/Class/UploadFile" //上传图片 53 let URL_UPLOAD_FILE=HOST+"/api/Class/UploadFile" //上传图片
39 54
ParentAssistant/ParentAssistant/Classes/util/MessageManager.swift
@@ -94,7 +94,8 @@ extension NSManagedObject { @@ -94,7 +94,8 @@ extension NSManagedObject {
94 //保存 94 //保存
95 do { 95 do {
96 try context.save() 96 try context.save()
97 - print("保存成功!") 97 +// print("保存成功!")
  98 + DebugLog( "保存成功!")
98 } catch { 99 } catch {
99 fatalError("不能保存:\(error)") 100 fatalError("不能保存:\(error)")
100 } 101 }
ParentAssistant/ParentAssistant/Classes/util/utils.swift
@@ -11,17 +11,21 @@ import QuickLook @@ -11,17 +11,21 @@ import QuickLook
11 import Photos 11 import Photos
12 12
13 //MARK: - 服务器和log打印设置 13 //MARK: - 服务器和log打印设置
14 -class Debug{  
15 - static let enable=false//是否打印log  
16 - static let isFormal=false//是否是正式服务器  
17 - class func log(_ msg:String){  
18 - if(!Debug.enable){  
19 - return  
20 - }  
21 - NSLog(msg)  
22 - } 14 +//class Debug{
  15 +// static let enable=false//是否打印log
  16 +// static let isFormal=false//是否是正式服务器
  17 +// class func log(_ msg:String){
  18 +// if(!Debug.enable){
  19 +// return
  20 +// }
  21 +// NSLog(msg)
  22 +// }
  23 +//}
  24 +func DebugLog<M>( _ message:M,file:String = #file,method:String = #function,line: Int = #line){
  25 + #if DEBUG
  26 + print("// DEBUG Log = \(method)[\(line)]:\(message)")
  27 + #endif
23 } 28 }
24 -  
25 class Story{ 29 class Story{
26 static func getStory(_ name:String)->UIStoryboard?{ 30 static func getStory(_ name:String)->UIStoryboard?{
27 return UIStoryboard(name: name, bundle: nil); 31 return UIStoryboard(name: name, bundle: nil);
@@ -488,7 +492,8 @@ func cleanImageCache(){ @@ -488,7 +492,8 @@ func cleanImageCache(){
488 for item in files{ 492 for item in files{
489 do { 493 do {
490 try fm.removeItem(atPath: (imagePath as NSString).appendingPathComponent(item)) 494 try fm.removeItem(atPath: (imagePath as NSString).appendingPathComponent(item))
491 - Debug.log("delete***************") 495 +
  496 + DebugLog("delete***********")
492 } catch _ { 497 } catch _ {
493 } 498 }
494 } 499 }
ParentAssistant/ParentAssistant/Classes/util/view/SearchBarView.swift 0 → 100644
@@ -0,0 +1,63 @@ @@ -0,0 +1,63 @@
  1 +//
  2 +// SearchBarView.swift
  3 +// ParentAssistant
  4 +//
  5 +// Created by Cao yang on 2018/4/21.
  6 +// Copyright © 2018年 HANGZHOUTEAM. All rights reserved.
  7 +//
  8 +
  9 +import UIKit
  10 +
  11 +
  12 +
  13 +class SearchBarView: UIView,UISearchBarDelegate {
  14 +
  15 + enum SearchActionType {
  16 + case SearchType
  17 + case CancelType
  18 + }
  19 +
  20 + typealias SearchBarBlock = (String,SearchActionType)->()
  21 +
  22 + lazy var searchBar = {()->UISearchBar in
  23 + let search = UISearchBar.init(frame: CGRect.init(x: 0, y: 0, width: self.bounds.size.width, height: 36))
  24 + search.delegate = self
  25 + search.center = self.center
  26 + search.placeholder = "请输入搜索内容"
  27 + search.barStyle = .default
  28 + search.barTintColor = navigationColor
  29 +
  30 + return search
  31 + }()
  32 +
  33 + var block : SearchBarBlock?
  34 +
  35 + override init(frame: CGRect) {
  36 + super.init(frame: frame)
  37 + if !frame.isEmpty {
  38 + self.addSubview(self.searchBar)
  39 + }
  40 + }
  41 + //MARK: - SearchBarDelegate
  42 + func searchBarTextDidEndEditing(_ searchBar: UISearchBar) {
  43 + searchBar.showsCancelButton = false
  44 + }
  45 + func searchBarTextDidBeginEditing(_ searchBar: UISearchBar) {
  46 + searchBar.showsCancelButton = true
  47 + }
  48 + func searchBarCancelButtonClicked(_ searchBar: UISearchBar) {
  49 + self.block!( "", .CancelType)
  50 + searchBar.resignFirstResponder()
  51 + }
  52 + func searchBarSearchButtonClicked(_ searchBar: UISearchBar) {
  53 +
  54 + if let str = searchBar.text {
  55 + self.block!(str,.SearchType)
  56 + }
  57 + searchBar.resignFirstResponder()
  58 + }
  59 +
  60 + required init?(coder aDecoder: NSCoder) {
  61 + fatalError("init(coder:) has not been implemented")
  62 + }
  63 +}
ParentAssistant/ParentAssistant/Supporting Files/Base.lproj/Main.storyboard
@@ -502,7 +502,7 @@ @@ -502,7 +502,7 @@
502 </viewController> 502 </viewController>
503 <placeholder placeholderIdentifier="IBFirstResponder" id="dkx-z0-nzr" sceneMemberID="firstResponder"/> 503 <placeholder placeholderIdentifier="IBFirstResponder" id="dkx-z0-nzr" sceneMemberID="firstResponder"/>
504 </objects> 504 </objects>
505 - <point key="canvasLocation" x="1487" y="-1078"/> 505 + <point key="canvasLocation" x="1785" y="-1072"/>
506 </scene> 506 </scene>
507 <!--Tab Bar Controller--> 507 <!--Tab Bar Controller-->
508 <scene sceneID="6yA-8W-l0b"> 508 <scene sceneID="6yA-8W-l0b">
ParentAssistant/ParentAssistant/ViewController.swift
@@ -12,7 +12,6 @@ class ViewController: UIViewController { @@ -12,7 +12,6 @@ class ViewController: UIViewController {
12 12
13 override func viewDidLoad() { 13 override func viewDidLoad() {
14 super.viewDidLoad() 14 super.viewDidLoad()
15 - print("123456")  
16 self.view.makeToast("test") 15 self.view.makeToast("test")
17 self.view.makeToast("testParentAssistant", duration: 5, position: CSToastPositionCenter) 16 self.view.makeToast("testParentAssistant", duration: 5, position: CSToastPositionCenter)
18 // Do any additional setup after loading the view, typically from a nib. 17 // Do any additional setup after loading the view, typically from a nib.