Bladeren bron

platform:9.0

15555599100 5 jaren geleden
bovenliggende
commit
1cceec40d0
100 gewijzigde bestanden met toevoegingen van 1068 en 940 verwijderingen
  1. 32 26
      HappyWork/HappyWork.xcodeproj/project.pbxproj
  2. BIN
      HappyWork/HappyWork.xcworkspace/xcuserdata/zhangxiaoguang.xcuserdatad/UserInterfaceState.xcuserstate
  3. 1 2
      HappyWork/HappyWork/API/AFHttpTool/HWAFHttpTool.h
  4. 23 23
      HappyWork/HappyWork/API/AFHttpTool/HWAFHttpTool.m
  5. 2 2
      HappyWork/HappyWork/Base/BaseWKWebView.m
  6. 1 1
      HappyWork/HappyWork/Base/PageListTableView.h
  7. 9 6
      HappyWork/HappyWork/Base/PageListTableView.m
  8. 3 3
      HappyWork/HappyWork/Class/DemandHall/DemanHall_详情/View/DemanHallDetailCompanyView.m
  9. 5 5
      HappyWork/HappyWork/Class/DemandHall/DemanHall_详情/View/DemanHallDetailHeaderView.m
  10. 1 1
      HappyWork/HappyWork/Class/DemandHall/DemanHall_详情/View/DemanHallDetailPositionView.m
  11. 8 8
      HappyWork/HappyWork/Class/DemandHall/DemanHall_详情/View/DemanHallDetailSignUpView.m
  12. 12 9
      HappyWork/HappyWork/Class/DemandHall/DemanHall_详情/ViewController/DemanHallDetailViewController.m
  13. 4 5
      HappyWork/HappyWork/Class/DemandHall/DemanHall_详情/ViewModel/DemanHallDetailViewModel.m
  14. 8 8
      HappyWork/HappyWork/Class/DemandHall/Menu_筛选视图/DemanHallMenuFilterView.m
  15. 2 2
      HappyWork/HappyWork/Class/DemandHall/Menu_筛选视图/选择价格/DemanHallPriceView.m
  16. 1 1
      HappyWork/HappyWork/Class/DemandHall/Menu_筛选视图/选择地区/DemanHallAddressCell.m
  17. 1 1
      HappyWork/HappyWork/Class/DemandHall/Menu_筛选视图/选择地区/DemanHallAddressViewController.m
  18. 2 2
      HappyWork/HappyWork/Class/DemandHall/Menu_筛选视图/选择地区/DemanhallAddressAreaView.m
  19. 3 3
      HappyWork/HappyWork/Class/DemandHall/Menu_筛选视图/选择地区/DemanhallAddressCityView.m
  20. 1 1
      HappyWork/HappyWork/Class/DemandHall/Menu_筛选视图/选择地区/DemanhallAddressProvinceView.m
  21. 1 1
      HappyWork/HappyWork/Class/DemandHall/Menu_筛选视图/选择行业/DemanHallIndustryCCell.m
  22. 3 3
      HappyWork/HappyWork/Class/DemandHall/Menu_筛选视图/选择行业/DemanHallIndustryView.m
  23. 2 10
      HappyWork/HappyWork/Class/DemandHall/ViewController/DemanHallViewController.m
  24. 1 1
      HappyWork/HappyWork/Class/DemandHall/Views/Cell/DemanHallBannerCell.m
  25. 5 5
      HappyWork/HappyWork/Class/DemandHall/Views/Cell/DemanHallCell.m
  26. 1 1
      HappyWork/HappyWork/Class/DemandHall/Views/Cell/DemanHallEmptyCell.m
  27. 2 2
      HappyWork/HappyWork/Class/DemandHall/Views/Cell/DemanHallTagView.m
  28. 1 1
      HappyWork/HappyWork/Class/DemandHall/Views/View/DemanHallNaviBarView.m
  29. 6 6
      HappyWork/HappyWork/Class/DemandHall/Views/View/HWUpdateView.m
  30. 4 4
      HappyWork/HappyWork/Class/LoginRegister/View/LoginRegisterView.m
  31. 7 7
      HappyWork/HappyWork/Class/LoginRegister/View/PhoneAndCodeView.m
  32. 2 2
      HappyWork/HappyWork/Class/LoginRegister/View/RegisterUserView.m
  33. 2 2
      HappyWork/HappyWork/Class/LoginRegister/ViewController/LoginRegisterViewController.m
  34. 3 3
      HappyWork/HappyWork/Class/PersonalCenter/View/PersonalCenterCell.m
  35. 1 1
      HappyWork/HappyWork/Class/PersonalCenter/View/PersonalCenterHeaderCell.m
  36. 6 6
      HappyWork/HappyWork/Class/PersonalCenter/ViewController/PersonalCenterViewController.m
  37. 0 2
      HappyWork/HappyWork/Class/PersonalCenter/ViewModel/PersonalCenterViewModel.h
  38. 1 1
      HappyWork/HappyWork/Class/PersonalCenter/基本信息_basicinformation/View/BasicInformationCell.h
  39. 6 5
      HappyWork/HappyWork/Class/PersonalCenter/基本信息_basicinformation/View/BasicInformationCell.m
  40. 1 1
      HappyWork/HappyWork/Class/PersonalCenter/基本信息_basicinformation/ViewController/BasicInformationViewController.h
  41. 10 10
      HappyWork/HappyWork/Class/PersonalCenter/基本信息_basicinformation/ViewController/BasicInformationViewController.m
  42. 1 1
      HappyWork/HappyWork/Class/PersonalCenter/基本信息_basicinformation/ViewModel/BasicInformationViewModel.h
  43. 8 7
      HappyWork/HappyWork/Class/PersonalCenter/基本信息_basicinformation/ViewModel/BasicInformationViewModel.m
  44. 3 3
      HappyWork/HappyWork/Class/PersonalCenter/完税证明_tax/View/TaxCertificateView.m
  45. 5 5
      HappyWork/HappyWork/Class/PersonalCenter/完税证明_tax/ViewController/TaxCertificateViewController.m
  46. 4 4
      HappyWork/HappyWork/Class/PersonalCenter/我的报名_signup/View/MySignUpCell.m
  47. 4 4
      HappyWork/HappyWork/Class/PersonalCenter/我的报名_signup/ViewModel/MySignUpViewModel.m
  48. 8 8
      HappyWork/HappyWork/Class/PersonalCenter/我的订单_order/View/MyOrderCell.m
  49. 25 20
      HappyWork/HappyWork/Class/PersonalCenter/我的订单_order/ViewController/MyOrderDetailViewController.m
  50. 32 0
      HappyWork/HappyWork/Class/PersonalCenter/我的订单_order/ViewController/MyOrderQLPreviewController.h
  51. 118 0
      HappyWork/HappyWork/Class/PersonalCenter/我的订单_order/ViewController/MyOrderQLPreviewController.m
  52. 7 3
      HappyWork/HappyWork/Class/PersonalCenter/我的订单_order/ViewController/MyOrderViewController.m
  53. 5 1
      HappyWork/HappyWork/Class/PersonalCenter/我的订单_order/ViewController/MyOrderWebECOViewController.m
  54. 12 39
      HappyWork/HappyWork/Class/PersonalCenter/我的订单_order/ViewController/MyOrderWebViewController.m
  55. 3 0
      HappyWork/HappyWork/Class/PersonalCenter/我的订单_order/ViewModel/MyOrderDetailViewModel.m
  56. 6 6
      HappyWork/HappyWork/Class/PersonalCenter/我的订单_order/ViewModel/MyOrderViewModel.m
  57. 9 9
      HappyWork/HappyWork/Class/PersonalCenter/收款记录_record/View/PaymentRecordCell.m
  58. 3 3
      HappyWork/HappyWork/Class/PersonalCenter/收款记录_record/View/PaymentRecordDetailView.m
  59. 10 10
      HappyWork/HappyWork/Class/PersonalCenter/收款记录_record/ViewController/PaymentRecordDetailViewController.m
  60. 2 2
      HappyWork/HappyWork/Class/PersonalCenter/收款记录_record/ViewController/PaymentRecordViewController.m
  61. 1 1
      HappyWork/HappyWork/Class/PersonalCenter/收款记录_record/ViewModel/PaymentRecordViewModel.m
  62. 1 1
      HappyWork/HappyWork/Class/PersonalCenter/通用设置_generalSet/View/CancellationCell.m
  63. 4 4
      HappyWork/HappyWork/Class/PersonalCenter/通用设置_generalSet/ViewController/GeneralSetViewController.m
  64. 3 3
      HappyWork/HappyWork/Custom/Category/UIViewController/UIViewController+HJNavBar.m
  65. 2 2
      HappyWork/HappyWork/Custom/CustomView/Blank_空白页/HJBlankView.m
  66. 1 1
      HappyWork/HappyWork/Custom/CustomView/Error_错误页面/HJErrorView.m
  67. 1 1
      HappyWork/HappyWork/Custom/CustomView/Loading_加载页面/HJLoadingView.m
  68. 7 7
      HappyWork/HappyWork/Custom/CustomView/MessageAlertView/HWConfirmPanelView.m
  69. 1 1
      HappyWork/HappyWork/Custom/PickViewOne/AddressPickViewView.m
  70. 4 4
      HappyWork/HappyWork/Custom/PickViewOne/HJToolbarView.m
  71. 3 3
      HappyWork/HappyWork/Custom/PickViewOne/ValuePickerView.m
  72. 4 4
      HappyWork/HappyWork/Custom/ProgressHUD/HWProgressHUD.m
  73. 1 1
      HappyWork/HappyWork/Main/AppDelegate.m
  74. 8 10
      HappyWork/HappyWork/Support/HappyWork.pch
  75. 29 29
      HappyWork/Podfile.lock
  76. 14 2
      HappyWork/Pods/AFNetworking/AFNetworking/AFCompatibilityMacros.h
  77. 63 82
      HappyWork/Pods/AFNetworking/AFNetworking/AFHTTPSessionManager.h
  78. 63 78
      HappyWork/Pods/AFNetworking/AFNetworking/AFHTTPSessionManager.m
  79. 9 6
      HappyWork/Pods/AFNetworking/AFNetworking/AFNetworkReachabilityManager.m
  80. 10 3
      HappyWork/Pods/AFNetworking/AFNetworking/AFSecurityPolicy.h
  81. 16 19
      HappyWork/Pods/AFNetworking/AFNetworking/AFSecurityPolicy.m
  82. 5 5
      HappyWork/Pods/AFNetworking/AFNetworking/AFURLRequestSerialization.h
  83. 8 7
      HappyWork/Pods/AFNetworking/AFNetworking/AFURLRequestSerialization.m
  84. 5 2
      HappyWork/Pods/AFNetworking/AFNetworking/AFURLResponseSerialization.h
  85. 24 5
      HappyWork/Pods/AFNetworking/AFNetworking/AFURLResponseSerialization.m
  86. 47 32
      HappyWork/Pods/AFNetworking/AFNetworking/AFURLSessionManager.h
  87. 150 114
      HappyWork/Pods/AFNetworking/AFNetworking/AFURLSessionManager.m
  88. 1 1
      HappyWork/Pods/AFNetworking/LICENSE
  89. 15 39
      HappyWork/Pods/AFNetworking/README.md
  90. 4 4
      HappyWork/Pods/AFNetworking/UIKit+AFNetworking/AFAutoPurgingImageCache.m
  91. 1 1
      HappyWork/Pods/AFNetworking/UIKit+AFNetworking/AFImageDownloader.h
  92. 36 24
      HappyWork/Pods/AFNetworking/UIKit+AFNetworking/AFImageDownloader.m
  93. 7 27
      HappyWork/Pods/AFNetworking/UIKit+AFNetworking/AFNetworkActivityIndicatorManager.m
  94. 4 4
      HappyWork/Pods/AFNetworking/UIKit+AFNetworking/UIButton+AFNetworking.m
  95. 0 35
      HappyWork/Pods/AFNetworking/UIKit+AFNetworking/UIImage+AFNetworking.h
  96. 4 5
      HappyWork/Pods/AFNetworking/UIKit+AFNetworking/UIImageView+AFNetworking.m
  97. 10 9
      HappyWork/Pods/AFNetworking/UIKit+AFNetworking/UIKit+AFNetworking.h
  98. 11 11
      HappyWork/Pods/AFNetworking/UIKit+AFNetworking/UIWebView+AFNetworking.h
  99. 42 45
      HappyWork/Pods/AFNetworking/UIKit+AFNetworking/UIWebView+AFNetworking.m
  100. 0 0
      HappyWork/Pods/IQKeyboardManager/IQKeyboardManager/Categories/IQUIScrollView+Additions.h

+ 32 - 26
HappyWork/HappyWork.xcodeproj/project.pbxproj

@@ -47,8 +47,8 @@
 		712AF7642334747200EBD542 /* DemanHallDetailPositionView.m in Sources */ = {isa = PBXBuildFile; fileRef = 712AF7632334747200EBD542 /* DemanHallDetailPositionView.m */; };
 		712AF769233493C500EBD542 /* PersonalCenterCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 712AF768233493C500EBD542 /* PersonalCenterCell.m */; };
 		712AF76C2334984900EBD542 /* PersonalCenterHeaderCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 712AF76B2334984900EBD542 /* PersonalCenterHeaderCell.m */; };
-		712AF7722334A35000EBD542 /* BasicInformationViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 712AF7712334A35000EBD542 /* BasicInformationViewController.m */; };
-		712AF7752334A40400EBD542 /* BasicInformationCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 712AF7742334A40400EBD542 /* BasicInformationCell.m */; };
+		712AF7722334A35000EBD542 /* BasicInfoViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 712AF7712334A35000EBD542 /* BasicInfoViewController.m */; };
+		712AF7752334A40400EBD542 /* BasicInfoCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 712AF7742334A40400EBD542 /* BasicInfoCell.m */; };
 		712AF7872334ADC300EBD542 /* UIViewController+HJNavBar.m in Sources */ = {isa = PBXBuildFile; fileRef = 712AF7832334ADC300EBD542 /* UIViewController+HJNavBar.m */; };
 		712AF78B2334B87200EBD542 /* MySignUpViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 712AF78A2334B87200EBD542 /* MySignUpViewController.m */; };
 		712AF78E2334B8A800EBD542 /* MySignUpCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 712AF78D2334B8A800EBD542 /* MySignUpCell.m */; };
@@ -58,9 +58,8 @@
 		712AF79A2335AF7700EBD542 /* PaymentRecordCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 712AF7992335AF7700EBD542 /* PaymentRecordCell.m */; };
 		712AF79D2335B33F00EBD542 /* PaymentRecordDetailViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 712AF79C2335B33F00EBD542 /* PaymentRecordDetailViewController.m */; };
 		712AF7A02335B3FA00EBD542 /* PaymentRecordDetailView.m in Sources */ = {isa = PBXBuildFile; fileRef = 712AF79F2335B3FA00EBD542 /* PaymentRecordDetailView.m */; };
-		7133D5D923500B1A009BCCC1 /* MyOrderWebViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 7133D5D823500B1A009BCCC1 /* MyOrderWebViewController.m */; };
 		7133D5DC23504548009BCCC1 /* HWAppService.m in Sources */ = {isa = PBXBuildFile; fileRef = 7133D5DB23504548009BCCC1 /* HWAppService.m */; };
-		7133D5EC2351A8AF009BCCC1 /* BasicInformationViewModel.m in Sources */ = {isa = PBXBuildFile; fileRef = 7133D5EB2351A8AF009BCCC1 /* BasicInformationViewModel.m */; };
+		7133D5EC2351A8AF009BCCC1 /* BasicInfoViewModel.m in Sources */ = {isa = PBXBuildFile; fileRef = 7133D5EB2351A8AF009BCCC1 /* BasicInfoViewModel.m */; };
 		71373090233C634A00AF5F8E /* HWBaseAPIManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 7137308F233C634A00AF5F8E /* HWBaseAPIManager.m */; };
 		71373094233C63F100AF5F8E /* HWNetWorkingConfig.m in Sources */ = {isa = PBXBuildFile; fileRef = 71373093233C63F100AF5F8E /* HWNetWorkingConfig.m */; };
 		713828372336065F007256F4 /* DemanHallBannerCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 713828362336065F007256F4 /* DemanHallBannerCell.m */; };
@@ -96,8 +95,10 @@
 		713E8DB02372662400EE66DC /* HWUpdateView.m in Sources */ = {isa = PBXBuildFile; fileRef = 713E8DAF2372662400EE66DC /* HWUpdateView.m */; };
 		71459D2523B1E007002E2CF2 /* UserInfoModel.m in Sources */ = {isa = PBXBuildFile; fileRef = 71459D2423B1E007002E2CF2 /* UserInfoModel.m */; };
 		714662B423A7783A004FBF7D /* NSObject+AutoCancelRequest.m in Sources */ = {isa = PBXBuildFile; fileRef = 714662B323A7783A004FBF7D /* NSObject+AutoCancelRequest.m */; };
+		71494B01246E962800628947 /* MyOrderQLPreviewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 71494B00246E962800628947 /* MyOrderQLPreviewController.m */; };
 		714959EA23A9E4FB0070601D /* pdfjs in Resources */ = {isa = PBXBuildFile; fileRef = 714959E923A9E4FB0070601D /* pdfjs */; };
 		714D38D7238B7B80001E151A /* BaseWKWebView.m in Sources */ = {isa = PBXBuildFile; fileRef = 714D38D6238B7B80001E151A /* BaseWKWebView.m */; };
+		715685B62472342D00B04A55 /* MyOrderWebViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 715685B42472342D00B04A55 /* MyOrderWebViewController.m */; };
 		715DB801237401490042BFF6 /* 用户注册协议.html in Resources */ = {isa = PBXBuildFile; fileRef = 715DB800237401490042BFF6 /* 用户注册协议.html */; };
 		71A3B094234D6CB4004D73A5 /* DemanHallDetailSignUpView.m in Sources */ = {isa = PBXBuildFile; fileRef = 71A3B093234D6CB4004D73A5 /* DemanHallDetailSignUpView.m */; };
 		71A3B097234D94F6004D73A5 /* DemanHallModel.m in Sources */ = {isa = PBXBuildFile; fileRef = 71A3B096234D94F6004D73A5 /* DemanHallModel.m */; };
@@ -214,10 +215,10 @@
 		712AF768233493C500EBD542 /* PersonalCenterCell.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = PersonalCenterCell.m; sourceTree = "<group>"; };
 		712AF76A2334984900EBD542 /* PersonalCenterHeaderCell.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = PersonalCenterHeaderCell.h; sourceTree = "<group>"; };
 		712AF76B2334984900EBD542 /* PersonalCenterHeaderCell.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = PersonalCenterHeaderCell.m; sourceTree = "<group>"; };
-		712AF7702334A35000EBD542 /* BasicInformationViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = BasicInformationViewController.h; sourceTree = "<group>"; };
-		712AF7712334A35000EBD542 /* BasicInformationViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = BasicInformationViewController.m; sourceTree = "<group>"; };
-		712AF7732334A40400EBD542 /* BasicInformationCell.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = BasicInformationCell.h; sourceTree = "<group>"; };
-		712AF7742334A40400EBD542 /* BasicInformationCell.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = BasicInformationCell.m; sourceTree = "<group>"; };
+		712AF7702334A35000EBD542 /* BasicInfoViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = BasicInfoViewController.h; sourceTree = "<group>"; };
+		712AF7712334A35000EBD542 /* BasicInfoViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = BasicInfoViewController.m; sourceTree = "<group>"; };
+		712AF7732334A40400EBD542 /* BasicInfoCell.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = BasicInfoCell.h; sourceTree = "<group>"; };
+		712AF7742334A40400EBD542 /* BasicInfoCell.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = BasicInfoCell.m; sourceTree = "<group>"; };
 		712AF7832334ADC300EBD542 /* UIViewController+HJNavBar.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "UIViewController+HJNavBar.m"; sourceTree = "<group>"; };
 		712AF7852334ADC300EBD542 /* UIViewController+HJNavBar.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "UIViewController+HJNavBar.h"; sourceTree = "<group>"; };
 		712AF7892334B87200EBD542 /* MySignUpViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MySignUpViewController.h; sourceTree = "<group>"; };
@@ -236,12 +237,10 @@
 		712AF79C2335B33F00EBD542 /* PaymentRecordDetailViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = PaymentRecordDetailViewController.m; sourceTree = "<group>"; };
 		712AF79E2335B3FA00EBD542 /* PaymentRecordDetailView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = PaymentRecordDetailView.h; sourceTree = "<group>"; };
 		712AF79F2335B3FA00EBD542 /* PaymentRecordDetailView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = PaymentRecordDetailView.m; sourceTree = "<group>"; };
-		7133D5D723500B1A009BCCC1 /* MyOrderWebViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MyOrderWebViewController.h; sourceTree = "<group>"; };
-		7133D5D823500B1A009BCCC1 /* MyOrderWebViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = MyOrderWebViewController.m; sourceTree = "<group>"; };
 		7133D5DA23504548009BCCC1 /* HWAppService.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = HWAppService.h; sourceTree = "<group>"; };
 		7133D5DB23504548009BCCC1 /* HWAppService.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = HWAppService.m; sourceTree = "<group>"; };
-		7133D5EA2351A8AF009BCCC1 /* BasicInformationViewModel.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = BasicInformationViewModel.h; sourceTree = "<group>"; };
-		7133D5EB2351A8AF009BCCC1 /* BasicInformationViewModel.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = BasicInformationViewModel.m; sourceTree = "<group>"; };
+		7133D5EA2351A8AF009BCCC1 /* BasicInfoViewModel.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = BasicInfoViewModel.h; sourceTree = "<group>"; };
+		7133D5EB2351A8AF009BCCC1 /* BasicInfoViewModel.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = BasicInfoViewModel.m; sourceTree = "<group>"; };
 		7137308E233C634A00AF5F8E /* HWBaseAPIManager.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = HWBaseAPIManager.h; sourceTree = "<group>"; };
 		7137308F233C634A00AF5F8E /* HWBaseAPIManager.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = HWBaseAPIManager.m; sourceTree = "<group>"; };
 		71373092233C63F100AF5F8E /* HWNetWorkingConfig.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = HWNetWorkingConfig.h; sourceTree = "<group>"; };
@@ -314,9 +313,13 @@
 		71459D2423B1E007002E2CF2 /* UserInfoModel.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = UserInfoModel.m; sourceTree = "<group>"; };
 		714662B223A7783A004FBF7D /* NSObject+AutoCancelRequest.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSObject+AutoCancelRequest.h"; sourceTree = "<group>"; };
 		714662B323A7783A004FBF7D /* NSObject+AutoCancelRequest.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSObject+AutoCancelRequest.m"; sourceTree = "<group>"; };
+		71494AFF246E962800628947 /* MyOrderQLPreviewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MyOrderQLPreviewController.h; sourceTree = "<group>"; };
+		71494B00246E962800628947 /* MyOrderQLPreviewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = MyOrderQLPreviewController.m; sourceTree = "<group>"; };
 		714959E923A9E4FB0070601D /* pdfjs */ = {isa = PBXFileReference; lastKnownFileType = folder; path = pdfjs; sourceTree = "<group>"; };
 		714D38D5238B7B80001E151A /* BaseWKWebView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = BaseWKWebView.h; sourceTree = "<group>"; };
 		714D38D6238B7B80001E151A /* BaseWKWebView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = BaseWKWebView.m; sourceTree = "<group>"; };
+		715685B42472342D00B04A55 /* MyOrderWebViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MyOrderWebViewController.m; sourceTree = "<group>"; };
+		715685B52472342D00B04A55 /* MyOrderWebViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MyOrderWebViewController.h; sourceTree = "<group>"; };
 		715DB800237401490042BFF6 /* 用户注册协议.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = "用户注册协议.html"; sourceTree = "<group>"; };
 		71A3B091234D62C9004D73A5 /* HWAPI.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = HWAPI.h; sourceTree = "<group>"; };
 		71A3B092234D6CB4004D73A5 /* DemanHallDetailSignUpView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = DemanHallDetailSignUpView.h; sourceTree = "<group>"; };
@@ -743,8 +746,8 @@
 		712AF76E2334A32500EBD542 /* View */ = {
 			isa = PBXGroup;
 			children = (
-				712AF7732334A40400EBD542 /* BasicInformationCell.h */,
-				712AF7742334A40400EBD542 /* BasicInformationCell.m */,
+				712AF7732334A40400EBD542 /* BasicInfoCell.h */,
+				712AF7742334A40400EBD542 /* BasicInfoCell.m */,
 			);
 			path = View;
 			sourceTree = "<group>";
@@ -752,8 +755,8 @@
 		712AF76F2334A32500EBD542 /* ViewController */ = {
 			isa = PBXGroup;
 			children = (
-				712AF7702334A35000EBD542 /* BasicInformationViewController.h */,
-				712AF7712334A35000EBD542 /* BasicInformationViewController.m */,
+				712AF7702334A35000EBD542 /* BasicInfoViewController.h */,
+				712AF7712334A35000EBD542 /* BasicInfoViewController.m */,
 			);
 			path = ViewController;
 			sourceTree = "<group>";
@@ -814,8 +817,10 @@
 				712AF7902334C30700EBD542 /* MyOrderViewController.m */,
 				71A3B09B234DC6B7004D73A5 /* MyOrderDetailViewController.h */,
 				71A3B09C234DC6B7004D73A5 /* MyOrderDetailViewController.m */,
-				7133D5D723500B1A009BCCC1 /* MyOrderWebViewController.h */,
-				7133D5D823500B1A009BCCC1 /* MyOrderWebViewController.m */,
+				715685B52472342D00B04A55 /* MyOrderWebViewController.h */,
+				715685B42472342D00B04A55 /* MyOrderWebViewController.m */,
+				71494AFF246E962800628947 /* MyOrderQLPreviewController.h */,
+				71494B00246E962800628947 /* MyOrderQLPreviewController.m */,
 				71F9190C2383C80600E964CC /* MyOrderWebECOViewController.h */,
 				71F9190D2383C80600E964CC /* MyOrderWebECOViewController.m */,
 			);
@@ -894,8 +899,8 @@
 		7133D5E92351A852009BCCC1 /* ViewModel */ = {
 			isa = PBXGroup;
 			children = (
-				7133D5EA2351A8AF009BCCC1 /* BasicInformationViewModel.h */,
-				7133D5EB2351A8AF009BCCC1 /* BasicInformationViewModel.m */,
+				7133D5EA2351A8AF009BCCC1 /* BasicInfoViewModel.h */,
+				7133D5EB2351A8AF009BCCC1 /* BasicInfoViewModel.m */,
 			);
 			path = ViewModel;
 			sourceTree = "<group>";
@@ -1489,7 +1494,7 @@
 				712AF73E233454E100EBD542 /* DemanHallIndustryView.m in Sources */,
 				712AF6F72333124400EBD542 /* NSString+RdUtility.m in Sources */,
 				71A3B09D234DC6B7004D73A5 /* MyOrderDetailViewController.m in Sources */,
-				7133D5EC2351A8AF009BCCC1 /* BasicInformationViewModel.m in Sources */,
+				7133D5EC2351A8AF009BCCC1 /* BasicInfoViewModel.m in Sources */,
 				713828E32339BC86007256F4 /* PaymentRecordViewModel.m in Sources */,
 				713829032339E964007256F4 /* AddressPickViewView.m in Sources */,
 				712AF6FB2333124400EBD542 /* UIButton+ImageTitleSpace.m in Sources */,
@@ -1503,7 +1508,7 @@
 				713828EC2339C1C9007256F4 /* DemanHallMenuFilterView.m in Sources */,
 				71A3B094234D6CB4004D73A5 /* DemanHallDetailSignUpView.m in Sources */,
 				71EFFA4C23B9D91800DE0DFF /* GeneralSetViewController.m in Sources */,
-				712AF7722334A35000EBD542 /* BasicInformationViewController.m in Sources */,
+				712AF7722334A35000EBD542 /* BasicInfoViewController.m in Sources */,
 				712AF7332333739A00EBD542 /* DemanhallAddressAreaView.m in Sources */,
 				71EFFA5023B9D98400DE0DFF /* GeneralSetViewModel.m in Sources */,
 				712AF706233312FA00EBD542 /* UIView+AZGradient.m in Sources */,
@@ -1517,7 +1522,7 @@
 				712AF71D2333579300EBD542 /* DemanHallTagView.m in Sources */,
 				71373090233C634A00AF5F8E /* HWBaseAPIManager.m in Sources */,
 				713828C42338B704007256F4 /* UIView+HJLoadingViewAndErrorView.m in Sources */,
-				712AF7752334A40400EBD542 /* BasicInformationCell.m in Sources */,
+				712AF7752334A40400EBD542 /* BasicInfoCell.m in Sources */,
 				713828C72338BA63007256F4 /* DemanHallBannerView.m in Sources */,
 				713828BF2338AE07007256F4 /* HWRefreshHeaderView.m in Sources */,
 				713828D92339B9C1007256F4 /* MySignUpViewModel.m in Sources */,
@@ -1537,12 +1542,12 @@
 				712AF7302333738200EBD542 /* DemanhallAddressCityView.m in Sources */,
 				712AF756233471B100EBD542 /* FBScrollLayoutView.m in Sources */,
 				713828862336F251007256F4 /* HWConfirmPanelView.m in Sources */,
-				7133D5D923500B1A009BCCC1 /* MyOrderWebViewController.m in Sources */,
 				712AF7182333567C00EBD542 /* DemanHallCell.m in Sources */,
 				71382916233A1E30007256F4 /* HWProgressHUD.m in Sources */,
 				712AF6F82333124400EBD542 /* NSObject+Associate.m in Sources */,
 				712AF712233350BB00EBD542 /* DemanHallViewController.m in Sources */,
 				7138290C2339F324007256F4 /* HWAppUserProfile.m in Sources */,
+				715685B62472342D00B04A55 /* MyOrderWebViewController.m in Sources */,
 				712AF6D42333074400EBD542 /* LoginRegisterViewController.m in Sources */,
 				7101527F23C56B0100E14876 /* DemanHallDetailViewModel.m in Sources */,
 				7101528623C598E300E14876 /* MyOrderDetailViewModel.m in Sources */,
@@ -1550,6 +1555,7 @@
 				713E8DB02372662400EE66DC /* HWUpdateView.m in Sources */,
 				712AF7872334ADC300EBD542 /* UIViewController+HJNavBar.m in Sources */,
 				712AF79A2335AF7700EBD542 /* PaymentRecordCell.m in Sources */,
+				71494B01246E962800628947 /* MyOrderQLPreviewController.m in Sources */,
 				712AF72D2333737100EBD542 /* DemanhallAddressProvinceView.m in Sources */,
 				713828EF2339DC31007256F4 /* RegisterAgreementViewController.m in Sources */,
 				712AF7472334660B00EBD542 /* DemanHallPriceCell.m in Sources */,
@@ -1745,7 +1751,7 @@
 				DEVELOPMENT_TEAM = 6TLH64Q4Z4;
 				GCC_PREFIX_HEADER = "$(SRCROOT)/HappyWork/Support/HappyWork.pch";
 				INFOPLIST_FILE = HappyWork/Info.plist;
-				IPHONEOS_DEPLOYMENT_TARGET = 8.0;
+				IPHONEOS_DEPLOYMENT_TARGET = 9.0;
 				LD_RUNPATH_SEARCH_PATHS = (
 					"$(inherited)",
 					"@executable_path/Frameworks",
@@ -1767,7 +1773,7 @@
 				DEVELOPMENT_TEAM = 6TLH64Q4Z4;
 				GCC_PREFIX_HEADER = "$(SRCROOT)/HappyWork/Support/HappyWork.pch";
 				INFOPLIST_FILE = HappyWork/Info.plist;
-				IPHONEOS_DEPLOYMENT_TARGET = 8.0;
+				IPHONEOS_DEPLOYMENT_TARGET = 9.0;
 				LD_RUNPATH_SEARCH_PATHS = (
 					"$(inherited)",
 					"@executable_path/Frameworks",

BIN
HappyWork/HappyWork.xcworkspace/xcuserdata/zhangxiaoguang.xcuserdatad/UserInterfaceState.xcuserstate


+ 1 - 2
HappyWork/HappyWork/API/AFHttpTool/HWAFHttpTool.h

@@ -10,7 +10,7 @@
 
 @interface HWAFHttpTool : NSObject
 
-/**
+/*
  *  字典转Json
  *  @return json
  */
@@ -50,7 +50,6 @@
  *  @param imageArray 图片数组
  *  @param success    成功回调
  *  @param failure    失败回调
- *
  */
 + (void)postRequestWithURLStr:(NSString *)urlStr params:(NSDictionary *)params ImageDataArray:(NSMutableArray *)imageArray IsSingleImg:(BOOL)isSingle success:(void (^)(NSDictionary * responseDic))success failure:(void(^)(NSString* error))failure;
 

+ 23 - 23
HappyWork/HappyWork/API/AFHttpTool/HWAFHttpTool.m

@@ -17,9 +17,9 @@ static AFHTTPSessionManager *Photomanager;
 
 - (void)dealloc {
 
-//    DDLogDebug(@"--===---===-----===---==--=-");
 }
-/**字典转成Json字符串*/
+
+/*字典转成Json字符串*/
 + (NSString*)dictionaryToJson:(NSDictionary *)dic
 {
     NSData *jsonData = [NSJSONSerialization dataWithJSONObject:dic options:NSJSONWritingPrettyPrinted error:nil];
@@ -64,9 +64,7 @@ static AFHTTPSessionManager *Photomanager;
 
     NSString *newPath = [NSString stringWithFormat:@"%@",urlStr];
     
-    [manager GET:newPath parameters:params progress:^(NSProgress * _Nonnull downloadProgress) {
-        
-    } success:^(NSURLSessionDataTask * _Nonnull task, id  _Nullable responseObject) {
+    [manager GET:newPath parameters:params headers:nil progress:nil success:^(NSURLSessionDataTask * _Nonnull task, id  _Nullable responseObject) {
         
         [UIApplication sharedApplication].networkActivityIndicatorVisible = NO;
         NSDictionary *jsonDic = [NSJSONSerialization JSONObjectWithData:responseObject options:NSJSONReadingMutableContainers | NSJSONReadingMutableLeaves error:nil];
@@ -78,11 +76,12 @@ static AFHTTPSessionManager *Photomanager;
         }
         
     } failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {
-      
+        
         [UIApplication sharedApplication].networkActivityIndicatorVisible = NO;
         [weakSelf requestFailure:failure error:error];
         
     }];
+
 //    [self autoCancelRequestOnDealloc:manager];
 }
 
@@ -104,25 +103,25 @@ static AFHTTPSessionManager *Photomanager;
 
     manager.requestSerializer = [AFJSONRequestSerializer serializer];
     NSString *newPath = [NSString stringWithFormat:@"%@",urlStr];
-    [manager POST:newPath parameters:params constructingBodyWithBlock:^(id  _Nonnull formData) {
+    
+    [manager POST:newPath parameters:params headers:nil constructingBodyWithBlock:^(id<AFMultipartFormData>  _Nonnull formData) {
         
-    } progress:^(NSProgress * _Nonnull uploadProgress) {
-        // 这里可以获取到目前的数据请求的进度
-    } success:^(NSURLSessionDataTask * _Nonnull task, id  _Nullable responseObject) {
+    } progress:nil success:^(NSURLSessionDataTask * _Nonnull task, id  _Nullable responseObject) {
         
         [UIApplication sharedApplication].networkActivityIndicatorVisible = NO;
         NSDictionary *jsonDic = [NSJSONSerialization JSONObjectWithData:responseObject options:NSJSONReadingMutableContainers | NSJSONReadingMutableLeaves error:nil];
         if (success)
         {
-//            NSLog(@"参数:%@\nURL:%@ \ndata:%@",params,newPath,jsonDic);
+            DDLogDebug(@"参数:%@\nURL:%@ \ndata:%@",params,newPath,jsonDic);
             success(jsonDic);
         }
-
+        
     } failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {
         
         [UIApplication sharedApplication].networkActivityIndicatorVisible = NO;
         [weakSelf requestFailure:failure error:error];
     }];
+    
 //    [self autoCancelRequestOnDealloc:manager];
 }
 /*
@@ -174,7 +173,7 @@ static AFHTTPSessionManager *Photomanager;
     manager.responseSerializer = [AFHTTPResponseSerializer serializer];
     NSString *newPath = [NSString stringWithFormat:@"%@",urlStr];
     
-    [manager POST:newPath parameters:params constructingBodyWithBlock:^(id<AFMultipartFormData>  _Nonnull formData) {
+    [manager POST:newPath parameters:params headers:nil constructingBodyWithBlock:^(id<AFMultipartFormData>  _Nonnull formData) {
         
         if (isSingle == YES && imageArray.count > 0)
         {
@@ -197,17 +196,21 @@ static AFHTTPSessionManager *Photomanager;
     } progress:nil success:^(NSURLSessionDataTask * _Nonnull task, id  _Nullable responseObject) {
         
         [UIApplication sharedApplication].networkActivityIndicatorVisible = NO;
+               
         NSDictionary *jsonDic = [NSJSONSerialization JSONObjectWithData:responseObject options:NSJSONReadingMutableContainers | NSJSONReadingMutableLeaves error:nil];
+               
         if (success)
-        {
-            success(jsonDic);
-        }
+       {
+           success(jsonDic);
+       }
         
     } failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {
         
         [UIApplication sharedApplication].networkActivityIndicatorVisible = NO;
         [weakSelf requestFailure:failure error:error];
+        
     }];
+    
 //    [self autoCancelRequestOnDealloc:manager];
 }
 
@@ -216,11 +219,9 @@ static AFHTTPSessionManager *Photomanager;
 + (void)uploadImage:(UIImage *)successImage URL:(NSString *)URLString parameters:(id)parameters success:(void (^)(id responseDic))complete
 {
     
+    [HWProgressHUD fb_showLoading];
     AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];
     manager.responseSerializer = [AFHTTPResponseSerializer serializer];
-    
-    [HWProgressHUD fb_showLoading];
-    
     CGFloat imgWidth = successImage.size.width;
     CGFloat imgHieght = successImage.size.height;
     
@@ -264,7 +265,7 @@ static AFHTTPSessionManager *Photomanager;
         data = UIImagePNGRepresentation(compressImg);
     }
     
-    [manager POST:URLString parameters:parameters constructingBodyWithBlock:^(id<AFMultipartFormData>  _Nonnull formData) {
+    [manager POST:URLString parameters:parameters headers:nil constructingBodyWithBlock:^(id<AFMultipartFormData>  _Nonnull formData) {
         
         NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
         formatter.dateFormat = @"yyyyMMddHHmmss";
@@ -272,9 +273,7 @@ static AFHTTPSessionManager *Photomanager;
         NSString *fileName = [NSString stringWithFormat:@"%@.jpg",str];
         [formData appendPartWithFileData:data name:@"licenseFront" fileName:fileName mimeType:@"image/jpeg"];
         
-    } progress:^(NSProgress * _Nonnull uploadProgress) {
-        
-    } success:^(NSURLSessionDataTask * _Nonnull task, id  _Nullable responseObject) {
+    } progress:nil success:^(NSURLSessionDataTask * _Nonnull task, id  _Nullable responseObject) {
         
         [HWProgressHUD fb_dismiss];
         NSDictionary *jsonDic = [NSJSONSerialization JSONObjectWithData:responseObject options:NSJSONReadingMutableContainers | NSJSONReadingMutableLeaves error:nil];
@@ -285,6 +284,7 @@ static AFHTTPSessionManager *Photomanager;
         [HWProgressHUD fb_dismiss];
         DDLogDebug(@"%@",error);
     }];
+    
 //    [self autoCancelRequestOnDealloc:manager];
 }
 

+ 2 - 2
HappyWork/HappyWork/Base/BaseWKWebView.m

@@ -67,14 +67,14 @@
     }
 }
 
-#pragma mark - getter and setter
+#pragma mark - lazy
 
 - (UIProgressView *)myProgressView
 {
     if (_myProgressView == nil)
     {
         _myProgressView = [[UIProgressView alloc] init];
-        _myProgressView.tintColor = COLOR_GRAY_88;
+        _myProgressView.tintColor = COLOR_888A8E;
         _myProgressView.trackTintColor = [UIColor whiteColor];
     }
     return _myProgressView;

+ 1 - 1
HappyWork/HappyWork/Base/PageListTableView.h

@@ -26,7 +26,7 @@ DZNEmptyDataSetSource,
 DZNEmptyDataSetDelegate
 >
 
-@property (nonatomic, strong) HJBlankView *blankView;
+@property (nonatomic, strong) HJBlankView *blankView;//空白view
 @property (nonatomic, strong) UITableView *tableView;
 @property (nonatomic, assign) NSInteger   currentPage;//页数
 @property (nonatomic, strong) NSMutableDictionary *parametersDict;//参数字典

+ 9 - 6
HappyWork/HappyWork/Base/PageListTableView.m

@@ -15,8 +15,11 @@
     if (self = [super init])
     {
         [self initSubViews];
+        [self showLoadingView];
         self.currentPage = 1;
         self.firstLoading = YES;
+        
+        //公共参数
         [self.parametersDict setValue:[HWAppUserProfile sharedInstance].userId forKey:@"user_id"];
         [self.parametersDict setValue:[HWAppUserProfile sharedInstance].oauthToken forKey:@"user_token"];
         [self.parametersDict setValue:[HWAppUserProfile sharedInstance].enterpriseId forKey:@"platform_id"];
@@ -26,19 +29,19 @@
     return self;
 }
 
-/* 结束刷新操作 */
+/* 成功结束刷新操作 */
 - (void)successfulRefreshOperation {
     
     self.firstLoading = NO;
-    [self dismissErrorView];
-    [self dismissLoadingView];
+    [self dismissErrorView];//删除错误的view
+    [self dismissLoadingView];//删除下载的View
     [self.tableView.mj_header endRefreshing];
 }
 
-/* 结束错误刷新操作 */
+/* 失败结束错误刷新操作 */
 - (void)failRefreshOperation {
     
-    [self dismissLoadingView];
+    [self dismissLoadingView];//删除下载的View
     [self.tableView.mj_footer endRefreshing];
     [self.tableView.mj_header endRefreshing];
     if (self.firstLoading)
@@ -155,7 +158,7 @@
 //        _tableView.separatorInset = UIEdgeInsetsMake(0, 15, 0, 15);
         _tableView.mj_header = self.refreshHeader;
         _tableView.mj_footer = self.refreshFooter;
-        _tableView.backgroundColor = COLOR_GRAY_F5;
+        _tableView.backgroundColor = COLOR_F5F5F5;
     }
     return _tableView;
 }

+ 3 - 3
HappyWork/HappyWork/Class/DemandHall/DemanHall_详情/View/DemanHallDetailCompanyView.m

@@ -25,7 +25,7 @@
     
     if (self = [super initWithFrame:frame])
     {
-        self.backgroundColor = COLOR_GRAY_F5;
+        self.backgroundColor = COLOR_F5F5F5;
         [self initSubViews];
     }
     return self;
@@ -105,7 +105,7 @@
     {
         _companyLabel = [[UILabel alloc]init];
         _companyLabel.font = [UIFont systemFontOfSize:14];
-        _companyLabel.textColor = COLOR_BACK_31;
+        _companyLabel.textColor = COLOR_31364C;
     }
     return _companyLabel;
 }
@@ -124,7 +124,7 @@
     {
         _addressLabel = [[UILabel alloc]init];
         _addressLabel.font = [UIFont systemFontOfSize:13];
-        _addressLabel.textColor = COLOR_GRAY_88;
+        _addressLabel.textColor = COLOR_888A8E;
         _addressLabel.numberOfLines = 0;
     }
     return _addressLabel;

+ 5 - 5
HappyWork/HappyWork/Class/DemandHall/DemanHall_详情/View/DemanHallDetailHeaderView.m

@@ -25,7 +25,7 @@
     
     if (self = [super initWithFrame:frame])
     {
-        self.backgroundColor = COLOR_GRAY_F5;
+        self.backgroundColor = COLOR_F5F5F5;
         [self initSubViews];
     }
     return self;
@@ -113,7 +113,7 @@
     {
         _titleLabel = [[UILabel alloc]init];
         _titleLabel.font = [UIFont boldSystemFontOfSize:21];
-        _titleLabel.textColor = COLOR_BACK_31;
+        _titleLabel.textColor = COLOR_31364C;
         _titleLabel.textAlignment = NSTextAlignmentLeft;
     }
     return _titleLabel;
@@ -124,7 +124,7 @@
     {
         _moneylabel = [[UILabel alloc]init];
         _moneylabel.font = [UIFont boldSystemFontOfSize:12];
-        _moneylabel.textColor = COLOR_BLUE_32;
+        _moneylabel.textColor = COLOR_3243BD;
         _moneylabel.textAlignment = NSTextAlignmentRight;
         [_moneylabel setContentCompressionResistancePriority:UILayoutPriorityRequired forAxis:UILayoutConstraintAxisHorizontal];
     }
@@ -137,7 +137,7 @@
     {
         _timeBtn = [UIButton buttonWithType:UIButtonTypeCustom];
         _timeBtn.titleLabel.font = [UIFont systemFontOfSize:13];
-        [_timeBtn setTitleColor:COLOR_GRAY_88 forState:UIControlStateNormal];
+        [_timeBtn setTitleColor:COLOR_888A8E forState:UIControlStateNormal];
         [_timeBtn setImage:[UIImage imageNamed:@"demanHall_detail_time"] forState:UIControlStateNormal];
         [_timeBtn layoutButtonWithEdgeInsetsStyle:MKButtonEdgeInsetsStyleLeft imageTitleSpace:5];
     }
@@ -149,7 +149,7 @@
     {
         _numberBtn = [UIButton buttonWithType:UIButtonTypeCustom];
         _numberBtn.titleLabel.font = [UIFont systemFontOfSize:13];
-        [_numberBtn setTitleColor:COLOR_GRAY_88 forState:UIControlStateNormal];
+        [_numberBtn setTitleColor:COLOR_888A8E forState:UIControlStateNormal];
         [_numberBtn setImage:[UIImage imageNamed:@"demanHall_detail_number"] forState:UIControlStateNormal];
         [_numberBtn layoutButtonWithEdgeInsetsStyle:MKButtonEdgeInsetsStyleLeft imageTitleSpace:5];
     }

+ 1 - 1
HappyWork/HappyWork/Class/DemandHall/DemanHall_详情/View/DemanHallDetailPositionView.m

@@ -69,7 +69,7 @@
     {
         _detailLabel = [[UILabel alloc]init];
         _detailLabel.font = [UIFont systemFontOfSize:14];
-        _detailLabel.textColor = COLOR_BACK_53;
+        _detailLabel.textColor = COLOR_535768;
         _detailLabel.numberOfLines = 0;
     }
     return _detailLabel;

+ 8 - 8
HappyWork/HappyWork/Class/DemandHall/DemanHall_详情/View/DemanHallDetailSignUpView.m

@@ -140,7 +140,7 @@
     if (_bgView == nil)
     {
         _bgView = [[UIView alloc]init];
-        _bgView.backgroundColor = COLOR_GRAY_F5;
+        _bgView.backgroundColor = COLOR_F5F5F5;
         _bgView.layer.cornerRadius = 5;
         _bgView.layer.masksToBounds = YES;
     }
@@ -151,7 +151,7 @@
     if (_titleLabel == nil)
     {
         _titleLabel = [[UILabel alloc]init];
-        _titleLabel.textColor = COLOR_BACK_31;
+        _titleLabel.textColor = COLOR_31364C;
         _titleLabel.text = @"我的亮点";
         _titleLabel.font = [UIFont boldSystemFontOfSize:19];
     }
@@ -178,7 +178,7 @@
         _textView.layer.cornerRadius = 5;
         _textView.layer.masksToBounds = YES;
         _textView.layer.borderWidth = 1;
-        _textView.layer.borderColor = COLOR_GRAY_EA.CGColor;
+        _textView.layer.borderColor = COLOR_EAEBEE.CGColor;
         _textView.delegate = self;
     }
     return _textView;
@@ -190,7 +190,7 @@
         _cancelBtn = [UIButton buttonWithType:UIButtonTypeSystem];
         [_cancelBtn setTitle:@"取消" forState:UIControlStateNormal];
         _cancelBtn.titleLabel.font = [UIFont boldSystemFontOfSize:17];
-        [_cancelBtn setTitleColor:COLOR_BACK_31 forState:UIControlStateNormal];
+        [_cancelBtn setTitleColor:COLOR_31364C forState:UIControlStateNormal];
         [_cancelBtn addTarget:self action:@selector(cancelButtonClick) forControlEvents:UIControlEventTouchUpInside];
     }
     return _cancelBtn;
@@ -202,7 +202,7 @@
         _doneBtn = [UIButton buttonWithType:UIButtonTypeSystem];
         [_doneBtn setTitle:@"确认报名" forState:UIControlStateNormal];
         _doneBtn.titleLabel.font = [UIFont boldSystemFontOfSize:17];
-        [_doneBtn setTitleColor:COLOR_BACK_31 forState:UIControlStateNormal];
+        [_doneBtn setTitleColor:COLOR_31364C forState:UIControlStateNormal];
         [_doneBtn addTarget:self action:@selector(cancelButtonClick) forControlEvents:UIControlEventTouchUpInside];
     }
     return _doneBtn;
@@ -212,7 +212,7 @@
     if (_lineView == nil)
     {
         _lineView = [[UIView alloc]init];
-        _lineView.backgroundColor = COLOR_GRAY_EA;
+        _lineView.backgroundColor = COLOR_EAEBEE;
     }
     return _lineView;
 }
@@ -221,7 +221,7 @@
     if (_verticalView == nil)
     {
         _verticalView = [[UIView alloc]init];
-        _verticalView.backgroundColor = COLOR_GRAY_EA;
+        _verticalView.backgroundColor = COLOR_EAEBEE;
     }
     return _verticalView;
 }
@@ -232,7 +232,7 @@
         _plLabel = [[UILabel alloc]init];
         _plLabel.text = @"填写亮点更容易获得发布者的青睐,该项为选填项。";
         _plLabel.font = [UIFont systemFontOfSize:16];
-        _plLabel.textColor = COLOR_GRAY_88;
+        _plLabel.textColor = COLOR_888A8E;
         _plLabel.numberOfLines = 0;
     }
     return _plLabel;

+ 12 - 9
HappyWork/HappyWork/Class/DemandHall/DemanHall_详情/ViewController/DemanHallDetailViewController.m

@@ -32,6 +32,8 @@ FBScrollLayoutViewDelegate
 
 @implementation DemanHallDetailViewController
 
+#pragma mark - life cycle
+
 - (void)viewWillAppear:(BOOL)animated {
     
     [super viewWillAppear:animated];
@@ -43,8 +45,8 @@ FBScrollLayoutViewDelegate
     
     self.navigationItem.title = @"需求详情";
     [self hj_setupNavBar];
-    [self requestDetailData];
     [self initSubViews];
+    [self requestDetailData];
     [self.view.errorView.refreshButton addTarget:self action:@selector(refreshButtonClicked:) forControlEvents:UIControlEventTouchUpInside];
 }
 
@@ -97,7 +99,8 @@ FBScrollLayoutViewDelegate
     
     [scrollLayoutView mas_makeConstraints:^(MASConstraintMaker *make) {
         
-        make.edges.equalTo(self.view);
+        make.left.top.right.equalTo(self.view).offset(0);
+        make.bottom.equalTo(self.mas_bottomLayoutGuide).offset(0);
     }];
 }
 - (void)subviewsMakeConstraintsInScrollLayoutView:(FBScrollLayoutView *)scrollLayoutView contentView:(UIView *)contentView {
@@ -124,14 +127,14 @@ FBScrollLayoutViewDelegate
 }
 - (void)subviewsMakeConstraintsInScrollLayoutView:(FBScrollLayoutView *)scrollLayoutView footerView:(UIView *)footerView {
     
-    [self.signupBtn mas_makeConstraints:^(MASConstraintMaker *make) {
+    [footerView mas_makeConstraints:^(MASConstraintMaker *make) {
         
-        make.left.equalTo(footerView.mas_left).offset(15);
-        make.top.equalTo(footerView.mas_top).offset(10);
-        make.right.equalTo(footerView.mas_right).offset(-15);
-        make.bottom.equalTo(footerView.mas_bottomMargin).offset(-10);
-        make.height.mas_equalTo(44);
+        make.height.mas_equalTo(64);
     }];
+    [self.signupBtn mas_makeConstraints:^(MASConstraintMaker *make) {
+        make.edges.equalTo(footerView).with.insets(UIEdgeInsetsMake(10, 15, 10, 15));
+    }];
+
 }
 
 #pragma mark - event response
@@ -179,7 +182,7 @@ FBScrollLayoutViewDelegate
     {
         _scrollLayoutView = [[FBScrollLayoutView alloc] init];
         _scrollLayoutView.delegate = self;
-        _scrollLayoutView.scrollView.backgroundColor = COLOR_GRAY_F5;
+        _scrollLayoutView.scrollView.backgroundColor = COLOR_F5F5F5;
         // 去除顶部空白
         if (@available(iOS 11.0, *))
         {

+ 4 - 5
HappyWork/HappyWork/Class/DemandHall/DemanHall_详情/ViewModel/DemanHallDetailViewModel.m

@@ -16,12 +16,12 @@
 
 /* 详情 */
 - (void)requestDetailData:(NSDictionary *)paramDict currentView:(UIView *)view backData:(void(^)(NSDictionary *dataDict))detailBlock {
-    
-    [HWProgressHUD fb_showLoading];
+
+    [view showLoadingView];
     [HWAFHttpTool getRequestWithURLStr:get_Requirement_Detail params:paramDict success:^(NSDictionary *responseDic) {
         
         [view dismissErrorView];
-        [HWProgressHUD fb_dismiss];
+        [view dismissLoadingView];
         if ([responseDic[@"errcode"] integerValue] == 0)
         {
             detailBlock(responseDic);
@@ -34,10 +34,9 @@
         
     } failure:^(NSString *error) {
         
-        [HWProgressHUD fb_dismiss];
+        [view dismissLoadingView];
         [view showErrorView];
         [HWProgressHUD fb_showFailureWithStatus:error];
-        
     }];
     
 }

+ 8 - 8
HappyWork/HappyWork/Class/DemandHall/Menu_筛选视图/DemanHallMenuFilterView.m

@@ -240,9 +240,9 @@ DemanHallPriceViewDelegate
     if (_addressBtn == nil)
     {
         _addressBtn = [UIButton buttonWithType:UIButtonTypeCustom];
-        [_addressBtn setTitleColor:COLOR_BACK_53 forState:UIControlStateNormal];
+        [_addressBtn setTitleColor:COLOR_535768 forState:UIControlStateNormal];
         _addressBtn.titleLabel.font = [UIFont systemFontOfSize:14];
-        _addressBtn.backgroundColor = COLOR_GRAY_F5;
+        _addressBtn.backgroundColor = COLOR_F5F5F5;
         _addressBtn.layer.cornerRadius = 5;
         _addressBtn.layer.masksToBounds = YES;
         [_addressBtn addTarget:self action:@selector(addressButtonClick:) forControlEvents:UIControlEventTouchUpInside];
@@ -258,10 +258,10 @@ DemanHallPriceViewDelegate
         _industryBtn = [UIButton buttonWithType:UIButtonTypeCustom];
         _industryBtn.selected = NO;
         [_industryBtn setTitle:@"行业" forState:UIControlStateNormal];
-        [_industryBtn setTitleColor:COLOR_BACK_53 forState:UIControlStateNormal];
-        [_industryBtn setTitleColor:COLOR_BLUE_32 forState:UIControlStateSelected];
+        [_industryBtn setTitleColor:COLOR_535768 forState:UIControlStateNormal];
+        [_industryBtn setTitleColor:COLOR_3243BD forState:UIControlStateSelected];
         _industryBtn.titleLabel.font = [UIFont systemFontOfSize:14];
-        _industryBtn.backgroundColor = COLOR_GRAY_F5;
+        _industryBtn.backgroundColor = COLOR_F5F5F5;
         _industryBtn.layer.cornerRadius = 5;
         _industryBtn.layer.masksToBounds = YES;
         [_industryBtn setImage:[UIImage imageNamed:@"empty_black_top"] forState:UIControlStateNormal];
@@ -277,10 +277,10 @@ DemanHallPriceViewDelegate
         _priceBtn = [UIButton buttonWithType:UIButtonTypeCustom];
         _priceBtn.selected = NO;
         [_priceBtn setTitle:@"单价" forState:UIControlStateNormal];
-        [_priceBtn setTitleColor:COLOR_BACK_53 forState:UIControlStateNormal];
-        [_priceBtn setTitleColor:COLOR_BLUE_32 forState:UIControlStateSelected];
+        [_priceBtn setTitleColor:COLOR_535768 forState:UIControlStateNormal];
+        [_priceBtn setTitleColor:COLOR_3243BD forState:UIControlStateSelected];
         _priceBtn.titleLabel.font = [UIFont systemFontOfSize:14];
-        _priceBtn.backgroundColor = COLOR_GRAY_F5;
+        _priceBtn.backgroundColor = COLOR_F5F5F5;
         _priceBtn.layer.cornerRadius = 5;
         _priceBtn.layer.masksToBounds = YES;
         [_priceBtn setImage:[UIImage imageNamed:@"empty_black_top"] forState:UIControlStateNormal];

+ 2 - 2
HappyWork/HappyWork/Class/DemandHall/Menu_筛选视图/选择价格/DemanHallPriceView.m

@@ -51,13 +51,13 @@
     {
         
         cell.nameLabel.font = [UIFont boldSystemFontOfSize:14];
-        cell.nameLabel.textColor = COLOR_BACK_31;
+        cell.nameLabel.textColor = COLOR_31364C;
     }
     else
     {
        
         cell.nameLabel.font = [UIFont systemFontOfSize:14];
-        cell.nameLabel.textColor = COLOR_BACK_53;
+        cell.nameLabel.textColor = COLOR_535768;
     }
     return cell;
     

+ 1 - 1
HappyWork/HappyWork/Class/DemandHall/Menu_筛选视图/选择地区/DemanHallAddressCell.m

@@ -36,7 +36,7 @@
     if (_namelabel == nil)
     {
         _namelabel = [[UILabel alloc]init];
-        _namelabel.textColor = COLOR_BACK_31;
+        _namelabel.textColor = COLOR_31364C;
         _namelabel.numberOfLines = 0;
         _namelabel.font = [UIFont systemFontOfSize:14];
     }

+ 1 - 1
HappyWork/HappyWork/Class/DemandHall/Menu_筛选视图/选择地区/DemanHallAddressViewController.m

@@ -136,7 +136,7 @@
     {
         _naviBarView = [[DemanHallNaviBarView alloc]init];
         _naviBarView.titleLabel.text = @"全部区域";
-        _naviBarView.lineView.backgroundColor = COLOR_GRAY_F5;
+        _naviBarView.lineView.backgroundColor = COLOR_F5F5F5;
         [_naviBarView.rigthBtn setImage:[UIImage imageNamed:@"errorsign_delete"] forState:UIControlStateNormal];
         [_naviBarView.rigthBtn addTarget:self action:@selector(deletaButtonClick:) forControlEvents:UIControlEventTouchUpInside];
     }

+ 2 - 2
HappyWork/HappyWork/Class/DemandHall/Menu_筛选视图/选择地区/DemanhallAddressAreaView.m

@@ -81,12 +81,12 @@
     if ([dict[@"select"] boolValue])
     {
         cell.namelabel.font = [UIFont boldSystemFontOfSize:14];
-        cell.namelabel.textColor = COLOR_BACK_31;
+        cell.namelabel.textColor = COLOR_31364C;
     }
     else
     {
         cell.namelabel.font = [UIFont systemFontOfSize:14];
-        cell.namelabel.textColor = COLOR_GRAY_88;
+        cell.namelabel.textColor = COLOR_888A8E;
     }
     return cell;
 }

+ 3 - 3
HappyWork/HappyWork/Class/DemandHall/Menu_筛选视图/选择地区/DemanhallAddressCityView.m

@@ -107,12 +107,12 @@
     if ([dict[@"select"] boolValue])
     {
         cell.namelabel.font = [UIFont boldSystemFontOfSize:14];
-        cell.namelabel.textColor = COLOR_BACK_31;
+        cell.namelabel.textColor = COLOR_31364C;
     }
     else
     {
         cell.namelabel.font = [UIFont systemFontOfSize:14];
-        cell.namelabel.textColor = COLOR_GRAY_88;
+        cell.namelabel.textColor = COLOR_888A8E;
     }
     return cell;
 }
@@ -161,7 +161,7 @@
     if (_lineView == nil)
     {
         _lineView = [[UIView alloc]init];
-        _lineView.backgroundColor = COLOR_GRAY_F5;
+        _lineView.backgroundColor = COLOR_F5F5F5;
     }
     return _lineView;
 }

+ 1 - 1
HappyWork/HappyWork/Class/DemandHall/Menu_筛选视图/选择地区/DemanhallAddressProvinceView.m

@@ -82,7 +82,7 @@
     }
     else
     {
-        cell.backgroundColor = COLOR_GRAY_F5;
+        cell.backgroundColor = COLOR_F5F5F5;
         cell.namelabel.font = [UIFont systemFontOfSize:14];
     }
     return cell;

+ 1 - 1
HappyWork/HappyWork/Class/DemandHall/Menu_筛选视图/选择行业/DemanHallIndustryCCell.m

@@ -58,7 +58,7 @@
     if (_nameLabel == nil)
     {
         _nameLabel = [[UILabel alloc]init];
-        _nameLabel.textColor = COLOR_GRAY_88;
+        _nameLabel.textColor = COLOR_888A8E;
         _nameLabel.font = [UIFont systemFontOfSize:14];
     }
     return _nameLabel;

+ 3 - 3
HappyWork/HappyWork/Class/DemandHall/Menu_筛选视图/选择行业/DemanHallIndustryView.m

@@ -54,15 +54,15 @@
     cell.nameLabel.text = self.listArray[indexPath.row][@"name"];
     if ([self.listArray[indexPath.row][@"select"] boolValue])
     {
-        cell.bgView.backgroundColor = COLOR_GRAY_EA;
+        cell.bgView.backgroundColor = COLOR_EAEBEE;
         cell.nameLabel.font = [UIFont boldSystemFontOfSize:14];
-        cell.nameLabel.textColor = COLOR_BACK_31;
+        cell.nameLabel.textColor = COLOR_31364C;
     }
     else
     {
         cell.bgView.backgroundColor = [UIColor colorFromHexString:@"F8F8F8"];
         cell.nameLabel.font = [UIFont systemFontOfSize:14];
-        cell.nameLabel.textColor = COLOR_GRAY_88;
+        cell.nameLabel.textColor = COLOR_888A8E;
     }
     return cell ;
     

+ 2 - 10
HappyWork/HappyWork/Class/DemandHall/ViewController/DemanHallViewController.m

@@ -48,7 +48,7 @@ PageListTableViewDelegate
 
 - (void)initSubViews {
     
-    self.view.backgroundColor = COLOR_GRAY_F5;
+    self.view.backgroundColor = COLOR_F5F5F5;
     [self.view addSubview:self.naviBarView];
     [self.view addSubview:self.tableView];
     
@@ -142,13 +142,6 @@ PageListTableViewDelegate
        return CGFLOAT_MIN;
     }
 }
-//- (UIView *)tableView:(UITableView *)tableView viewForFooterInSection:(NSInteger)section {
-//    return nil;
-//}
-//- (CGFloat)tableView:(UITableView *)tableView heightForFooterInSection:(NSInteger)section {
-//
-//    return CGFLOAT_MIN;
-//}
 - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
     
     if (indexPath.section == 1)
@@ -225,7 +218,7 @@ PageListTableViewDelegate
     [self.navigationController pushViewController:vc animated:YES];
 }
 
-#pragma mark - setter and getter
+#pragma mark - lazy
 
 - (PageListTableView *)tableView {
     
@@ -235,7 +228,6 @@ PageListTableViewDelegate
         _tableView.delagete = self;
         _tableView.tableView.delegate = self;
         _tableView.tableView.dataSource = self.viewModel;
-
     }
     return _tableView;
 }

+ 1 - 1
HappyWork/HappyWork/Class/DemandHall/Views/Cell/DemanHallBannerCell.m

@@ -64,7 +64,7 @@
         _scrollView.bannerImageViewContentMode = UIViewContentModeScaleAspectFill;
         //去除超出原视图的部分
         _scrollView.clipsToBounds = YES;
-        _scrollView.pageControlStyle = SDCycleScrollViewPageContolStyleAnimated;
+//        _scrollView.pageControlStyle = SDCycleScrollViewPageContolStyleAnimated;
     }
     return _scrollView;
 }

+ 5 - 5
HappyWork/HappyWork/Class/DemandHall/Views/Cell/DemanHallCell.m

@@ -25,7 +25,7 @@
     if (self = [super initWithStyle:style reuseIdentifier:reuseIdentifier])
     {
         self.selectionStyle = UITableViewCellSelectionStyleNone;
-        self.backgroundColor = COLOR_GRAY_F5;
+        self.backgroundColor = COLOR_F5F5F5;
         [self initSubViews];
     }
     return self;
@@ -100,7 +100,7 @@
     if (_titleLabel == nil)
     {
         _titleLabel = [[UILabel alloc]init];
-        _titleLabel.textColor = COLOR_BACK_31;
+        _titleLabel.textColor = COLOR_31364C;
         _titleLabel.font = [UIFont boldSystemFontOfSize:17];
         _titleLabel.textAlignment = NSTextAlignmentLeft;
     }
@@ -111,7 +111,7 @@
     if (_moneyLabel == nil)
     {
         _moneyLabel = [[UILabel alloc]init];
-        _moneyLabel.textColor = COLOR_BLUE_32;
+        _moneyLabel.textColor = COLOR_3243BD;
         _moneyLabel.font = [UIFont boldSystemFontOfSize:14];
         _moneyLabel.textAlignment = NSTextAlignmentRight;
         [_moneyLabel setContentCompressionResistancePriority:UILayoutPriorityRequired forAxis:UILayoutConstraintAxisHorizontal];
@@ -123,7 +123,7 @@
     if (_companyLabel == nil)
     {
         _companyLabel = [[UILabel alloc]init];
-        _companyLabel.textColor = COLOR_BACK_31;
+        _companyLabel.textColor = COLOR_31364C;
         _companyLabel.font = [UIFont systemFontOfSize:14];
         _companyLabel.textAlignment = NSTextAlignmentLeft;
     }
@@ -134,7 +134,7 @@
     if (_timeLabel == nil)
     {
         _timeLabel = [[UILabel alloc]init];
-        _timeLabel.textColor = COLOR_GRAY_88;
+        _timeLabel.textColor = COLOR_888A8E;
         _timeLabel.font = [UIFont systemFontOfSize:12];
         _timeLabel.textAlignment = NSTextAlignmentRight;
         [_timeLabel setContentCompressionResistancePriority:UILayoutPriorityRequired forAxis:UILayoutConstraintAxisHorizontal];

+ 1 - 1
HappyWork/HappyWork/Class/DemandHall/Views/Cell/DemanHallEmptyCell.m

@@ -26,7 +26,7 @@
     if (self = [super initWithStyle:style reuseIdentifier:reuseIdentifier])
     {
         self.selectionStyle = UITableViewCellSelectionStyleNone;
-        self.contentView.backgroundColor = COLOR_GRAY_F5;
+        self.contentView.backgroundColor = COLOR_F5F5F5;
         [self.contentView addSubview:self.iconImageV];
         [self.contentView addSubview:self.detalLabel];
         [self.iconImageV mas_makeConstraints:^(MASConstraintMaker *make) {

+ 2 - 2
HappyWork/HappyWork/Class/DemandHall/Views/Cell/DemanHallTagView.m

@@ -19,7 +19,7 @@
     
     if (self = [super initWithFrame:frame])
     {
-        self.backgroundColor = COLOR_GRAY_F5;
+        self.backgroundColor = COLOR_F5F5F5;
         self.layer.cornerRadius = 5;
         self.layer.masksToBounds = YES;
         [self initSubViews];
@@ -53,7 +53,7 @@
     if (_taglabel == nil)
     {
         _taglabel = [[UILabel alloc]init];
-        _taglabel.textColor = COLOR_BACK_53;
+        _taglabel.textColor = COLOR_535768;
         _taglabel.font = [UIFont systemFontOfSize:12];
     }
     return _taglabel;

+ 1 - 1
HappyWork/HappyWork/Class/DemandHall/Views/View/DemanHallNaviBarView.m

@@ -62,7 +62,7 @@
         _titleLabel = [[UILabel alloc]init];
         _titleLabel.text = @"需求大厅";
         _titleLabel.font = [UIFont boldSystemFontOfSize:19];
-        _titleLabel.textColor = COLOR_BACK_31;
+        _titleLabel.textColor = COLOR_31364C;
     }
     return _titleLabel;
 }

+ 6 - 6
HappyWork/HappyWork/Class/DemandHall/Views/View/HWUpdateView.m

@@ -161,7 +161,7 @@
     if (_bgView == nil)
     {
         _bgView = [[UIView alloc]init];
-        _bgView.backgroundColor = COLOR_GRAY_F5;
+        _bgView.backgroundColor = COLOR_F5F5F5;
     }
     return _bgView;
 }
@@ -181,7 +181,7 @@
     {
         _titleLabel = [[UILabel alloc]init];
         _titleLabel.font = [UIFont boldSystemFontOfSize:19];
-        _titleLabel.textColor = COLOR_BACK_31;
+        _titleLabel.textColor = COLOR_31364C;
         _titleLabel.text = @"发现可用的新版本!";
     }
     return _titleLabel;
@@ -192,7 +192,7 @@
     {
         _detailLabel = [[UILabel alloc]init];
         _detailLabel.font = [UIFont systemFontOfSize:16];
-        _detailLabel.textColor = COLOR_GRAY_88;
+        _detailLabel.textColor = COLOR_888A8E;
         _detailLabel.numberOfLines = 0;
     }
     return _detailLabel;
@@ -202,7 +202,7 @@
     if (_liveView == nil)
     {
         _liveView = [[UIView alloc]init];
-        _liveView.backgroundColor = COLOR_BACK_CD;
+        _liveView.backgroundColor = COLOR_CCCCCC;
     }
     return _liveView;
 }
@@ -212,7 +212,7 @@
     {
         _cancelBtn = [UIButton buttonWithType:UIButtonTypeCustom];
         [_cancelBtn setTitle:@"稍后再说" forState:UIControlStateNormal];
-        [_cancelBtn setTitleColor:COLOR_GRAY_88 forState:UIControlStateNormal];
+        [_cancelBtn setTitleColor:COLOR_888A8E forState:UIControlStateNormal];
         _cancelBtn.titleLabel.font = [UIFont systemFontOfSize:17];
         [_cancelBtn addTarget:self action:@selector(cancelButtonClick:) forControlEvents:UIControlEventTouchUpInside];
     }
@@ -224,7 +224,7 @@
     {
         _doneBtn = [UIButton buttonWithType:UIButtonTypeCustom];
         [_doneBtn setTitle:@"立刻升级" forState:UIControlStateNormal];
-        [_doneBtn setTitleColor:COLOR_GRAY_F5 forState:UIControlStateNormal];
+        [_doneBtn setTitleColor:COLOR_F5F5F5 forState:UIControlStateNormal];
         _doneBtn.titleLabel.font = [UIFont boldSystemFontOfSize:17];
         _doneBtn.backgroundColor = [UIColor colorFromHexString:@"823BFF"];
         [_doneBtn addTarget:self action:@selector(doneButtonClick:) forControlEvents:UIControlEventTouchUpInside];

+ 4 - 4
HappyWork/HappyWork/Class/LoginRegister/View/LoginRegisterView.m

@@ -101,7 +101,7 @@
     if (_titleLabel == nil)
     {
         _titleLabel = [[UILabel alloc]init];
-        _titleLabel.textColor = COLOR_BACK_31;
+        _titleLabel.textColor = COLOR_31364C;
         _titleLabel.font = [UIFont boldSystemFontOfSize:21];
         _titleLabel.text = @"登录/注册";
     }
@@ -123,21 +123,21 @@
     {
         _agreementLabel = [[UITextView alloc]init];
         _agreementLabel.backgroundColor = [UIColor whiteColor];
-        _agreementLabel.textColor = COLOR_GRAY_8B;
+        _agreementLabel.textColor = COLOR_8B8D91;
         _agreementLabel.font = [UIFont systemFontOfSize:12];
         _agreementLabel.delegate = self;
         _agreementLabel.editable = NO;  //必须禁止输入,否则点击将弹出输入键盘
         _agreementLabel.scrollEnabled = NO;
         //特殊字体添加点击事件
         NSMutableAttributedString *attributedString = [[NSMutableAttributedString alloc] initWithString:@"未注册开心工作的手机号将自动注册,且代表您已经同意:《用户注册协议》"];
-        [attributedString addAttribute:NSForegroundColorAttributeName value:COLOR_GRAY_8B range:NSMakeRange(0, [NSString stringWithFormat:@"未注册开心工作的手机号将自动注册,且代表您已经同意:"].length)];
+        [attributedString addAttribute:NSForegroundColorAttributeName value:COLOR_8B8D91 range:NSMakeRange(0, [NSString stringWithFormat:@"未注册开心工作的手机号将自动注册,且代表您已经同意:"].length)];
         [attributedString addAttribute:NSLinkAttributeName
                                  value:@"loginAgreement://"
                                  range:[[attributedString string] rangeOfString:@"《用户注册协议》"]];
         [attributedString addAttribute:NSFontAttributeName value:[UIFont boldSystemFontOfSize:12] range:NSMakeRange(0, attributedString.length)];
         
         _agreementLabel.attributedText = attributedString;
-        _agreementLabel.linkTextAttributes = @{NSForegroundColorAttributeName: COLOR_BLUE_32,
+        _agreementLabel.linkTextAttributes = @{NSForegroundColorAttributeName: COLOR_3243BD,
                                           NSUnderlineColorAttributeName: [UIColor lightGrayColor],
                                           NSUnderlineStyleAttributeName: @(NSUnderlinePatternSolid)};
     }

+ 7 - 7
HappyWork/HappyWork/Class/LoginRegister/View/PhoneAndCodeView.m

@@ -70,10 +70,10 @@
     {
         _phoneTF = [[UITextField alloc]init];
         
-        NSMutableAttributedString *attrString = [[NSMutableAttributedString alloc] initWithString:@"请输入手机号码" attributes:@{NSForegroundColorAttributeName:COLOR_BACK_C}];
+        NSMutableAttributedString *attrString = [[NSMutableAttributedString alloc] initWithString:@"请输入手机号码" attributes:@{NSForegroundColorAttributeName:COLOR_CCCCCC}];
         _phoneTF.attributedPlaceholder = attrString;
         _phoneTF.font = [UIFont systemFontOfSize:15];
-        _phoneTF.textColor = COLOR_BACK_31;
+        _phoneTF.textColor = COLOR_31364C;
         _phoneTF.keyboardType = UIKeyboardTypeNumberPad;
     }
     return _phoneTF;
@@ -83,7 +83,7 @@
     if (_phoneView == nil)
     {
         _phoneView = [[UIView alloc]init];
-        _phoneView.backgroundColor = COLOR_GRAY_EA;
+        _phoneView.backgroundColor = COLOR_EAEBEE;
     }
     return _phoneView;
 }
@@ -93,10 +93,10 @@
     {
         _codeTF = [[UITextField alloc]init];
         
-        NSMutableAttributedString *attrString = [[NSMutableAttributedString alloc] initWithString:@"请输入短信验证码" attributes:@{NSForegroundColorAttributeName:COLOR_BACK_C}];
+        NSMutableAttributedString *attrString = [[NSMutableAttributedString alloc] initWithString:@"请输入短信验证码" attributes:@{NSForegroundColorAttributeName:COLOR_CCCCCC}];
         _codeTF.attributedPlaceholder = attrString;
         _codeTF.font = [UIFont systemFontOfSize:15];
-        _codeTF.textColor = COLOR_BACK_31;
+        _codeTF.textColor = COLOR_31364C;
         _codeTF.keyboardType = UIKeyboardTypeNumberPad;
     }
     return _codeTF;
@@ -108,7 +108,7 @@
         _codeBtn = [UIButton buttonWithType:UIButtonTypeCustom];
         [_codeBtn setTitle:@"获取短信验证码" forState:UIControlStateNormal];
         _codeBtn.titleLabel.font = [UIFont systemFontOfSize:15];
-        [_codeBtn setTitleColor:COLOR_BLUE_32 forState:UIControlStateNormal];
+        [_codeBtn setTitleColor:COLOR_3243BD forState:UIControlStateNormal];
     }
     return _codeBtn;
 }
@@ -117,7 +117,7 @@
     if (_codeView == nil)
     {
         _codeView = [[UIView alloc]init];
-        _codeView.backgroundColor = COLOR_GRAY_EA;
+        _codeView.backgroundColor = COLOR_EAEBEE;
     }
     return _codeView;
 }

+ 2 - 2
HappyWork/HappyWork/Class/LoginRegister/View/RegisterUserView.m

@@ -71,7 +71,7 @@
         _detailLabel = [[UILabel alloc]init];
         _detailLabel.font = [UIFont systemFontOfSize:14];
         _detailLabel.textAlignment = NSTextAlignmentCenter;
-        _detailLabel.textColor = COLOR_BACK_31;
+        _detailLabel.textColor = COLOR_31364C;
         _detailLabel.numberOfLines = 0;
         _detailLabel.text = @"欢迎进入开心灵工平台, \n如果您有承揽需求,欢迎联系我们:";
     }
@@ -82,7 +82,7 @@
     if (_phoneBtn == nil)
     {
         _phoneBtn = [UIButton buttonWithType:UIButtonTypeCustom];
-        [_phoneBtn setTitleColor:COLOR_BACK_31 forState:UIControlStateNormal];
+        [_phoneBtn setTitleColor:COLOR_31364C forState:UIControlStateNormal];
         _phoneBtn.titleLabel.font = [UIFont boldSystemFontOfSize:17];
         [_phoneBtn setTitle:@"400-692-0099" forState:UIControlStateNormal];
         [_phoneBtn setImage:[UIImage imageNamed:@"registerUser_phone"] forState:UIControlStateNormal];

+ 2 - 2
HappyWork/HappyWork/Class/LoginRegister/ViewController/LoginRegisterViewController.m

@@ -151,13 +151,13 @@
 - (void)runTimer {
     
     self.second -- ;
-    [self.loginView.phoneView.codeBtn setTitleColor:COLOR_GRAY_88 forState:UIControlStateNormal];
+    [self.loginView.phoneView.codeBtn setTitleColor:COLOR_888A8E forState:UIControlStateNormal];
     [self.loginView.phoneView.codeBtn setTitle:[NSString stringWithFormat:@"重新发送(%ld秒)",(long)_second] forState:UIControlStateNormal];
     if (self.second <= 0)
     {
         self.loginView.phoneView.codeBtn.userInteractionEnabled = YES;
         [self.loginView.phoneView.codeBtn setTitle:@"重新发送" forState:UIControlStateNormal];
-        [self.loginView.phoneView.codeBtn setTitleColor:COLOR_BLUE_32 forState:UIControlStateNormal];
+        [self.loginView.phoneView.codeBtn setTitleColor:COLOR_3243BD forState:UIControlStateNormal];
         [self.timer invalidate];
         self.timer = nil;
     }

+ 3 - 3
HappyWork/HappyWork/Class/PersonalCenter/View/PersonalCenterCell.m

@@ -52,7 +52,7 @@
         make.height.mas_equalTo(1);
     }];
 }
-#pragma mark - setter and getter
+#pragma mark - lazy
 
 - (UIImageView *)leftImageV {
     
@@ -68,7 +68,7 @@
     {
         _titleLabel = [[UILabel alloc]init];
         _titleLabel.font = [UIFont systemFontOfSize:14];
-        _titleLabel.textColor = COLOR_BACK_31;
+        _titleLabel.textColor = COLOR_31364C;
     }
     return _titleLabel;
 }
@@ -86,7 +86,7 @@
     if (_lineView == nil)
     {
         _lineView = [[UIView alloc]init];
-        _lineView.backgroundColor = COLOR_GRAY_F5;
+        _lineView.backgroundColor = COLOR_F5F5F5;
     }
     return _lineView;
 }

+ 1 - 1
HappyWork/HappyWork/Class/PersonalCenter/View/PersonalCenterHeaderCell.m

@@ -94,7 +94,7 @@
     {
         _nameLabel = [[UILabel alloc]init];
         _nameLabel.font = [UIFont boldSystemFontOfSize:16];
-        _nameLabel.textColor = COLOR_BACK_31;
+        _nameLabel.textColor = COLOR_31364C;
     }
     return _nameLabel;
 }

+ 6 - 6
HappyWork/HappyWork/Class/PersonalCenter/ViewController/PersonalCenterViewController.m

@@ -8,7 +8,7 @@
 
 #import "PersonalCenterViewController.h"
 #import "PersonalCenterViewModel.h"
-#import "BasicInformationViewController.h"//设置
+#import "BasicInfoViewController.h"//设置
 #import "MySignUpViewController.h"//我的报名
 #import "MyOrderViewController.h"//我的订单
 #import "PaymentRecordViewController.h"//收款记录
@@ -79,7 +79,7 @@ HWConfirmPanelViewDelegate
     // 设置
     self.viewModel.setBlock = ^{
         
-        BasicInformationViewController *setVC = [[BasicInformationViewController alloc]init];
+        BasicInfoViewController *setVC = [[BasicInfoViewController alloc]init];
         setVC.userDict = weakSlef.viewModel.userDict;
         [weakSlef.navigationController pushViewController:setVC animated:YES];
     };
@@ -111,7 +111,7 @@ HWConfirmPanelViewDelegate
 - (UIView *)tableView:(UITableView *)tableView viewForFooterInSection:(NSInteger)section {
     
     UIView *view = [[UIView alloc]init];
-    view.backgroundColor = COLOR_GRAY_F5;
+    view.backgroundColor = COLOR_F5F5F5;
     return view;
 }
 - (CGFloat)tableView:(UITableView *)tableView heightForFooterInSection:(NSInteger)section {
@@ -121,7 +121,7 @@ HWConfirmPanelViewDelegate
 - (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section {
     
     UIView *view = [[UIView alloc]init];
-    view.backgroundColor = COLOR_GRAY_F5;
+    view.backgroundColor = COLOR_F5F5F5;
     return view;
 }
 - (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section {
@@ -196,7 +196,7 @@ HWConfirmPanelViewDelegate
         _tableView.separatorStyle = NO;
         _tableView.rowHeight = UITableViewAutomaticDimension;
         _tableView.estimatedRowHeight = 10.0;
-        _tableView.backgroundColor = COLOR_GRAY_F5;
+        _tableView.backgroundColor = COLOR_F5F5F5;
     }
     return _tableView;
 }
@@ -214,7 +214,7 @@ HWConfirmPanelViewDelegate
     {
         _logoutBtn = [UIButton buttonWithType:UIButtonTypeCustom];
         [_logoutBtn setTitle:@"退出登录" forState:UIControlStateNormal];
-        [_logoutBtn setTitleColor:COLOR_BACK_31 forState:UIControlStateNormal];
+        [_logoutBtn setTitleColor:COLOR_31364C forState:UIControlStateNormal];
         _logoutBtn.titleLabel.font = [UIFont systemFontOfSize:16];
         [_logoutBtn addTarget:self action:@selector(logoutButtonClick:) forControlEvents:UIControlEventTouchUpInside];
     }

+ 0 - 2
HappyWork/HappyWork/Class/PersonalCenter/ViewModel/PersonalCenterViewModel.h

@@ -21,8 +21,6 @@ NS_ASSUME_NONNULL_BEGIN
 - (void)requestPersonalCenterDataSuccessful:(void(^)(NSDictionary *data))successfulBlock failure:(void(^)(NSString *failureMessage))failureBlock;
 
 
-
-
 @end
 
 NS_ASSUME_NONNULL_END

+ 1 - 1
HappyWork/HappyWork/Class/PersonalCenter/基本信息_basicinformation/View/BasicInformationCell.h

@@ -10,7 +10,7 @@
 
 NS_ASSUME_NONNULL_BEGIN
 
-@interface BasicInformationCell : UITableViewCell
+@interface BasicInfoCell : UITableViewCell
 
 @property (nonatomic, strong) UILabel *titleLabel;
 @property (nonatomic, strong) UIImageView *headerImageV;

+ 6 - 5
HappyWork/HappyWork/Class/PersonalCenter/基本信息_basicinformation/View/BasicInformationCell.m

@@ -6,9 +6,10 @@
 //  Copyright © 2019 张晓光. All rights reserved.
 //
 
-#import "BasicInformationCell.h"
+#import "BasicInfoCell.h"
+
+@implementation BasicInfoCell
 
-@implementation BasicInformationCell
 - (void)dealloc {
     
 //    DDLogDebug(@"------dddd----");
@@ -72,7 +73,7 @@
     {
         _titleLabel = [[UILabel alloc]init];
         _titleLabel.font = [UIFont systemFontOfSize:15];
-        _titleLabel.textColor = COLOR_BACK_31;
+        _titleLabel.textColor = COLOR_31364C;
     }
     return _titleLabel;
 }
@@ -103,7 +104,7 @@
     {
         _contentLabel = [[UILabel alloc]init];
         _contentLabel.font = [UIFont systemFontOfSize:15];
-        _contentLabel.textColor = COLOR_BACK_31;
+        _contentLabel.textColor = COLOR_31364C;
     }
     return _contentLabel;
 }
@@ -112,7 +113,7 @@
     if (_lineView == nil)
     {
         _lineView = [[UIView alloc]init];
-        _lineView.backgroundColor = COLOR_GRAY_F5;
+        _lineView.backgroundColor = COLOR_F5F5F5;
     }
     return _lineView;
 }

+ 1 - 1
HappyWork/HappyWork/Class/PersonalCenter/基本信息_basicinformation/ViewController/BasicInformationViewController.h

@@ -10,7 +10,7 @@
 
 NS_ASSUME_NONNULL_BEGIN
 
-@interface BasicInformationViewController : UIViewController
+@interface BasicInfoViewController : UIViewController
 
 @property (nonatomic, strong) NSDictionary *userDict;
 

+ 10 - 10
HappyWork/HappyWork/Class/PersonalCenter/基本信息_basicinformation/ViewController/BasicInformationViewController.m

@@ -6,18 +6,18 @@
 //  Copyright © 2019 张晓光. All rights reserved.
 //
 
-#import "BasicInformationViewController.h"
-#import "BasicInformationViewModel.h"
+#import "BasicInfoViewController.h"
+#import "BasicInfoViewModel.h"
 #import "TZImagePickerController.h"
 
-@interface BasicInformationViewController ()<UITableViewDelegate>
+@interface BasicInfoViewController ()<UITableViewDelegate>
 
 @property (nonatomic, strong) UITableView  *tableView;
-@property (nonatomic, strong) BasicInformationViewModel *viewModel;
+@property (nonatomic, strong) BasicInfoViewModel *viewModel;
 
 @end
 
-@implementation BasicInformationViewController
+@implementation BasicInfoViewController
 
 #pragma mark - life cycle
 
@@ -66,13 +66,13 @@
 - (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section {
     
     UIView *view = [[UIView alloc]init];
-    view.backgroundColor = COLOR_GRAY_F5;
+    view.backgroundColor = COLOR_F5F5F5;
     return view;
 }
 - (UIView *)tableView:(UITableView *)tableView viewForFooterInSection:(NSInteger)section {
     
     UIView *view = [[UIView alloc]init];
-    view.backgroundColor = COLOR_GRAY_F5;
+    view.backgroundColor = COLOR_F5F5F5;
     UILabel *label = [[UILabel alloc]init];
     if (section == 1)
     {
@@ -143,15 +143,15 @@
         _tableView.separatorStyle = NO;
         _tableView.rowHeight = UITableViewAutomaticDimension;
         _tableView.estimatedRowHeight = 10.0;
-        _tableView.backgroundColor = COLOR_GRAY_F5;
+        _tableView.backgroundColor = COLOR_F5F5F5;
     }
     return _tableView;
 }
-- (BasicInformationViewModel *)viewModel {
+- (BasicInfoViewModel *)viewModel {
     
     if (_viewModel == nil)
     {
-        _viewModel = [[BasicInformationViewModel alloc]init];
+        _viewModel = [[BasicInfoViewModel alloc]init];
     }
     return _viewModel;
 }

+ 1 - 1
HappyWork/HappyWork/Class/PersonalCenter/基本信息_basicinformation/ViewModel/BasicInformationViewModel.h

@@ -10,7 +10,7 @@
 
 NS_ASSUME_NONNULL_BEGIN
 
-@interface BasicInformationViewModel : NSObject<UITableViewDataSource>
+@interface BasicInfoViewModel : NSObject<UITableViewDataSource>
 
 @property (nonatomic, strong) NSDictionary *userDict;
 

+ 8 - 7
HappyWork/HappyWork/Class/PersonalCenter/基本信息_basicinformation/ViewModel/BasicInformationViewModel.m

@@ -6,21 +6,22 @@
 //  Copyright © 2019 张晓光. All rights reserved.
 //
 
-#import "BasicInformationViewModel.h"
-#import "BasicInformationCell.h"
+#import "BasicInfoViewModel.h"
+#import "BasicInfoCell.h"
 #import "PersonalCenterModel.h"
 
-@interface BasicInformationViewModel ()
+@interface BasicInfoViewModel ()
 
 @property (nonatomic, strong) UIImageView  *headerImageV;
 
 @end
 
-@implementation BasicInformationViewModel
+@implementation BasicInfoViewModel
 
 - (void)dealloc {
     
 }
+
 /* 更换头像 */
 - (void)changeUserHeadPortraitImage:(UIImage *)userImage {
     
@@ -58,10 +59,10 @@
     PersonalCenterModel *model = [PersonalCenterModel mj_objectWithKeyValues:self.userDict];
     
     static  NSString *listCell = @"listCell";
-    BasicInformationCell *cell = [tableView dequeueReusableCellWithIdentifier:listCell];
+    BasicInfoCell *cell = [tableView dequeueReusableCellWithIdentifier:listCell];
     if (cell == nil)
     {
-        cell = [[BasicInformationCell alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentifier:listCell];
+        cell = [[BasicInfoCell alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentifier:listCell];
     }
     
     __weak typeof(cell) weakCell = cell;
@@ -77,7 +78,7 @@
     if (indexPath.section == 1)
     {
         cell.rightIcon.hidden = YES;
-        cell.contentLabel.textColor = COLOR_GRAY_88;
+        cell.contentLabel.textColor = COLOR_888A8E;
         [cell.contentLabel mas_remakeConstraints:^(MASConstraintMaker *make) {
             
             make.right.equalTo(weakCell.mas_right).offset(-20);

+ 3 - 3
HappyWork/HappyWork/Class/PersonalCenter/完税证明_tax/View/TaxCertificateView.m

@@ -73,7 +73,7 @@
     {
         _detailLabel = [[UILabel alloc]init];
         _detailLabel.font = [UIFont systemFontOfSize:16];
-        _detailLabel.textColor = COLOR_GRAY_88;
+        _detailLabel.textColor = COLOR_888A8E;
         _detailLabel.numberOfLines = 0;
         _detailLabel.textAlignment = NSTextAlignmentCenter;
         _detailLabel.text = @"依法纳税是每个公民应尽的义务,\n 您在开心灵工平台的收入已经交税完毕。";
@@ -87,7 +87,7 @@
         _phoneLabel = [[UILabel alloc]init];
         _phoneLabel.text = @"如果需要查询请致电:";
         _phoneLabel.font = [UIFont boldSystemFontOfSize:17];
-        _phoneLabel.textColor = COLOR_BACK_31;
+        _phoneLabel.textColor = COLOR_31364C;
     }
     return _phoneLabel;
 }
@@ -97,7 +97,7 @@
     {
         _phoneBtn = [UIButton buttonWithType:UIButtonTypeCustom];
         [_phoneBtn setTitle:@"400-692-0099" forState:UIControlStateNormal];
-        [_phoneBtn setTitleColor:COLOR_BACK_31 forState:UIControlStateNormal];
+        [_phoneBtn setTitleColor:COLOR_31364C forState:UIControlStateNormal];
         [_phoneBtn setImage:[UIImage imageNamed:@"registerUser_phone"] forState:UIControlStateNormal];
         [_phoneBtn layoutButtonWithEdgeInsetsStyle:MKButtonEdgeInsetsStyleLeft imageTitleSpace:5];
     }

+ 5 - 5
HappyWork/HappyWork/Class/PersonalCenter/完税证明_tax/ViewController/TaxCertificateViewController.m

@@ -22,7 +22,7 @@
     // Do any additional setup after loading the view.
     
     self.navigationItem.title = @"完税证明";
-    self.view.backgroundColor = COLOR_GRAY_F5;
+    self.view.backgroundColor = COLOR_F5F5F5;
     [self initSubViews];
     
 }
@@ -44,10 +44,10 @@
 
 - (void)phoneButtonClick:(UIButton *)btn {
     
-    NSURL *url = [NSURL URLWithString:@"tel:400-692-0099"];
-    UIWebView *webView = [[UIWebView alloc] init];
-    [webView loadRequest:[NSURLRequest requestWithURL:url]];
-    [self.view addSubview:webView];
+    NSMutableString *str=[[NSMutableString alloc] initWithFormat:@"telprompt://%@",@"400-692-0099"];
+
+    [[UIApplication sharedApplication] openURL:[NSURL URLWithString:str]];
+
 }
 
 #pragma mark - setter and getter

+ 4 - 4
HappyWork/HappyWork/Class/PersonalCenter/我的报名_signup/View/MySignUpCell.m

@@ -26,7 +26,7 @@
     if (self = [super initWithStyle:style reuseIdentifier:reuseIdentifier])
     {
         self.selectionStyle = UITableViewCellSelectionStyleNone;
-        self.backgroundColor = COLOR_GRAY_F5;
+        self.backgroundColor = COLOR_F5F5F5;
         [self initSubViews];
     }
     return self;
@@ -103,7 +103,7 @@
     {
         _titleLabel = [[UILabel alloc]init];
         _titleLabel.font = [UIFont boldSystemFontOfSize:17];
-        _titleLabel.textColor = COLOR_BACK_31;
+        _titleLabel.textColor = COLOR_31364C;
         _titleLabel.textAlignment = NSTextAlignmentLeft;
     }
     return _titleLabel;
@@ -114,7 +114,7 @@
     {
         _moneylabel = [[UILabel alloc]init];
         _moneylabel.font = [UIFont boldSystemFontOfSize:12];
-        _moneylabel.textColor = COLOR_BLUE_32;
+        _moneylabel.textColor = COLOR_3243BD;
         _moneylabel.textAlignment = NSTextAlignmentRight;
         [_moneylabel setContentCompressionResistancePriority:UILayoutPriorityRequired forAxis:UILayoutConstraintAxisHorizontal];
     }
@@ -125,7 +125,7 @@
     if (_companyLabel == nil)
     {
         _companyLabel = [[UILabel alloc]init];
-        _companyLabel.textColor = COLOR_BACK_31;
+        _companyLabel.textColor = COLOR_31364C;
         _companyLabel.font = [UIFont systemFontOfSize:14];
     }
     return _companyLabel;

+ 4 - 4
HappyWork/HappyWork/Class/PersonalCenter/我的报名_signup/ViewModel/MySignUpViewModel.m

@@ -90,7 +90,7 @@
     
     if ([model.hwRequirement.isOn integerValue] == 1)
     {
-        cell.moneylabel.textColor = COLOR_BLUE_32;
+        cell.moneylabel.textColor = COLOR_3243BD;
         if (model.orderNumber)
         {
             cell.stateView.iconImageV.image = [UIImage imageNamed:@"my_signup_generated"];
@@ -110,9 +110,9 @@
     {
         cell.stateView.iconImageV.image = [UIImage imageNamed:@"my_signup_shelves"];
         cell.stateView.taglabel.text = @"已下架";
-        cell.stateView.taglabel.textColor = COLOR_GRAY_88;
-        cell.stateView.backgroundColor = COLOR_GRAY_F5;
-        cell.moneylabel.textColor = COLOR_BACK_31;
+        cell.stateView.taglabel.textColor = COLOR_888A8E;
+        cell.stateView.backgroundColor = COLOR_F5F5F5;
+        cell.moneylabel.textColor = COLOR_31364C;
     }
     return cell;
 }

+ 8 - 8
HappyWork/HappyWork/Class/PersonalCenter/我的订单_order/View/MyOrderCell.m

@@ -25,7 +25,7 @@
     if (self = [super initWithStyle:style reuseIdentifier:reuseIdentifier])
     {
         self.selectionStyle = UITableViewCellSelectionStyleNone;
-        self.backgroundColor = COLOR_GRAY_F5;
+        self.backgroundColor = COLOR_F5F5F5;
         [self initSubViews];
     }
     return self;
@@ -166,7 +166,7 @@
     {
         _orderLabel = [[UILabel alloc]init];
         _orderLabel.font = [UIFont systemFontOfSize:14];
-        _orderLabel.textColor = COLOR_GRAY_88;
+        _orderLabel.textColor = COLOR_888A8E;
     }
     return _orderLabel;
 }
@@ -176,7 +176,7 @@
     {
         _stateLabel = [[UILabel alloc]init];
         _stateLabel.font = [UIFont boldSystemFontOfSize:16];
-        _stateLabel.textColor = COLOR_BACK_31;
+        _stateLabel.textColor = COLOR_31364C;
     }
     return _stateLabel;
 }
@@ -185,7 +185,7 @@
     if (_lineView == nil)
     {
         _lineView = [[UIView alloc]init];
-        _lineView.backgroundColor = COLOR_GRAY_F5;
+        _lineView.backgroundColor = COLOR_F5F5F5;
     }
     return _lineView;
 }
@@ -195,7 +195,7 @@
     {
         _titleLabel = [[UILabel alloc]init];
         _titleLabel.font = [UIFont boldSystemFontOfSize:17];
-        _titleLabel.textColor = COLOR_BACK_31;
+        _titleLabel.textColor = COLOR_31364C;
         _titleLabel.textAlignment = NSTextAlignmentLeft;
     }
     return _titleLabel;
@@ -206,7 +206,7 @@
     {
         _moneyLabel = [[UILabel alloc]init];
         _moneyLabel.font = [UIFont boldSystemFontOfSize:12];
-        _moneyLabel.textColor = COLOR_BLUE_32;
+        _moneyLabel.textColor = COLOR_3243BD;
         _moneyLabel.textAlignment = NSTextAlignmentRight;
         [_moneyLabel setContentCompressionResistancePriority:UILayoutPriorityRequired forAxis:UILayoutConstraintAxisHorizontal];
     }
@@ -236,7 +236,7 @@
     if (_verticalView == nil)
     {
         _verticalView = [[UIView alloc]init];
-        _verticalView.backgroundColor = COLOR_GRAY_F5;
+        _verticalView.backgroundColor = COLOR_F5F5F5;
     }
     return _verticalView;
 }
@@ -246,7 +246,7 @@
     {
         _lookBtn = [UIButton buttonWithType:UIButtonTypeCustom];
         [_lookBtn setTitle:@"查看合同" forState:UIControlStateNormal];
-        [_lookBtn setTitleColor:COLOR_BACK_31 forState:UIControlStateNormal];
+        [_lookBtn setTitleColor:COLOR_31364C forState:UIControlStateNormal];
         _lookBtn.titleLabel.font = [UIFont systemFontOfSize:14];
         [_lookBtn addTarget:self action:@selector(lookButtonClick:) forControlEvents:UIControlEventTouchUpInside];
     }

+ 25 - 20
HappyWork/HappyWork/Class/PersonalCenter/我的订单_order/ViewController/MyOrderDetailViewController.m

@@ -12,6 +12,7 @@
 #import "DemanHallDetailCompanyView.h"
 #import "DemanHallDetailPositionView.h"
 #import "MyOrderWebViewController.h"
+#import "MyOrderQLPreviewController.h"
 #import "MyOrderWebECOViewController.h"
 #import "MyOrderDetailViewModel.h"
 #import "MyOrderModel.h"
@@ -104,7 +105,8 @@ FBScrollLayoutViewDelegate
     
     [scrollLayoutView mas_makeConstraints:^(MASConstraintMaker *make) {
         
-        make.edges.equalTo(self.view);
+        make.left.top.right.equalTo(self.view).offset(0);
+        make.bottom.equalTo(self.mas_bottomLayoutGuide).offset(0);
     }];
 }
 - (void)subviewsMakeConstraintsInScrollLayoutView:(FBScrollLayoutView *)scrollLayoutView contentView:(UIView *)contentView {
@@ -131,21 +133,15 @@ FBScrollLayoutViewDelegate
 }
 - (void)subviewsMakeConstraintsInScrollLayoutView:(FBScrollLayoutView *)scrollLayoutView footerView:(UIView *)footerView {
     
+    [footerView mas_makeConstraints:^(MASConstraintMaker *make) {
+        
+        make.height.mas_equalTo(62);
+    }];
     [self.contractBtn mas_makeConstraints:^(MASConstraintMaker *make) {
-       
-        make.left.equalTo(footerView.mas_left).offset(15);
-        make.top.equalTo(footerView.mas_top).offset(10);
-        make.right.equalTo(footerView.mas_right).offset(-HJHorizontalScale(250));
-        make.bottom.equalTo(footerView.mas_bottomMargin).offset(-10);
-        make.height.mas_equalTo(44);
+        make.edges.equalTo(footerView).with.insets(UIEdgeInsetsMake(9, 15, 9, HJHorizontalScale(250)));
     }];
     [self.makesureBtn mas_makeConstraints:^(MASConstraintMaker *make) {
-        
-        make.left.equalTo(footerView.mas_left).offset(HJHorizontalScale(135));
-        make.top.equalTo(footerView.mas_top).offset(10);
-        make.right.equalTo(footerView.mas_right).offset(-15);
-        make.bottom.equalTo(footerView.mas_bottomMargin).offset(-10);
-        make.height.mas_equalTo(44);
+        make.edges.equalTo(footerView).with.insets(UIEdgeInsetsMake(9, HJHorizontalScale(135), 9, 15));
     }];
 }
 
@@ -158,10 +154,19 @@ FBScrollLayoutViewDelegate
 
 /*  查看合同 */
 - (void)contractButtonClick:(UIButton *)btn {
-    
-    MyOrderWebViewController *webView = [[MyOrderWebViewController alloc]init];
-    webView.webUrl = self.detailDict[@"hwOrderAPI"][@"workContract"];
-    [self.navigationController pushViewController:webView animated:YES];
+
+    if (IOSSYS > 10.0)
+    {
+        MyOrderQLPreviewController *webView = [MyOrderQLPreviewController sharedInstance];
+        [webView downloadFile:self.detailDict[@"hwOrderAPI"][@"workContract"]];
+    }
+    else
+    {
+        MyOrderWebViewController *webView = [[MyOrderWebViewController alloc]init];
+        webView.webUrl = self.detailDict[@"hwOrderAPI"][@"workContract"];
+        [self.navigationController pushViewController:webView animated:YES];
+        //    [[UIApplication sharedApplication] openURL:[NSURL URLWithString:self.detailDict[@"hwOrderAPI"][@"workContract"]]];
+    }
 }
 
 /* 确认订单 */
@@ -214,7 +219,7 @@ FBScrollLayoutViewDelegate
     {
         _scrollLayoutView = [[FBScrollLayoutView alloc] init];
         _scrollLayoutView.delegate = self;
-        _scrollLayoutView.scrollView.backgroundColor = COLOR_GRAY_F5;
+        _scrollLayoutView.scrollView.backgroundColor = COLOR_F5F5F5;
         // 去除顶部空白
         if (@available(iOS 11.0, *))
         {
@@ -259,9 +264,9 @@ FBScrollLayoutViewDelegate
         _contractBtn = [UIButton buttonWithType:UIButtonTypeCustom];
         [_contractBtn setTitle:@"查看合同" forState:UIControlStateNormal];
         _contractBtn.titleLabel.font = [UIFont systemFontOfSize:17];
-        [_contractBtn setTitleColor:COLOR_BLUE_32 forState:UIControlStateNormal];
+        [_contractBtn setTitleColor:COLOR_3243BD forState:UIControlStateNormal];
         _contractBtn.layer.borderWidth = 1;
-        _contractBtn.layer.borderColor = COLOR_BLUE_32.CGColor;
+        _contractBtn.layer.borderColor = COLOR_3243BD.CGColor;
         _contractBtn.layer.cornerRadius = 5;
         _contractBtn.layer.masksToBounds = YES;
         [_contractBtn addTarget:self action:@selector(contractButtonClick:) forControlEvents:UIControlEventTouchUpInside];

+ 32 - 0
HappyWork/HappyWork/Class/PersonalCenter/我的订单_order/ViewController/MyOrderQLPreviewController.h

@@ -0,0 +1,32 @@
+//
+//  MyOrderQLPreviewController.h
+//  HappyWork
+//
+//  Created by 张晓光 on 2020/5/15.
+//  Copyright © 2020 张晓光. All rights reserved.
+//
+
+#import <Foundation/Foundation.h>
+#import <QuickLook/QuickLook.h>
+
+NS_ASSUME_NONNULL_BEGIN
+
+@interface MyOrderQLPreviewController : NSObject
+
+- (void)downloadFile:(NSString *)downLoadUrl;
++ (instancetype)sharedInstance;
+
+
+@end
+
+
+@interface QLPreviewItemCustom : NSObject <QLPreviewItem>
+
+@property (nonatomic,readwrite) NSURL * previewItemURL;
+
+@property (nonatomic,readwrite) NSString * previewItemTitle;
+
+@end
+
+
+NS_ASSUME_NONNULL_END

+ 118 - 0
HappyWork/HappyWork/Class/PersonalCenter/我的订单_order/ViewController/MyOrderQLPreviewController.m

@@ -0,0 +1,118 @@
+//
+//  MyOrderQLPreviewController.m
+//  HappyWork
+//
+//  Created by 张晓光 on 2020/5/15.
+//  Copyright © 2020 张晓光. All rights reserved.
+//
+
+#import "MyOrderQLPreviewController.h"
+//#import "QLPreviewItemCustom.h"
+
+@interface MyOrderQLPreviewController ()<QLPreviewControllerDataSource,QLPreviewControllerDelegate>
+
+@property (nonatomic, strong) QLPreviewController *QLPVC;
+@property (nonatomic, strong) NSString            *pdfFilePath;
+
+@end
+
+
+@implementation MyOrderQLPreviewController
+
+static MyOrderQLPreviewController *instance = nil;
+
++ (instancetype)sharedInstance
+{
+    static dispatch_once_t onceToken;
+    dispatch_once(&onceToken, ^{
+        instance = [[[self class] alloc] init];
+    });
+    return instance;
+}
+
+- (instancetype)init {
+    
+    if (self = [super init])
+    {
+//       self.QLPVC = [[QLPreviewController alloc] init];
+//       self.QLPVC.dataSource = self;
+    }
+    return self;
+}
+
+#pragma mark - private methods
+
+/* 下载PDF */
+- (void)downloadFile:(NSString *)downLoadUrl{
+    
+    AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];
+    NSString *urlString = [downLoadUrl stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLQueryAllowedCharacterSet]];
+
+//    NSString * urlString = [downLoadUrl  stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
+    NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:urlString]];
+    
+    NSURLSessionDownloadTask *downTask = [manager downloadTaskWithRequest:request progress:^(NSProgress * _Nonnull downloadProgress) {
+        
+//        NSLog(@"---------%f",1.0 * downloadProgress.completedUnitCount/downloadProgress.totalUnitCount);
+        
+    } destination:^NSURL * _Nonnull(NSURL * _Nonnull targetPath, NSURLResponse * _Nonnull response) {
+
+        NSString *filePath = [NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES) lastObject];
+        NSString *fullPath = [filePath stringByAppendingPathComponent:response.suggestedFilename];
+        self.pdfFilePath = fullPath;
+       
+        return [NSURL fileURLWithPath:fullPath];
+
+    } completionHandler:^(NSURLResponse * _Nonnull response, NSURL * _Nullable filePath, NSError * _Nullable error) {
+        
+        UINavigationController *root = (UINavigationController *)[[[UIApplication sharedApplication] keyWindow] rootViewController];
+        [root pushViewController:self.QLPVC animated:YES];
+    }];
+    
+    [downTask resume];
+}
+
+
+#pragma mark --- 返回加载文件个数
+
+- (NSInteger)numberOfPreviewItemsInPreviewController:(QLPreviewController *)controller {
+    
+    return 1;
+}
+
+#pragma mark --- 返回加载路径
+
+- (id <QLPreviewItem>)previewController:(QLPreviewController *)controller previewItemAtIndex:(NSInteger)index {
+    
+    QLPreviewItemCustom * previewItem = [[QLPreviewItemCustom alloc]init];
+    previewItem.previewItemTitle = @"查看合同";
+    if (self.pdfFilePath)
+    {
+        previewItem.previewItemURL = [NSURL fileURLWithPath:self.pdfFilePath];
+    }
+    return previewItem;
+    
+//    return  [NSURL fileURLWithPath:self.pdfFilePath];
+}
+
+
+- (QLPreviewController *)QLPVC {
+    
+    if (_QLPVC == nil)
+    {
+        _QLPVC = [[QLPreviewController alloc] init];
+        _QLPVC.dataSource = self;
+        _QLPVC.delegate = self;
+    }
+    return _QLPVC;
+}
+
+@end
+
+
+@implementation QLPreviewItemCustom
+
+
+
+@end
+

+ 7 - 3
HappyWork/HappyWork/Class/PersonalCenter/我的订单_order/ViewController/MyOrderViewController.m

@@ -10,6 +10,7 @@
 #import "MyOrderViewModel.h"
 #import "MyOrderDetailViewController.h"
 #import "MyOrderWebViewController.h"
+#import "MyOrderQLPreviewController.h"
 #import "MyOrderWebECOViewController.h"
 
 @interface MyOrderViewController ()<UITableViewDelegate,MyOrderViewModelDelegate,PageListTableViewDelegate>
@@ -94,9 +95,12 @@
 /* 查看合同 */
 - (void)contractIndexPath:(NSInteger)index {
     
-    MyOrderWebViewController *web = [[MyOrderWebViewController alloc]init];
-    web.webUrl = self.viewModel.listArray[index][@"workContract"];
-    [self.navigationController pushViewController:web animated:YES];
+    MyOrderQLPreviewController *webView = [MyOrderQLPreviewController sharedInstance];
+    [webView downloadFile: self.viewModel.listArray[index][@"workContract"]];
+    
+//    MyOrderWebViewController *web = [[MyOrderWebViewController alloc]init];
+//    web.webUrl = self.viewModel.listArray[index][@"workContract"];
+//    [self.navigationController pushViewController:web animated:YES];
 }
 
 /* 确认订单 */

+ 5 - 1
HappyWork/HappyWork/Class/PersonalCenter/我的订单_order/ViewController/MyOrderWebECOViewController.m

@@ -36,7 +36,10 @@
 
     NSArray *urlArray = [self.webUrl componentsSeparatedByString:@"?"];
 
-    NSString *twebUrl =  [urlArray[1] stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];// 使用该方法
+    
+    NSString *twebUrl = [urlArray[1] stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLQueryAllowedCharacterSet]];
+    
+//    NSString *twebUrl =  [urlArray[1] stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];// 使用该方法
 
     self.webUrl = [NSString stringWithFormat:@"%@?%@",urlArray[0],twebUrl];
 
@@ -48,6 +51,7 @@
 
 
 #pragma mark - UIWebViewDelegate
+
 - (void)webView:(UIWebView *)webView didFailLoadWithError:(NSError *)error {
     
     NSLog(@"error::::%@",error);

+ 12 - 39
HappyWork/HappyWork/Class/PersonalCenter/我的订单_order/ViewController/MyOrderWebViewController.m

@@ -7,12 +7,11 @@
 //
 
 #import "MyOrderWebViewController.h"
-#import "BaseWKWebView.h"
 
 @interface MyOrderWebViewController ()
 
 @property (nonatomic, strong) UIWebView     *uiWebView;
-@property (nonatomic, strong) BaseWKWebView *webView;
+
 
 @end
 
@@ -26,16 +25,8 @@
     self.navigationItem.title = @"查看合同";
     self.view.backgroundColor = [UIColor whiteColor];
     [self initViews];
-
-    self.uiWebView.hidden = YES;
-    self.webView.hidden = YES;
     NSLog(@"webUrl:::::%@",self.webUrl);
-    
-//    NSArray *urlArray = [self.webUrl componentsSeparatedByString:@"?"];
-//    NSString *twebUrl =  [urlArray[1] stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];// 使用该方法
-//    self.webUrl = [NSString stringWithFormat:@"%@?%@",urlArray[0],twebUrl];
     [self downloadFile:self.webUrl];
-//    NSLog(@"webUrl:::::%@",self.webUrl);
     
 }
 
@@ -43,12 +34,8 @@
 
 - (void)initViews {
     
-    [self.view addSubview:self.webView];
     [self.view addSubview:self.uiWebView];
-    [self.webView mas_makeConstraints:^(MASConstraintMaker *make) {
-        
-        make.left.right.top.bottom.equalTo(self.view).offset(0);
-    }];
+   
     [self.uiWebView mas_makeConstraints:^(MASConstraintMaker *make) {
         
         make.left.right.top.bottom.equalTo(self.view).offset(0);
@@ -61,7 +48,9 @@
 - (void)downloadFile:(NSString *)downLoadUrl{
     
     AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];
-    NSString * urlString = [downLoadUrl  stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
+    
+    NSString *urlString = [downLoadUrl stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLQueryAllowedCharacterSet]];
+//    NSString * urlString = [downLoadUrl  stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
     NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:urlString]];
     
     NSURLSessionDownloadTask *downTask = [manager downloadTaskWithRequest:request progress:^(NSProgress * _Nonnull downloadProgress) {
@@ -76,21 +65,12 @@
 
     } completionHandler:^(NSURLResponse * _Nonnull response, NSURL * _Nullable filePath, NSError * _Nullable error) {
 
-        if (IOSSYS > 12.0)
-        {
-            self.webView.hidden = NO;
-            NSURLRequest *request = [NSURLRequest requestWithURL:filePath];
-            [self.webView.webView loadRequest:request];
-        }
-        else
-        {
-            self.uiWebView.hidden = NO;
-            NSString *viwerPath = [[NSBundle mainBundle] pathForResource:@"viewer" ofType:@"html" inDirectory:@"pdfjs/web"];
-            NSString *urlStr = [NSString stringWithFormat:@"%@?file=%@#page=1",viwerPath,filePath];
-            urlStr = [urlStr stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLQueryAllowedCharacterSet]];
-            NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:urlStr]];
-            [self.uiWebView loadRequest:request];
-        }
+        NSString *viwerPath = [[NSBundle mainBundle] pathForResource:@"viewer" ofType:@"html" inDirectory:@"pdfjs/web"];
+        NSString *urlStr = [NSString stringWithFormat:@"%@?file=%@#page=1",viwerPath,filePath];
+        urlStr = [urlStr stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLQueryAllowedCharacterSet]];
+        NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:urlStr]];
+        [self.uiWebView loadRequest:request];
+                   
     }];
     
     [downTask resume];
@@ -106,14 +86,7 @@
     }
     return _uiWebView;
 }
-- (BaseWKWebView *)webView {
-    
-    if (_webView == nil)
-    {
-        _webView = [[BaseWKWebView alloc]init];
-    }
-    return _webView;
-}
+
 /*
 #pragma mark - Navigation
 

+ 3 - 0
HappyWork/HappyWork/Class/PersonalCenter/我的订单_order/ViewModel/MyOrderDetailViewModel.m

@@ -15,8 +15,10 @@
  */
 - (void)orderDetailDataParameter:(NSDictionary *)parameter currentView:(UIView *)view backData:(void(^)(NSDictionary *dataDict))orderDetailBlock {
     
+    [view showLoadingView];
     [HWAFHttpTool getRequestWithURLStr:get_OrderDetail params:parameter success:^(NSDictionary *responseDic) {
         
+        [view dismissLoadingView];
         if ([responseDic[@"errcode"] integerValue] == 0)
         {
             [view dismissErrorView];
@@ -30,6 +32,7 @@
         
     } failure:^(NSString *error) {
         
+        [view dismissLoadingView];
         [view showErrorView];
         [HWProgressHUD fb_showFailureWithStatus:error];
         

+ 6 - 6
HappyWork/HappyWork/Class/PersonalCenter/我的订单_order/ViewModel/MyOrderViewModel.m

@@ -156,20 +156,20 @@
             cell.lookBtn.hidden = YES;
             cell.verticalView.hidden = YES;
         }
-        cell.titleLabel.textColor = COLOR_BACK_31;
-        cell.moneyLabel.textColor = COLOR_BLUE_32;
+        cell.titleLabel.textColor = COLOR_31364C;
+        cell.moneyLabel.textColor = COLOR_3243BD;
     }
     else if ([model.status integerValue] == 2)
     {
         cell.hiddenButton = YES;
-        cell.titleLabel.textColor = COLOR_BACK_31;
-        cell.moneyLabel.textColor = COLOR_BLUE_32;
+        cell.titleLabel.textColor = COLOR_31364C;
+        cell.moneyLabel.textColor = COLOR_3243BD;
     }
     else
     {
         cell.hiddenButton = YES;
-        cell.titleLabel.textColor = COLOR_GRAY_88;
-        cell.moneyLabel.textColor = COLOR_GRAY_88;
+        cell.titleLabel.textColor = COLOR_888A8E;
+        cell.moneyLabel.textColor = COLOR_888A8E;
     }
     return cell;
 }

+ 9 - 9
HappyWork/HappyWork/Class/PersonalCenter/收款记录_record/View/PaymentRecordCell.m

@@ -26,7 +26,7 @@
     if (self = [super initWithStyle:style reuseIdentifier:reuseIdentifier])
     {
         self.selectionStyle = UITableViewCellSelectionStyleNone;
-        self.backgroundColor = COLOR_GRAY_F5;
+        self.backgroundColor = COLOR_F5F5F5;
         [self initSubViews];
     }
     return self;
@@ -64,14 +64,14 @@
         
         make.centerY.equalTo(self.timeLabel);
         make.right.equalTo(self.bgView.mas_right).offset(-15);
-        
     }];
-    self.orderLabel.text = @"DD201911110001";
-    self.timeLabel.text = @"2019.12.12 13:13:21";
-    self.moneyLabel.text = @"¥500,000";
+//    self.orderLabel.text = @"DD201911110001";
+//    self.timeLabel.text = @"2019.12.12 13:13:21";
+//    self.moneyLabel.text = @"¥500,000";
 }
 
 #pragma mark - setter and getter
+
 - (UIView *)bgView {
     
     if (_bgView == nil)
@@ -87,7 +87,7 @@
     {
         _orderLabel = [[UILabel alloc]init];
         _orderLabel.font = [UIFont systemFontOfSize:17];
-        _orderLabel.textColor = COLOR_BACK_31;
+        _orderLabel.textColor = COLOR_31364C;
     }
     return _orderLabel;
 }
@@ -97,7 +97,7 @@
     {
         _timeLabel = [[UILabel alloc]init];
         _timeLabel.font = [UIFont systemFontOfSize:12];
-        _timeLabel.textColor = COLOR_GRAY_88;
+        _timeLabel.textColor = COLOR_888A8E;
     }
     return _timeLabel;
 }
@@ -108,7 +108,7 @@
         _moneyLabel = [[UILabel alloc]init];
 //        _moneyLabel.font = [UIFont boldSystemFontOfSize:21];
         _moneyLabel.font = [UIFont systemFontOfSize:17];
-        _moneyLabel.textColor = COLOR_BACK_31;
+        _moneyLabel.textColor = COLOR_31364C;
     }
     return _moneyLabel;
 }
@@ -118,7 +118,7 @@
     {
         _taxLabel = [[UILabel alloc]init];
         _taxLabel.font = [UIFont systemFontOfSize:12];
-        _taxLabel.textColor = COLOR_GRAY_88;
+        _taxLabel.textColor = COLOR_888A8E;
     }
     return _taxLabel;
     

+ 3 - 3
HappyWork/HappyWork/Class/PersonalCenter/收款记录_record/View/PaymentRecordDetailView.m

@@ -57,7 +57,7 @@
     if (_titleLabel == nil)
     {
         _titleLabel = [[UILabel alloc]init];
-        _titleLabel.textColor = COLOR_GRAY_88;
+        _titleLabel.textColor = COLOR_888A8E;
         _titleLabel.font = [UIFont systemFontOfSize:15];
     }
     return _titleLabel;
@@ -67,7 +67,7 @@
     if (_contentLabel == nil)
     {
         _contentLabel = [[UILabel alloc]init];
-        _contentLabel.textColor = COLOR_BACK_31;
+        _contentLabel.textColor = COLOR_31364C;
         _contentLabel.font = [UIFont systemFontOfSize:15];
     }
     return _contentLabel;
@@ -77,7 +77,7 @@
     if (_lineView == nil)
     {
         _lineView = [[UIView alloc]init];
-        _lineView.backgroundColor = COLOR_GRAY_F5;
+        _lineView.backgroundColor = COLOR_F5F5F5;
     }
     return _lineView;
 }

+ 10 - 10
HappyWork/HappyWork/Class/PersonalCenter/收款记录_record/ViewController/PaymentRecordDetailViewController.m

@@ -33,7 +33,7 @@
     [super viewDidLoad];
     
     self.navigationItem.title = @"收款详情";
-    self.view.backgroundColor = COLOR_GRAY_F5;
+    self.view.backgroundColor = COLOR_F5F5F5;
     [self requestDetailData];
 }
 
@@ -43,7 +43,7 @@
     
     [self.view addSubview:self.scrollLayoutView];
     [self.scrollLayoutView.contentView addSubview:self.collectedAmountView];
-    [self.scrollLayoutView.contentView addSubview:self.taxView];
+//    [self.scrollLayoutView.contentView addSubview:self.taxView];
     [self.scrollLayoutView.contentView addSubview:self.orderView];
     [self.scrollLayoutView.contentView addSubview:self.collectedPeopleView];
     [self.scrollLayoutView.contentView addSubview:self.collectedBankView];
@@ -68,15 +68,15 @@
         make.top.equalTo(contentView).offset(10);
         make.left.right.equalTo(contentView);
     }];
-    [self.taxView mas_makeConstraints:^(MASConstraintMaker *make) {
-        
-        make.left.right.equalTo(contentView);
-        make.top.equalTo(self.collectedAmountView.mas_bottom).offset(0);
-    }];
+//    [self.taxView mas_makeConstraints:^(MASConstraintMaker *make) {
+//
+//        make.left.right.equalTo(contentView);
+//        make.top.equalTo(self.collectedAmountView.mas_bottom).offset(0);
+//    }];
     [self.orderView mas_makeConstraints:^(MASConstraintMaker *make) {
         
         make.left.right.equalTo(contentView);
-        make.top.equalTo(self.taxView.mas_bottom).offset(0);
+        make.top.equalTo(self.collectedAmountView.mas_bottom).offset(0);
     }];
     [self.collectedPeopleView mas_makeConstraints:^(MASConstraintMaker *make) {
         
@@ -142,8 +142,8 @@
     {
         _scrollLayoutView = [[FBScrollLayoutView alloc] init];
         _scrollLayoutView.delegate = self;
-        _scrollLayoutView.backgroundColor = COLOR_GRAY_F5;
-        _scrollLayoutView.contentView.backgroundColor = COLOR_GRAY_F5;
+        _scrollLayoutView.backgroundColor = COLOR_F5F5F5;
+        _scrollLayoutView.contentView.backgroundColor = COLOR_F5F5F5;
         // 去除顶部空白
         if (@available(iOS 11.0, *))
         {

+ 2 - 2
HappyWork/HappyWork/Class/PersonalCenter/收款记录_record/ViewController/PaymentRecordViewController.m

@@ -36,7 +36,7 @@
     
     [self.view addSubview:self.tableView];
     
-    self.view.backgroundColor = COLOR_GRAY_F5;
+    self.view.backgroundColor = COLOR_F5F5F5;
     self.tableView.blankView.detailLabel.text = @"您目前没有收款记录";
     
     [self.tableView mas_makeConstraints:^(MASConstraintMaker *make) {
@@ -77,8 +77,8 @@
         [weakSelf.tableView failRefreshOperation];
         [HWProgressHUD fb_showInfoWithStatus:failureMessage];
     }];
-    
 }
+
 #pragma mark - setter and getter
 
 - (PageListTableView *)tableView {

+ 1 - 1
HappyWork/HappyWork/Class/PersonalCenter/收款记录_record/ViewModel/PaymentRecordViewModel.m

@@ -75,7 +75,7 @@
     cell.orderLabel.text = model.orderNumber;
     cell.timeLabel.text = model.updateTime;
     cell.moneyLabel.text = [NSString stringWithFormat:@"¥%@",[HWAppService thousandSeparatorStringWithNumber:model.netPayment]];
-    cell.taxLabel.text = [NSString stringWithFormat:@"已扣税额:¥%@",[HWAppService thousandSeparatorStringWithNumber:model.taxFee]];
+//    cell.taxLabel.text = [NSString stringWithFormat:@"已扣税额:¥%@",[HWAppService thousandSeparatorStringWithNumber:model.taxFee]];
     return cell;
 }
 

+ 1 - 1
HappyWork/HappyWork/Class/PersonalCenter/通用设置_generalSet/View/CancellationCell.m

@@ -21,7 +21,7 @@
         UILabel *label = [[UILabel alloc]init];
         label.text = @"注销账户";
         label.font = [UIFont systemFontOfSize:16];
-        label.textColor = COLOR_BACK_31;
+        label.textColor = COLOR_31364C;
         [self.contentView addSubview:label];
         [label mas_makeConstraints:^(MASConstraintMaker *make) {
            

+ 4 - 4
HappyWork/HappyWork/Class/PersonalCenter/通用设置_generalSet/ViewController/GeneralSetViewController.m

@@ -27,7 +27,7 @@
     [super viewDidLoad];
     
     NAVI_BACK_TITLE;
-    self.view.backgroundColor = COLOR_GRAY_F5;
+    self.view.backgroundColor = COLOR_F5F5F5;
     self.title = @"个人中心";
     [self initSubViews];
 }
@@ -59,7 +59,7 @@
 - (UIView *)tableView:(UITableView *)tableView viewForFooterInSection:(NSInteger)section {
     
     UIView *view = [[UIView alloc]init];
-    view.backgroundColor = COLOR_GRAY_F5;
+    view.backgroundColor = COLOR_F5F5F5;
     return view;
 }
 - (CGFloat)tableView:(UITableView *)tableView heightForFooterInSection:(NSInteger)section {
@@ -69,7 +69,7 @@
 - (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section {
     
     UIView *view = [[UIView alloc]init];
-    view.backgroundColor = COLOR_GRAY_F5;
+    view.backgroundColor = COLOR_F5F5F5;
     return view;
 }
 - (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section {
@@ -120,7 +120,7 @@
         _tableView.separatorStyle = NO;
         _tableView.rowHeight = UITableViewAutomaticDimension;
         _tableView.estimatedRowHeight = 10.0;
-        _tableView.backgroundColor = COLOR_GRAY_F5;
+        _tableView.backgroundColor = COLOR_F5F5F5;
     }
     return _tableView;
 }

+ 3 - 3
HappyWork/HappyWork/Custom/Category/UIViewController/UIViewController+HJNavBar.m

@@ -22,7 +22,7 @@
     self.navigationController.navigationBar.backIndicatorImage = [UIImage imageNamed:@"navi_black_back"];
     self.navigationController.navigationBar.backIndicatorTransitionMaskImage = [UIImage imageNamed:@"navi_black_back"];
     // 修改颜色
-    self.navigationController.navigationBar.tintColor = COLOR_BACK_31;
+    self.navigationController.navigationBar.tintColor = COLOR_31364C;
     // 去除背景色
     [self.navigationController.navigationBar setBackgroundImage:[UIImage new] forBarMetrics:UIBarMetricsDefault];
     // 去除底部线条
@@ -40,8 +40,8 @@
 
 - (void)setNavigationBarColor:(UIViewController *)viewController{
     
-    self.navigationController.navigationBar.tintColor = COLOR_BACK_31;
-    self.navigationController.navigationBar.titleTextAttributes = @{NSForegroundColorAttributeName:COLOR_BACK_31};
+    self.navigationController.navigationBar.tintColor = COLOR_31364C;
+    self.navigationController.navigationBar.titleTextAttributes = @{NSForegroundColorAttributeName:COLOR_31364C};
     
     UIView *naviView = [[UIView alloc]initWithFrame:CGRectMake(0, 0, SCREEN_WIDTH, STATUS_BAR_H + NAVIGATION_BAR_H)];
     naviView.backgroundColor = [UIColor whiteColor];

+ 2 - 2
HappyWork/HappyWork/Custom/CustomView/Blank_空白页/HJBlankView.m

@@ -79,7 +79,7 @@
     {
         _titleLabel = [[UILabel alloc]init];
         _titleLabel.text = @"空空如也";
-        _titleLabel.textColor = COLOR_BACK_31;
+        _titleLabel.textColor = COLOR_31364C;
         _titleLabel.font = [UIFont boldSystemFontOfSize:21];
         _titleLabel.textAlignment = NSTextAlignmentCenter;
     }
@@ -90,7 +90,7 @@
     if (_detailLabel == nil)
     {
         _detailLabel = [[UILabel alloc] init];
-        _detailLabel.textColor = COLOR_GRAY_88;
+        _detailLabel.textColor = COLOR_888A8E;
         _detailLabel.text = @"您目前没有正在进行中的订单";
         _detailLabel.font = [UIFont systemFontOfSize:16];
         _detailLabel.textAlignment = NSTextAlignmentCenter;

+ 1 - 1
HappyWork/HappyWork/Custom/CustomView/Error_错误页面/HJErrorView.m

@@ -22,7 +22,7 @@
     
     if (self = [super init])
     {
-        self.backgroundColor = COLOR_GRAY_F5;
+        self.backgroundColor = COLOR_F5F5F5;
         
         [self addSubview:self.canvasView];
         [self.canvasView addSubview:self.imageView];

+ 1 - 1
HappyWork/HappyWork/Custom/CustomView/Loading_加载页面/HJLoadingView.m

@@ -20,7 +20,7 @@
     
     if (self = [super init])
     {
-        self.backgroundColor = COLOR_GRAY_F5;
+        self.backgroundColor = COLOR_F5F5F5;//COLOR_F5F5F5
         [self addSubview:self.imageView];
         [self addSubview:self.label];
         [self makeConstraints];

+ 7 - 7
HappyWork/HappyWork/Custom/CustomView/MessageAlertView/HWConfirmPanelView.m

@@ -200,7 +200,7 @@
     if (_titleLabel == nil)
     {
         _titleLabel = [[UILabel alloc]init];
-        _titleLabel.textColor = COLOR_BACK_31;
+        _titleLabel.textColor = COLOR_31364C;
         _titleLabel.textAlignment = NSTextAlignmentCenter;
         _titleLabel.font = [UIFont boldSystemFontOfSize:19];
         _titleLabel.numberOfLines = 0;
@@ -212,7 +212,7 @@
     if (_messageLabel == nil)
     {
         _messageLabel = [[UILabel alloc]init];
-        _messageLabel.textColor = COLOR_GRAY_88;
+        _messageLabel.textColor = COLOR_888A8E;
         _messageLabel.font = [UIFont systemFontOfSize:17];
         _messageLabel.textAlignment = NSTextAlignmentCenter;
         _messageLabel.numberOfLines = 0;
@@ -224,7 +224,7 @@
     if (_lineView == nil)
     {
         _lineView = [[UIView alloc]init];
-        _lineView.backgroundColor = COLOR_GRAY_F5;
+        _lineView.backgroundColor = COLOR_F5F5F5;
     }
     return _lineView;
 }
@@ -233,7 +233,7 @@
     if (_verticalView == nil)
     {
         _verticalView = [[UIView alloc]init];
-        _verticalView.backgroundColor = COLOR_GRAY_F5;
+        _verticalView.backgroundColor = COLOR_F5F5F5;
     }
     return _verticalView;
 }
@@ -243,7 +243,7 @@
     {
         _cancelBtn = [UIButton buttonWithType:UIButtonTypeCustom];
         _cancelBtn.tag = 0;
-        [_cancelBtn setTitleColor:COLOR_GRAY_88 forState:UIControlStateNormal];
+        [_cancelBtn setTitleColor:COLOR_888A8E forState:UIControlStateNormal];
         _cancelBtn.titleLabel.font = [UIFont systemFontOfSize:17];
         [_cancelBtn addTarget:self action:@selector(cancelButtonClick:) forControlEvents:UIControlEventTouchUpInside];
     }
@@ -255,7 +255,7 @@
     {
         _singleBtn = [UIButton buttonWithType:UIButtonTypeCustom];
         _singleBtn.tag = 0;
-        [_singleBtn setTitleColor:COLOR_BACK_31 forState:UIControlStateNormal];
+        [_singleBtn setTitleColor:COLOR_31364C forState:UIControlStateNormal];
         _singleBtn.titleLabel.font = [UIFont boldSystemFontOfSize:17];
         [_singleBtn addTarget:self action:@selector(singleButtonClick:) forControlEvents:UIControlEventTouchUpInside];
     }
@@ -267,7 +267,7 @@
     {
         _doneBtn = [UIButton buttonWithType:UIButtonTypeCustom];
         _doneBtn.tag = 1;
-        [_doneBtn setTitleColor:COLOR_BACK_31 forState:UIControlStateNormal];
+        [_doneBtn setTitleColor:COLOR_31364C forState:UIControlStateNormal];
         _doneBtn.titleLabel.font = [UIFont boldSystemFontOfSize:17];
         [_doneBtn addTarget:self action:@selector(doneButtonClick:) forControlEvents:UIControlEventTouchUpInside];
     }

+ 1 - 1
HappyWork/HappyWork/Custom/PickViewOne/AddressPickViewView.m

@@ -196,7 +196,7 @@ static float bgViewH  = 280;
     
     UILabel *lable=[[UILabel alloc]init];
     lable.textAlignment=NSTextAlignmentCenter;
-    lable.textColor = COLOR_BACK_31;
+    lable.textColor = COLOR_31364C;
     lable.font=[UIFont systemFontOfSize:17.0f];
     if (component == 0)
     {

+ 4 - 4
HappyWork/HappyWork/Custom/PickViewOne/HJToolbarView.m

@@ -62,7 +62,7 @@
     {
         _cancelBtn = [UIButton buttonWithType:UIButtonTypeCustom];
         [_cancelBtn setTitle:@"取消" forState:UIControlStateNormal];
-        [_cancelBtn setTitleColor:COLOR_GRAY_88 forState:UIControlStateNormal];
+        [_cancelBtn setTitleColor:COLOR_888A8E forState:UIControlStateNormal];
         _cancelBtn.titleLabel.font = [UIFont systemFontOfSize:17];
     }
     return _cancelBtn;
@@ -73,7 +73,7 @@
     {
         _doneBtn = [UIButton buttonWithType:UIButtonTypeCustom];
         [_doneBtn setTitle:@"确定" forState:UIControlStateNormal];
-        [_doneBtn setTitleColor:COLOR_BACK_31 forState:UIControlStateNormal];
+        [_doneBtn setTitleColor:COLOR_31364C forState:UIControlStateNormal];
         _doneBtn.titleLabel.font = [UIFont systemFontOfSize:17];
     }
     return _doneBtn;
@@ -84,7 +84,7 @@
     {
         _titleLabel = [[UILabel alloc]init];
         _titleLabel.font = [UIFont systemFontOfSize:17];
-        _titleLabel.textColor = COLOR_BACK_31;
+        _titleLabel.textColor = COLOR_31364C;
     }
     return _titleLabel;
 }
@@ -93,7 +93,7 @@
     if (_lineView == nil)
     {
         _lineView = [[UIView alloc]init];
-        _lineView.backgroundColor = COLOR_GRAY_F5;
+        _lineView.backgroundColor = COLOR_F5F5F5;
     }
     return _lineView;
 }

+ 3 - 3
HappyWork/HappyWork/Custom/PickViewOne/ValuePickerView.m

@@ -73,7 +73,7 @@
     self.finishBtn.titleLabel.font = [UIFont systemFontOfSize:17];
     [self.finishBtn addTarget:self action:@selector(finishBtnClicked:) forControlEvents:UIControlEventTouchUpInside];
     [self.finishBtn setTitle:@"确认" forState:UIControlStateNormal];
-    [self.finishBtn setTitleColor:COLOR_BACK_31 forState:UIControlStateNormal];
+    [self.finishBtn setTitleColor:COLOR_31364C forState:UIControlStateNormal];
     [self.controllerToolBar addSubview:self.finishBtn];
     
     //取消按钮
@@ -82,7 +82,7 @@
     self.cancelBtn.titleLabel.font = [UIFont systemFontOfSize:17];
     [self.cancelBtn addTarget:self action:@selector(canceBtnClicked:) forControlEvents:UIControlEventTouchUpInside];
     [self.cancelBtn setTitle:@"取消" forState:UIControlStateNormal];
-    [self.cancelBtn setTitleColor:COLOR_GRAY_88 forState:UIControlStateNormal];
+    [self.cancelBtn setTitleColor:COLOR_888A8E forState:UIControlStateNormal];
     [self.controllerToolBar addSubview:self.cancelBtn];
     
     //标题
@@ -191,7 +191,7 @@
     UILabel *myView = [[UILabel alloc] initWithFrame:CGRectMake(0.0, 0.0, SCREEN_WIDTH, 30)];
     myView.textAlignment = NSTextAlignmentCenter;
     myView.font = [UIFont systemFontOfSize:17];         //用label来设置字体大小
-    myView.textColor = COLOR_BACK_31;
+    myView.textColor = COLOR_31364C;
     myView.adjustsFontSizeToFitWidth = YES;
     myView.backgroundColor = [UIColor clearColor];
     myView.text = self.dataSource[row];

+ 4 - 4
HappyWork/HappyWork/Custom/ProgressHUD/HWProgressHUD.m

@@ -14,7 +14,7 @@
 + (void)fb_showLoading {
     
     [SVProgressHUD setCornerRadius:5];
-    [SVProgressHUD setBorderColor:COLOR_BACK_31];
+    [SVProgressHUD setBorderColor:COLOR_31364C];
     [SVProgressHUD setDefaultStyle:SVProgressHUDStyleDark];
     [SVProgressHUD setDefaultMaskType:SVProgressHUDMaskTypeNone];
     [SVProgressHUD show];
@@ -28,7 +28,7 @@
 + (void)fb_showInfoWithStatus:(NSString *)status completion:(void (^ _Nullable)(void))completion {
     
     [SVProgressHUD setCornerRadius:5];
-    [SVProgressHUD setBorderColor:COLOR_BACK_31];
+    [SVProgressHUD setBorderColor:COLOR_31364C];
     [SVProgressHUD setDefaultStyle:SVProgressHUDStyleDark];
     [SVProgressHUD setDefaultMaskType:SVProgressHUDMaskTypeNone];
     [SVProgressHUD setInfoImage:[UIImage imageNamed:@"1"]];
@@ -45,7 +45,7 @@
 + (void)fb_showSuccessWithStatus:(NSString *)status completion:(void (^ _Nullable)(void))completion {
     
     [SVProgressHUD setCornerRadius:5];
-    [SVProgressHUD setBorderColor:COLOR_BACK_31];
+    [SVProgressHUD setBorderColor:COLOR_31364C];
     [SVProgressHUD setDefaultStyle:SVProgressHUDStyleDark];
     [SVProgressHUD setDefaultMaskType:SVProgressHUDMaskTypeNone];
     [SVProgressHUD showSuccessWithStatus:status];
@@ -60,7 +60,7 @@
 + (void)fb_showFailureWithStatus:(NSString *)status completion:(void (^ _Nullable)(void))completion {
     
     [SVProgressHUD setCornerRadius:5];
-    [SVProgressHUD setBorderColor:COLOR_BACK_31];
+    [SVProgressHUD setBorderColor:COLOR_31364C];
     [SVProgressHUD setDefaultStyle:SVProgressHUDStyleDark];
     [SVProgressHUD setDefaultMaskType:SVProgressHUDMaskTypeNone];
     [SVProgressHUD showErrorWithStatus:status];

+ 1 - 1
HappyWork/HappyWork/Main/AppDelegate.m

@@ -68,7 +68,7 @@
     [XHLaunchAd setLaunchSourceType:SourceTypeLaunchScreen];
     UILabel *launchVersionLabel = [[UILabel alloc] initWithFrame:CGRectMake(0, (SCREEN_HEIGHT-45), SCREEN_WIDTH, 20)];
     launchVersionLabel.text = [NSString stringWithFormat:@"v%@", [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleShortVersionString"]];
-    launchVersionLabel.textColor = COLOR_GRAY_88;
+    launchVersionLabel.textColor = COLOR_888A8E;
     launchVersionLabel.font = [UIFont systemFontOfSize:14];
     launchVersionLabel.textAlignment = NSTextAlignmentCenter;
     

+ 8 - 10
HappyWork/HappyWork/Support/HappyWork.pch

@@ -70,23 +70,21 @@ self.navigationItem.backBarButtonItem = barItem;
 #define IOSSYS [[[UIDevice currentDevice] systemVersion] floatValue] 
 
 /* 颜色 */
-#define COLOR_BACK_31    [UIColor colorFromHexString:@"31364C"]
+#define COLOR_31364C    [UIColor colorFromHexString:@"31364C"]
 
-#define COLOR_BACK_53    [UIColor colorFromHexString:@"535768"]
+#define COLOR_535768    [UIColor colorFromHexString:@"535768"]
 
-#define COLOR_GRAY_EA    [UIColor colorFromHexString:@"EAEBEE"]
+#define COLOR_EAEBEE    [UIColor colorFromHexString:@"EAEBEE"]
 
-#define COLOR_GRAY_8B    [UIColor colorFromHexString:@"8B8D91"]
+#define COLOR_8B8D91    [UIColor colorFromHexString:@"8B8D91"]
 
-#define COLOR_GRAY_88    [UIColor colorFromHexString:@"888A8E"]
+#define COLOR_888A8E    [UIColor colorFromHexString:@"888A8E"]
 
-#define COLOR_GRAY_F5    [UIColor colorFromHexString:@"F5F5F5"]
+#define COLOR_F5F5F5    [UIColor colorFromHexString:@"F5F5F5"]
 
-#define COLOR_BLUE_32    [UIColor colorFromHexString:@"3243BD"]
+#define COLOR_3243BD    [UIColor colorFromHexString:@"3243BD"]
 
-#define COLOR_BACK_C     [UIColor colorFromHexString:@"CCCCCC"]
-
-#define COLOR_BACK_CD    [UIColor colorFromHexString:@"CDCFD3"]
+#define COLOR_CCCCCC    [UIColor colorFromHexString:@"CCCCCC"]
 
 /*
  *改变头像刷新

+ 29 - 29
HappyWork/Podfile.lock

@@ -1,54 +1,54 @@
 PODS:
-  - AFNetworking (3.2.1):
-    - AFNetworking/NSURLSession (= 3.2.1)
-    - AFNetworking/Reachability (= 3.2.1)
-    - AFNetworking/Security (= 3.2.1)
-    - AFNetworking/Serialization (= 3.2.1)
-    - AFNetworking/UIKit (= 3.2.1)
-  - AFNetworking/NSURLSession (3.2.1):
+  - AFNetworking (4.0.1):
+    - AFNetworking/NSURLSession (= 4.0.1)
+    - AFNetworking/Reachability (= 4.0.1)
+    - AFNetworking/Security (= 4.0.1)
+    - AFNetworking/Serialization (= 4.0.1)
+    - AFNetworking/UIKit (= 4.0.1)
+  - AFNetworking/NSURLSession (4.0.1):
     - AFNetworking/Reachability
     - AFNetworking/Security
     - AFNetworking/Serialization
-  - AFNetworking/Reachability (3.2.1)
-  - AFNetworking/Security (3.2.1)
-  - AFNetworking/Serialization (3.2.1)
-  - AFNetworking/UIKit (3.2.1):
+  - AFNetworking/Reachability (4.0.1)
+  - AFNetworking/Security (4.0.1)
+  - AFNetworking/Serialization (4.0.1)
+  - AFNetworking/UIKit (4.0.1):
     - AFNetworking/NSURLSession
   - CocoaLumberjack (3.6.0):
     - CocoaLumberjack/Core (= 3.6.0)
   - CocoaLumberjack/Core (3.6.0)
   - DZNEmptyDataSet (1.8.1)
   - FLAnimatedImage (1.0.12)
-  - IQKeyboardManager (6.5.0)
+  - IQKeyboardManager (6.5.5)
   - Masonry (1.1.0)
   - MJExtension (3.1.2)
-  - MJRefresh (3.2.0)
+  - MJRefresh (3.4.3)
   - SDCycleScrollView (1.80):
     - SDWebImage (>= 5.0.0)
-  - SDWebImage (5.0.6):
-    - SDWebImage/Core (= 5.0.6)
-  - SDWebImage/Core (5.0.6)
+  - SDWebImage (5.8.0):
+    - SDWebImage/Core (= 5.8.0)
+  - SDWebImage/Core (5.8.0)
   - SVProgressHUD (2.2.5)
   - TZImagePickerController (3.2.4)
   - XHLaunchAd (3.9.8):
     - FLAnimatedImage (~> 1.0.12)
-  - YTKNetwork (2.0.4):
-    - AFNetworking (~> 3.0)
+  - YTKNetwork (3.0.0):
+    - AFNetworking/NSURLSession (~> 4.0)
 
 DEPENDENCIES:
-  - AFNetworking (~> 3.2.1)
+  - AFNetworking (~> 4.0.0)
   - CocoaLumberjack (~> 3.6.0)
   - DZNEmptyDataSet (~> 1.8.1)
-  - IQKeyboardManager (~> 6.5.0)
+  - IQKeyboardManager (~> 6.5.5)
   - Masonry (~> 1.1.0)
   - MJExtension (~> 3.1.2)
-  - MJRefresh (~> 3.2.0)
+  - MJRefresh (~> 3.4.3)
   - SDCycleScrollView (~> 1.80)
-  - SDWebImage (~> 5.0.6)
+  - SDWebImage (~> 5.8.0)
   - SVProgressHUD (~> 2.2.5)
   - TZImagePickerController (~> 3.2.4)
   - XHLaunchAd (~> 3.9.8)
-  - YTKNetwork (~> 2.0.4)
+  - YTKNetwork (~> 3.0.0)
 
 SPEC REPOS:
   https://github.com/CocoaPods/Specs.git:
@@ -68,21 +68,21 @@ SPEC REPOS:
     - YTKNetwork
 
 SPEC CHECKSUMS:
-  AFNetworking: b6f891fdfaed196b46c7a83cf209e09697b94057
+  AFNetworking: 7864c38297c79aaca1500c33288e429c3451fdce
   CocoaLumberjack: 78b0c238666f4f58db069738ec176f4519557516
   DZNEmptyDataSet: 9525833b9e68ac21c30253e1d3d7076cc828eaa7
   FLAnimatedImage: 4a0b56255d9b05f18b6dd7ee06871be5d3b89e31
-  IQKeyboardManager: 700e5155d6a292383b54e8678aec769e14fc78fc
+  IQKeyboardManager: 3a8b9e603f8b0eeaf5f096a1f2b2cfcf121992ef
   Masonry: 678fab65091a9290e40e2832a55e7ab731aad201
   MJExtension: 81e8e411ced318561dd09334b0c83d8227cef79c
-  MJRefresh: ed450d6eb9d3346a2cb033ab7eb6de090aeef437
+  MJRefresh: 53e3e3219f204425ee6d3e62e8733d3295944cd6
   SDCycleScrollView: b3c9a5ed840c771c4938978174c7c9d9feefeb96
-  SDWebImage: 920f1a2ff1ca8296ad34f6e0510a1ef1d70ac965
+  SDWebImage: 84000f962cbfa70c07f19d2234cbfcf5d779b5dc
   SVProgressHUD: 1428aafac632c1f86f62aa4243ec12008d7a51d6
   TZImagePickerController: d259369c5c2cc96299e53da868ae5be1b24353cd
   XHLaunchAd: 45048592af01aa501c9d2d0c45e95ca74c4d0596
-  YTKNetwork: df8a7a5597bda1664a4efaa7ef871a818a887fe0
+  YTKNetwork: 0587ce85fda2e2c591405089cc9aaa61649aa5ed
 
-PODFILE CHECKSUM: 6271f6f0721c5dfc3747a0b0638b2dc5a75e8b01
+PODFILE CHECKSUM: dd7a2ebe219a950f7e66a2aff481362efef883a4
 
 COCOAPODS: 1.8.4

+ 14 - 2
HappyWork/Pods/AFNetworking/AFNetworking/AFCompatibilityMacros.h

@@ -22,10 +22,16 @@
 #ifndef AFCompatibilityMacros_h
 #define AFCompatibilityMacros_h
 
+#ifdef API_AVAILABLE
+    #define AF_API_AVAILABLE(...) API_AVAILABLE(__VA_ARGS__)
+#else
+    #define AF_API_AVAILABLE(...)
+#endif // API_AVAILABLE
+
 #ifdef API_UNAVAILABLE
-    #define AF_API_UNAVAILABLE(x) API_UNAVAILABLE(x)
+    #define AF_API_UNAVAILABLE(...) API_UNAVAILABLE(__VA_ARGS__)
 #else
-    #define AF_API_UNAVAILABLE(x)
+    #define AF_API_UNAVAILABLE(...)
 #endif // API_UNAVAILABLE
 
 #if __has_warning("-Wunguarded-availability-new")
@@ -34,4 +40,10 @@
     #define AF_CAN_USE_AT_AVAILABLE 0
 #endif
 
+#if ((__IPHONE_OS_VERSION_MAX_ALLOWED && __IPHONE_OS_VERSION_MAX_ALLOWED < 100000) || (__MAC_OS_VERSION_MAX_ALLOWED && __MAC_OS_VERSION_MAX_ALLOWED < 101200) ||(__WATCH_OS_MAX_VERSION_ALLOWED && __WATCH_OS_MAX_VERSION_ALLOWED < 30000) ||(__TV_OS_MAX_VERSION_ALLOWED && __TV_OS_MAX_VERSION_ALLOWED < 100000))
+    #define AF_CAN_INCLUDE_SESSION_TASK_METRICS 0
+#else
+    #define AF_CAN_INCLUDE_SESSION_TASK_METRICS 1
+#endif
+
 #endif /* AFCompatibilityMacros_h */

+ 63 - 82
HappyWork/Pods/AFNetworking/AFNetworking/AFHTTPSessionManager.h

@@ -25,12 +25,6 @@
 #endif
 #import <TargetConditionals.h>
 
-#if TARGET_OS_IOS || TARGET_OS_WATCH || TARGET_OS_TV
-#import <MobileCoreServices/MobileCoreServices.h>
-#else
-#import <CoreServices/CoreServices.h>
-#endif
-
 #import "AFURLSessionManager.h"
 
 /**
@@ -40,8 +34,6 @@
 
  Developers targeting iOS 7 or Mac OS X 10.9 or later that deal extensively with a web service are encouraged to subclass `AFHTTPSessionManager`, providing a class method that returns a shared singleton object on which authentication and other configuration can be shared across the application.
 
- For developers targeting iOS 6 or Mac OS X 10.8 or earlier, `AFHTTPRequestOperationManager` may be used to similar effect.
-
  ## Methods to Override
 
  To change the behavior of all data task operation construction, which is also used in the `GET` / `POST` / et al. convenience methods, override `dataTaskWithRequest:uploadProgress:downloadProgress:completionHandler:`.
@@ -140,115 +132,75 @@ NS_ASSUME_NONNULL_BEGIN
 
 /**
  Creates and runs an `NSURLSessionDataTask` with a `GET` request.
-
- @param URLString The URL string used to create the request URL.
- @param parameters The parameters to be encoded according to the client request serializer.
- @param success A block object to be executed when the task finishes successfully. This block has no return value and takes two arguments: the data task, and the response object created by the client response serializer.
- @param failure A block object to be executed when the task finishes unsuccessfully, or that finishes successfully, but encountered an error while parsing the response data. This block has no return value and takes a two arguments: the data task and the error describing the network or parsing error that occurred.
-
- @see -dataTaskWithRequest:completionHandler:
- */
-- (nullable NSURLSessionDataTask *)GET:(NSString *)URLString
-                   parameters:(nullable id)parameters
-                      success:(nullable void (^)(NSURLSessionDataTask *task, id _Nullable responseObject))success
-                      failure:(nullable void (^)(NSURLSessionDataTask * _Nullable task, NSError *error))failure DEPRECATED_ATTRIBUTE;
-
-
-/**
- Creates and runs an `NSURLSessionDataTask` with a `GET` request.
-
+ 
  @param URLString The URL string used to create the request URL.
  @param parameters The parameters to be encoded according to the client request serializer.
+ @param headers The headers appended to the default headers for this request.
  @param downloadProgress A block object to be executed when the download progress is updated. Note this block is called on the session queue, not the main queue.
  @param success A block object to be executed when the task finishes successfully. This block has no return value and takes two arguments: the data task, and the response object created by the client response serializer.
  @param failure A block object to be executed when the task finishes unsuccessfully, or that finishes successfully, but encountered an error while parsing the response data. This block has no return value and takes a two arguments: the data task and the error describing the network or parsing error that occurred.
-
+ 
  @see -dataTaskWithRequest:uploadProgress:downloadProgress:completionHandler:
  */
 - (nullable NSURLSessionDataTask *)GET:(NSString *)URLString
                             parameters:(nullable id)parameters
+                               headers:(nullable NSDictionary <NSString *, NSString *> *)headers
                               progress:(nullable void (^)(NSProgress *downloadProgress))downloadProgress
                                success:(nullable void (^)(NSURLSessionDataTask *task, id _Nullable responseObject))success
                                failure:(nullable void (^)(NSURLSessionDataTask * _Nullable task, NSError *error))failure;
 
 /**
  Creates and runs an `NSURLSessionDataTask` with a `HEAD` request.
-
+ 
  @param URLString The URL string used to create the request URL.
  @param parameters The parameters to be encoded according to the client request serializer.
+ @param headers The headers appended to the default headers for this request.
  @param success A block object to be executed when the task finishes successfully. This block has no return value and takes a single arguments: the data task.
  @param failure A block object to be executed when the task finishes unsuccessfully, or that finishes successfully, but encountered an error while parsing the response data. This block has no return value and takes a two arguments: the data task and the error describing the network or parsing error that occurred.
-
+ 
  @see -dataTaskWithRequest:completionHandler:
  */
 - (nullable NSURLSessionDataTask *)HEAD:(NSString *)URLString
-                    parameters:(nullable id)parameters
-                       success:(nullable void (^)(NSURLSessionDataTask *task))success
-                       failure:(nullable void (^)(NSURLSessionDataTask * _Nullable task, NSError *error))failure;
-
-/**
- Creates and runs an `NSURLSessionDataTask` with a `POST` request.
-
- @param URLString The URL string used to create the request URL.
- @param parameters The parameters to be encoded according to the client request serializer.
- @param success A block object to be executed when the task finishes successfully. This block has no return value and takes two arguments: the data task, and the response object created by the client response serializer.
- @param failure A block object to be executed when the task finishes unsuccessfully, or that finishes successfully, but encountered an error while parsing the response data. This block has no return value and takes a two arguments: the data task and the error describing the network or parsing error that occurred.
-
- @see -dataTaskWithRequest:completionHandler:
- */
-- (nullable NSURLSessionDataTask *)POST:(NSString *)URLString
-                    parameters:(nullable id)parameters
-                       success:(nullable void (^)(NSURLSessionDataTask *task, id _Nullable responseObject))success
-                       failure:(nullable void (^)(NSURLSessionDataTask * _Nullable task, NSError *error))failure DEPRECATED_ATTRIBUTE;
+                             parameters:(nullable id)parameters
+                                headers:(nullable NSDictionary <NSString *, NSString *> *)headers
+                                success:(nullable void (^)(NSURLSessionDataTask *task))success
+                                failure:(nullable void (^)(NSURLSessionDataTask * _Nullable task, NSError *error))failure;
 
 /**
  Creates and runs an `NSURLSessionDataTask` with a `POST` request.
-
+ 
  @param URLString The URL string used to create the request URL.
  @param parameters The parameters to be encoded according to the client request serializer.
+ @param headers The headers appended to the default headers for this request.
  @param uploadProgress A block object to be executed when the upload progress is updated. Note this block is called on the session queue, not the main queue.
  @param success A block object to be executed when the task finishes successfully. This block has no return value and takes two arguments: the data task, and the response object created by the client response serializer.
  @param failure A block object to be executed when the task finishes unsuccessfully, or that finishes successfully, but encountered an error while parsing the response data. This block has no return value and takes a two arguments: the data task and the error describing the network or parsing error that occurred.
-
+ 
  @see -dataTaskWithRequest:uploadProgress:downloadProgress:completionHandler:
  */
 - (nullable NSURLSessionDataTask *)POST:(NSString *)URLString
                              parameters:(nullable id)parameters
+                                headers:(nullable NSDictionary <NSString *, NSString *> *)headers
                                progress:(nullable void (^)(NSProgress *uploadProgress))uploadProgress
                                 success:(nullable void (^)(NSURLSessionDataTask *task, id _Nullable responseObject))success
                                 failure:(nullable void (^)(NSURLSessionDataTask * _Nullable task, NSError *error))failure;
 
 /**
  Creates and runs an `NSURLSessionDataTask` with a multipart `POST` request.
-
- @param URLString The URL string used to create the request URL.
- @param parameters The parameters to be encoded according to the client request serializer.
- @param block A block that takes a single argument and appends data to the HTTP body. The block argument is an object adopting the `AFMultipartFormData` protocol.
- @param success A block object to be executed when the task finishes successfully. This block has no return value and takes two arguments: the data task, and the response object created by the client response serializer.
- @param failure A block object to be executed when the task finishes unsuccessfully, or that finishes successfully, but encountered an error while parsing the response data. This block has no return value and takes a two arguments: the data task and the error describing the network or parsing error that occurred.
-
- @see -dataTaskWithRequest:completionHandler:
- */
-- (nullable NSURLSessionDataTask *)POST:(NSString *)URLString
-                    parameters:(nullable id)parameters
-     constructingBodyWithBlock:(nullable void (^)(id <AFMultipartFormData> formData))block
-                       success:(nullable void (^)(NSURLSessionDataTask *task, id _Nullable responseObject))success
-                       failure:(nullable void (^)(NSURLSessionDataTask * _Nullable task, NSError *error))failure DEPRECATED_ATTRIBUTE;
-
-/**
- Creates and runs an `NSURLSessionDataTask` with a multipart `POST` request.
-
+ 
  @param URLString The URL string used to create the request URL.
  @param parameters The parameters to be encoded according to the client request serializer.
+ @param headers The headers appended to the default headers for this request.
  @param block A block that takes a single argument and appends data to the HTTP body. The block argument is an object adopting the `AFMultipartFormData` protocol.
  @param uploadProgress A block object to be executed when the upload progress is updated. Note this block is called on the session queue, not the main queue.
  @param success A block object to be executed when the task finishes successfully. This block has no return value and takes two arguments: the data task, and the response object created by the client response serializer.
  @param failure A block object to be executed when the task finishes unsuccessfully, or that finishes successfully, but encountered an error while parsing the response data. This block has no return value and takes a two arguments: the data task and the error describing the network or parsing error that occurred.
-
+ 
  @see -dataTaskWithRequest:uploadProgress:downloadProgress:completionHandler:
  */
 - (nullable NSURLSessionDataTask *)POST:(NSString *)URLString
                              parameters:(nullable id)parameters
+                                headers:(nullable NSDictionary <NSString *, NSString *> *)headers
               constructingBodyWithBlock:(nullable void (^)(id <AFMultipartFormData> formData))block
                                progress:(nullable void (^)(NSProgress *uploadProgress))uploadProgress
                                 success:(nullable void (^)(NSURLSessionDataTask *task, id _Nullable responseObject))success
@@ -256,48 +208,77 @@ NS_ASSUME_NONNULL_BEGIN
 
 /**
  Creates and runs an `NSURLSessionDataTask` with a `PUT` request.
-
+ 
  @param URLString The URL string used to create the request URL.
  @param parameters The parameters to be encoded according to the client request serializer.
+ @param headers The headers appended to the default headers for this request.
  @param success A block object to be executed when the task finishes successfully. This block has no return value and takes two arguments: the data task, and the response object created by the client response serializer.
  @param failure A block object to be executed when the task finishes unsuccessfully, or that finishes successfully, but encountered an error while parsing the response data. This block has no return value and takes a two arguments: the data task and the error describing the network or parsing error that occurred.
-
+ 
  @see -dataTaskWithRequest:completionHandler:
  */
 - (nullable NSURLSessionDataTask *)PUT:(NSString *)URLString
-                   parameters:(nullable id)parameters
-                      success:(nullable void (^)(NSURLSessionDataTask *task, id _Nullable responseObject))success
-                      failure:(nullable void (^)(NSURLSessionDataTask * _Nullable task, NSError *error))failure;
+                            parameters:(nullable id)parameters
+                               headers:(nullable NSDictionary <NSString *, NSString *> *)headers
+                               success:(nullable void (^)(NSURLSessionDataTask *task, id _Nullable responseObject))success
+                               failure:(nullable void (^)(NSURLSessionDataTask * _Nullable task, NSError *error))failure;
 
 /**
  Creates and runs an `NSURLSessionDataTask` with a `PATCH` request.
-
+ 
  @param URLString The URL string used to create the request URL.
  @param parameters The parameters to be encoded according to the client request serializer.
+ @param headers The headers appended to the default headers for this request.
  @param success A block object to be executed when the task finishes successfully. This block has no return value and takes two arguments: the data task, and the response object created by the client response serializer.
  @param failure A block object to be executed when the task finishes unsuccessfully, or that finishes successfully, but encountered an error while parsing the response data. This block has no return value and takes a two arguments: the data task and the error describing the network or parsing error that occurred.
-
+ 
  @see -dataTaskWithRequest:completionHandler:
  */
 - (nullable NSURLSessionDataTask *)PATCH:(NSString *)URLString
-                     parameters:(nullable id)parameters
-                        success:(nullable void (^)(NSURLSessionDataTask *task, id _Nullable responseObject))success
-                        failure:(nullable void (^)(NSURLSessionDataTask * _Nullable task, NSError *error))failure;
+                              parameters:(nullable id)parameters
+                                 headers:(nullable NSDictionary <NSString *, NSString *> *)headers
+                                 success:(nullable void (^)(NSURLSessionDataTask *task, id _Nullable responseObject))success
+                                 failure:(nullable void (^)(NSURLSessionDataTask * _Nullable task, NSError *error))failure;
 
 /**
  Creates and runs an `NSURLSessionDataTask` with a `DELETE` request.
-
+ 
  @param URLString The URL string used to create the request URL.
  @param parameters The parameters to be encoded according to the client request serializer.
+ @param headers The headers appended to the default headers for this request.
  @param success A block object to be executed when the task finishes successfully. This block has no return value and takes two arguments: the data task, and the response object created by the client response serializer.
  @param failure A block object to be executed when the task finishes unsuccessfully, or that finishes successfully, but encountered an error while parsing the response data. This block has no return value and takes a two arguments: the data task and the error describing the network or parsing error that occurred.
-
+ 
  @see -dataTaskWithRequest:completionHandler:
  */
 - (nullable NSURLSessionDataTask *)DELETE:(NSString *)URLString
-                      parameters:(nullable id)parameters
-                         success:(nullable void (^)(NSURLSessionDataTask *task, id _Nullable responseObject))success
-                         failure:(nullable void (^)(NSURLSessionDataTask * _Nullable task, NSError *error))failure;
+                               parameters:(nullable id)parameters
+                                  headers:(nullable NSDictionary <NSString *, NSString *> *)headers
+                                  success:(nullable void (^)(NSURLSessionDataTask *task, id _Nullable responseObject))success
+                                  failure:(nullable void (^)(NSURLSessionDataTask * _Nullable task, NSError *error))failure;
+
+/**
+ Creates an `NSURLSessionDataTask` with a custom `HTTPMethod` request.
+
+ @param method The HTTPMethod string used to create the request.
+ @param URLString The URL string used to create the request URL.
+ @param parameters The parameters to be encoded according to the client request serializer.
+ @param headers The headers appended to the default headers for this request.
+ @param uploadProgress A block object to be executed when the upload progress is updated. Note this block is called on the session queue, not the main queue.
+ @param downloadProgress A block object to be executed when the download progress is updated. Note this block is called on the session queue, not the main queue.
+ @param success A block object to be executed when the task finishes successfully. This block has no return value and takes two arguments: the data task, and the response object created by the client response serializer.
+ @param failure A block object to be executed when the task finishes unsuccessfully, or that finishes successfully, but encountered an error while parsing the response data. This block has no return value and takes a two arguments: the data task and the error describing the network or parsing error that occurred.
+
+ @see -dataTaskWithRequest:uploadProgress:downloadProgress:completionHandler:
+ */
+- (nullable NSURLSessionDataTask *)dataTaskWithHTTPMethod:(NSString *)method
+                                                URLString:(NSString *)URLString
+                                               parameters:(nullable id)parameters
+                                                  headers:(nullable NSDictionary <NSString *, NSString *> *)headers
+                                           uploadProgress:(nullable void (^)(NSProgress *uploadProgress))uploadProgress
+                                         downloadProgress:(nullable void (^)(NSProgress *downloadProgress))downloadProgress
+                                                  success:(nullable void (^)(NSURLSessionDataTask *task, id _Nullable responseObject))success
+                                                  failure:(nullable void (^)(NSURLSessionDataTask * _Nullable task, NSError *error))failure;
 
 @end
 

+ 63 - 78
HappyWork/Pods/AFNetworking/AFNetworking/AFHTTPSessionManager.m

@@ -118,99 +118,80 @@
 #pragma mark -
 
 - (NSURLSessionDataTask *)GET:(NSString *)URLString
-                   parameters:(id)parameters
-                      success:(void (^)(NSURLSessionDataTask *task, id responseObject))success
-                      failure:(void (^)(NSURLSessionDataTask *task, NSError *error))failure
+                   parameters:(nullable id)parameters
+                      headers:(nullable NSDictionary <NSString *, NSString *> *)headers
+                     progress:(nullable void (^)(NSProgress * _Nonnull))downloadProgress
+                      success:(nullable void (^)(NSURLSessionDataTask * _Nonnull, id _Nullable))success
+                      failure:(nullable void (^)(NSURLSessionDataTask * _Nullable, NSError * _Nonnull))failure
 {
-
-    return [self GET:URLString parameters:parameters progress:nil success:success failure:failure];
-}
-
-- (NSURLSessionDataTask *)GET:(NSString *)URLString
-                   parameters:(id)parameters
-                     progress:(void (^)(NSProgress * _Nonnull))downloadProgress
-                      success:(void (^)(NSURLSessionDataTask * _Nonnull, id _Nullable))success
-                      failure:(void (^)(NSURLSessionDataTask * _Nullable, NSError * _Nonnull))failure
-{
-
+    
     NSURLSessionDataTask *dataTask = [self dataTaskWithHTTPMethod:@"GET"
                                                         URLString:URLString
                                                        parameters:parameters
+                                                          headers:headers
                                                    uploadProgress:nil
                                                  downloadProgress:downloadProgress
                                                           success:success
                                                           failure:failure];
-
+    
     [dataTask resume];
-
+    
     return dataTask;
 }
 
 - (NSURLSessionDataTask *)HEAD:(NSString *)URLString
-                    parameters:(id)parameters
-                       success:(void (^)(NSURLSessionDataTask *task))success
-                       failure:(void (^)(NSURLSessionDataTask *task, NSError *error))failure
+                    parameters:(nullable id)parameters
+                       headers:(nullable NSDictionary<NSString *,NSString *> *)headers
+                       success:(nullable void (^)(NSURLSessionDataTask * _Nonnull))success
+                       failure:(nullable void (^)(NSURLSessionDataTask * _Nullable, NSError * _Nonnull))failure
 {
-    NSURLSessionDataTask *dataTask = [self dataTaskWithHTTPMethod:@"HEAD" URLString:URLString parameters:parameters uploadProgress:nil downloadProgress:nil success:^(NSURLSessionDataTask *task, __unused id responseObject) {
+    NSURLSessionDataTask *dataTask = [self dataTaskWithHTTPMethod:@"HEAD" URLString:URLString parameters:parameters headers:headers uploadProgress:nil downloadProgress:nil success:^(NSURLSessionDataTask *task, __unused id responseObject) {
         if (success) {
             success(task);
         }
     } failure:failure];
-
+    
     [dataTask resume];
-
+    
     return dataTask;
 }
 
-- (NSURLSessionDataTask *)POST:(NSString *)URLString
-                    parameters:(id)parameters
-                       success:(void (^)(NSURLSessionDataTask *task, id responseObject))success
-                       failure:(void (^)(NSURLSessionDataTask *task, NSError *error))failure
+- (nullable NSURLSessionDataTask *)POST:(NSString *)URLString
+                             parameters:(nullable id)parameters
+                                headers:(nullable NSDictionary <NSString *, NSString *> *)headers
+                               progress:(nullable void (^)(NSProgress *uploadProgress))uploadProgress
+                                success:(nullable void (^)(NSURLSessionDataTask *task, id _Nullable responseObject))success
+                                failure:(nullable void (^)(NSURLSessionDataTask * _Nullable task, NSError *error))failure
 {
-    return [self POST:URLString parameters:parameters progress:nil success:success failure:failure];
-}
-
-- (NSURLSessionDataTask *)POST:(NSString *)URLString
-                    parameters:(id)parameters
-                      progress:(void (^)(NSProgress * _Nonnull))uploadProgress
-                       success:(void (^)(NSURLSessionDataTask * _Nonnull, id _Nullable))success
-                       failure:(void (^)(NSURLSessionDataTask * _Nullable, NSError * _Nonnull))failure
-{
-    NSURLSessionDataTask *dataTask = [self dataTaskWithHTTPMethod:@"POST" URLString:URLString parameters:parameters uploadProgress:uploadProgress downloadProgress:nil success:success failure:failure];
-
+    NSURLSessionDataTask *dataTask = [self dataTaskWithHTTPMethod:@"POST" URLString:URLString parameters:parameters headers:headers uploadProgress:uploadProgress downloadProgress:nil success:success failure:failure];
+    
     [dataTask resume];
-
+    
     return dataTask;
 }
 
 - (NSURLSessionDataTask *)POST:(NSString *)URLString
                     parameters:(nullable id)parameters
+                       headers:(nullable NSDictionary<NSString *,NSString *> *)headers
      constructingBodyWithBlock:(nullable void (^)(id<AFMultipartFormData> _Nonnull))block
-                       success:(nullable void (^)(NSURLSessionDataTask * _Nonnull, id _Nullable))success
-                       failure:(nullable void (^)(NSURLSessionDataTask * _Nullable, NSError * _Nonnull))failure
-{
-    return [self POST:URLString parameters:parameters constructingBodyWithBlock:block progress:nil success:success failure:failure];
-}
-
-- (NSURLSessionDataTask *)POST:(NSString *)URLString
-                    parameters:(id)parameters
-     constructingBodyWithBlock:(void (^)(id <AFMultipartFormData> formData))block
                       progress:(nullable void (^)(NSProgress * _Nonnull))uploadProgress
-                       success:(void (^)(NSURLSessionDataTask *task, id responseObject))success
-                       failure:(void (^)(NSURLSessionDataTask *task, NSError *error))failure
+                       success:(nullable void (^)(NSURLSessionDataTask * _Nonnull, id _Nullable))success failure:(void (^)(NSURLSessionDataTask * _Nullable, NSError * _Nonnull))failure
 {
     NSError *serializationError = nil;
     NSMutableURLRequest *request = [self.requestSerializer multipartFormRequestWithMethod:@"POST" URLString:[[NSURL URLWithString:URLString relativeToURL:self.baseURL] absoluteString] parameters:parameters constructingBodyWithBlock:block error:&serializationError];
+    for (NSString *headerField in headers.keyEnumerator) {
+        [request setValue:headers[headerField] forHTTPHeaderField:headerField];
+    }
     if (serializationError) {
         if (failure) {
             dispatch_async(self.completionQueue ?: dispatch_get_main_queue(), ^{
                 failure(nil, serializationError);
             });
         }
-
+        
         return nil;
     }
-
+    
     __block NSURLSessionDataTask *task = [self uploadTaskWithStreamedRequest:request progress:uploadProgress completionHandler:^(NSURLResponse * __unused response, id responseObject, NSError *error) {
         if (error) {
             if (failure) {
@@ -222,58 +203,66 @@
             }
         }
     }];
-
+    
     [task resume];
-
+    
     return task;
 }
 
 - (NSURLSessionDataTask *)PUT:(NSString *)URLString
-                   parameters:(id)parameters
-                      success:(void (^)(NSURLSessionDataTask *task, id responseObject))success
-                      failure:(void (^)(NSURLSessionDataTask *task, NSError *error))failure
+                   parameters:(nullable id)parameters
+                      headers:(nullable NSDictionary<NSString *,NSString *> *)headers
+                      success:(nullable void (^)(NSURLSessionDataTask *task, id responseObject))success
+                      failure:(nullable void (^)(NSURLSessionDataTask *task, NSError *error))failure
 {
-    NSURLSessionDataTask *dataTask = [self dataTaskWithHTTPMethod:@"PUT" URLString:URLString parameters:parameters uploadProgress:nil downloadProgress:nil success:success failure:failure];
-
+    NSURLSessionDataTask *dataTask = [self dataTaskWithHTTPMethod:@"PUT" URLString:URLString parameters:parameters headers:headers uploadProgress:nil downloadProgress:nil success:success failure:failure];
+    
     [dataTask resume];
-
+    
     return dataTask;
 }
 
 - (NSURLSessionDataTask *)PATCH:(NSString *)URLString
-                     parameters:(id)parameters
-                        success:(void (^)(NSURLSessionDataTask *task, id responseObject))success
-                        failure:(void (^)(NSURLSessionDataTask *task, NSError *error))failure
+                     parameters:(nullable id)parameters
+                        headers:(nullable NSDictionary<NSString *,NSString *> *)headers
+                        success:(nullable void (^)(NSURLSessionDataTask *task, id responseObject))success
+                        failure:(nullable void (^)(NSURLSessionDataTask *task, NSError *error))failure
 {
-    NSURLSessionDataTask *dataTask = [self dataTaskWithHTTPMethod:@"PATCH" URLString:URLString parameters:parameters uploadProgress:nil downloadProgress:nil success:success failure:failure];
-
+    NSURLSessionDataTask *dataTask = [self dataTaskWithHTTPMethod:@"PATCH" URLString:URLString parameters:parameters headers:headers uploadProgress:nil downloadProgress:nil success:success failure:failure];
+    
     [dataTask resume];
-
+    
     return dataTask;
 }
 
 - (NSURLSessionDataTask *)DELETE:(NSString *)URLString
-                      parameters:(id)parameters
-                         success:(void (^)(NSURLSessionDataTask *task, id responseObject))success
-                         failure:(void (^)(NSURLSessionDataTask *task, NSError *error))failure
+                      parameters:(nullable id)parameters
+                         headers:(nullable NSDictionary<NSString *,NSString *> *)headers
+                         success:(nullable void (^)(NSURLSessionDataTask *task, id responseObject))success
+                         failure:(nullable void (^)(NSURLSessionDataTask *task, NSError *error))failure
 {
-    NSURLSessionDataTask *dataTask = [self dataTaskWithHTTPMethod:@"DELETE" URLString:URLString parameters:parameters uploadProgress:nil downloadProgress:nil success:success failure:failure];
-
+    NSURLSessionDataTask *dataTask = [self dataTaskWithHTTPMethod:@"DELETE" URLString:URLString parameters:parameters headers:headers uploadProgress:nil downloadProgress:nil success:success failure:failure];
+    
     [dataTask resume];
-
+    
     return dataTask;
 }
 
+
 - (NSURLSessionDataTask *)dataTaskWithHTTPMethod:(NSString *)method
                                        URLString:(NSString *)URLString
-                                      parameters:(id)parameters
+                                      parameters:(nullable id)parameters
+                                         headers:(nullable NSDictionary <NSString *, NSString *> *)headers
                                   uploadProgress:(nullable void (^)(NSProgress *uploadProgress)) uploadProgress
                                 downloadProgress:(nullable void (^)(NSProgress *downloadProgress)) downloadProgress
-                                         success:(void (^)(NSURLSessionDataTask *, id))success
-                                         failure:(void (^)(NSURLSessionDataTask *, NSError *))failure
+                                         success:(nullable void (^)(NSURLSessionDataTask *task, id _Nullable responseObject))success
+                                         failure:(nullable void (^)(NSURLSessionDataTask * _Nullable task, NSError *error))failure
 {
     NSError *serializationError = nil;
     NSMutableURLRequest *request = [self.requestSerializer requestWithMethod:method URLString:[[NSURL URLWithString:URLString relativeToURL:self.baseURL] absoluteString] parameters:parameters error:&serializationError];
+    for (NSString *headerField in headers.keyEnumerator) {
+        [request setValue:headers[headerField] forHTTPHeaderField:headerField];
+    }
     if (serializationError) {
         if (failure) {
             dispatch_async(self.completionQueue ?: dispatch_get_main_queue(), ^{
@@ -321,11 +310,7 @@
     if (!configuration) {
         NSString *configurationIdentifier = [decoder decodeObjectOfClass:[NSString class] forKey:@"identifier"];
         if (configurationIdentifier) {
-#if (defined(__IPHONE_OS_VERSION_MIN_REQUIRED) && __IPHONE_OS_VERSION_MIN_REQUIRED >= 80000) || (defined(__MAC_OS_X_VERSION_MIN_REQUIRED) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 1100)
             configuration = [NSURLSessionConfiguration backgroundSessionConfigurationWithIdentifier:configurationIdentifier];
-#else
-            configuration = [NSURLSessionConfiguration backgroundSessionConfiguration:configurationIdentifier];
-#endif
         }
     }
 

+ 9 - 6
HappyWork/Pods/AFNetworking/AFNetworking/AFNetworkReachabilityManager.m

@@ -32,6 +32,7 @@ NSString * const AFNetworkingReachabilityDidChangeNotification = @"com.alamofire
 NSString * const AFNetworkingReachabilityNotificationStatusItem = @"AFNetworkingReachabilityNotificationStatusItem";
 
 typedef void (^AFNetworkReachabilityStatusBlock)(AFNetworkReachabilityStatus status);
+typedef AFNetworkReachabilityManager * (^AFNetworkReachabilityStatusCallback)(AFNetworkReachabilityStatus status);
 
 NSString * AFStringFromNetworkReachabilityStatus(AFNetworkReachabilityStatus status) {
     switch (status) {
@@ -78,20 +79,21 @@ static AFNetworkReachabilityStatus AFNetworkReachabilityStatusForFlags(SCNetwork
  * a queued notification (for an earlier status condition) is processed after
  * the later update, resulting in the listener being left in the wrong state.
  */
-static void AFPostReachabilityStatusChange(SCNetworkReachabilityFlags flags, AFNetworkReachabilityStatusBlock block) {
+static void AFPostReachabilityStatusChange(SCNetworkReachabilityFlags flags, AFNetworkReachabilityStatusCallback block) {
     AFNetworkReachabilityStatus status = AFNetworkReachabilityStatusForFlags(flags);
     dispatch_async(dispatch_get_main_queue(), ^{
+        AFNetworkReachabilityManager *manager = nil;
         if (block) {
-            block(status);
+            manager = block(status);
         }
         NSNotificationCenter *notificationCenter = [NSNotificationCenter defaultCenter];
         NSDictionary *userInfo = @{ AFNetworkingReachabilityNotificationStatusItem: @(status) };
-        [notificationCenter postNotificationName:AFNetworkingReachabilityDidChangeNotification object:nil userInfo:userInfo];
+        [notificationCenter postNotificationName:AFNetworkingReachabilityDidChangeNotification object:manager userInfo:userInfo];
     });
 }
 
 static void AFNetworkReachabilityCallback(SCNetworkReachabilityRef __unused target, SCNetworkReachabilityFlags flags, void *info) {
-    AFPostReachabilityStatusChange(flags, (__bridge AFNetworkReachabilityStatusBlock)info);
+    AFPostReachabilityStatusChange(flags, (__bridge AFNetworkReachabilityStatusCallback)info);
 }
 
 
@@ -210,14 +212,15 @@ static void AFNetworkReachabilityReleaseCallback(const void *info) {
     }
 
     __weak __typeof(self)weakSelf = self;
-    AFNetworkReachabilityStatusBlock callback = ^(AFNetworkReachabilityStatus status) {
+    AFNetworkReachabilityStatusCallback callback = ^(AFNetworkReachabilityStatus status) {
         __strong __typeof(weakSelf)strongSelf = weakSelf;
 
         strongSelf.networkReachabilityStatus = status;
         if (strongSelf.networkReachabilityStatusBlock) {
             strongSelf.networkReachabilityStatusBlock(status);
         }
-
+        
+        return strongSelf;
     };
 
     SCNetworkReachabilityContext context = {0, (__bridge void *)callback, AFNetworkReachabilityRetainCallback, AFNetworkReachabilityReleaseCallback, NULL};

+ 10 - 3
HappyWork/Pods/AFNetworking/AFNetworking/AFSecurityPolicy.h

@@ -45,10 +45,10 @@ NS_ASSUME_NONNULL_BEGIN
 
 /**
  The certificates used to evaluate server trust according to the SSL pinning mode. 
-
-  By default, this property is set to any (`.cer`) certificates included in the target compiling AFNetworking. Note that if you are using AFNetworking as embedded framework, no certificates will be pinned by default. Use `certificatesInBundle` to load certificates from your target, and then create a new policy by calling `policyWithPinningMode:withPinnedCertificates`.
  
  Note that if pinning is enabled, `evaluateServerTrust:forDomain:` will return true if any pinned certificate matches.
+
+ @see policyWithPinningMode:withPinnedCertificates:
  */
 @property (nonatomic, strong, nullable) NSSet <NSData *> *pinnedCertificates;
 
@@ -90,10 +90,14 @@ NS_ASSUME_NONNULL_BEGIN
 
 /**
  Creates and returns a security policy with the specified pinning mode.
+ 
+ Certificates with the `.cer` extension found in the main bundle will be pinned. If you want more control over which certificates are pinned, please use `policyWithPinningMode:withPinnedCertificates:` instead.
 
  @param pinningMode The SSL pinning mode.
 
  @return A new security policy.
+
+ @see -policyWithPinningMode:withPinnedCertificates:
  */
 + (instancetype)policyWithPinningMode:(AFSSLPinningMode)pinningMode;
 
@@ -104,7 +108,10 @@ NS_ASSUME_NONNULL_BEGIN
  @param pinnedCertificates The certificates to pin against.
 
  @return A new security policy.
- */
+
+ @see +certificatesInBundle:
+ @see -pinnedCertificates
+*/
 + (instancetype)policyWithPinningMode:(AFSSLPinningMode)pinningMode withPinnedCertificates:(NSSet <NSData *> *)pinnedCertificates;
 
 ///------------------------------

+ 16 - 19
HappyWork/Pods/AFNetworking/AFNetworking/AFSecurityPolicy.m

@@ -60,7 +60,10 @@ static id AFPublicKeyForCertificate(NSData *certificate) {
 
     policy = SecPolicyCreateBasicX509();
     __Require_noErr_Quiet(SecTrustCreateWithCertificates(allowedCertificate, policy, &allowedTrust), _out);
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wdeprecated-declarations"
     __Require_noErr_Quiet(SecTrustEvaluate(allowedTrust, &result), _out);
+#pragma clang diagnostic pop
 
     allowedPublicKey = (__bridge_transfer id)SecTrustCopyPublicKey(allowedTrust);
 
@@ -83,7 +86,10 @@ _out:
 static BOOL AFServerTrustIsValid(SecTrustRef serverTrust) {
     BOOL isValid = NO;
     SecTrustResultType result;
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wdeprecated-declarations"
     __Require_noErr_Quiet(SecTrustEvaluate(serverTrust, &result), _out);
+#pragma clang diagnostic pop
 
     isValid = (result == kSecTrustResultUnspecified || result == kSecTrustResultProceed);
 
@@ -115,10 +121,11 @@ static NSArray * AFPublicKeyTrustChainForServerTrust(SecTrustRef serverTrust) {
 
         SecTrustRef trust;
         __Require_noErr_Quiet(SecTrustCreateWithCertificates(certificates, policy, &trust), _out);
-
         SecTrustResultType result;
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wdeprecated-declarations"
         __Require_noErr_Quiet(SecTrustEvaluate(trust, &result), _out);
-
+#pragma clang diagnostic pop
         [trustChain addObject:(__bridge_transfer id)SecTrustCopyPublicKey(trust)];
 
     _out:
@@ -158,17 +165,6 @@ static NSArray * AFPublicKeyTrustChainForServerTrust(SecTrustRef serverTrust) {
     return [NSSet setWithSet:certificates];
 }
 
-+ (NSSet *)defaultPinnedCertificates {
-    static NSSet *_defaultPinnedCertificates = nil;
-    static dispatch_once_t onceToken;
-    dispatch_once(&onceToken, ^{
-        NSBundle *bundle = [NSBundle bundleForClass:[self class]];
-        _defaultPinnedCertificates = [self certificatesInBundle:bundle];
-    });
-
-    return _defaultPinnedCertificates;
-}
-
 + (instancetype)defaultPolicy {
     AFSecurityPolicy *securityPolicy = [[self alloc] init];
     securityPolicy.SSLPinningMode = AFSSLPinningModeNone;
@@ -177,7 +173,8 @@ static NSArray * AFPublicKeyTrustChainForServerTrust(SecTrustRef serverTrust) {
 }
 
 + (instancetype)policyWithPinningMode:(AFSSLPinningMode)pinningMode {
-    return [self policyWithPinningMode:pinningMode withPinnedCertificates:[self defaultPinnedCertificates]];
+    NSSet <NSData *> *defaultPinnedCertificates = [self certificatesInBundle:[NSBundle mainBundle]];
+    return [self policyWithPinningMode:pinningMode withPinnedCertificates:defaultPinnedCertificates];
 }
 
 + (instancetype)policyWithPinningMode:(AFSSLPinningMode)pinningMode withPinnedCertificates:(NSSet *)pinnedCertificates {
@@ -247,14 +244,11 @@ static NSArray * AFPublicKeyTrustChainForServerTrust(SecTrustRef serverTrust) {
 
     if (self.SSLPinningMode == AFSSLPinningModeNone) {
         return self.allowInvalidCertificates || AFServerTrustIsValid(serverTrust);
-    } else if (!AFServerTrustIsValid(serverTrust) && !self.allowInvalidCertificates) {
+    } else if (!self.allowInvalidCertificates && !AFServerTrustIsValid(serverTrust)) {
         return NO;
     }
 
     switch (self.SSLPinningMode) {
-        case AFSSLPinningModeNone:
-        default:
-            return NO;
         case AFSSLPinningModeCertificate: {
             NSMutableArray *pinnedCertificates = [NSMutableArray array];
             for (NSData *certificateData in self.pinnedCertificates) {
@@ -290,6 +284,9 @@ static NSArray * AFPublicKeyTrustChainForServerTrust(SecTrustRef serverTrust) {
             }
             return trustedPublicKeyCount > 0;
         }
+            
+        default:
+            return NO;
     }
     
     return NO;
@@ -317,7 +314,7 @@ static NSArray * AFPublicKeyTrustChainForServerTrust(SecTrustRef serverTrust) {
     self.SSLPinningMode = [[decoder decodeObjectOfClass:[NSNumber class] forKey:NSStringFromSelector(@selector(SSLPinningMode))] unsignedIntegerValue];
     self.allowInvalidCertificates = [decoder decodeBoolForKey:NSStringFromSelector(@selector(allowInvalidCertificates))];
     self.validatesDomainName = [decoder decodeBoolForKey:NSStringFromSelector(@selector(validatesDomainName))];
-    self.pinnedCertificates = [decoder decodeObjectOfClass:[NSArray class] forKey:NSStringFromSelector(@selector(pinnedCertificates))];
+    self.pinnedCertificates = [decoder decodeObjectOfClass:[NSSet class] forKey:NSStringFromSelector(@selector(pinnedCertificates))];
 
     return self;
 }

+ 5 - 5
HappyWork/Pods/AFNetworking/AFNetworking/AFURLRequestSerialization.h

@@ -216,7 +216,7 @@ forHTTPHeaderField:(NSString *)field;
 
  @param block A block that defines a process of encoding parameters into a query string. This block returns the query string and takes three arguments: the request, the parameters to encode, and the error that occurred when attempting to encode parameters for the given request.
  */
-- (void)setQueryStringSerializationWithBlock:(nullable NSString * (^)(NSURLRequest *request, id parameters, NSError * __autoreleasing *error))block;
+- (void)setQueryStringSerializationWithBlock:(nullable NSString * _Nullable (^)(NSURLRequest *request, id parameters, NSError * __autoreleasing *error))block;
 
 ///-------------------------------
 /// @name Creating Request Objects
@@ -234,10 +234,10 @@ forHTTPHeaderField:(NSString *)field;
 
  @return An `NSMutableURLRequest` object.
  */
-- (NSMutableURLRequest *)requestWithMethod:(NSString *)method
-                                 URLString:(NSString *)URLString
-                                parameters:(nullable id)parameters
-                                     error:(NSError * _Nullable __autoreleasing *)error;
+- (nullable NSMutableURLRequest *)requestWithMethod:(NSString *)method
+                                          URLString:(NSString *)URLString
+                                         parameters:(nullable id)parameters
+                                              error:(NSError * _Nullable __autoreleasing *)error;
 
 /**
  Creates an `NSMutableURLRequest` object with the specified HTTP method and URLString, and constructs a `multipart/form-data` HTTP body, using the specified parameters and multipart form data block. See http://www.w3.org/TR/html4/interact/forms.html#h-17.13.4.2

File diff suppressed because it is too large
+ 8 - 7
HappyWork/Pods/AFNetworking/AFNetworking/AFURLRequestSerialization.m


+ 5 - 2
HappyWork/Pods/AFNetworking/AFNetworking/AFURLResponseSerialization.h

@@ -25,6 +25,11 @@
 NS_ASSUME_NONNULL_BEGIN
 
 /**
+ Recursively removes `NSNull` values from a JSON object.
+*/
+FOUNDATION_EXPORT id AFJSONObjectByRemovingKeysWithNullValues(id JSONObject, NSJSONReadingOptions readingOptions);
+
+/**
  The `AFURLResponseSerialization` protocol is adopted by an object that decodes data into a more useful object representation, according to details in the server response. Response serializers may additionally perform validation on the incoming response and data.
 
  For example, a JSON response serializer may check for an acceptable status code (`2XX` range) and content type (`application/json`), decoding a valid JSON response into an object.
@@ -57,8 +62,6 @@ NS_ASSUME_NONNULL_BEGIN
 
 - (instancetype)init;
 
-@property (nonatomic, assign) NSStringEncoding stringEncoding DEPRECATED_MSG_ATTRIBUTE("The string encoding is never used. AFHTTPResponseSerializer only validates status codes and content types but does not try to decode the received data in any way.");
-
 /**
  Creates and returns a serializer with default configuration.
  */

+ 24 - 5
HappyWork/Pods/AFNetworking/AFNetworking/AFURLResponseSerialization.m

@@ -60,11 +60,13 @@ static BOOL AFErrorOrUnderlyingErrorHasCodeInDomain(NSError *error, NSInteger co
     return NO;
 }
 
-static id AFJSONObjectByRemovingKeysWithNullValues(id JSONObject, NSJSONReadingOptions readingOptions) {
+id AFJSONObjectByRemovingKeysWithNullValues(id JSONObject, NSJSONReadingOptions readingOptions) {
     if ([JSONObject isKindOfClass:[NSArray class]]) {
         NSMutableArray *mutableArray = [NSMutableArray arrayWithCapacity:[(NSArray *)JSONObject count]];
         for (id value in (NSArray *)JSONObject) {
-            [mutableArray addObject:AFJSONObjectByRemovingKeysWithNullValues(value, readingOptions)];
+            if (![value isEqual:[NSNull null]]) {
+                [mutableArray addObject:AFJSONObjectByRemovingKeysWithNullValues(value, readingOptions)];
+            }
         }
 
         return (readingOptions & NSJSONReadingMutableContainers) ? mutableArray : [NSArray arrayWithArray:mutableArray];
@@ -112,7 +114,7 @@ static id AFJSONObjectByRemovingKeysWithNullValues(id JSONObject, NSJSONReadingO
     BOOL responseIsValid = YES;
     NSError *validationError = nil;
 
-    if (response && [response isKindOfClass:[NSHTTPURLResponse class]]) {
+    if ([response isKindOfClass:[NSHTTPURLResponse class]]) {
         if (self.acceptableContentTypes && ![self.acceptableContentTypes containsObject:[response MIMEType]] &&
             !([response MIMEType] == nil && [data length] == 0)) {
 
@@ -180,7 +182,7 @@ static id AFJSONObjectByRemovingKeysWithNullValues(id JSONObject, NSJSONReadingO
     }
 
     self.acceptableStatusCodes = [decoder decodeObjectOfClass:[NSIndexSet class] forKey:NSStringFromSelector(@selector(acceptableStatusCodes))];
-    self.acceptableContentTypes = [decoder decodeObjectOfClass:[NSIndexSet class] forKey:NSStringFromSelector(@selector(acceptableContentTypes))];
+    self.acceptableContentTypes = [decoder decodeObjectOfClass:[NSSet class] forKey:NSStringFromSelector(@selector(acceptableContentTypes))];
 
     return self;
 }
@@ -269,6 +271,10 @@ static id AFJSONObjectByRemovingKeysWithNullValues(id JSONObject, NSJSONReadingO
 
 #pragma mark - NSSecureCoding
 
++ (BOOL)supportsSecureCoding {
+    return YES;
+}
+
 - (instancetype)initWithCoder:(NSCoder *)decoder {
     self = [super initWithCoder:decoder];
     if (!self) {
@@ -486,6 +492,10 @@ static id AFJSONObjectByRemovingKeysWithNullValues(id JSONObject, NSJSONReadingO
 
 #pragma mark - NSSecureCoding
 
++ (BOOL)supportsSecureCoding {
+    return YES;
+}
+
 - (instancetype)initWithCoder:(NSCoder *)decoder {
     self = [super initWithCoder:decoder];
     if (!self) {
@@ -702,6 +712,10 @@ static UIImage * AFInflatedImageFromResponseWithDataAtScale(NSHTTPURLResponse *r
 
 #pragma mark - NSSecureCoding
 
++ (BOOL)supportsSecureCoding {
+    return YES;
+}
+
 - (instancetype)initWithCoder:(NSCoder *)decoder {
     self = [super initWithCoder:decoder];
     if (!self) {
@@ -788,13 +802,18 @@ static UIImage * AFInflatedImageFromResponseWithDataAtScale(NSHTTPURLResponse *r
 
 #pragma mark - NSSecureCoding
 
++ (BOOL)supportsSecureCoding {
+    return YES;
+}
+
 - (instancetype)initWithCoder:(NSCoder *)decoder {
     self = [super initWithCoder:decoder];
     if (!self) {
         return nil;
     }
 
-    self.responseSerializers = [decoder decodeObjectOfClass:[NSArray class] forKey:NSStringFromSelector(@selector(responseSerializers))];
+    NSSet *classes = [NSSet setWithArray:@[[NSArray class], [AFHTTPResponseSerializer <AFURLResponseSerialization> class]]];
+    self.responseSerializers = [decoder decodeObjectOfClasses:classes forKey:NSStringFromSelector(@selector(responseSerializers))];
 
     return self;
 }

File diff suppressed because it is too large
+ 47 - 32
HappyWork/Pods/AFNetworking/AFNetworking/AFURLSessionManager.h


+ 150 - 114
HappyWork/Pods/AFNetworking/AFNetworking/AFURLSessionManager.m

@@ -22,33 +22,6 @@
 #import "AFURLSessionManager.h"
 #import <objc/runtime.h>
 
-#ifndef NSFoundationVersionNumber_iOS_8_0
-#define NSFoundationVersionNumber_With_Fixed_5871104061079552_bug 1140.11
-#else
-#define NSFoundationVersionNumber_With_Fixed_5871104061079552_bug NSFoundationVersionNumber_iOS_8_0
-#endif
-
-static dispatch_queue_t url_session_manager_creation_queue() {
-    static dispatch_queue_t af_url_session_manager_creation_queue;
-    static dispatch_once_t onceToken;
-    dispatch_once(&onceToken, ^{
-        af_url_session_manager_creation_queue = dispatch_queue_create("com.alamofire.networking.session.manager.creation", DISPATCH_QUEUE_SERIAL);
-    });
-
-    return af_url_session_manager_creation_queue;
-}
-
-static void url_session_manager_create_task_safely(dispatch_block_t block) {
-    if (NSFoundationVersionNumber < NSFoundationVersionNumber_With_Fixed_5871104061079552_bug) {
-        // Fix of bug
-        // Open Radar:http://openradar.appspot.com/radar?id=5871104061079552 (status: Fixed in iOS8)
-        // Issue about:https://github.com/AFNetworking/AFNetworking/issues/2093
-        dispatch_sync(url_session_manager_creation_queue(), block);
-    } else {
-        block();
-    }
-}
-
 static dispatch_queue_t url_session_manager_processing_queue() {
     static dispatch_queue_t af_url_session_manager_processing_queue;
     static dispatch_once_t onceToken;
@@ -73,6 +46,7 @@ NSString * const AFNetworkingTaskDidResumeNotification = @"com.alamofire.network
 NSString * const AFNetworkingTaskDidCompleteNotification = @"com.alamofire.networking.task.complete";
 NSString * const AFNetworkingTaskDidSuspendNotification = @"com.alamofire.networking.task.suspend";
 NSString * const AFURLSessionDidInvalidateNotification = @"com.alamofire.networking.session.invalidate";
+NSString * const AFURLSessionDownloadTaskDidMoveFileSuccessfullyNotification = @"com.alamofire.networking.session.download.file-manager-succeed";
 NSString * const AFURLSessionDownloadTaskDidFailToMoveFileNotification = @"com.alamofire.networking.session.download.file-manager-error";
 
 NSString * const AFNetworkingTaskDidCompleteSerializedResponseKey = @"com.alamofire.networking.task.complete.serializedresponse";
@@ -80,21 +54,24 @@ NSString * const AFNetworkingTaskDidCompleteResponseSerializerKey = @"com.alamof
 NSString * const AFNetworkingTaskDidCompleteResponseDataKey = @"com.alamofire.networking.complete.finish.responsedata";
 NSString * const AFNetworkingTaskDidCompleteErrorKey = @"com.alamofire.networking.task.complete.error";
 NSString * const AFNetworkingTaskDidCompleteAssetPathKey = @"com.alamofire.networking.task.complete.assetpath";
+NSString * const AFNetworkingTaskDidCompleteSessionTaskMetrics = @"com.alamofire.networking.complete.sessiontaskmetrics";
 
 static NSString * const AFURLSessionManagerLockName = @"com.alamofire.networking.session.manager.lock";
 
-static NSUInteger const AFMaximumNumberOfAttemptsToRecreateBackgroundSessionUploadTask = 3;
-
 typedef void (^AFURLSessionDidBecomeInvalidBlock)(NSURLSession *session, NSError *error);
 typedef NSURLSessionAuthChallengeDisposition (^AFURLSessionDidReceiveAuthenticationChallengeBlock)(NSURLSession *session, NSURLAuthenticationChallenge *challenge, NSURLCredential * __autoreleasing *credential);
 
 typedef NSURLRequest * (^AFURLSessionTaskWillPerformHTTPRedirectionBlock)(NSURLSession *session, NSURLSessionTask *task, NSURLResponse *response, NSURLRequest *request);
 typedef NSURLSessionAuthChallengeDisposition (^AFURLSessionTaskDidReceiveAuthenticationChallengeBlock)(NSURLSession *session, NSURLSessionTask *task, NSURLAuthenticationChallenge *challenge, NSURLCredential * __autoreleasing *credential);
+typedef id (^AFURLSessionTaskAuthenticationChallengeBlock)(NSURLSession *session, NSURLSessionTask *task, NSURLAuthenticationChallenge *challenge, void (^completionHandler)(NSURLSessionAuthChallengeDisposition disposition, NSURLCredential *credential));
 typedef void (^AFURLSessionDidFinishEventsForBackgroundURLSessionBlock)(NSURLSession *session);
 
 typedef NSInputStream * (^AFURLSessionTaskNeedNewBodyStreamBlock)(NSURLSession *session, NSURLSessionTask *task);
 typedef void (^AFURLSessionTaskDidSendBodyDataBlock)(NSURLSession *session, NSURLSessionTask *task, int64_t bytesSent, int64_t totalBytesSent, int64_t totalBytesExpectedToSend);
 typedef void (^AFURLSessionTaskDidCompleteBlock)(NSURLSession *session, NSURLSessionTask *task, NSError *error);
+#if AF_CAN_INCLUDE_SESSION_TASK_METRICS
+typedef void (^AFURLSessionTaskDidFinishCollectingMetricsBlock)(NSURLSession *session, NSURLSessionTask *task, NSURLSessionTaskMetrics * metrics) AF_API_AVAILABLE(ios(10), macosx(10.12), watchos(3), tvos(10));
+#endif
 
 typedef NSURLSessionResponseDisposition (^AFURLSessionDataTaskDidReceiveResponseBlock)(NSURLSession *session, NSURLSessionDataTask *dataTask, NSURLResponse *response);
 typedef void (^AFURLSessionDataTaskDidBecomeDownloadTaskBlock)(NSURLSession *session, NSURLSessionDataTask *dataTask, NSURLSessionDownloadTask *downloadTask);
@@ -108,7 +85,6 @@ typedef void (^AFURLSessionTaskProgressBlock)(NSProgress *);
 
 typedef void (^AFURLSessionTaskCompletionHandler)(NSURLResponse *response, id responseObject, NSError *error);
 
-
 #pragma mark -
 
 @interface AFURLSessionManagerTaskDelegate : NSObject <NSURLSessionTaskDelegate, NSURLSessionDataDelegate, NSURLSessionDownloadDelegate>
@@ -118,6 +94,9 @@ typedef void (^AFURLSessionTaskCompletionHandler)(NSURLResponse *response, id re
 @property (nonatomic, strong) NSProgress *uploadProgress;
 @property (nonatomic, strong) NSProgress *downloadProgress;
 @property (nonatomic, copy) NSURL *downloadFileURL;
+#if AF_CAN_INCLUDE_SESSION_TASK_METRICS
+@property (nonatomic, strong) NSURLSessionTaskMetrics *sessionTaskMetrics AF_API_AVAILABLE(ios(10), macosx(10.12), watchos(3), tvos(10));
+#endif
 @property (nonatomic, copy) AFURLSessionDownloadTaskDidFinishDownloadingBlock downloadTaskDidFinishDownloading;
 @property (nonatomic, copy) AFURLSessionTaskProgressBlock uploadProgressBlock;
 @property (nonatomic, copy) AFURLSessionTaskProgressBlock downloadProgressBlock;
@@ -149,7 +128,7 @@ typedef void (^AFURLSessionTaskCompletionHandler)(NSURLResponse *response, id re
             [weakTask suspend];
         };
 #if AF_CAN_USE_AT_AVAILABLE
-        if (@available(iOS 9, macOS 10.11, *))
+        if (@available(macOS 10.11, *))
 #else
         if ([progress respondsToSelector:@selector(setResumingHandler:)])
 #endif
@@ -187,17 +166,20 @@ typedef void (^AFURLSessionTaskCompletionHandler)(NSURLResponse *response, id re
     }
 }
 
+static const void * const AuthenticationChallengeErrorKey = &AuthenticationChallengeErrorKey;
+
 #pragma mark - NSURLSessionTaskDelegate
 
 - (void)URLSession:(__unused NSURLSession *)session
               task:(NSURLSessionTask *)task
 didCompleteWithError:(NSError *)error
 {
+    error = objc_getAssociatedObject(task, AuthenticationChallengeErrorKey) ?: error;
     __strong AFURLSessionManager *manager = self.manager;
 
     __block id responseObject = nil;
 
-    __block NSMutableDictionary *userInfo = [NSMutableDictionary dictionary];
+    NSMutableDictionary *userInfo = [NSMutableDictionary dictionary];
     userInfo[AFNetworkingTaskDidCompleteResponseSerializerKey] = manager.responseSerializer;
 
     //Performance Improvement from #2672
@@ -208,6 +190,14 @@ didCompleteWithError:(NSError *)error
         self.mutableData = nil;
     }
 
+#if AF_CAN_USE_AT_AVAILABLE && AF_CAN_INCLUDE_SESSION_TASK_METRICS
+    if (@available(iOS 10, macOS 10.12, watchOS 3, tvOS 10, *)) {
+        if (self.sessionTaskMetrics) {
+            userInfo[AFNetworkingTaskDidCompleteSessionTaskMetrics] = self.sessionTaskMetrics;
+        }
+    }
+#endif
+
     if (self.downloadFileURL) {
         userInfo[AFNetworkingTaskDidCompleteAssetPathKey] = self.downloadFileURL;
     } else if (data) {
@@ -256,6 +246,14 @@ didCompleteWithError:(NSError *)error
     }
 }
 
+#if AF_CAN_INCLUDE_SESSION_TASK_METRICS
+- (void)URLSession:(NSURLSession *)session
+              task:(NSURLSessionTask *)task
+didFinishCollectingMetrics:(NSURLSessionTaskMetrics *)metrics AF_API_AVAILABLE(ios(10), macosx(10.12), watchos(3), tvos(10)) {
+    self.sessionTaskMetrics = metrics;
+}
+#endif
+
 #pragma mark - NSURLSessionDataDelegate
 
 - (void)URLSession:(__unused NSURLSession *)session
@@ -309,6 +307,8 @@ didFinishDownloadingToURL:(NSURL *)location
 
             if (![[NSFileManager defaultManager] moveItemAtURL:location toURL:self.downloadFileURL error:&fileManagerError]) {
                 [[NSNotificationCenter defaultCenter] postNotificationName:AFURLSessionDownloadTaskDidFailToMoveFileNotification object:downloadTask userInfo:fileManagerError.userInfo];
+            } else {
+                [[NSNotificationCenter defaultCenter] postNotificationName:AFURLSessionDownloadTaskDidMoveFileSuccessfullyNotification object:downloadTask userInfo:nil];
             }
         }
     }
@@ -380,7 +380,7 @@ static NSString * const AFNSURLSessionTaskDidSuspendNotification = @"com.alamofi
             8) Set the current class to the super class, and repeat steps 3-8
          */
         NSURLSessionConfiguration *configuration = [NSURLSessionConfiguration ephemeralSessionConfiguration];
-        NSURLSession * session = [NSURLSession sessionWithConfiguration:configuration];
+        NSURLSession *session = [NSURLSession sessionWithConfiguration:configuration];
 #pragma GCC diagnostic push
 #pragma GCC diagnostic ignored "-Wnonnull"
         NSURLSessionDataTask *localDataTask = [session dataTaskWithURL:nil];
@@ -456,10 +456,13 @@ static NSString * const AFNSURLSessionTaskDidSuspendNotification = @"com.alamofi
 @property (readwrite, nonatomic, copy) AFURLSessionDidReceiveAuthenticationChallengeBlock sessionDidReceiveAuthenticationChallenge;
 @property (readwrite, nonatomic, copy) AFURLSessionDidFinishEventsForBackgroundURLSessionBlock didFinishEventsForBackgroundURLSession AF_API_UNAVAILABLE(macos);
 @property (readwrite, nonatomic, copy) AFURLSessionTaskWillPerformHTTPRedirectionBlock taskWillPerformHTTPRedirection;
-@property (readwrite, nonatomic, copy) AFURLSessionTaskDidReceiveAuthenticationChallengeBlock taskDidReceiveAuthenticationChallenge;
+@property (readwrite, nonatomic, copy) AFURLSessionTaskAuthenticationChallengeBlock authenticationChallengeHandler;
 @property (readwrite, nonatomic, copy) AFURLSessionTaskNeedNewBodyStreamBlock taskNeedNewBodyStream;
 @property (readwrite, nonatomic, copy) AFURLSessionTaskDidSendBodyDataBlock taskDidSendBodyData;
 @property (readwrite, nonatomic, copy) AFURLSessionTaskDidCompleteBlock taskDidComplete;
+#if AF_CAN_INCLUDE_SESSION_TASK_METRICS
+@property (readwrite, nonatomic, copy) AFURLSessionTaskDidFinishCollectingMetricsBlock taskDidFinishCollectingMetrics AF_API_AVAILABLE(ios(10), macosx(10.12), watchos(3), tvos(10));
+#endif
 @property (readwrite, nonatomic, copy) AFURLSessionDataTaskDidReceiveResponseBlock dataTaskDidReceiveResponse;
 @property (readwrite, nonatomic, copy) AFURLSessionDataTaskDidBecomeDownloadTaskBlock dataTaskDidBecomeDownloadTask;
 @property (readwrite, nonatomic, copy) AFURLSessionDataTaskDidReceiveDataBlock dataTaskDidReceiveData;
@@ -490,8 +493,6 @@ static NSString * const AFNSURLSessionTaskDidSuspendNotification = @"com.alamofi
     self.operationQueue = [[NSOperationQueue alloc] init];
     self.operationQueue.maxConcurrentOperationCount = 1;
 
-    self.session = [NSURLSession sessionWithConfiguration:self.sessionConfiguration delegate:self delegateQueue:self.operationQueue];
-
     self.responseSerializer = [AFJSONResponseSerializer serializer];
 
     self.securityPolicy = [AFSecurityPolicy defaultPolicy];
@@ -528,6 +529,19 @@ static NSString * const AFNSURLSessionTaskDidSuspendNotification = @"com.alamofi
 
 #pragma mark -
 
+- (NSURLSession *)session {
+    
+    @synchronized (self) {
+        if (!_session) {
+            _session = [NSURLSession sessionWithConfiguration:self.sessionConfiguration delegate:self delegateQueue:self.operationQueue];
+        }
+    }
+    return _session;
+}
+
+#pragma mark -
+
+
 - (NSString *)taskDescriptionForSessionTasks {
     return [NSString stringWithFormat:@"%p", self];
 }
@@ -683,12 +697,15 @@ static NSString * const AFNSURLSessionTaskDidSuspendNotification = @"com.alamofi
 
 #pragma mark -
 
-- (void)invalidateSessionCancelingTasks:(BOOL)cancelPendingTasks {
+- (void)invalidateSessionCancelingTasks:(BOOL)cancelPendingTasks resetSession:(BOOL)resetSession {
     if (cancelPendingTasks) {
         [self.session invalidateAndCancel];
     } else {
         [self.session finishTasksAndInvalidate];
     }
+    if (resetSession) {
+        self.session = nil;
+    }
 }
 
 #pragma mark -
@@ -713,20 +730,11 @@ static NSString * const AFNSURLSessionTaskDidSuspendNotification = @"com.alamofi
 #pragma mark -
 
 - (NSURLSessionDataTask *)dataTaskWithRequest:(NSURLRequest *)request
-                            completionHandler:(void (^)(NSURLResponse *response, id responseObject, NSError *error))completionHandler
-{
-    return [self dataTaskWithRequest:request uploadProgress:nil downloadProgress:nil completionHandler:completionHandler];
-}
-
-- (NSURLSessionDataTask *)dataTaskWithRequest:(NSURLRequest *)request
                                uploadProgress:(nullable void (^)(NSProgress *uploadProgress)) uploadProgressBlock
                              downloadProgress:(nullable void (^)(NSProgress *downloadProgress)) downloadProgressBlock
                             completionHandler:(nullable void (^)(NSURLResponse *response, id _Nullable responseObject,  NSError * _Nullable error))completionHandler {
 
-    __block NSURLSessionDataTask *dataTask = nil;
-    url_session_manager_create_task_safely(^{
-        dataTask = [self.session dataTaskWithRequest:request];
-    });
+    NSURLSessionDataTask *dataTask = [self.session dataTaskWithRequest:request];
 
     [self addDelegateForDataTask:dataTask uploadProgress:uploadProgressBlock downloadProgress:downloadProgressBlock completionHandler:completionHandler];
 
@@ -740,17 +748,7 @@ static NSString * const AFNSURLSessionTaskDidSuspendNotification = @"com.alamofi
                                          progress:(void (^)(NSProgress *uploadProgress)) uploadProgressBlock
                                 completionHandler:(void (^)(NSURLResponse *response, id responseObject, NSError *error))completionHandler
 {
-    __block NSURLSessionUploadTask *uploadTask = nil;
-    url_session_manager_create_task_safely(^{
-        uploadTask = [self.session uploadTaskWithRequest:request fromFile:fileURL];
-        
-        // uploadTask may be nil on iOS7 because uploadTaskWithRequest:fromFile: may return nil despite being documented as nonnull (https://devforums.apple.com/message/926113#926113)
-        if (!uploadTask && self.attemptsToRecreateUploadTasksForBackgroundSessions && self.session.configuration.identifier) {
-            for (NSUInteger attempts = 0; !uploadTask && attempts < AFMaximumNumberOfAttemptsToRecreateBackgroundSessionUploadTask; attempts++) {
-                uploadTask = [self.session uploadTaskWithRequest:request fromFile:fileURL];
-            }
-        }
-    });
+    NSURLSessionUploadTask *uploadTask = [self.session uploadTaskWithRequest:request fromFile:fileURL];
     
     if (uploadTask) {
         [self addDelegateForUploadTask:uploadTask
@@ -766,11 +764,8 @@ static NSString * const AFNSURLSessionTaskDidSuspendNotification = @"com.alamofi
                                          progress:(void (^)(NSProgress *uploadProgress)) uploadProgressBlock
                                 completionHandler:(void (^)(NSURLResponse *response, id responseObject, NSError *error))completionHandler
 {
-    __block NSURLSessionUploadTask *uploadTask = nil;
-    url_session_manager_create_task_safely(^{
-        uploadTask = [self.session uploadTaskWithRequest:request fromData:bodyData];
-    });
-
+    NSURLSessionUploadTask *uploadTask = [self.session uploadTaskWithRequest:request fromData:bodyData];
+    
     [self addDelegateForUploadTask:uploadTask progress:uploadProgressBlock completionHandler:completionHandler];
 
     return uploadTask;
@@ -780,10 +775,7 @@ static NSString * const AFNSURLSessionTaskDidSuspendNotification = @"com.alamofi
                                                  progress:(void (^)(NSProgress *uploadProgress)) uploadProgressBlock
                                         completionHandler:(void (^)(NSURLResponse *response, id responseObject, NSError *error))completionHandler
 {
-    __block NSURLSessionUploadTask *uploadTask = nil;
-    url_session_manager_create_task_safely(^{
-        uploadTask = [self.session uploadTaskWithStreamedRequest:request];
-    });
+    NSURLSessionUploadTask *uploadTask = [self.session uploadTaskWithStreamedRequest:request];
 
     [self addDelegateForUploadTask:uploadTask progress:uploadProgressBlock completionHandler:completionHandler];
 
@@ -797,11 +789,8 @@ static NSString * const AFNSURLSessionTaskDidSuspendNotification = @"com.alamofi
                                           destination:(NSURL * (^)(NSURL *targetPath, NSURLResponse *response))destination
                                     completionHandler:(void (^)(NSURLResponse *response, NSURL *filePath, NSError *error))completionHandler
 {
-    __block NSURLSessionDownloadTask *downloadTask = nil;
-    url_session_manager_create_task_safely(^{
-        downloadTask = [self.session downloadTaskWithRequest:request];
-    });
-
+    NSURLSessionDownloadTask *downloadTask = [self.session downloadTaskWithRequest:request];
+    
     [self addDelegateForDownloadTask:downloadTask progress:downloadProgressBlock destination:destination completionHandler:completionHandler];
 
     return downloadTask;
@@ -812,10 +801,7 @@ static NSString * const AFNSURLSessionTaskDidSuspendNotification = @"com.alamofi
                                              destination:(NSURL * (^)(NSURL *targetPath, NSURLResponse *response))destination
                                        completionHandler:(void (^)(NSURLResponse *response, NSURL *filePath, NSError *error))completionHandler
 {
-    __block NSURLSessionDownloadTask *downloadTask = nil;
-    url_session_manager_create_task_safely(^{
-        downloadTask = [self.session downloadTaskWithResumeData:resumeData];
-    });
+    NSURLSessionDownloadTask *downloadTask = [self.session downloadTaskWithResumeData:resumeData];
 
     [self addDelegateForDownloadTask:downloadTask progress:downloadProgressBlock destination:destination completionHandler:completionHandler];
 
@@ -857,10 +843,6 @@ static NSString * const AFNSURLSessionTaskDidSuspendNotification = @"com.alamofi
     self.taskWillPerformHTTPRedirection = block;
 }
 
-- (void)setTaskDidReceiveAuthenticationChallengeBlock:(NSURLSessionAuthChallengeDisposition (^)(NSURLSession *session, NSURLSessionTask *task, NSURLAuthenticationChallenge *challenge, NSURLCredential * __autoreleasing *credential))block {
-    self.taskDidReceiveAuthenticationChallenge = block;
-}
-
 - (void)setTaskDidSendBodyDataBlock:(void (^)(NSURLSession *session, NSURLSessionTask *task, int64_t bytesSent, int64_t totalBytesSent, int64_t totalBytesExpectedToSend))block {
     self.taskDidSendBodyData = block;
 }
@@ -869,6 +851,12 @@ static NSString * const AFNSURLSessionTaskDidSuspendNotification = @"com.alamofi
     self.taskDidComplete = block;
 }
 
+#if AF_CAN_INCLUDE_SESSION_TASK_METRICS
+- (void)setTaskDidFinishCollectingMetricsBlock:(void (^)(NSURLSession * _Nonnull, NSURLSessionTask * _Nonnull, NSURLSessionTaskMetrics * _Nullable))block AF_API_AVAILABLE(ios(10), macosx(10.12), watchos(3), tvos(10)) {
+    self.taskDidFinishCollectingMetrics = block;
+}
+#endif
+
 #pragma mark -
 
 - (void)setDataTaskDidReceiveResponseBlock:(NSURLSessionResponseDisposition (^)(NSURLSession *session, NSURLSessionDataTask *dataTask, NSURLResponse *response))block {
@@ -908,7 +896,9 @@ static NSString * const AFNSURLSessionTaskDidSuspendNotification = @"com.alamofi
 }
 
 - (BOOL)respondsToSelector:(SEL)selector {
-    if (selector == @selector(URLSession:task:willPerformHTTPRedirection:newRequest:completionHandler:)) {
+    if (selector == @selector(URLSession:didReceiveChallenge:completionHandler:)) {
+        return self.sessionDidReceiveAuthenticationChallenge != nil;
+    } else if (selector == @selector(URLSession:task:willPerformHTTPRedirection:newRequest:completionHandler:)) {
         return self.taskWillPerformHTTPRedirection != nil;
     } else if (selector == @selector(URLSession:dataTask:didReceiveResponse:completionHandler:)) {
         return self.dataTaskDidReceiveResponse != nil;
@@ -940,27 +930,10 @@ didBecomeInvalidWithError:(NSError *)error
 didReceiveChallenge:(NSURLAuthenticationChallenge *)challenge
  completionHandler:(void (^)(NSURLSessionAuthChallengeDisposition disposition, NSURLCredential *credential))completionHandler
 {
-    NSURLSessionAuthChallengeDisposition disposition = NSURLSessionAuthChallengePerformDefaultHandling;
-    __block NSURLCredential *credential = nil;
+    NSAssert(self.sessionDidReceiveAuthenticationChallenge != nil, @"`respondsToSelector:` implementation forces `URLSession:didReceiveChallenge:completionHandler:` to be called only if `self.sessionDidReceiveAuthenticationChallenge` is not nil");
 
-    if (self.sessionDidReceiveAuthenticationChallenge) {
-        disposition = self.sessionDidReceiveAuthenticationChallenge(session, challenge, &credential);
-    } else {
-        if ([challenge.protectionSpace.authenticationMethod isEqualToString:NSURLAuthenticationMethodServerTrust]) {
-            if ([self.securityPolicy evaluateServerTrust:challenge.protectionSpace.serverTrust forDomain:challenge.protectionSpace.host]) {
-                credential = [NSURLCredential credentialForTrust:challenge.protectionSpace.serverTrust];
-                if (credential) {
-                    disposition = NSURLSessionAuthChallengeUseCredential;
-                } else {
-                    disposition = NSURLSessionAuthChallengePerformDefaultHandling;
-                }
-            } else {
-                disposition = NSURLSessionAuthChallengeCancelAuthenticationChallenge;
-            }
-        } else {
-            disposition = NSURLSessionAuthChallengePerformDefaultHandling;
-        }
-    }
+    NSURLCredential *credential = nil;
+    NSURLSessionAuthChallengeDisposition disposition = self.sessionDidReceiveAuthenticationChallenge(session, challenge, &credential);
 
     if (completionHandler) {
         completionHandler(disposition, credential);
@@ -991,21 +964,40 @@ willPerformHTTPRedirection:(NSHTTPURLResponse *)response
 didReceiveChallenge:(NSURLAuthenticationChallenge *)challenge
  completionHandler:(void (^)(NSURLSessionAuthChallengeDisposition disposition, NSURLCredential *credential))completionHandler
 {
+    BOOL evaluateServerTrust = NO;
     NSURLSessionAuthChallengeDisposition disposition = NSURLSessionAuthChallengePerformDefaultHandling;
-    __block NSURLCredential *credential = nil;
+    NSURLCredential *credential = nil;
 
-    if (self.taskDidReceiveAuthenticationChallenge) {
-        disposition = self.taskDidReceiveAuthenticationChallenge(session, task, challenge, &credential);
+    if (self.authenticationChallengeHandler) {
+        id result = self.authenticationChallengeHandler(session, task, challenge, completionHandler);
+        if (result == nil) {
+            return;
+        } else if ([result isKindOfClass:NSError.class]) {
+            objc_setAssociatedObject(task, AuthenticationChallengeErrorKey, result, OBJC_ASSOCIATION_RETAIN);
+            disposition = NSURLSessionAuthChallengeCancelAuthenticationChallenge;
+        } else if ([result isKindOfClass:NSURLCredential.class]) {
+            credential = result;
+            disposition = NSURLSessionAuthChallengeUseCredential;
+        } else if ([result isKindOfClass:NSNumber.class]) {
+            disposition = [result integerValue];
+            NSAssert(disposition == NSURLSessionAuthChallengePerformDefaultHandling || disposition == NSURLSessionAuthChallengeCancelAuthenticationChallenge || disposition == NSURLSessionAuthChallengeRejectProtectionSpace, @"");
+            evaluateServerTrust = disposition == NSURLSessionAuthChallengePerformDefaultHandling && [challenge.protectionSpace.authenticationMethod isEqualToString:NSURLAuthenticationMethodServerTrust];
+        } else {
+            @throw [NSException exceptionWithName:@"Invalid Return Value" reason:@"The return value from the authentication challenge handler must be nil, an NSError, an NSURLCredential or an NSNumber." userInfo:nil];
+        }
     } else {
-        if ([challenge.protectionSpace.authenticationMethod isEqualToString:NSURLAuthenticationMethodServerTrust]) {
-            if ([self.securityPolicy evaluateServerTrust:challenge.protectionSpace.serverTrust forDomain:challenge.protectionSpace.host]) {
-                disposition = NSURLSessionAuthChallengeUseCredential;
-                credential = [NSURLCredential credentialForTrust:challenge.protectionSpace.serverTrust];
-            } else {
-                disposition = NSURLSessionAuthChallengeCancelAuthenticationChallenge;
-            }
+        evaluateServerTrust = [challenge.protectionSpace.authenticationMethod isEqualToString:NSURLAuthenticationMethodServerTrust];
+    }
+
+    if (evaluateServerTrust) {
+        if ([self.securityPolicy evaluateServerTrust:challenge.protectionSpace.serverTrust forDomain:challenge.protectionSpace.host]) {
+            disposition = NSURLSessionAuthChallengeUseCredential;
+            credential = [NSURLCredential credentialForTrust:challenge.protectionSpace.serverTrust];
         } else {
-            disposition = NSURLSessionAuthChallengePerformDefaultHandling;
+            objc_setAssociatedObject(task, AuthenticationChallengeErrorKey,
+                                     [self serverTrustErrorForServerTrust:challenge.protectionSpace.serverTrust url:task.currentRequest.URL],
+                                     OBJC_ASSOCIATION_RETAIN);
+            disposition = NSURLSessionAuthChallengeCancelAuthenticationChallenge;
         }
     }
 
@@ -1014,6 +1006,31 @@ didReceiveChallenge:(NSURLAuthenticationChallenge *)challenge
     }
 }
 
+- (nonnull NSError *)serverTrustErrorForServerTrust:(nullable SecTrustRef)serverTrust url:(nullable NSURL *)url
+{
+    NSBundle *CFNetworkBundle = [NSBundle bundleWithIdentifier:@"com.apple.CFNetwork"];
+    NSString *defaultValue = @"The certificate for this server is invalid. You might be connecting to a server that is pretending to be “%@” which could put your confidential information at risk.";
+    NSString *descriptionFormat = NSLocalizedStringWithDefaultValue(@"Err-1202.w", nil, CFNetworkBundle, defaultValue, @"") ?: defaultValue;
+    NSString *localizedDescription = [descriptionFormat componentsSeparatedByString:@"%@"].count <= 2 ? [NSString localizedStringWithFormat:descriptionFormat, url.host] : descriptionFormat;
+    NSMutableDictionary *userInfo = [@{
+        NSLocalizedDescriptionKey: localizedDescription
+    } mutableCopy];
+
+    if (serverTrust) {
+        userInfo[NSURLErrorFailingURLPeerTrustErrorKey] = (__bridge id)serverTrust;
+    }
+
+    if (url) {
+        userInfo[NSURLErrorFailingURLErrorKey] = url;
+
+        if (url.absoluteString) {
+            userInfo[NSURLErrorFailingURLStringErrorKey] = url.absoluteString;
+        }
+    }
+
+    return [NSError errorWithDomain:NSURLErrorDomain code:NSURLErrorServerCertificateUntrusted userInfo:userInfo];
+}
+
 - (void)URLSession:(NSURLSession *)session
               task:(NSURLSessionTask *)task
  needNewBodyStream:(void (^)(NSInputStream *bodyStream))completionHandler
@@ -1039,9 +1056,9 @@ totalBytesExpectedToSend:(int64_t)totalBytesExpectedToSend
 {
 
     int64_t totalUnitCount = totalBytesExpectedToSend;
-    if(totalUnitCount == NSURLSessionTransferSizeUnknown) {
+    if (totalUnitCount == NSURLSessionTransferSizeUnknown) {
         NSString *contentLength = [task.originalRequest valueForHTTPHeaderField:@"Content-Length"];
-        if(contentLength) {
+        if (contentLength) {
             totalUnitCount = (int64_t) [contentLength longLongValue];
         }
     }
@@ -1075,6 +1092,23 @@ didCompleteWithError:(NSError *)error
     }
 }
 
+#if AF_CAN_INCLUDE_SESSION_TASK_METRICS
+- (void)URLSession:(NSURLSession *)session
+              task:(NSURLSessionTask *)task
+didFinishCollectingMetrics:(NSURLSessionTaskMetrics *)metrics AF_API_AVAILABLE(ios(10), macosx(10.12), watchos(3), tvos(10))
+{
+    AFURLSessionManagerTaskDelegate *delegate = [self delegateForTask:task];
+    // Metrics may fire after URLSession:task:didCompleteWithError: is called, delegate may be nil
+    if (delegate) {
+        [delegate URLSession:session task:task didFinishCollectingMetrics:metrics];
+    }
+
+    if (self.taskDidFinishCollectingMetrics) {
+        self.taskDidFinishCollectingMetrics(session, task, metrics);
+    }
+}
+#endif
+
 #pragma mark - NSURLSessionDataDelegate
 
 - (void)URLSession:(NSURLSession *)session
@@ -1162,6 +1196,8 @@ didFinishDownloadingToURL:(NSURL *)location
             
             if (![[NSFileManager defaultManager] moveItemAtURL:location toURL:fileURL error:&error]) {
                 [[NSNotificationCenter defaultCenter] postNotificationName:AFURLSessionDownloadTaskDidFailToMoveFileNotification object:downloadTask userInfo:error.userInfo];
+            } else {
+                [[NSNotificationCenter defaultCenter] postNotificationName:AFURLSessionDownloadTaskDidMoveFileSuccessfullyNotification object:downloadTask userInfo:nil];
             }
 
             return;

+ 1 - 1
HappyWork/Pods/AFNetworking/LICENSE

@@ -1,4 +1,4 @@
-Copyright (c) 2011-2016 Alamofire Software Foundation (http://alamofire.org/)
+Copyright (c) 2011-2020 Alamofire Software Foundation (http://alamofire.org/)
 
 Permission is hereby granted, free of charge, to any person obtaining a copy
 of this software and associated documentation files (the "Software"), to deal

+ 15 - 39
HappyWork/Pods/AFNetworking/README.md

@@ -2,25 +2,20 @@
   <img src="https://raw.github.com/AFNetworking/AFNetworking/assets/afnetworking-logo.png" alt="AFNetworking" title="AFNetworking">
 </p>
 
-[![Build Status](https://travis-ci.org/AFNetworking/AFNetworking.svg)](https://travis-ci.org/AFNetworking/AFNetworking)
-[![codecov.io](https://codecov.io/github/AFNetworking/AFNetworking/coverage.svg?branch=master)](https://codecov.io/github/AFNetworking/AFNetworking?branch=master)
+[![Build Status](https://github.com/AFNetworking/AFNetworking/workflows/AFNetworking%20CI/badge.svg?branch=master)](https://github.com/AFNetworking/AFNetworking/actions)
 [![CocoaPods Compatible](https://img.shields.io/cocoapods/v/AFNetworking.svg)](https://img.shields.io/cocoapods/v/AFNetworking.svg)
 [![Carthage Compatible](https://img.shields.io/badge/Carthage-compatible-4BC51D.svg?style=flat)](https://github.com/Carthage/Carthage)
 [![Platform](https://img.shields.io/cocoapods/p/AFNetworking.svg?style=flat)](http://cocoadocs.org/docsets/AFNetworking)
 [![Twitter](https://img.shields.io/badge/twitter-@AFNetworking-blue.svg?style=flat)](http://twitter.com/AFNetworking)
 
-AFNetworking is a delightful networking library for iOS, macOS, watchOS, and tvOS. It's built on top of the [Foundation URL Loading System](http://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/URLLoadingSystem/URLLoadingSystem.html), extending the powerful high-level networking abstractions built into Cocoa. It has a modular architecture with well-designed, feature-rich APIs that are a joy to use.
+AFNetworking is a delightful networking library for iOS, macOS, watchOS, and tvOS. It's built on top of the [Foundation URL Loading System](https://developer.apple.com/documentation/foundation/url_loading_system), extending the powerful high-level networking abstractions built into Cocoa. It has a modular architecture with well-designed, feature-rich APIs that are a joy to use.
 
 Perhaps the most important feature of all, however, is the amazing community of developers who use and contribute to AFNetworking every day. AFNetworking powers some of the most popular and critically-acclaimed apps on the iPhone, iPad, and Mac.
 
-Choose AFNetworking for your next project, or migrate over your existing projects—you'll be happy you did!
-
 ## How To Get Started
 
 - [Download AFNetworking](https://github.com/AFNetworking/AFNetworking/archive/master.zip) and try out the included Mac and iPhone example apps
 - Read the ["Getting Started" guide](https://github.com/AFNetworking/AFNetworking/wiki/Getting-Started-with-AFNetworking), [FAQ](https://github.com/AFNetworking/AFNetworking/wiki/AFNetworking-FAQ), or [other articles on the Wiki](https://github.com/AFNetworking/AFNetworking/wiki)
-- Check out the [documentation](http://cocoadocs.org/docsets/AFNetworking/) for a comprehensive look at all of the APIs available in AFNetworking
-- Read the [AFNetworking 3.0 Migration Guide](https://github.com/AFNetworking/AFNetworking/wiki/AFNetworking-3.0-Migration-Guide) for an overview of the architectural changes from 2.0.
 
 ## Communication
 
@@ -35,56 +30,37 @@ AFNetworking supports multiple methods for installing the library in a project.
 
 ## Installation with CocoaPods
 
-[CocoaPods](http://cocoapods.org) is a dependency manager for Objective-C, which automates and simplifies the process of using 3rd-party libraries like AFNetworking in your projects. See the ["Getting Started" guide for more information](https://github.com/AFNetworking/AFNetworking/wiki/Getting-Started-with-AFNetworking). You can install it with the following command:
-
-```bash
-$ gem install cocoapods
-```
-
-> CocoaPods 0.39.0+ is required to build AFNetworking 3.0.0+.
-
-#### Podfile
-
 To integrate AFNetworking into your Xcode project using CocoaPods, specify it in your `Podfile`:
 
 ```ruby
-source 'https://github.com/CocoaPods/Specs.git'
-platform :ios, '8.0'
-
-target 'TargetName' do
-pod 'AFNetworking', '~> 3.0'
-end
+pod 'AFNetworking', '~> 4.0'
 ```
 
-Then, run the following command:
+### Installation with Swift Package Manager
 
-```bash
-$ pod install
-```
-
-### Installation with Carthage
+Once you have your Swift package set up, adding AFNetworking as a dependency is as easy as adding it to the `dependencies` value of your `Package.swift`.
 
-[Carthage](https://github.com/Carthage/Carthage) is a decentralized dependency manager that builds your dependencies and provides you with binary frameworks.
+```swift
+dependencies: [
+    .package(url: "https://github.com/AFNetworking/AFNetworking.git", .upToNextMajor(from: "4.0.0"))
+]
+```
 
-You can install Carthage with [Homebrew](http://brew.sh/) using the following command:
+> Note: AFNetworking's Swift package does not include it's UIKit extensions.
 
-```bash
-$ brew update
-$ brew install carthage
-```
+### Installation with Carthage
 
-To integrate AFNetworking into your Xcode project using Carthage, specify it in your `Cartfile`:
+[Carthage](https://github.com/Carthage/Carthage) is a decentralized dependency manager that builds your dependencies and provides you with binary frameworks. To integrate AFNetworking, add the following to your `Cartfile`.
 
 ```ogdl
-github "AFNetworking/AFNetworking" ~> 3.0
+github "AFNetworking/AFNetworking" ~> 4.0
 ```
 
-Run `carthage` to build the framework and drag the built `AFNetworking.framework` into your Xcode project.
-
 ## Requirements
 
 | AFNetworking Version | Minimum iOS Target  | Minimum macOS Target  | Minimum watchOS Target  | Minimum tvOS Target  |                                   Notes                                   |
 |:--------------------:|:---------------------------:|:----------------------------:|:----------------------------:|:----------------------------:|:-------------------------------------------------------------------------:|
+| 4.x | iOS 9 | macOS 10.10 | watchOS 2.0 | tvOS 9.0 | Xcode 11+ is required. |
 | 3.x | iOS 7 | OS X 10.9 | watchOS 2.0 | tvOS 9.0 | Xcode 7+ is required. `NSURLConnectionOperation` support has been removed. |
 | 2.6 -> 2.6.3 | iOS 7 | OS X 10.9 | watchOS 2.0 | n/a | Xcode 7+ is required. |
 | 2.0 -> 2.5.4 | iOS 6 | OS X 10.8 | n/a | n/a | Xcode 5+ is required. `NSURLSession` subspec requires iOS 7 or OS X 10.9. |

+ 4 - 4
HappyWork/Pods/AFNetworking/UIKit+AFNetworking/AFAutoPurgingImageCache.m

@@ -28,7 +28,7 @@
 @interface AFCachedImage : NSObject
 
 @property (nonatomic, strong) UIImage *image;
-@property (nonatomic, strong) NSString *identifier;
+@property (nonatomic, copy) NSString *identifier;
 @property (nonatomic, assign) UInt64 totalBytes;
 @property (nonatomic, strong) NSDate *lastAccessDate;
 @property (nonatomic, assign) UInt64 currentMemoryUsage;
@@ -37,7 +37,7 @@
 
 @implementation AFCachedImage
 
--(instancetype)initWithImage:(UIImage *)image identifier:(NSString *)identifier {
+- (instancetype)initWithImage:(UIImage *)image identifier:(NSString *)identifier {
     if (self = [self init]) {
         self.image = image;
         self.identifier = identifier;
@@ -51,7 +51,7 @@
     return self;
 }
 
-- (UIImage*)accessImage {
+- (UIImage *)accessImage {
     self.lastAccessDate = [NSDate date];
     return self.image;
 }
@@ -134,7 +134,7 @@
                 [self.cachedImages removeObjectForKey:cachedImage.identifier];
                 bytesPurged += cachedImage.totalBytes;
                 if (bytesPurged >= bytesToPurge) {
-                    break ;
+                    break;
                 }
             }
             self.currentMemoryUsage -= bytesPurged;

+ 1 - 1
HappyWork/Pods/AFNetworking/UIKit+AFNetworking/AFImageDownloader.h

@@ -67,7 +67,7 @@ typedef NS_ENUM(NSInteger, AFImageDownloadPrioritization) {
 /**
  Defines the order prioritization of incoming download requests being inserted into the queue. `AFImageDownloadPrioritizationFIFO` by default.
  */
-@property (nonatomic, assign) AFImageDownloadPrioritization downloadPrioritizaton;
+@property (nonatomic, assign) AFImageDownloadPrioritization downloadPrioritization;
 
 /**
  The shared default instance of `AFImageDownloader` initialized with default values.

+ 36 - 24
HappyWork/Pods/AFNetworking/UIKit+AFNetworking/AFImageDownloader.m

@@ -28,8 +28,8 @@
 
 @interface AFImageDownloaderResponseHandler : NSObject
 @property (nonatomic, strong) NSUUID *uuid;
-@property (nonatomic, copy) void (^successBlock)(NSURLRequest*, NSHTTPURLResponse*, UIImage*);
-@property (nonatomic, copy) void (^failureBlock)(NSURLRequest*, NSHTTPURLResponse*, NSError*);
+@property (nonatomic, copy) void (^successBlock)(NSURLRequest *, NSHTTPURLResponse *, UIImage *);
+@property (nonatomic, copy) void (^failureBlock)(NSURLRequest *, NSHTTPURLResponse *, NSError *);
 @end
 
 @implementation AFImageDownloaderResponseHandler
@@ -71,11 +71,11 @@
     return self;
 }
 
-- (void)addResponseHandler:(AFImageDownloaderResponseHandler*)handler {
+- (void)addResponseHandler:(AFImageDownloaderResponseHandler *)handler {
     [self.responseHandlers addObject:handler];
 }
 
-- (void)removeResponseHandler:(AFImageDownloaderResponseHandler*)handler {
+- (void)removeResponseHandler:(AFImageDownloaderResponseHandler *)handler {
     [self.responseHandlers removeObject:handler];
 }
 
@@ -109,20 +109,24 @@
 @implementation AFImageDownloader
 
 + (NSURLCache *)defaultURLCache {
+    NSUInteger memoryCapacity = 20 * 1024 * 1024; // 20MB
+    NSUInteger diskCapacity = 150 * 1024 * 1024; // 150MB
+    NSURL *cacheURL = [[[NSFileManager defaultManager] URLForDirectory:NSCachesDirectory
+                                                              inDomain:NSUserDomainMask
+                                                     appropriateForURL:nil
+                                                                create:YES
+                                                                 error:nil]
+                       URLByAppendingPathComponent:@"com.alamofire.imagedownloader"];
     
-    // It's been discovered that a crash will occur on certain versions
-    // of iOS if you customize the cache.
-    //
-    // More info can be found here: https://devforums.apple.com/message/1102182#1102182
-    //
-    // When iOS 7 support is dropped, this should be modified to use
-    // NSProcessInfo methods instead.
-    if ([[[UIDevice currentDevice] systemVersion] compare:@"8.2" options:NSNumericSearch] == NSOrderedAscending) {
-        return [NSURLCache sharedURLCache];
-    }
-    return [[NSURLCache alloc] initWithMemoryCapacity:20 * 1024 * 1024
-                                         diskCapacity:150 * 1024 * 1024
-                                             diskPath:@"com.alamofire.imagedownloader"];
+#if TARGET_OS_MACCATALYST
+    return [[NSURLCache alloc] initWithMemoryCapacity:memoryCapacity
+                                         diskCapacity:diskCapacity
+                                         directoryURL:cacheURL];
+#else
+    return [[NSURLCache alloc] initWithMemoryCapacity:memoryCapacity
+                                         diskCapacity:diskCapacity
+                                             diskPath:[cacheURL path]];
+#endif
 }
 
 + (NSURLSessionConfiguration *)defaultURLSessionConfiguration {
@@ -163,7 +167,7 @@
     if (self = [super init]) {
         self.sessionManager = sessionManager;
 
-        self.downloadPrioritizaton = downloadPrioritization;
+        self.downloadPrioritization = downloadPrioritization;
         self.maximumActiveDownloads = maximumActiveDownloads;
         self.imageCache = imageCache;
 
@@ -254,14 +258,14 @@
                        completionHandler:^(NSURLResponse * _Nonnull response, id  _Nullable responseObject, NSError * _Nullable error) {
                            dispatch_async(self.responseQueue, ^{
                                __strong __typeof__(weakSelf) strongSelf = weakSelf;
-                               AFImageDownloaderMergedTask *mergedTask = strongSelf.mergedTasks[URLIdentifier];
+                               AFImageDownloaderMergedTask *mergedTask = [strongSelf safelyGetMergedTask:URLIdentifier];
                                if ([mergedTask.identifier isEqual:mergedTaskIdentifier]) {
                                    mergedTask = [strongSelf safelyRemoveMergedTaskWithURLIdentifier:URLIdentifier];
                                    if (error) {
                                        for (AFImageDownloaderResponseHandler *handler in mergedTask.responseHandlers) {
                                            if (handler.failureBlock) {
                                                dispatch_async(dispatch_get_main_queue(), ^{
-                                                   handler.failureBlock(request, (NSHTTPURLResponse*)response, error);
+                                                   handler.failureBlock(request, (NSHTTPURLResponse *)response, error);
                                                });
                                            }
                                        }
@@ -273,7 +277,7 @@
                                        for (AFImageDownloaderResponseHandler *handler in mergedTask.responseHandlers) {
                                            if (handler.successBlock) {
                                                dispatch_async(dispatch_get_main_queue(), ^{
-                                                   handler.successBlock(request, (NSHTTPURLResponse*)response, responseObject);
+                                                   handler.successBlock(request, (NSHTTPURLResponse *)response, responseObject);
                                                });
                                            }
                                        }
@@ -333,14 +337,14 @@
             }
         }
 
-        if (mergedTask.responseHandlers.count == 0 && mergedTask.task.state == NSURLSessionTaskStateSuspended) {
+        if (mergedTask.responseHandlers.count == 0) {
             [mergedTask.task cancel];
             [self removeMergedTaskWithURLIdentifier:URLIdentifier];
         }
     });
 }
 
-- (AFImageDownloaderMergedTask*)safelyRemoveMergedTaskWithURLIdentifier:(NSString *)URLIdentifier {
+- (AFImageDownloaderMergedTask *)safelyRemoveMergedTaskWithURLIdentifier:(NSString *)URLIdentifier {
     __block AFImageDownloaderMergedTask *mergedTask = nil;
     dispatch_sync(self.synchronizationQueue, ^{
         mergedTask = [self removeMergedTaskWithURLIdentifier:URLIdentifier];
@@ -383,7 +387,7 @@
 }
 
 - (void)enqueueMergedTask:(AFImageDownloaderMergedTask *)mergedTask {
-    switch (self.downloadPrioritizaton) {
+    switch (self.downloadPrioritization) {
         case AFImageDownloadPrioritizationFIFO:
             [self.queuedMergedTasks addObject:mergedTask];
             break;
@@ -404,6 +408,14 @@
     return self.activeRequestCount < self.maximumActiveDownloads;
 }
 
+- (AFImageDownloaderMergedTask *)safelyGetMergedTask:(NSString *)URLIdentifier {
+    __block AFImageDownloaderMergedTask *mergedTask;
+    dispatch_sync(self.synchronizationQueue, ^(){
+        mergedTask = self.mergedTasks[URLIdentifier];
+    });
+    return mergedTask;
+}
+
 @end
 
 #endif

+ 7 - 27
HappyWork/Pods/AFNetworking/UIKit+AFNetworking/AFNetworkActivityIndicatorManager.m

@@ -109,11 +109,9 @@ typedef void (^AFNetworkActivityActionBlock)(BOOL networkActivityIndicatorVisibl
 
 - (void)setNetworkActivityIndicatorVisible:(BOOL)networkActivityIndicatorVisible {
     if (_networkActivityIndicatorVisible != networkActivityIndicatorVisible) {
-        [self willChangeValueForKey:@"networkActivityIndicatorVisible"];
         @synchronized(self) {
-             _networkActivityIndicatorVisible = networkActivityIndicatorVisible;
+            _networkActivityIndicatorVisible = networkActivityIndicatorVisible;
         }
-        [self didChangeValueForKey:@"networkActivityIndicatorVisible"];
         if (self.networkActivityActionBlock) {
             self.networkActivityActionBlock(networkActivityIndicatorVisible);
         } else {
@@ -122,35 +120,20 @@ typedef void (^AFNetworkActivityActionBlock)(BOOL networkActivityIndicatorVisibl
     }
 }
 
-- (void)setActivityCount:(NSInteger)activityCount {
-	@synchronized(self) {
-		_activityCount = activityCount;
-	}
-
-    dispatch_async(dispatch_get_main_queue(), ^{
-        [self updateCurrentStateForNetworkActivityChange];
-    });
-}
 
 - (void)incrementActivityCount {
-    [self willChangeValueForKey:@"activityCount"];
-	@synchronized(self) {
-		_activityCount++;
-	}
-    [self didChangeValueForKey:@"activityCount"];
-
+    @synchronized(self) {
+        self.activityCount++;
+    }
     dispatch_async(dispatch_get_main_queue(), ^{
         [self updateCurrentStateForNetworkActivityChange];
     });
 }
 
 - (void)decrementActivityCount {
-    [self willChangeValueForKey:@"activityCount"];
-	@synchronized(self) {
-		_activityCount = MAX(_activityCount - 1, 0);
-	}
-    [self didChangeValueForKey:@"activityCount"];
-
+    @synchronized(self) {
+        self.activityCount = MAX(_activityCount - 1, 0);
+    }
     dispatch_async(dispatch_get_main_queue(), ^{
         [self updateCurrentStateForNetworkActivityChange];
     });
@@ -172,7 +155,6 @@ typedef void (^AFNetworkActivityActionBlock)(BOOL networkActivityIndicatorVisibl
 - (void)setCurrentState:(AFNetworkActivityManagerState)currentState {
     @synchronized(self) {
         if (_currentState != currentState) {
-            [self willChangeValueForKey:@"currentState"];
             _currentState = currentState;
             switch (currentState) {
                 case AFNetworkActivityManagerStateNotActive:
@@ -191,9 +173,7 @@ typedef void (^AFNetworkActivityActionBlock)(BOOL networkActivityIndicatorVisibl
                     [self startCompletionDelayTimer];
                     break;
             }
-            [self didChangeValueForKey:@"currentState"];
         }
-        
     }
 }
 

+ 4 - 4
HappyWork/Pods/AFNetworking/UIKit+AFNetworking/UIButton+AFNetworking.m

@@ -103,11 +103,11 @@ static const char * af_backgroundImageDownloadReceiptKeyForState(UIControlState
 
 + (AFImageDownloader *)sharedImageDownloader {
 
-    return objc_getAssociatedObject(self, @selector(sharedImageDownloader)) ?: [AFImageDownloader defaultInstance];
+    return objc_getAssociatedObject([UIButton class], @selector(sharedImageDownloader)) ?: [AFImageDownloader defaultInstance];
 }
 
 + (void)setSharedImageDownloader:(AFImageDownloader *)imageDownloader {
-    objc_setAssociatedObject(self, @selector(sharedImageDownloader), imageDownloader, OBJC_ASSOCIATION_RETAIN_NONATOMIC);
+    objc_setAssociatedObject([UIButton class], @selector(sharedImageDownloader), imageDownloader, OBJC_ASSOCIATION_RETAIN_NONATOMIC);
 }
 
 #pragma mark -
@@ -168,7 +168,7 @@ static const char * af_backgroundImageDownloadReceiptKeyForState(UIControlState
                        if ([[strongSelf af_imageDownloadReceiptForState:state].receiptID isEqual:downloadID]) {
                            if (success) {
                                success(request, response, responseObject);
-                           } else if(responseObject) {
+                           } else if (responseObject) {
                                [strongSelf setImage:responseObject forState:state];
                            }
                            [strongSelf af_setImageDownloadReceipt:nil forState:state];
@@ -247,7 +247,7 @@ static const char * af_backgroundImageDownloadReceiptKeyForState(UIControlState
                        if ([[strongSelf af_backgroundImageDownloadReceiptForState:state].receiptID isEqual:downloadID]) {
                            if (success) {
                                success(request, response, responseObject);
-                           } else if(responseObject) {
+                           } else if (responseObject) {
                                [strongSelf setBackgroundImage:responseObject forState:state];
                            }
                            [strongSelf af_setBackgroundImageDownloadReceipt:nil forState:state];

+ 0 - 35
HappyWork/Pods/AFNetworking/UIKit+AFNetworking/UIImage+AFNetworking.h

@@ -1,35 +0,0 @@
-//
-//  UIImage+AFNetworking.h
-//  
-//
-//  Created by Paulo Ferreira on 08/07/15.
-//
-// Permission is hereby granted, free of charge, to any person obtaining a copy
-// of this software and associated documentation files (the "Software"), to deal
-// in the Software without restriction, including without limitation the rights
-// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-// copies of the Software, and to permit persons to whom the Software is
-// furnished to do so, subject to the following conditions:
-//
-// The above copyright notice and this permission notice shall be included in
-// all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-// THE SOFTWARE.
-
-#if TARGET_OS_IOS || TARGET_OS_TV
-
-#import <UIKit/UIKit.h>
-
-@interface UIImage (AFNetworking)
-
-+ (UIImage*) safeImageWithData:(NSData*)data;
-
-@end
-
-#endif

+ 4 - 5
HappyWork/Pods/AFNetworking/UIKit+AFNetworking/UIImageView+AFNetworking.m

@@ -48,11 +48,11 @@
 @implementation UIImageView (AFNetworking)
 
 + (AFImageDownloader *)sharedImageDownloader {
-    return objc_getAssociatedObject(self, @selector(sharedImageDownloader)) ?: [AFImageDownloader defaultInstance];
+    return objc_getAssociatedObject([UIImageView class], @selector(sharedImageDownloader)) ?: [AFImageDownloader defaultInstance];
 }
 
 + (void)setSharedImageDownloader:(AFImageDownloader *)imageDownloader {
-    objc_setAssociatedObject(self, @selector(sharedImageDownloader), imageDownloader, OBJC_ASSOCIATION_RETAIN_NONATOMIC);
+    objc_setAssociatedObject([UIImageView class], @selector(sharedImageDownloader), imageDownloader, OBJC_ASSOCIATION_RETAIN_NONATOMIC);
 }
 
 #pragma mark -
@@ -75,7 +75,6 @@
                        success:(void (^)(NSURLRequest *request, NSHTTPURLResponse * _Nullable response, UIImage *image))success
                        failure:(void (^)(NSURLRequest *request, NSHTTPURLResponse * _Nullable response, NSError *error))failure
 {
-    
     if ([urlRequest URL] == nil) {
         self.image = placeholderImage;
         if (failure) {
@@ -85,7 +84,7 @@
         return;
     }
     
-    if ([self isActiveTaskURLEqualToURLRequest:urlRequest]){
+    if ([self isActiveTaskURLEqualToURLRequest:urlRequest]) {
         return;
     }
     
@@ -119,7 +118,7 @@
                        if ([strongSelf.af_activeImageDownloadReceipt.receiptID isEqual:downloadID]) {
                            if (success) {
                                success(request, response, responseObject);
-                           } else if(responseObject) {
+                           } else if (responseObject) {
                                strongSelf.image = responseObject;
                            }
                            [strongSelf clearActiveDownloadInformation];

+ 10 - 9
HappyWork/Pods/AFNetworking/UIKit+AFNetworking/UIKit+AFNetworking.h

@@ -20,23 +20,24 @@
 // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
 // THE SOFTWARE.
 
-#if TARGET_OS_IOS || TARGET_OS_TV
-#import <UIKit/UIKit.h>
+#import <TargetConditionals.h>
 
 #ifndef _UIKIT_AFNETWORKING_
     #define _UIKIT_AFNETWORKING_
 
-#if TARGET_OS_IOS
+#if TARGET_OS_IOS || TARGET_OS_TV
     #import "AFAutoPurgingImageCache.h"
     #import "AFImageDownloader.h"
-    #import "AFNetworkActivityIndicatorManager.h"
-    #import "UIRefreshControl+AFNetworking.h"
-    #import "UIWebView+AFNetworking.h"
-#endif
-
     #import "UIActivityIndicatorView+AFNetworking.h"
     #import "UIButton+AFNetworking.h"
     #import "UIImageView+AFNetworking.h"
     #import "UIProgressView+AFNetworking.h"
-#endif /* _UIKIT_AFNETWORKING_ */
 #endif
+
+#if TARGET_OS_IOS
+    #import "AFNetworkActivityIndicatorManager.h"
+    #import "UIRefreshControl+AFNetworking.h"
+    #import "WKWebView+AFNetworking.h"
+#endif
+
+#endif /* _UIKIT_AFNETWORKING_ */

+ 11 - 11
HappyWork/Pods/AFNetworking/UIKit+AFNetworking/UIWebView+AFNetworking.h

@@ -1,4 +1,4 @@
-// UIWebView+AFNetworking.h
+// WkWebView+AFNetworking.h
 // Copyright (c) 2011–2016 Alamofire Software Foundation ( http://alamofire.org/ )
 //
 // Permission is hereby granted, free of charge, to any person obtaining a copy
@@ -26,47 +26,47 @@
 #if TARGET_OS_IOS
 
 #import <UIKit/UIKit.h>
+#import <WebKit/WebKit.h>
 
 NS_ASSUME_NONNULL_BEGIN
 
 @class AFHTTPSessionManager;
 
-/**
- This category adds methods to the UIKit framework's `UIWebView` class. The methods in this category provide increased control over the request cycle, including progress monitoring and success / failure handling.
-
- @discussion When using these category methods, make sure to assign `delegate` for the web view, which implements `–webView:shouldStartLoadWithRequest:navigationType:` appropriately. This allows for tapped links to be loaded through AFNetworking, and can ensure that `canGoBack` & `canGoForward` update their values correctly.
- */
-@interface UIWebView (AFNetworking)
+@interface WKWebView (AFNetworking)
 
 /**
- The session manager used to download all requests.
+ The session manager used to download all request
  */
 @property (nonatomic, strong) AFHTTPSessionManager *sessionManager;
 
 /**
  Asynchronously loads the specified request.
-
+ 
  @param request A URL request identifying the location of the content to load. This must not be `nil`.
+ @param navigation The WKNavigation object that containts information for tracking the loading progress of a webpage. This must not be `nil`.
  @param progress A progress object monitoring the current download progress.
  @param success A block object to be executed when the request finishes loading successfully. This block returns the HTML string to be loaded by the web view, and takes two arguments: the response, and the response string.
  @param failure A block object to be executed when the data task finishes unsuccessfully, or that finishes successfully, but encountered an error while parsing the response data. This block has no return value and takes a single argument: the error that occurred.
  */
 - (void)loadRequest:(NSURLRequest *)request
+         navigation:(WKNavigation * _Nonnull)navigation
            progress:(NSProgress * _Nullable __autoreleasing * _Nullable)progress
             success:(nullable NSString * (^)(NSHTTPURLResponse *response, NSString *HTML))success
             failure:(nullable void (^)(NSError *error))failure;
 
 /**
  Asynchronously loads the data associated with a particular request with a specified MIME type and text encoding.
-
+ 
  @param request A URL request identifying the location of the content to load. This must not be `nil`.
+ @param navigation The WKNavigation object that containts information for tracking the loading progress of a webpage.  This must not be `nil`.
  @param MIMEType The MIME type of the content. Defaults to the content type of the response if not specified.
  @param textEncodingName The IANA encoding name, as in `utf-8` or `utf-16`. Defaults to the response text encoding if not specified.
-@param progress A progress object monitoring the current download progress.
+ @param progress A progress object monitoring the current download progress.
  @param success A block object to be executed when the request finishes loading successfully. This block returns the data to be loaded by the web view and takes two arguments: the response, and the downloaded data.
  @param failure A block object to be executed when the data task finishes unsuccessfully, or that finishes successfully, but encountered an error while parsing the response data. This block has no return value and takes a single argument: the error that occurred.
  */
 - (void)loadRequest:(NSURLRequest *)request
+         navigation:(WKNavigation * _Nonnull)navigation
            MIMEType:(nullable NSString *)MIMEType
    textEncodingName:(nullable NSString *)textEncodingName
            progress:(NSProgress * _Nullable __autoreleasing * _Nullable)progress

+ 42 - 45
HappyWork/Pods/AFNetworking/UIKit+AFNetworking/UIWebView+AFNetworking.m

@@ -1,4 +1,4 @@
-// UIWebView+AFNetworking.m
+// WkWebView+AFNetworking.m
 // Copyright (c) 2011–2016 Alamofire Software Foundation ( http://alamofire.org/ )
 //
 // Permission is hereby granted, free of charge, to any person obtaining a copy
@@ -19,7 +19,7 @@
 // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
 // THE SOFTWARE.
 
-#import "UIWebView+AFNetworking.h"
+#import "WKWebView+AFNetworking.h"
 
 #import <objc/runtime.h>
 
@@ -29,11 +29,11 @@
 #import "AFURLResponseSerialization.h"
 #import "AFURLRequestSerialization.h"
 
-@interface UIWebView (_AFNetworking)
+@interface WKWebView (_AFNetworking)
 @property (readwrite, nonatomic, strong, setter = af_setURLSessionTask:) NSURLSessionDataTask *af_URLSessionTask;
 @end
 
-@implementation UIWebView (_AFNetworking)
+@implementation WKWebView (_AFNetworking)
 
 - (NSURLSessionDataTask *)af_URLSessionTask {
     return (NSURLSessionDataTask *)objc_getAssociatedObject(self, @selector(af_URLSessionTask));
@@ -47,9 +47,9 @@
 
 #pragma mark -
 
-@implementation UIWebView (AFNetworking)
+@implementation WKWebView (AFNetworking)
 
-- (AFHTTPSessionManager  *)sessionManager {
+- (AFHTTPSessionManager *)sessionManager {
     static AFHTTPSessionManager *_af_defaultHTTPSessionManager = nil;
     static dispatch_once_t onceToken;
     dispatch_once(&onceToken, ^{
@@ -57,7 +57,7 @@
         _af_defaultHTTPSessionManager.requestSerializer = [AFHTTPRequestSerializer serializer];
         _af_defaultHTTPSessionManager.responseSerializer = [AFHTTPResponseSerializer serializer];
     });
-
+    
     return objc_getAssociatedObject(self, @selector(sessionManager)) ?: _af_defaultHTTPSessionManager;
 }
 
@@ -71,7 +71,7 @@
     dispatch_once(&onceToken, ^{
         _af_defaultResponseSerializer = [AFHTTPResponseSerializer serializer];
     });
-
+    
     return objc_getAssociatedObject(self, @selector(responseSerializer)) ?: _af_defaultResponseSerializer;
 }
 
@@ -82,11 +82,11 @@
 #pragma mark -
 
 - (void)loadRequest:(NSURLRequest *)request
+         navigation:(WKNavigation * _Nonnull)navigation
            progress:(NSProgress * _Nullable __autoreleasing * _Nullable)progress
-            success:(NSString * (^)(NSHTTPURLResponse *response, NSString *HTML))success
-            failure:(void (^)(NSError *error))failure
-{
-    [self loadRequest:request MIMEType:nil textEncodingName:nil progress:progress success:^NSData *(NSHTTPURLResponse *response, NSData *data) {
+            success:(nullable NSString * (^)(NSHTTPURLResponse *response, NSString *HTML))success
+            failure:(nullable void (^)(NSError *error))failure {
+    [self loadRequest:request navigation:navigation MIMEType:nil textEncodingName:nil progress:progress success:^NSData * _Nonnull(NSHTTPURLResponse * _Nonnull response, NSData * _Nonnull data) {
         NSStringEncoding stringEncoding = NSUTF8StringEncoding;
         if (response.textEncodingName) {
             CFStringEncoding encoding = CFStringConvertIANACharSetNameToEncoding((CFStringRef)response.textEncodingName);
@@ -94,61 +94,58 @@
                 stringEncoding = CFStringConvertEncodingToNSStringEncoding(encoding);
             }
         }
-
+        
         NSString *string = [[NSString alloc] initWithData:data encoding:stringEncoding];
         if (success) {
             string = success(response, string);
         }
-
+        
         return [string dataUsingEncoding:stringEncoding];
     } failure:failure];
 }
 
 - (void)loadRequest:(NSURLRequest *)request
-           MIMEType:(NSString *)MIMEType
-   textEncodingName:(NSString *)textEncodingName
+         navigation:(WKNavigation * _Nonnull)navigation
+           MIMEType:(nullable NSString *)MIMEType
+   textEncodingName:(nullable NSString *)textEncodingName
            progress:(NSProgress * _Nullable __autoreleasing * _Nullable)progress
-            success:(NSData * (^)(NSHTTPURLResponse *response, NSData *data))success
-            failure:(void (^)(NSError *error))failure
-{
+            success:(nullable NSData * (^)(NSHTTPURLResponse *response, NSData *data))success
+            failure:(nullable void (^)(NSError *error))failure {
     NSParameterAssert(request);
-
+    
     if (self.af_URLSessionTask.state == NSURLSessionTaskStateRunning || self.af_URLSessionTask.state == NSURLSessionTaskStateSuspended) {
         [self.af_URLSessionTask cancel];
     }
     self.af_URLSessionTask = nil;
-
+    
     __weak __typeof(self)weakSelf = self;
     __block NSURLSessionDataTask *dataTask;
-    dataTask = [self.sessionManager
-                dataTaskWithRequest:request
-                uploadProgress:nil
-                downloadProgress:nil
-                completionHandler:^(NSURLResponse * _Nonnull response, id  _Nonnull responseObject, NSError * _Nullable error) {
-                    __strong __typeof(weakSelf) strongSelf = weakSelf;
-                    if (error) {
-                        if (failure) {
-                            failure(error);
-                        }
-                    } else {
-                        if (success) {
-                            success((NSHTTPURLResponse *)response, responseObject);
-                        }
-                        [strongSelf loadData:responseObject MIMEType:MIMEType textEncodingName:textEncodingName baseURL:[dataTask.currentRequest URL]];
-
-                        if ([strongSelf.delegate respondsToSelector:@selector(webViewDidFinishLoad:)]) {
-                            [strongSelf.delegate webViewDidFinishLoad:strongSelf];
-                        }
-                    }
-                }];
+    __strong __typeof(weakSelf) strongSelf = weakSelf;
+    __strong __typeof(weakSelf.navigationDelegate) strongSelfDelegate = strongSelf.navigationDelegate;
+    dataTask = [self.sessionManager dataTaskWithRequest:request uploadProgress:nil downloadProgress:nil completionHandler:^(NSURLResponse * _Nonnull response, id  _Nullable responseObject, NSError * _Nullable error) {
+        if (error) {
+            if (failure) {
+                failure(error);
+            }
+        } else {
+            if (success) {
+                success((NSHTTPURLResponse *)response, responseObject);
+            }
+            [strongSelf loadData:responseObject MIMEType:MIMEType characterEncodingName:textEncodingName baseURL:[dataTask.currentRequest URL]];
+            
+            if ([strongSelfDelegate respondsToSelector:@selector(webView:didFinishNavigation:)]) {
+                [strongSelfDelegate webView:strongSelf didFinishNavigation:navigation];
+            }
+        }
+    }];
     self.af_URLSessionTask = dataTask;
     if (progress != nil) {
         *progress = [self.sessionManager downloadProgressForTask:dataTask];
     }
     [self.af_URLSessionTask resume];
-
-    if ([self.delegate respondsToSelector:@selector(webViewDidStartLoad:)]) {
-        [self.delegate webViewDidStartLoad:self];
+    
+    if ([strongSelfDelegate respondsToSelector:@selector(webView:didStartProvisionalNavigation:)]) {
+        [strongSelfDelegate webView:self didStartProvisionalNavigation:navigation];
     }
 }
 

+ 0 - 0
HappyWork/Pods/IQKeyboardManager/IQKeyboardManager/Categories/IQUIScrollView+Additions.h


Some files were not shown because too many files changed in this diff