Commit a8fe2388cc39fd1e940888eedb474913bc1d9533
1 parent
fd07bc26
Exists in
parentassistant
封装定位,优化代码
Showing
16 changed files
with
394 additions
and
87 deletions
Show diff stats
ParentAssistant/ParentAssistant.xcodeproj/project.pbxproj
@@ -59,6 +59,8 @@ | @@ -59,6 +59,8 @@ | ||
59 | AD5681CB208044860034A948 /* GrowCheckUpTableViewCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = AD5681C9208044860034A948 /* GrowCheckUpTableViewCell.xib */; }; | 59 | AD5681CB208044860034A948 /* GrowCheckUpTableViewCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = AD5681C9208044860034A948 /* GrowCheckUpTableViewCell.xib */; }; |
60 | AD5681CE2080449A0034A948 /* GrowCheckDownTableViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = AD5681CC2080449A0034A948 /* GrowCheckDownTableViewCell.swift */; }; | 60 | AD5681CE2080449A0034A948 /* GrowCheckDownTableViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = AD5681CC2080449A0034A948 /* GrowCheckDownTableViewCell.swift */; }; |
61 | AD5681CF2080449A0034A948 /* GrowCheckDownTableViewCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = AD5681CD2080449A0034A948 /* GrowCheckDownTableViewCell.xib */; }; | 61 | AD5681CF2080449A0034A948 /* GrowCheckDownTableViewCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = AD5681CD2080449A0034A948 /* GrowCheckDownTableViewCell.xib */; }; |
62 | + AD639F0520897CBC0028BE73 /* AlertShowView.swift in Sources */ = {isa = PBXBuildFile; fileRef = AD639F0420897CBC0028BE73 /* AlertShowView.swift */; }; | ||
63 | + AD639F072089C3950028BE73 /* LocationManger.swift in Sources */ = {isa = PBXBuildFile; fileRef = AD639F062089C3950028BE73 /* LocationManger.swift */; }; | ||
62 | AD64A2C0207F289400B25E80 /* ProgramVacateTableViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = AD64A2BE207F289400B25E80 /* ProgramVacateTableViewCell.swift */; }; | 64 | AD64A2C0207F289400B25E80 /* ProgramVacateTableViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = AD64A2BE207F289400B25E80 /* ProgramVacateTableViewCell.swift */; }; |
63 | AD64A2C1207F289400B25E80 /* ProgramVacateTableViewCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = AD64A2BF207F289400B25E80 /* ProgramVacateTableViewCell.xib */; }; | 65 | AD64A2C1207F289400B25E80 /* ProgramVacateTableViewCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = AD64A2BF207F289400B25E80 /* ProgramVacateTableViewCell.xib */; }; |
64 | AD64A2C3207F28CF00B25E80 /* ProgramVacateBodyTableViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = AD64A2C2207F28CF00B25E80 /* ProgramVacateBodyTableViewCell.swift */; }; | 66 | AD64A2C3207F28CF00B25E80 /* ProgramVacateBodyTableViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = AD64A2C2207F28CF00B25E80 /* ProgramVacateBodyTableViewCell.swift */; }; |
@@ -237,6 +239,8 @@ | @@ -237,6 +239,8 @@ | ||
237 | AD5681C9208044860034A948 /* GrowCheckUpTableViewCell.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = GrowCheckUpTableViewCell.xib; sourceTree = "<group>"; }; | 239 | AD5681C9208044860034A948 /* GrowCheckUpTableViewCell.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = GrowCheckUpTableViewCell.xib; sourceTree = "<group>"; }; |
238 | AD5681CC2080449A0034A948 /* GrowCheckDownTableViewCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GrowCheckDownTableViewCell.swift; sourceTree = "<group>"; }; | 240 | AD5681CC2080449A0034A948 /* GrowCheckDownTableViewCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GrowCheckDownTableViewCell.swift; sourceTree = "<group>"; }; |
239 | AD5681CD2080449A0034A948 /* GrowCheckDownTableViewCell.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = GrowCheckDownTableViewCell.xib; sourceTree = "<group>"; }; | 241 | AD5681CD2080449A0034A948 /* GrowCheckDownTableViewCell.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = GrowCheckDownTableViewCell.xib; sourceTree = "<group>"; }; |
242 | + AD639F0420897CBC0028BE73 /* AlertShowView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AlertShowView.swift; sourceTree = "<group>"; }; | ||
243 | + AD639F062089C3950028BE73 /* LocationManger.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LocationManger.swift; sourceTree = "<group>"; }; | ||
240 | AD64A2BE207F289400B25E80 /* ProgramVacateTableViewCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ProgramVacateTableViewCell.swift; sourceTree = "<group>"; }; | 244 | AD64A2BE207F289400B25E80 /* ProgramVacateTableViewCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ProgramVacateTableViewCell.swift; sourceTree = "<group>"; }; |
241 | AD64A2BF207F289400B25E80 /* ProgramVacateTableViewCell.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = ProgramVacateTableViewCell.xib; sourceTree = "<group>"; }; | 245 | AD64A2BF207F289400B25E80 /* ProgramVacateTableViewCell.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = ProgramVacateTableViewCell.xib; sourceTree = "<group>"; }; |
242 | AD64A2C2207F28CF00B25E80 /* ProgramVacateBodyTableViewCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ProgramVacateBodyTableViewCell.swift; sourceTree = "<group>"; }; | 246 | AD64A2C2207F28CF00B25E80 /* ProgramVacateBodyTableViewCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ProgramVacateBodyTableViewCell.swift; sourceTree = "<group>"; }; |
@@ -513,6 +517,7 @@ | @@ -513,6 +517,7 @@ | ||
513 | ADE33B302062202300BEA6E6 /* Macro.swift */, | 517 | ADE33B302062202300BEA6E6 /* Macro.swift */, |
514 | BF5D1669204E675C00274489 /* account.swift */, | 518 | BF5D1669204E675C00274489 /* account.swift */, |
515 | BF5D166B204E6A0300274489 /* network.swift */, | 519 | BF5D166B204E6A0300274489 /* network.swift */, |
520 | + AD639F062089C3950028BE73 /* LocationManger.swift */, | ||
516 | BFA7446B208193D300845D30 /* MessageManager.swift */, | 521 | BFA7446B208193D300845D30 /* MessageManager.swift */, |
517 | 599365282052553900C8B371 /* pinyin.c */, | 522 | 599365282052553900C8B371 /* pinyin.c */, |
518 | 599365292052553900C8B371 /* pinyin.h */, | 523 | 599365292052553900C8B371 /* pinyin.h */, |
@@ -883,6 +888,7 @@ | @@ -883,6 +888,7 @@ | ||
883 | children = ( | 888 | children = ( |
884 | BFF9B7F12057A28900F39B3E /* TableEmptyView.swift */, | 889 | BFF9B7F12057A28900F39B3E /* TableEmptyView.swift */, |
885 | BFF9B7F32057A29D00F39B3E /* TableEmptyView.xib */, | 890 | BFF9B7F32057A29D00F39B3E /* TableEmptyView.xib */, |
891 | + AD639F0420897CBC0028BE73 /* AlertShowView.swift */, | ||
886 | ); | 892 | ); |
887 | path = view; | 893 | path = view; |
888 | sourceTree = "<group>"; | 894 | sourceTree = "<group>"; |
@@ -1107,6 +1113,7 @@ | @@ -1107,6 +1113,7 @@ | ||
1107 | 5993652A2052553900C8B371 /* pinyin.c in Sources */, | 1113 | 5993652A2052553900C8B371 /* pinyin.c in Sources */, |
1108 | AD122AB6208433BA00C7D0AD /* ProgramVacateDetailViewController.swift in Sources */, | 1114 | AD122AB6208433BA00C7D0AD /* ProgramVacateDetailViewController.swift in Sources */, |
1109 | BFF9B7EF20577CD300F39B3E /* MyChildrenTableViewCell.swift in Sources */, | 1115 | BFF9B7EF20577CD300F39B3E /* MyChildrenTableViewCell.swift in Sources */, |
1116 | + AD639F072089C3950028BE73 /* LocationManger.swift in Sources */, | ||
1110 | 590944E22057DA73004478B5 /* utils.swift in Sources */, | 1117 | 590944E22057DA73004478B5 /* utils.swift in Sources */, |
1111 | BFEAAAC9205257460072FAAF /* NSDate+GFCalendar.m in Sources */, | 1118 | BFEAAAC9205257460072FAAF /* NSDate+GFCalendar.m in Sources */, |
1112 | BF5D166A204E675C00274489 /* account.swift in Sources */, | 1119 | BF5D166A204E675C00274489 /* account.swift in Sources */, |
@@ -1156,6 +1163,7 @@ | @@ -1156,6 +1163,7 @@ | ||
1156 | ADF159612069E00000A9485D /* CalendarView.swift in Sources */, | 1163 | ADF159612069E00000A9485D /* CalendarView.swift in Sources */, |
1157 | AD122ACA2084498F00C7D0AD /* ProgramVacateAddView.swift in Sources */, | 1164 | AD122ACA2084498F00C7D0AD /* ProgramVacateAddView.swift in Sources */, |
1158 | BF406CD82057B529000A6681 /* MessageTableViewCell.swift in Sources */, | 1165 | BF406CD82057B529000A6681 /* MessageTableViewCell.swift in Sources */, |
1166 | + AD639F0520897CBC0028BE73 /* AlertShowView.swift in Sources */, | ||
1159 | 599364EC204E62E700C8B371 /* EvaluationViewController.swift in Sources */, | 1167 | 599364EC204E62E700C8B371 /* EvaluationViewController.swift in Sources */, |
1160 | AD122ABB20843AD700C7D0AD /* ProgramVacateDetailCell.swift in Sources */, | 1168 | AD122ABB20843AD700C7D0AD /* ProgramVacateDetailCell.swift in Sources */, |
1161 | 599364F0204E62E700C8B371 /* ReportViewController.swift in Sources */, | 1169 | 599364F0204E62E700C8B371 /* ReportViewController.swift in Sources */, |
ParentAssistant/ParentAssistant.xcworkspace/xcuserdata/caoyang.xcuserdatad/UserInterfaceState.xcuserstate
No preview for this file type
ParentAssistant/ParentAssistant.xcworkspace/xcuserdata/caoyang.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist
@@ -13,21 +13,5 @@ | @@ -13,21 +13,5 @@ | ||
13 | stopOnStyle = "0"> | 13 | stopOnStyle = "0"> |
14 | </BreakpointContent> | 14 | </BreakpointContent> |
15 | </BreakpointProxy> | 15 | </BreakpointProxy> |
16 | - <BreakpointProxy | ||
17 | - BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint"> | ||
18 | - <BreakpointContent | ||
19 | - shouldBeEnabled = "Yes" | ||
20 | - ignoreCount = "0" | ||
21 | - continueAfterRunningActions = "No" | ||
22 | - filePath = "ParentAssistant/Classes/controllers/Grow/GrowViewController.swift" | ||
23 | - timestampString = "545824470.67428" | ||
24 | - startingColumnNumber = "9223372036854775807" | ||
25 | - endingColumnNumber = "9223372036854775807" | ||
26 | - startingLineNumber = "72" | ||
27 | - endingLineNumber = "72" | ||
28 | - landmarkName = "viewWillAppear(_:)" | ||
29 | - landmarkType = "7"> | ||
30 | - </BreakpointContent> | ||
31 | - </BreakpointProxy> | ||
32 | </Breakpoints> | 16 | </Breakpoints> |
33 | </Bucket> | 17 | </Bucket> |
ParentAssistant/ParentAssistant/AppDelegate.swift
@@ -37,12 +37,19 @@ class AppDelegate: UIResponder, UIApplicationDelegate { | @@ -37,12 +37,19 @@ class AppDelegate: UIResponder, UIApplicationDelegate { | ||
37 | } | 37 | } |
38 | }) | 38 | }) |
39 | } | 39 | } |
40 | + | ||
41 | + //定位 | ||
42 | + LocationManger.shared.locationSelf() | ||
43 | + | ||
40 | setShareSDKSetting() | 44 | setShareSDKSetting() |
41 | let tabbarVC = Story.instantiateViewControllerWithIdentifier("TabBarController", storyName: "Main") as! TabBarController | 45 | let tabbarVC = Story.instantiateViewControllerWithIdentifier("TabBarController", storyName: "Main") as! TabBarController |
42 | self.window?.rootViewController = tabbarVC | 46 | self.window?.rootViewController = tabbarVC |
43 | self.window?.makeKeyAndVisible() | 47 | self.window?.makeKeyAndVisible() |
44 | // 加载广告 | 48 | // 加载广告 |
45 | requestAD(vc: tabbarVC) | 49 | requestAD(vc: tabbarVC) |
50 | + | ||
51 | + | ||
52 | + | ||
46 | return true | 53 | return true |
47 | } | 54 | } |
48 | //设置云信的appkey | 55 | //设置云信的appkey |
@@ -68,7 +75,7 @@ class AppDelegate: UIResponder, UIApplicationDelegate { | @@ -68,7 +75,7 @@ class AppDelegate: UIResponder, UIApplicationDelegate { | ||
68 | if Setting.getString("isFirst") == "\(AppDelegate.version())" {//是否是第一次下载 | 75 | if Setting.getString("isFirst") == "\(AppDelegate.version())" {//是否是第一次下载 |
69 | position = 1 | 76 | position = 1 |
70 | let adView = ZLaunchAd.create() | 77 | let adView = ZLaunchAd.create() |
71 | - //position 广告位置0-首次广告位1-开屏广告位2-资讯首页3-频道首页4-频道内容5-文章内容页 AccountManager.shared.address | 78 | + //position 广告位置0-首次广告位1-开屏广告位2-资讯首页3-频道首页4-频道内容5-文章内容页 localAddress |
72 | HTTPServer.shared.getAds(["position":position as AnyObject], completionHandler: { (str, error) in | 79 | HTTPServer.shared.getAds(["position":position as AnyObject], completionHandler: { (str, error) in |
73 | httpJsonResule(jsonString: str, error: error, successHandler: { (json) in | 80 | httpJsonResule(jsonString: str, error: error, successHandler: { (json) in |
74 | if json["status"] == 1 && error == nil{ | 81 | if json["status"] == 1 && error == nil{ |
@@ -93,7 +100,7 @@ class AppDelegate: UIResponder, UIApplicationDelegate { | @@ -93,7 +100,7 @@ class AppDelegate: UIResponder, UIApplicationDelegate { | ||
93 | vc.view.addSubview(view) | 100 | vc.view.addSubview(view) |
94 | position = 0 | 101 | position = 0 |
95 | let _ = Setting.save("\(AppDelegate.version())", forKey: "isFirst") | 102 | let _ = Setting.save("\(AppDelegate.version())", forKey: "isFirst") |
96 | - //position 广告位置0-首次广告位1-开屏广告位2-资讯首页3-频道首页4-频道内容5-文章内容页 AccountManager.shared.address | 103 | + //position 广告位置0-首次广告位1-开屏广告位2-资讯首页3-频道首页4-频道内容5-文章内容页 localAddress |
97 | HTTPServer.shared.getAds(["position":position as AnyObject], completionHandler: { (str, error) in | 104 | HTTPServer.shared.getAds(["position":position as AnyObject], completionHandler: { (str, error) in |
98 | view.removeFromSuperview() | 105 | view.removeFromSuperview() |
99 | httpJsonResule(jsonString: str, error: error, successHandler: { (json) in | 106 | httpJsonResule(jsonString: str, error: error, successHandler: { (json) in |
ParentAssistant/ParentAssistant/Classes/controllers/Grow/GrowViewController.swift
@@ -10,7 +10,6 @@ import UIKit | @@ -10,7 +10,6 @@ import UIKit | ||
10 | 10 | ||
11 | class GrowViewController: UIViewController,UIScrollViewDelegate { | 11 | class GrowViewController: UIViewController,UIScrollViewDelegate { |
12 | 12 | ||
13 | - //MARK: - 标题数据 | ||
14 | //标题 | 13 | //标题 |
15 | lazy var titleView = {() -> UIView in | 14 | lazy var titleView = {() -> UIView in |
16 | let title = UIScrollView() | 15 | let title = UIScrollView() |
@@ -18,7 +17,6 @@ class GrowViewController: UIViewController,UIScrollViewDelegate { | @@ -18,7 +17,6 @@ class GrowViewController: UIViewController,UIScrollViewDelegate { | ||
18 | title.backgroundColor = Theme.topBarColor() | 17 | title.backgroundColor = Theme.topBarColor() |
19 | return title | 18 | return title |
20 | }() | 19 | }() |
21 | - //MARK: - 内容数据 | ||
22 | //内容 | 20 | //内容 |
23 | lazy var contentScrollView = {()->UIScrollView in | 21 | lazy var contentScrollView = {()->UIScrollView in |
24 | let scrollView = UIScrollView.init(frame: self.view.bounds) | 22 | let scrollView = UIScrollView.init(frame: self.view.bounds) |
@@ -41,6 +39,19 @@ class GrowViewController: UIViewController,UIScrollViewDelegate { | @@ -41,6 +39,19 @@ class GrowViewController: UIViewController,UIScrollViewDelegate { | ||
41 | return lineLay | 39 | return lineLay |
42 | }() | 40 | }() |
43 | 41 | ||
42 | + /// 空数据页面 | ||
43 | + lazy var emptyView = {()-> UIView in | ||
44 | + let view = UIView.init(frame: self.view.bounds) | ||
45 | + view.backgroundColor = UIColor.white | ||
46 | + let imageView = UIImageView.init(frame: CGRect.init(x: 0, y: 0, width: 0.5*screenWidth, height: 0.5*screenWidth)) | ||
47 | + imageView.center = CGPoint.init(x: screenWidth/2, y: screenHeight*0.4) | ||
48 | + imageView.image = UIImage.init(named: "grow_empty_Image") | ||
49 | + imageView.contentMode = UIViewContentMode.scaleAspectFit | ||
50 | + | ||
51 | + view.addSubview(imageView) | ||
52 | + return view | ||
53 | + }() | ||
54 | + | ||
44 | var titleLeftLab = UILabel() | 55 | var titleLeftLab = UILabel() |
45 | 56 | ||
46 | //是否显示右侧按钮 | 57 | //是否显示右侧按钮 |
@@ -68,22 +79,31 @@ class GrowViewController: UIViewController,UIScrollViewDelegate { | @@ -68,22 +79,31 @@ class GrowViewController: UIViewController,UIScrollViewDelegate { | ||
68 | 79 | ||
69 | override func viewWillAppear(_ animated: Bool) { | 80 | override func viewWillAppear(_ animated: Bool) { |
70 | 81 | ||
71 | - | ||
72 | - let model = AccountManager.shared.getUserInfo() | ||
73 | - print(model.name) | 82 | + configUserStatus() |
83 | + } | ||
84 | + | ||
85 | + //MARK: - 判断登录状态 | ||
86 | + func configUserStatus(){ | ||
74 | var title = String() | 87 | var title = String() |
75 | if AccountManager.shared.isOnline() { | 88 | if AccountManager.shared.isOnline() { |
76 | - if AccountManager.shared.rawUserInfo!.contentData()["studentClass"].arrayValue.count == 0 { | 89 | + let array = AccountManager.shared.getChildClassInfo() |
90 | + | ||
91 | + self.contentScrollView.isHidden = false | ||
92 | + self.emptyView.removeFromSuperview() | ||
93 | + | ||
94 | + if array.isEmpty { | ||
77 | title = "未绑定" | 95 | title = "未绑定" |
78 | }else{ | 96 | }else{ |
79 | - title = AccountManager.shared.rawUserInfo!.contentData()["studentClass"][0]["studentName"].stringValue | 97 | + title = array[0].studentName |
80 | } | 98 | } |
81 | }else{ | 99 | }else{ |
82 | title = "未登录" | 100 | title = "未登录" |
101 | + self.view.addSubview(self.emptyView) | ||
102 | + self.contentScrollView.isHidden = true | ||
83 | } | 103 | } |
84 | self.titleLeftLab.text = title | 104 | self.titleLeftLab.text = title |
85 | } | 105 | } |
86 | - | 106 | + //MARK: 导航栏视图UI |
87 | func drawHeadView () { | 107 | func drawHeadView () { |
88 | //左按钮 | 108 | //左按钮 |
89 | let leftView = UIButton.init(frame: CGRect.init(x: 0, y: 0, width: 60, height: 44)) | 109 | let leftView = UIButton.init(frame: CGRect.init(x: 0, y: 0, width: 60, height: 44)) |
@@ -100,7 +120,7 @@ class GrowViewController: UIViewController,UIScrollViewDelegate { | @@ -100,7 +120,7 @@ class GrowViewController: UIViewController,UIScrollViewDelegate { | ||
100 | imageView.contentMode = .scaleAspectFit | 120 | imageView.contentMode = .scaleAspectFit |
101 | leftView.addSubview(imageView) | 121 | leftView.addSubview(imageView) |
102 | 122 | ||
103 | - // leftView.addTarget(self, action: #selector(showView), for: UIControlEvents.touchDown) | 123 | + leftView.addTarget(self, action: #selector(switchChildrenAction), for: UIControlEvents.touchDown) |
104 | 124 | ||
105 | let leftBtn = UIBarButtonItem.init(customView: leftView) | 125 | let leftBtn = UIBarButtonItem.init(customView: leftView) |
106 | self.navigationItem.leftBarButtonItem = leftBtn | 126 | self.navigationItem.leftBarButtonItem = leftBtn |
@@ -123,7 +143,46 @@ class GrowViewController: UIViewController,UIScrollViewDelegate { | @@ -123,7 +143,46 @@ class GrowViewController: UIViewController,UIScrollViewDelegate { | ||
123 | 143 | ||
124 | } | 144 | } |
125 | 145 | ||
146 | + //MARK: 切换孩子按钮 | ||
147 | + @objc func switchChildrenAction(){ | ||
148 | + | ||
149 | + if AccountManager.shared.isOnline() { | ||
150 | + let arr = AccountManager.shared.getChildClassInfo() | ||
151 | + if arr.count > 0 { | ||
152 | + let view = AlertShowView.init(frame: CGRect.init(x: 10, y: Int((navigationBarHeight!+statusBarHeight)+5), width: Int(screenHeight*0.2), height: 50*arr.count)) | ||
153 | + view.setUpDataResource(arr:arr) | ||
154 | + view.showView() | ||
155 | + view.AlertBlock = { object in | ||
156 | + if object is StudentClassInfoModel { | ||
157 | + let model = object as! StudentClassInfoModel | ||
158 | + self.titleLeftLab.text = model.studentName | ||
159 | + } | ||
160 | + } | ||
161 | + }else{ | ||
162 | + let alertView = UIAlertController.init(title: "提示", message: "您尚未绑定孩子信息,是否前往绑定?", preferredStyle: UIAlertControllerStyle.alert) | ||
163 | + let action = UIAlertAction.init(title: "确定", style: UIAlertActionStyle.default) { (action) in | ||
164 | + let vc = Story.instantiateViewControllerWithIdentifier("MyChildrenViewController", storyName: "My") as! MyChildrenViewController | ||
165 | + self.navigationController?.pushViewController(vc, animated: true) | ||
166 | + } | ||
167 | + let cancle = UIAlertAction.init(title: "取消", style: UIAlertActionStyle.cancel, handler: nil) | ||
168 | + alertView.addAction(action) | ||
169 | + alertView.addAction(cancle) | ||
170 | + self.present(alertView, animated: true, completion: nil) | ||
171 | + } | ||
172 | + }else{ | ||
173 | + let alertView = UIAlertController.init(title: "提示", message: "您尚未登录,是否前往登录?", preferredStyle: UIAlertControllerStyle.alert) | ||
174 | + let action = UIAlertAction.init(title: "确定", style: UIAlertActionStyle.default) { (action) in | ||
175 | + let vc = Story.instantiateViewControllerWithIdentifier("LoginViewController", storyName: "My") as! LoginViewController | ||
176 | + self.navigationController?.pushViewController(vc, animated: true) | ||
177 | + } | ||
178 | + let cancle = UIAlertAction.init(title: "取消", style: UIAlertActionStyle.cancel, handler: nil) | ||
179 | + alertView.addAction(action) | ||
180 | + alertView.addAction(cancle) | ||
181 | + self.present(alertView, animated: true, completion: nil) | ||
182 | + } | ||
183 | + } | ||
126 | 184 | ||
185 | + //MARK: - 设置控制器子视图 | ||
127 | private func setChildViewContent(){ | 186 | private func setChildViewContent(){ |
128 | 187 | ||
129 | //添加子控制器 | 188 | //添加子控制器 |
ParentAssistant/ParentAssistant/Classes/controllers/Grow/Program/ProgramViewController.swift
@@ -18,33 +18,8 @@ class ProgramViewController: UIViewController,UITableViewDelegate,UITableViewDat | @@ -18,33 +18,8 @@ class ProgramViewController: UIViewController,UITableViewDelegate,UITableViewDat | ||
18 | table.tableFooterView = UIView.init() | 18 | table.tableFooterView = UIView.init() |
19 | return table | 19 | return table |
20 | }() | 20 | }() |
21 | - //Data | ||
22 | - var tableData = Array<String>() | ||
23 | - var titleImage = Array<String>() | ||
24 | - | ||
25 | - override func viewDidLoad() { | ||
26 | - super.viewDidLoad() | ||
27 | - self.view.backgroundColor = backGroundColor | ||
28 | - | ||
29 | - var isCheck = true | ||
30 | - if AccountManager.shared.isOnline() { | ||
31 | - if AccountManager.shared.rawUserInfo!.contentData()["studentClass"].arrayValue.count == 0 { | ||
32 | - isCheck = false | ||
33 | - }else{ | ||
34 | - isCheck = true | ||
35 | - } | ||
36 | - } | ||
37 | - if isCheck { | ||
38 | - self.view.addSubview(self.tableView) | ||
39 | - }else{ | ||
40 | - drawEmptyView() | ||
41 | - } | ||
42 | - self.tableData = ["考勤","补卡","请假"] | ||
43 | - self.titleImage = ["program_check","program_card","program_leave"] | ||
44 | - // Do any additional setup after loading the view. | ||
45 | - } | ||
46 | 21 | ||
47 | - func drawEmptyView () { | 22 | + lazy var empty = {()->UIView in |
48 | 23 | ||
49 | let emptyView = UIView.init(frame: self.view.bounds) | 24 | let emptyView = UIView.init(frame: self.view.bounds) |
50 | emptyView.backgroundColor = backGroundColor | 25 | emptyView.backgroundColor = backGroundColor |
@@ -70,11 +45,42 @@ class ProgramViewController: UIViewController,UITableViewDelegate,UITableViewDat | @@ -70,11 +45,42 @@ class ProgramViewController: UIViewController,UITableViewDelegate,UITableViewDat | ||
70 | emptyView.addSubview(label2) | 45 | emptyView.addSubview(label2) |
71 | emptyView.addSubview(label3) | 46 | emptyView.addSubview(label3) |
72 | 47 | ||
73 | - self.view.addSubview(emptyView) | 48 | + return emptyView |
49 | + }() | ||
50 | + | ||
51 | + //Data | ||
52 | + var tableData = Array<String>() | ||
53 | + var titleImage = Array<String>() | ||
54 | + | ||
55 | + | ||
56 | + override func viewWillAppear(_ animated: Bool) { | ||
74 | 57 | ||
58 | + let array = AccountManager.shared.getChildClassInfo() | ||
59 | + if array.isEmpty { | ||
60 | + self.view.addSubview(self.empty) | ||
61 | + self.tableView.isHidden = true | ||
62 | + }else{ | ||
63 | + self.empty.removeFromSuperview() | ||
64 | + self.tableView.isHidden = false | ||
65 | + } | ||
75 | } | 66 | } |
67 | + | ||
68 | + | ||
69 | + override func viewDidLoad() { | ||
70 | + super.viewDidLoad() | ||
71 | + self.view.backgroundColor = backGroundColor | ||
72 | + | ||
73 | + self.view.addSubview(self.tableView) | ||
74 | + | ||
75 | + self.tableData = ["考勤","补卡","请假"] | ||
76 | + self.titleImage = ["program_check","program_card","program_leave"] | ||
77 | + // Do any additional setup after loading the view. | ||
78 | + } | ||
79 | + | ||
76 | @objc func gotoChildView () { | 80 | @objc func gotoChildView () { |
77 | print("去个人中心页面-我的孩子!") | 81 | print("去个人中心页面-我的孩子!") |
82 | + let vc = Story.instantiateViewControllerWithIdentifier("MyChildrenViewController", storyName: "My") as! MyChildrenViewController | ||
83 | + self.navigationController?.pushViewController(vc, animated: true) | ||
78 | } | 84 | } |
79 | 85 | ||
80 | 86 |
ParentAssistant/ParentAssistant/Classes/controllers/Information/ChannelViewController.swift
@@ -44,7 +44,7 @@ class ChannelViewController: UIViewController,UISearchBarDelegate { | @@ -44,7 +44,7 @@ class ChannelViewController: UIViewController,UISearchBarDelegate { | ||
44 | }) | 44 | }) |
45 | } | 45 | } |
46 | topADsQueue.async { | 46 | topADsQueue.async { |
47 | - HTTPServer.shared.getChannelInfo([ "areaName": AccountManager.shared.address as AnyObject,"channel": self.channelId as AnyObject,"toFirstPage": 0 as AnyObject,"pageIndex": 1 as AnyObject,"pageSize": 20 as AnyObject], completionHandler: { (str, error) in | 47 | + HTTPServer.shared.getChannelInfo([ "areaName": localAddress as AnyObject,"channel": self.channelId as AnyObject,"toFirstPage": 0 as AnyObject,"pageIndex": 1 as AnyObject,"pageSize": 20 as AnyObject], completionHandler: { (str, error) in |
48 | httpJsonResule(jsonString: str, error: error, successHandler: { (json) in | 48 | httpJsonResule(jsonString: str, error: error, successHandler: { (json) in |
49 | if json["status"] == 1 && error == nil{ | 49 | if json["status"] == 1 && error == nil{ |
50 | self.data = ChannelDemol(j: json.contentData()) | 50 | self.data = ChannelDemol(j: json.contentData()) |
@@ -61,7 +61,7 @@ class ChannelViewController: UIViewController,UISearchBarDelegate { | @@ -61,7 +61,7 @@ class ChannelViewController: UIViewController,UISearchBarDelegate { | ||
61 | if key == nil{ | 61 | if key == nil{ |
62 | return | 62 | return |
63 | } | 63 | } |
64 | - HTTPServer.shared.getInformationTopic(["keyword":key as AnyObject, "areaName": AccountManager.shared.address as AnyObject,"channel": self.channelId as AnyObject,"toFirstPage": 0 as AnyObject,"pageIndex": 1 as AnyObject,"pageSize": 20 as AnyObject], completionHandler: { (str, error) in | 64 | + HTTPServer.shared.getInformationTopic(["keyword":key as AnyObject, "areaName": localAddress as AnyObject,"channel": self.channelId as AnyObject,"toFirstPage": 0 as AnyObject,"pageIndex": 1 as AnyObject,"pageSize": 20 as AnyObject], completionHandler: { (str, error) in |
65 | httpJsonResule(jsonString: str, error: error, successHandler: { (json) in | 65 | httpJsonResule(jsonString: str, error: error, successHandler: { (json) in |
66 | if json["status"] == 1 && error == nil{ | 66 | if json["status"] == 1 && error == nil{ |
67 | self.data.channelContent.removeAll() | 67 | self.data.channelContent.removeAll() |
ParentAssistant/ParentAssistant/Classes/controllers/Information/InformationViewController.swift
@@ -38,6 +38,45 @@ class InformationViewController: UIViewController,UISearchBarDelegate { | @@ -38,6 +38,45 @@ class InformationViewController: UIViewController,UISearchBarDelegate { | ||
38 | self.navigationController?.navigationBar.tintColor=UIColor.white | 38 | self.navigationController?.navigationBar.tintColor=UIColor.white |
39 | } | 39 | } |
40 | 40 | ||
41 | + private func getDataFromNet(){ | ||
42 | + | ||
43 | + let group = DispatchGroup() | ||
44 | + var position:Int = 2 | ||
45 | + if !self.isFirstviewController { | ||
46 | + position = 3 | ||
47 | + } | ||
48 | + group.enter() | ||
49 | + HTTPServer.shared.getAds(["position":position as AnyObject,"areaName":localAddress as AnyObject], completionHandler: { (str, error) in//getPercentEncodingString(str: localAddress) | ||
50 | + httpJsonResule(jsonString: str, error: error, successHandler: { (json) in | ||
51 | + if json["status"] == 1 && error == nil{ | ||
52 | + self.topADs.removeAll() | ||
53 | + for item in json.contentData().arrayValue{ | ||
54 | + self.topADs.append(ADSModel(j: item)) | ||
55 | + } | ||
56 | + } | ||
57 | + }, failHandler: { (error) in | ||
58 | + | ||
59 | + }) | ||
60 | + group.leave() | ||
61 | + }) | ||
62 | + group.enter() | ||
63 | + let dic = self.getListDic() | ||
64 | + HTTPServer.shared.getChannelInfo(dic, completionHandler: { (str, error) in | ||
65 | + httpJsonResule(jsonString: str, error: error, successHandler: { (json) in | ||
66 | + if json["status"] == 1 && error == nil{ | ||
67 | + self.data = ChannelDemol(j: json.contentData()) | ||
68 | + } | ||
69 | + }, failHandler: { (error) in | ||
70 | + | ||
71 | + }) | ||
72 | + group.leave() | ||
73 | + }) | ||
74 | + group.notify(queue: DispatchQueue.main) { | ||
75 | + self.collectView.reloadData() | ||
76 | + } | ||
77 | + } | ||
78 | + | ||
79 | + | ||
41 | func getData(){ | 80 | func getData(){ |
42 | let topADsQueue = DispatchQueue(label: "topADs") | 81 | let topADsQueue = DispatchQueue(label: "topADs") |
43 | topADsQueue.async { | 82 | topADsQueue.async { |
@@ -46,7 +85,7 @@ class InformationViewController: UIViewController,UISearchBarDelegate { | @@ -46,7 +85,7 @@ class InformationViewController: UIViewController,UISearchBarDelegate { | ||
46 | if !self.isFirstviewController { | 85 | if !self.isFirstviewController { |
47 | position = 3 | 86 | position = 3 |
48 | } | 87 | } |
49 | - HTTPServer.shared.getAds(["position":position as AnyObject,"areaName":AccountManager.shared.address as AnyObject], completionHandler: { (str, error) in//getPercentEncodingString(str: AccountManager.shared.address) | 88 | + HTTPServer.shared.getAds(["position":position as AnyObject,"areaName":localAddress as AnyObject], completionHandler: { (str, error) in//getPercentEncodingString(str: localAddress) |
50 | httpJsonResule(jsonString: str, error: error, successHandler: { (json) in | 89 | httpJsonResule(jsonString: str, error: error, successHandler: { (json) in |
51 | if json["status"] == 1 && error == nil{ | 90 | if json["status"] == 1 && error == nil{ |
52 | self.topADs.removeAll() | 91 | self.topADs.removeAll() |
@@ -99,7 +138,7 @@ class InformationViewController: UIViewController,UISearchBarDelegate { | @@ -99,7 +138,7 @@ class InformationViewController: UIViewController,UISearchBarDelegate { | ||
99 | 138 | ||
100 | //获得请求参数 | 139 | //获得请求参数 |
101 | func getListDic()->[String:AnyObject]{ | 140 | func getListDic()->[String:AnyObject]{ |
102 | - var dic = [ "areaName": AccountManager.shared.address as AnyObject,"pageIndex": 1 as AnyObject,"pageSize": 20 as AnyObject] | 141 | + var dic = [ "areaName": localAddress as AnyObject,"pageIndex": 1 as AnyObject,"pageSize": 20 as AnyObject] |
103 | var toFirstPage:Int = 1 | 142 | var toFirstPage:Int = 1 |
104 | var ch:Int = 0 | 143 | var ch:Int = 0 |
105 | if !isFirstviewController{ | 144 | if !isFirstviewController{ |
@@ -115,7 +154,7 @@ class InformationViewController: UIViewController,UISearchBarDelegate { | @@ -115,7 +154,7 @@ class InformationViewController: UIViewController,UISearchBarDelegate { | ||
115 | func addLeftBarBtn(){ | 154 | func addLeftBarBtn(){ |
116 | let leftbtn = UIView(frame: CGRect(x: 0, y: 0, width: 100, height: 40)) | 155 | let leftbtn = UIView(frame: CGRect(x: 0, y: 0, width: 100, height: 40)) |
117 | leftLabel = UILabel(frame: CGRect(x: 0, y: 10, width: 60, height: 20)) | 156 | leftLabel = UILabel(frame: CGRect(x: 0, y: 10, width: 60, height: 20)) |
118 | - leftLabel.text = AccountManager.shared.address | 157 | + leftLabel.text = localAddress |
119 | leftLabel.textColor = UIColor.white | 158 | leftLabel.textColor = UIColor.white |
120 | leftLabel.sizeToFit() | 159 | leftLabel.sizeToFit() |
121 | let image = UIImageView(frame: CGRect(x: leftLabel.frame.maxX+4, y: 15, width: 16, height: 9)) | 160 | let image = UIImageView(frame: CGRect(x: leftLabel.frame.maxX+4, y: 15, width: 16, height: 9)) |
@@ -143,9 +182,11 @@ class InformationViewController: UIViewController,UISearchBarDelegate { | @@ -143,9 +182,11 @@ class InformationViewController: UIViewController,UISearchBarDelegate { | ||
143 | 182 | ||
144 | //完成选择城市 | 183 | //完成选择城市 |
145 | func selectCity(city: String) { | 184 | func selectCity(city: String) { |
146 | - AccountManager.shared.address = city | 185 | + localAddress = city |
147 | addLeftBarBtn() | 186 | addLeftBarBtn() |
148 | - getData() | 187 | +// getData() |
188 | + getDataFromNet() | ||
189 | + | ||
149 | } | 190 | } |
150 | 191 | ||
151 | func searchBarTextDidBeginEditing(_ searchBar: UISearchBar) { | 192 | func searchBarTextDidBeginEditing(_ searchBar: UISearchBar) { |
@@ -174,7 +215,8 @@ class InformationViewController: UIViewController,UISearchBarDelegate { | @@ -174,7 +215,8 @@ class InformationViewController: UIViewController,UISearchBarDelegate { | ||
174 | 215 | ||
175 | override func viewWillAppear(_ animated: Bool) { | 216 | override func viewWillAppear(_ animated: Bool) { |
176 | super.viewWillAppear(animated) | 217 | super.viewWillAppear(animated) |
177 | - getData() | 218 | +// getData() |
219 | + getDataFromNet() | ||
178 | if isFirstviewController{ | 220 | if isFirstviewController{ |
179 | addLeftBarBtn() | 221 | addLeftBarBtn() |
180 | }else{ | 222 | }else{ |
@@ -193,7 +235,7 @@ class InformationViewController: UIViewController,UISearchBarDelegate { | @@ -193,7 +235,7 @@ class InformationViewController: UIViewController,UISearchBarDelegate { | ||
193 | if data.channelContent[index].url != "" { | 235 | if data.channelContent[index].url != "" { |
194 | vcs.webURL = data.channelContent[index].url | 236 | vcs.webURL = data.channelContent[index].url |
195 | }else{ | 237 | }else{ |
196 | - vcs.webURL = (HOSTWAP+"/InformationDetail.aspx?id="+"\(data.channelContent[index].id)"+"&areaname="+AccountManager.shared.address).addingPercentEncoding(withAllowedCharacters: .urlQueryAllowed)! | 238 | + vcs.webURL = (HOSTWAP+"/InformationDetail.aspx?id="+"\(data.channelContent[index].id)"+"&areaname="+localAddress).addingPercentEncoding(withAllowedCharacters: .urlQueryAllowed)! |
197 | } | 239 | } |
198 | self.navigationController?.present(vcs.wrapWithNavigationController(), animated: true, completion: nil) | 240 | self.navigationController?.present(vcs.wrapWithNavigationController(), animated: true, completion: nil) |
199 | } | 241 | } |
@@ -297,7 +339,7 @@ extension InformationViewController:UICollectionViewDataSource,UICollectionViewD | @@ -297,7 +339,7 @@ extension InformationViewController:UICollectionViewDataSource,UICollectionViewD | ||
297 | if data.channelContent[indexPath.row].url != "" { | 339 | if data.channelContent[indexPath.row].url != "" { |
298 | vcs.webURL = data.channelContent[indexPath.row].url | 340 | vcs.webURL = data.channelContent[indexPath.row].url |
299 | }else{ | 341 | }else{ |
300 | - vcs.webURL = (HOSTWAP+"/InformationDetail.aspx?id="+"\(data.channelContent[indexPath.row].id)"+"&areaname="+AccountManager.shared.address).addingPercentEncoding(withAllowedCharacters: .urlQueryAllowed)! | 342 | + vcs.webURL = (HOSTWAP+"/InformationDetail.aspx?id="+"\(data.channelContent[indexPath.row].id)"+"&areaname="+localAddress).addingPercentEncoding(withAllowedCharacters: .urlQueryAllowed)! |
301 | } | 343 | } |
302 | self.navigationController?.present(vcs.wrapWithNavigationController(), animated: true, completion: nil) | 344 | self.navigationController?.present(vcs.wrapWithNavigationController(), animated: true, completion: nil) |
303 | 345 |
ParentAssistant/ParentAssistant/Classes/controllers/evaluation/EvaluationViewController.swift
@@ -40,7 +40,7 @@ class EvaluationViewController: UIViewController,CLLocationManagerDelegate,Selec | @@ -40,7 +40,7 @@ class EvaluationViewController: UIViewController,CLLocationManagerDelegate,Selec | ||
40 | } | 40 | } |
41 | 41 | ||
42 | func getData(){ | 42 | func getData(){ |
43 | - HTTPServer.shared.getActivityTool(["areaName":AccountManager.shared.address as AnyObject]) { (str, error) in | 43 | + HTTPServer.shared.getActivityTool(["areaName":localAddress as AnyObject]) { (str, error) in |
44 | httpJsonResule(jsonString: str, error: error, successHandler: { (json) in | 44 | httpJsonResule(jsonString: str, error: error, successHandler: { (json) in |
45 | if json["status"]==1{ | 45 | if json["status"]==1{ |
46 | self.activityArr.removeAll() | 46 | self.activityArr.removeAll() |
@@ -120,7 +120,7 @@ class EvaluationViewController: UIViewController,CLLocationManagerDelegate,Selec | @@ -120,7 +120,7 @@ class EvaluationViewController: UIViewController,CLLocationManagerDelegate,Selec | ||
120 | self.navigationController?.navigationBar.setBackgroundImage(backImage, for: UIBarMetrics.default) | 120 | self.navigationController?.navigationBar.setBackgroundImage(backImage, for: UIBarMetrics.default) |
121 | let leftbtn = UIView(frame: CGRect(x: 0, y: 0, width: 100, height: 40)) | 121 | let leftbtn = UIView(frame: CGRect(x: 0, y: 0, width: 100, height: 40)) |
122 | leftLabel = UILabel(frame: CGRect(x: 0, y: 10, width: 60, height: 20)) | 122 | leftLabel = UILabel(frame: CGRect(x: 0, y: 10, width: 60, height: 20)) |
123 | - leftLabel.text = AccountManager.shared.address | 123 | + leftLabel.text = localAddress |
124 | leftLabel.textColor = UIColor.white | 124 | leftLabel.textColor = UIColor.white |
125 | leftLabel.sizeToFit() | 125 | leftLabel.sizeToFit() |
126 | let image = UIImageView(frame: CGRect(x: leftLabel.frame.maxX+4, y: 15, width: 16, height: 9)) | 126 | let image = UIImageView(frame: CGRect(x: leftLabel.frame.maxX+4, y: 15, width: 16, height: 9)) |
@@ -164,7 +164,7 @@ class EvaluationViewController: UIViewController,CLLocationManagerDelegate,Selec | @@ -164,7 +164,7 @@ class EvaluationViewController: UIViewController,CLLocationManagerDelegate,Selec | ||
164 | if city == nil{ | 164 | if city == nil{ |
165 | city = placeMark!.administrativeArea | 165 | city = placeMark!.administrativeArea |
166 | } | 166 | } |
167 | - AccountManager.shared.address = city! | 167 | + localAddress = city! |
168 | self.getData() | 168 | self.getData() |
169 | self.addLeftBarBtn() | 169 | self.addLeftBarBtn() |
170 | }else if error == nil && arr == nil{ | 170 | }else if error == nil && arr == nil{ |
@@ -194,7 +194,7 @@ class EvaluationViewController: UIViewController,CLLocationManagerDelegate,Selec | @@ -194,7 +194,7 @@ class EvaluationViewController: UIViewController,CLLocationManagerDelegate,Selec | ||
194 | } | 194 | } |
195 | 195 | ||
196 | func selectCity(city: String) { | 196 | func selectCity(city: String) { |
197 | - AccountManager.shared.address = city | 197 | + localAddress = city |
198 | self.getData() | 198 | self.getData() |
199 | addLeftBarBtn() | 199 | addLeftBarBtn() |
200 | } | 200 | } |
@@ -234,7 +234,7 @@ class EvaluationViewController: UIViewController,CLLocationManagerDelegate,Selec | @@ -234,7 +234,7 @@ class EvaluationViewController: UIViewController,CLLocationManagerDelegate,Selec | ||
234 | if activityArr[sender.tag-3000].toolUrl != "" { | 234 | if activityArr[sender.tag-3000].toolUrl != "" { |
235 | vcs.webURL = activityArr[sender.tag-3000].toolUrl | 235 | vcs.webURL = activityArr[sender.tag-3000].toolUrl |
236 | }else{ | 236 | }else{ |
237 | - vcs.webURL = (HOSTWAP+"/InformationDetail.aspx?id="+"\(activityArr[sender.tag-3000].toolId)"+"&areaname="+AccountManager.shared.address).addingPercentEncoding(withAllowedCharacters: .urlQueryAllowed)! | 237 | + vcs.webURL = (HOSTWAP+"/InformationDetail.aspx?id="+"\(activityArr[sender.tag-3000].toolId)"+"&areaname="+localAddress).addingPercentEncoding(withAllowedCharacters: .urlQueryAllowed)! |
238 | } | 238 | } |
239 | self.navigationController?.present(vcs.wrapWithNavigationController(), animated: true, completion: nil) | 239 | self.navigationController?.present(vcs.wrapWithNavigationController(), animated: true, completion: nil) |
240 | } | 240 | } |
@@ -276,7 +276,7 @@ extension EvaluationViewController:UICollectionViewDataSource,UICollectionViewDe | @@ -276,7 +276,7 @@ extension EvaluationViewController:UICollectionViewDataSource,UICollectionViewDe | ||
276 | if toolArr[indexPath.row].toolUrl != "" { | 276 | if toolArr[indexPath.row].toolUrl != "" { |
277 | vcs.webURL = toolArr[indexPath.row].toolUrl | 277 | vcs.webURL = toolArr[indexPath.row].toolUrl |
278 | }else{ | 278 | }else{ |
279 | - vcs.webURL = (HOSTWAP+"/InformationDetail.aspx?id="+"\(toolArr[indexPath.row].toolId)"+"&areaname="+AccountManager.shared.address).addingPercentEncoding(withAllowedCharacters: .urlQueryAllowed)! | 279 | + vcs.webURL = (HOSTWAP+"/InformationDetail.aspx?id="+"\(toolArr[indexPath.row].toolId)"+"&areaname="+localAddress).addingPercentEncoding(withAllowedCharacters: .urlQueryAllowed)! |
280 | } | 280 | } |
281 | self.navigationController?.present(vcs.wrapWithNavigationController(), animated: true, completion: nil) | 281 | self.navigationController?.present(vcs.wrapWithNavigationController(), animated: true, completion: nil) |
282 | } | 282 | } |
ParentAssistant/ParentAssistant/Classes/controllers/userCenter/BaseCityChooseSchoolViewController.swift
@@ -19,14 +19,14 @@ class BaseCityChooseSchoolViewController: UIViewController,UISearchBarDelegate { | @@ -19,14 +19,14 @@ class BaseCityChooseSchoolViewController: UIViewController,UISearchBarDelegate { | ||
19 | override func viewDidLoad() { | 19 | override func viewDidLoad() { |
20 | super.viewDidLoad() | 20 | super.viewDidLoad() |
21 | 21 | ||
22 | - citySelectbtn.text = AccountManager.shared.address | 22 | + citySelectbtn.text = localAddress |
23 | getData() | 23 | getData() |
24 | // Do any additional setup after loading the view. | 24 | // Do any additional setup after loading the view. |
25 | } | 25 | } |
26 | 26 | ||
27 | //根据关键字获取学校 | 27 | //根据关键字获取学校 |
28 | func getData(_ keyword:String=""){ | 28 | func getData(_ keyword:String=""){ |
29 | - var dic:[String:AnyObject] = ["areaName":AccountManager.shared.address as AnyObject,"keyword":keyword as AnyObject] | 29 | + var dic:[String:AnyObject] = ["areaName":localAddress as AnyObject,"keyword":keyword as AnyObject] |
30 | if keyword == ""{ | 30 | if keyword == ""{ |
31 | dic.removeValue(forKey: "keyword") | 31 | dic.removeValue(forKey: "keyword") |
32 | } | 32 | } |
@@ -155,7 +155,7 @@ class BaseCityChooseSchoolViewController: UIViewController,UISearchBarDelegate { | @@ -155,7 +155,7 @@ class BaseCityChooseSchoolViewController: UIViewController,UISearchBarDelegate { | ||
155 | } | 155 | } |
156 | 156 | ||
157 | func selectCity(city: String) { | 157 | func selectCity(city: String) { |
158 | - AccountManager.shared.address = city | 158 | + localAddress = city |
159 | 159 | ||
160 | citySelectbtn.text = city | 160 | citySelectbtn.text = city |
161 | self.getData() | 161 | self.getData() |
@@ -163,7 +163,7 @@ class BaseCityChooseSchoolViewController: UIViewController,UISearchBarDelegate { | @@ -163,7 +163,7 @@ class BaseCityChooseSchoolViewController: UIViewController,UISearchBarDelegate { | ||
163 | 163 | ||
164 | override func viewWillAppear(_ animated: Bool) { | 164 | override func viewWillAppear(_ animated: Bool) { |
165 | super.viewWillAppear(animated) | 165 | super.viewWillAppear(animated) |
166 | - citySelectbtn.text = AccountManager.shared.address | 166 | + citySelectbtn.text = localAddress |
167 | } | 167 | } |
168 | /* | 168 | /* |
169 | // MARK: - Navigation | 169 | // MARK: - Navigation |
ParentAssistant/ParentAssistant/Classes/util/LocationManger.swift
0 → 100644
@@ -0,0 +1,54 @@ | @@ -0,0 +1,54 @@ | ||
1 | +// | ||
2 | +// LocationManger.swift | ||
3 | +// ParentAssistant | ||
4 | +// | ||
5 | +// Created by Cao yang on 2018/4/20. | ||
6 | +// Copyright © 2018年 HANGZHOUTEAM. All rights reserved. | ||
7 | +// | ||
8 | + | ||
9 | +import UIKit | ||
10 | +import CoreLocation | ||
11 | + | ||
12 | +class LocationManger: NSObject,CLLocationManagerDelegate { | ||
13 | + | ||
14 | + static let shared = LocationManger() | ||
15 | + required override init() {} | ||
16 | + | ||
17 | + var locationManger = CLLocationManager() | ||
18 | + | ||
19 | + func locationSelf(){ | ||
20 | + if TARGET_IPHONE_SIMULATOR==0{//判断是模拟器还是真机 | ||
21 | + if CLLocationManager.locationServicesEnabled() && (CLLocationManager.authorizationStatus() == .authorizedWhenInUse || CLLocationManager.authorizationStatus() == .notDetermined){ | ||
22 | + locationManger = CLLocationManager() | ||
23 | + locationManger.distanceFilter = 100 | ||
24 | + locationManger.desiredAccuracy = 10 | ||
25 | + locationManger.requestWhenInUseAuthorization() | ||
26 | + locationManger.delegate = self | ||
27 | + locationManger.allowsBackgroundLocationUpdates = false | ||
28 | + locationManger.startUpdatingLocation() | ||
29 | + }else{ | ||
30 | + appDelegate.window!.makeToast("请在设置中打开定位功能") | ||
31 | + } | ||
32 | + } | ||
33 | + } | ||
34 | + func locationManager(_ manager: CLLocationManager, didUpdateLocations locations: [CLLocation]) { | ||
35 | + let curr = locations.last! | ||
36 | + let geocoder = CLGeocoder() | ||
37 | + geocoder.reverseGeocodeLocation(curr) { (arr, error) in | ||
38 | + if arr != nil{ | ||
39 | + let placeMark = arr!.first | ||
40 | + var city = placeMark!.subLocality | ||
41 | + if city == nil{ | ||
42 | + city = placeMark!.administrativeArea | ||
43 | + } | ||
44 | + localAddress = city! | ||
45 | + | ||
46 | + }else if error == nil && arr == nil{ | ||
47 | + | ||
48 | + }else if error == nil{ | ||
49 | + | ||
50 | + } | ||
51 | + } | ||
52 | + manager.stopUpdatingLocation() | ||
53 | + } | ||
54 | +} |
ParentAssistant/ParentAssistant/Classes/util/Macro.swift
@@ -18,6 +18,11 @@ let screenWidth = UIScreen.main.bounds.size.width | @@ -18,6 +18,11 @@ let screenWidth = UIScreen.main.bounds.size.width | ||
18 | let screenHeight = UIScreen.main.bounds.size.height | 18 | let screenHeight = UIScreen.main.bounds.size.height |
19 | let backGroundColor = UIColor.init(red: 239/255, green: 239/255, blue: 244/255, alpha: 1) | 19 | let backGroundColor = UIColor.init(red: 239/255, green: 239/255, blue: 244/255, alpha: 1) |
20 | let navigationColor = UIColorWithRGB(R: 109, G: 155, B: 255) | 20 | let navigationColor = UIColorWithRGB(R: 109, G: 155, B: 255) |
21 | + | ||
22 | +var localAddress = "未知" | ||
23 | + | ||
24 | + | ||
25 | + | ||
21 | //MARK: -------------------------- 接口地址 ---------------------------- | 26 | //MARK: -------------------------- 接口地址 ---------------------------- |
22 | let appsecret="sincere:3a530f39f99411b454e667d69693c127" | 27 | let appsecret="sincere:3a530f39f99411b454e667d69693c127" |
23 | var ReleaseHOST:String!="http://campus.myjxt.com"//正式网址 | 28 | var ReleaseHOST:String!="http://campus.myjxt.com"//正式网址 |
ParentAssistant/ParentAssistant/Classes/util/account.swift
@@ -12,7 +12,7 @@ class AccountManager: NSObject { | @@ -12,7 +12,7 @@ class AccountManager: NSObject { | ||
12 | var userid:String="" | 12 | var userid:String="" |
13 | var token:String? | 13 | var token:String? |
14 | var refreshToken:String="" | 14 | var refreshToken:String="" |
15 | - var address:String = "未知" | 15 | +// var address:String = "未知" |
16 | 16 | ||
17 | 17 | ||
18 | //单例 | 18 | //单例 |
@@ -32,10 +32,11 @@ class AccountManager: NSObject { | @@ -32,10 +32,11 @@ class AccountManager: NSObject { | ||
32 | func getUserInfo() -> UserInfoModel { | 32 | func getUserInfo() -> UserInfoModel { |
33 | 33 | ||
34 | var model = UserInfoModel() | 34 | var model = UserInfoModel() |
35 | - let dic = Setting.getUserInfo()?.dictionary | ||
36 | - let data = dic!["data"]?.dictionary | ||
37 | - if let value = data { | ||
38 | - model = UserInfoModel.deserialize(from: value)! | 35 | + if let dic = Setting.getUserInfo()?.dictionary { |
36 | + let data = dic["data"]?.dictionary | ||
37 | + if let value = data { | ||
38 | + model = UserInfoModel.deserialize(from: value)! | ||
39 | + } | ||
39 | } | 40 | } |
40 | return model | 41 | return model |
41 | } | 42 | } |
@@ -45,14 +46,15 @@ class AccountManager: NSObject { | @@ -45,14 +46,15 @@ class AccountManager: NSObject { | ||
45 | /// - Returns: 返回 StudentClassInfoModel | 46 | /// - Returns: 返回 StudentClassInfoModel |
46 | func getChildClassInfo()-> Array<StudentClassInfoModel> { | 47 | func getChildClassInfo()-> Array<StudentClassInfoModel> { |
47 | var array = Array<StudentClassInfoModel>() | 48 | var array = Array<StudentClassInfoModel>() |
48 | - let dic = Setting.getUserInfo()?.dictionary | ||
49 | - let data = dic!["data"]?.dictionary | ||
50 | - let studentArr = data!["studentClass"]?.arrayValue | ||
51 | - for i in 0..<studentArr!.count { | ||
52 | - let studentDic = studentArr![i].dictionary | ||
53 | - if let value = studentDic { | ||
54 | - let model = StudentClassInfoModel.deserialize(from: value) | ||
55 | - array.append(model!) | 49 | + if let dic = Setting.getUserInfo()?.dictionary { |
50 | + let data = dic["data"]?.dictionary | ||
51 | + let studentArr = data!["studentClass"]?.arrayValue | ||
52 | + for i in 0..<studentArr!.count { | ||
53 | + let studentDic = studentArr![i].dictionary | ||
54 | + if let value = studentDic { | ||
55 | + let model = StudentClassInfoModel.deserialize(from: value) | ||
56 | + array.append(model!) | ||
57 | + } | ||
56 | } | 58 | } |
57 | } | 59 | } |
58 | return array | 60 | return array |
ParentAssistant/ParentAssistant/Classes/util/view/AlertShowView.swift
0 → 100644
@@ -0,0 +1,119 @@ | @@ -0,0 +1,119 @@ | ||
1 | +// | ||
2 | +// AlertShowView.swift | ||
3 | +// ParentAssistant | ||
4 | +// | ||
5 | +// Created by Cao yang on 2018/4/20. | ||
6 | +// Copyright © 2018年 HANGZHOUTEAM. All rights reserved. | ||
7 | +// | ||
8 | + | ||
9 | +import UIKit | ||
10 | + | ||
11 | +class AlertShowView: UIView,UITableViewDelegate,UITableViewDataSource { | ||
12 | + | ||
13 | + typealias AlertBackBlock = (AnyObject)->() | ||
14 | + | ||
15 | + | ||
16 | + lazy var tableView = { ()-> UITableView in | ||
17 | + | ||
18 | + let table = UITableView.init(frame: self.bounds) | ||
19 | + table.delegate = self | ||
20 | + table.dataSource = self | ||
21 | + table.layer.cornerRadius = 5 | ||
22 | + table.clipsToBounds = true | ||
23 | + table.separatorStyle = .none | ||
24 | + table.backgroundColor = backGroundColor | ||
25 | + table.register(UITableViewCell.self, forCellReuseIdentifier: "showAlertCell") | ||
26 | + return table | ||
27 | + }() | ||
28 | + private var dataArr = Array<AnyObject>() | ||
29 | + private var keysWindow = UIWindow() | ||
30 | + private var navigateButton = UIButton() | ||
31 | + private var backButton = UIButton() | ||
32 | + | ||
33 | + var rect = CGRect() | ||
34 | + var AlertBlock : AlertBackBlock? | ||
35 | + | ||
36 | + override init(frame: CGRect) { | ||
37 | + super.init(frame: frame) | ||
38 | + if !frame.isEmpty { | ||
39 | + self.rect = frame | ||
40 | + self.addSubview(self.tableView) | ||
41 | + } | ||
42 | + } | ||
43 | + func showView() { | ||
44 | + let window = UIApplication.shared.keyWindow | ||
45 | + let btn = UIButton.init(frame: CGRect.init(x: 0, y: navigationBarHeight!+statusBarHeight, width: screenWidth, height: screenHeight)) | ||
46 | + btn.backgroundColor = UIColor.black | ||
47 | + btn.alpha = 0.4 | ||
48 | + btn.addTarget(self, action: #selector(closeView), for: UIControlEvents.touchDown) | ||
49 | + | ||
50 | + let upBtn = UIButton.init(frame: CGRect.init(x: 0, y: 0, width: screenWidth, height: navigationBarHeight!+statusBarHeight)) | ||
51 | + upBtn.backgroundColor = UIColor.clear | ||
52 | + upBtn.addTarget(self, action: #selector(closeView), for: UIControlEvents.touchDown) | ||
53 | + | ||
54 | + | ||
55 | + | ||
56 | + self.keysWindow = window! | ||
57 | + self.backButton = btn | ||
58 | + self.navigateButton = upBtn | ||
59 | + | ||
60 | + self.keysWindow.addSubview(self.backButton) | ||
61 | + self.keysWindow.addSubview(self.navigateButton) | ||
62 | + self.keysWindow.addSubview(self) | ||
63 | + showAnimation() | ||
64 | + } | ||
65 | + | ||
66 | + @objc private func closeView(){ | ||
67 | + | ||
68 | + self.backButton.removeFromSuperview() | ||
69 | + self.navigateButton.removeFromSuperview() | ||
70 | + self.removeFromSuperview() | ||
71 | + self.keysWindow = UIWindow.init() | ||
72 | + } | ||
73 | + | ||
74 | + private func showAnimation(){ | ||
75 | + | ||
76 | + self.alpha = 0 | ||
77 | + self.backButton.alpha = 0 | ||
78 | + UIView.animate(withDuration: 0.3) { | ||
79 | + self.alpha = 1 | ||
80 | + self.backButton.alpha = 0.4 | ||
81 | + } | ||
82 | + } | ||
83 | + | ||
84 | + func setUpDataResource (arr:Array<AnyObject>) { | ||
85 | + if arr.count > 0 { | ||
86 | + self.dataArr = arr | ||
87 | + } | ||
88 | + self.tableView.reloadData() | ||
89 | + } | ||
90 | + | ||
91 | + func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { | ||
92 | + return self.dataArr.count | ||
93 | + } | ||
94 | + func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat { | ||
95 | + return 50 | ||
96 | + } | ||
97 | + | ||
98 | + func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { | ||
99 | + | ||
100 | + let cell = tableView.dequeueReusableCell(withIdentifier: "showAlertCell") | ||
101 | + let dic = self.dataArr[indexPath.row] | ||
102 | + | ||
103 | + if dic is StudentClassInfoModel { | ||
104 | + let dict = dic as! StudentClassInfoModel | ||
105 | + cell?.textLabel?.text = dict.studentName | ||
106 | + } | ||
107 | + return cell! | ||
108 | + } | ||
109 | + func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) { | ||
110 | + let selectData = self.dataArr[indexPath.row] | ||
111 | + self.AlertBlock!(selectData) | ||
112 | + closeView() | ||
113 | + } | ||
114 | + required init?(coder aDecoder: NSCoder) { | ||
115 | + fatalError("init(coder:) has not been implemented") | ||
116 | + } | ||
117 | + | ||
118 | + | ||
119 | +} |
ParentAssistant/ParentAssistant/Supporting Files/Assets.xcassets/report/grow_empty_Image.imageset/Contents.json
0 → 100644
@@ -0,0 +1,21 @@ | @@ -0,0 +1,21 @@ | ||
1 | +{ | ||
2 | + "images" : [ | ||
3 | + { | ||
4 | + "idiom" : "universal", | ||
5 | + "scale" : "1x" | ||
6 | + }, | ||
7 | + { | ||
8 | + "idiom" : "universal", | ||
9 | + "filename" : "grow_empty_Image@2x.png", | ||
10 | + "scale" : "2x" | ||
11 | + }, | ||
12 | + { | ||
13 | + "idiom" : "universal", | ||
14 | + "scale" : "3x" | ||
15 | + } | ||
16 | + ], | ||
17 | + "info" : { | ||
18 | + "version" : 1, | ||
19 | + "author" : "xcode" | ||
20 | + } | ||
21 | +} | ||
0 | \ No newline at end of file | 22 | \ No newline at end of file |
ParentAssistant/ParentAssistant/Supporting Files/Assets.xcassets/report/grow_empty_Image.imageset/grow_empty_Image@2x.png
0 → 100644
14.1 KB