Browse Source

打卡功能修改

15555599100 4 years ago
parent
commit
00001bc544
100 changed files with 1306 additions and 1008 deletions
  1. BIN
      HappyJob/.DS_Store
  2. 110 8
      HappyJob/HappyJob.xcodeproj/project.pbxproj
  3. BIN
      HappyJob/HappyJob/.DS_Store
  4. 1 0
      HappyJob/HappyJob/API/FBNetworking/FBBaseAPIManager.m
  5. 3 3
      HappyJob/HappyJob/Assets.xcassets/Auth/auth_card_background.imageset/Contents.json
  6. BIN
      HappyJob/HappyJob/Assets.xcassets/Auth/auth_card_background.imageset/实名认证_待上传.png
  7. BIN
      HappyJob/HappyJob/Assets.xcassets/Auth/auth_card_background.imageset/实名认证_待上传@2x.png
  8. BIN
      HappyJob/HappyJob/Assets.xcassets/Auth/auth_card_background.imageset/实名认证_待上传@3x.png
  9. BIN
      HappyJob/HappyJob/Assets.xcassets/Auth/auth_card_background.imageset/身份证背面.png
  10. BIN
      HappyJob/HappyJob/Assets.xcassets/Auth/auth_card_background.imageset/身份证背面@2x.png
  11. BIN
      HappyJob/HappyJob/Assets.xcassets/Auth/auth_card_background.imageset/身份证背面@3x.png
  12. 3 3
      HappyJob/HappyJob/Assets.xcassets/Auth/auth_card_change.imageset/Contents.json
  13. BIN
      HappyJob/HappyJob/Assets.xcassets/Auth/auth_card_change.imageset/实名认证_已上传.png
  14. BIN
      HappyJob/HappyJob/Assets.xcassets/Auth/auth_card_change.imageset/实名认证_已上传@2x.png
  15. BIN
      HappyJob/HappyJob/Assets.xcassets/Auth/auth_card_change.imageset/实名认证_已上传@3x.png
  16. BIN
      HappyJob/HappyJob/Assets.xcassets/Auth/auth_card_change.imageset/拍摄.png
  17. BIN
      HappyJob/HappyJob/Assets.xcassets/Auth/auth_card_change.imageset/拍摄@2x.png
  18. BIN
      HappyJob/HappyJob/Assets.xcassets/Auth/auth_card_change.imageset/拍摄@3x.png
  19. 3 3
      HappyJob/HappyJob/Assets.xcassets/Auth/auth_card_foreground.imageset/Contents.json
  20. BIN
      HappyJob/HappyJob/Assets.xcassets/Auth/auth_card_foreground.imageset/实名认证_待上传.png
  21. BIN
      HappyJob/HappyJob/Assets.xcassets/Auth/auth_card_foreground.imageset/实名认证_待上传@2x.png
  22. BIN
      HappyJob/HappyJob/Assets.xcassets/Auth/auth_card_foreground.imageset/实名认证_待上传@3x.png
  23. BIN
      HappyJob/HappyJob/Assets.xcassets/Auth/auth_card_foreground.imageset/身份证正面.png
  24. BIN
      HappyJob/HappyJob/Assets.xcassets/Auth/auth_card_foreground.imageset/身份证正面@2x.png
  25. BIN
      HappyJob/HappyJob/Assets.xcassets/Auth/auth_card_foreground.imageset/身份证正面@3x.png
  26. 23 0
      HappyJob/HappyJob/Assets.xcassets/ClockIn/circle_close.imageset/Contents.json
  27. BIN
      HappyJob/HappyJob/Assets.xcassets/ClockIn/circle_close.imageset/关闭.png
  28. BIN
      HappyJob/HappyJob/Assets.xcassets/ClockIn/circle_close.imageset/关闭@2x.png
  29. BIN
      HappyJob/HappyJob/Assets.xcassets/ClockIn/circle_close.imageset/关闭@3x.png
  30. BIN
      HappyJob/HappyJob/Assets.xcassets/ClockIn/clockIn_auth_icon.imageset/打卡_认证用户.png
  31. BIN
      HappyJob/HappyJob/Assets.xcassets/ClockIn/clockIn_auth_icon.imageset/打卡_认证用户@2x.png
  32. BIN
      HappyJob/HappyJob/Assets.xcassets/ClockIn/clockIn_auth_icon.imageset/打卡_认证用户@3x.png
  33. 3 3
      HappyJob/HappyJob/Assets.xcassets/ClockIn/clockIn_can.imageset/Contents.json
  34. BIN
      HappyJob/HappyJob/Assets.xcassets/ClockIn/clockIn_can.imageset/clockIn_icon.png
  35. BIN
      HappyJob/HappyJob/Assets.xcassets/ClockIn/clockIn_can.imageset/clockIn_icon@2x.png
  36. BIN
      HappyJob/HappyJob/Assets.xcassets/ClockIn/clockIn_can.imageset/clockIn_icon@3x.png
  37. BIN
      HappyJob/HappyJob/Assets.xcassets/ClockIn/clockIn_can.imageset/上班打卡_可互动.png
  38. BIN
      HappyJob/HappyJob/Assets.xcassets/ClockIn/clockIn_can.imageset/上班打卡_可互动@2x.png
  39. BIN
      HappyJob/HappyJob/Assets.xcassets/ClockIn/clockIn_can.imageset/上班打卡_可互动@3x.png
  40. BIN
      HappyJob/HappyJob/Assets.xcassets/ClockIn/clockIn_done.imageset/打卡完成_无交互.png
  41. BIN
      HappyJob/HappyJob/Assets.xcassets/ClockIn/clockIn_done.imageset/打卡完成_无交互@2x.png
  42. BIN
      HappyJob/HappyJob/Assets.xcassets/ClockIn/clockIn_done.imageset/打卡完成_无交互@3x.png
  43. BIN
      HappyJob/HappyJob/Assets.xcassets/ClockIn/clockOut_can.imageset/下班打卡_可互动.png
  44. BIN
      HappyJob/HappyJob/Assets.xcassets/ClockIn/clockOut_can.imageset/下班打卡_可互动@2x.png
  45. BIN
      HappyJob/HappyJob/Assets.xcassets/ClockIn/clockOut_can.imageset/下班打卡_可互动@3x.png
  46. 3 3
      HappyJob/HappyJob/Assets.xcassets/ClockIn/clockin_audit.imageset/Contents.json
  47. BIN
      HappyJob/HappyJob/Assets.xcassets/ClockIn/clockin_audit.imageset/clockin_audit@3x.png
  48. 0 0
      HappyJob/HappyJob/Assets.xcassets/ClockIn/clockin_audit.imageset/审核中_无互动.png
  49. 0 0
      HappyJob/HappyJob/Assets.xcassets/ClockIn/clockin_audit.imageset/审核中_无互动@2x.png
  50. BIN
      HappyJob/HappyJob/Assets.xcassets/ClockIn/clockin_audit.imageset/审核中_无互动@3x.png
  51. BIN
      HappyJob/HappyJob/Assets.xcassets/ClockIn/clockin_beyond.imageset/上班打卡_不可互动.png
  52. BIN
      HappyJob/HappyJob/Assets.xcassets/ClockIn/clockin_beyond.imageset/上班打卡_不可互动@2x.png
  53. BIN
      HappyJob/HappyJob/Assets.xcassets/ClockIn/clockin_beyond.imageset/上班打卡_不可互动@3x.png
  54. 23 0
      HappyJob/HappyJob/Assets.xcassets/ClockIn/clockin_customerService.imageset/Contents.json
  55. BIN
      HappyJob/HappyJob/Assets.xcassets/ClockIn/clockin_customerService.imageset/客服.png
  56. BIN
      HappyJob/HappyJob/Assets.xcassets/ClockIn/clockin_customerService.imageset/客服@2x.png
  57. BIN
      HappyJob/HappyJob/Assets.xcassets/ClockIn/clockin_customerService.imageset/客服@3x.png
  58. 1 0
      HappyJob/HappyJob/BClass/BHome_首页/ViewController/BHomeResumeDetailViewController.m
  59. 1 4
      HappyJob/HappyJob/CClass/ClockIn_打卡/View/HJClockInAuthView.h
  60. 10 52
      HappyJob/HappyJob/CClass/ClockIn_打卡/View/HJClockInAuthView.m
  61. 2 0
      HappyJob/HappyJob/CClass/ClockIn_打卡/View/HJClockInCustomerServiceView.m
  62. 6 19
      HappyJob/HappyJob/CClass/ClockIn_打卡/View/HJClockInInfoView.h
  63. 70 176
      HappyJob/HappyJob/CClass/ClockIn_打卡/View/HJClockInInfoView.m
  64. 26 25
      HappyJob/HappyJob/CClass/ClockIn_打卡/View/HJClockInStateView.m
  65. 22 0
      HappyJob/HappyJob/CClass/ClockIn_打卡/View/HJClockView.h
  66. 69 0
      HappyJob/HappyJob/CClass/ClockIn_打卡/View/HJClockView.m
  67. 5 9
      HappyJob/HappyJob/CClass/ClockIn_打卡/ViewController/HJClockInSuccessViewController.m
  68. 1 0
      HappyJob/HappyJob/CClass/ClockIn_打卡/ViewController/HJClockInViewController.h
  69. 201 197
      HappyJob/HappyJob/CClass/ClockIn_打卡/ViewController/HJClockInViewController.m
  70. 1 1
      HappyJob/HappyJob/CClass/ClockIn_打卡/统计/View/StatisticDetailView/HJClockInStatisticDetailMonthView.h
  71. 16 16
      HappyJob/HappyJob/CClass/ClockIn_打卡/统计/View/StatisticDetailView/HJClockInStatisticDetailMonthView.m
  72. 1 1
      HappyJob/HappyJob/CClass/ClockIn_打卡/统计/View/StatisticDetailView/HJClockInStatisticDetailWeekView.h
  73. 16 16
      HappyJob/HappyJob/CClass/ClockIn_打卡/统计/View/StatisticDetailView/HJClockInStatisticDetailWeekView.m
  74. 0 3
      HappyJob/HappyJob/CClass/ClockIn_打卡/统计/View/StatisticView/HJClockInStatisticCollectView.h
  75. 3 28
      HappyJob/HappyJob/CClass/ClockIn_打卡/统计/View/StatisticView/HJClockInStatisticCollectView.m
  76. 1 0
      HappyJob/HappyJob/CClass/ClockIn_打卡/统计/View/StatisticView/HJClockInStatisticDayView.h
  77. 1 1
      HappyJob/HappyJob/CClass/ClockIn_打卡/统计/View/StatisticView/HJClockInStatisticDayView.m
  78. 4 4
      HappyJob/HappyJob/CClass/ClockIn_打卡/统计/View/StatisticView/HJClockInStatisticWageView.m
  79. 2 2
      HappyJob/HappyJob/CClass/ClockIn_打卡/统计/ViewController/HJClockInStatisticDetailViewController.m
  80. 0 1
      HappyJob/HappyJob/CClass/ClockIn_打卡/统计/ViewController/HJClockInStatisticViewController.m
  81. 2 3
      HappyJob/HappyJob/CClass/Home_首页/HJHomeViewController.m
  82. 1 0
      HappyJob/HappyJob/CClass/JobList_工作列表信息/PositionDetail_岗位详情/View/HJPositionDetailView.m
  83. 1 0
      HappyJob/HappyJob/CClass/Join_拼工/HJJoinDetailViewController.m
  84. 17 0
      HappyJob/HappyJob/CClass/Me_我/Auth_实名认证/AuthAPIManager/HJAuthOCRAPI.h
  85. 73 0
      HappyJob/HappyJob/CClass/Me_我/Auth_实名认证/AuthAPIManager/HJAuthOCRAPI.m
  86. 1 0
      HappyJob/HappyJob/CClass/Me_我/Auth_实名认证/AuthAPIManager/HJRealApproveAPIManager.h
  87. 2 1
      HappyJob/HappyJob/CClass/Me_我/Auth_实名认证/AuthAPIManager/HJRealApproveAPIManager.m
  88. 1 0
      HappyJob/HappyJob/CClass/Me_我/Auth_实名认证/View/HJAuthIDCardErrorView.h
  89. 22 5
      HappyJob/HappyJob/CClass/Me_我/Auth_实名认证/View/HJAuthIDCardErrorView.m
  90. 1 1
      HappyJob/HappyJob/CClass/Me_我/Auth_实名认证/View/HJAuthUploadImageView.h
  91. 24 22
      HappyJob/HappyJob/CClass/Me_我/Auth_实名认证/View/HJAuthUploadImageView.m
  92. 29 0
      HappyJob/HappyJob/CClass/Me_我/Auth_实名认证/View/HJAuthView.h
  93. 178 0
      HappyJob/HappyJob/CClass/Me_我/Auth_实名认证/View/HJAuthView.m
  94. 0 385
      HappyJob/HappyJob/CClass/Me_我/Auth_实名认证/ViewController/HJAuthViewController.m
  95. 305 0
      HappyJob/HappyJob/CClass/Me_我/Auth_实名认证/ViewController/HJAuthViewController.mm
  96. 10 10
      HappyJob/HappyJob/CClass/Me_我/Auth_实名认证/ViewController/HJAuthingViewController.m
  97. 6 3
      HappyJob/HappyJob/CClass/Me_我/MeAPIManager/HJMeDataBox.m
  98. 1 0
      HappyJob/HappyJob/CClass/Me_我/Reward_入职奖励/ViewController/HJReturnFeeDetailViewController.m
  99. 1 0
      HappyJob/HappyJob/CClass/Me_我/Setting_设置/ViewController/HJUpdateViewController.m
  100. 0 0
      HappyJob/HappyJob/CClass/Me_我/ViewController/HJMeViewController.m

BIN
HappyJob/.DS_Store


+ 110 - 8
HappyJob/HappyJob.xcodeproj/project.pbxproj

@@ -274,6 +274,15 @@
 		7179B9C224F3BCBB00E3CC15 /* HJClockInSuccessView.m in Sources */ = {isa = PBXBuildFile; fileRef = 7179B9C124F3BCBB00E3CC15 /* HJClockInSuccessView.m */; };
 		7179B9C524F3C74000E3CC15 /* HJClockInSuccessViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 7179B9C424F3C74000E3CC15 /* HJClockInSuccessViewController.m */; };
 		7189A30A24F3853700019A19 /* HJClockInViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 7189A30924F3853700019A19 /* HJClockInViewController.m */; };
+		7192DD53266B65E40024DB3D /* YtSDKKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7192DD48266B65E40024DB3D /* YtSDKKit.framework */; };
+		7192DD54266B65E40024DB3D /* OcrSDK.bundle in Resources */ = {isa = PBXBuildFile; fileRef = 7192DD49266B65E40024DB3D /* OcrSDK.bundle */; };
+		7192DD55266B65E40024DB3D /* TXYComm.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7192DD4A266B65E40024DB3D /* TXYComm.framework */; };
+		7192DD56266B65E40024DB3D /* OcrSDKKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7192DD4B266B65E40024DB3D /* OcrSDKKit.framework */; };
+		7192DD57266B65E40024DB3D /* tnn.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7192DD4F266B65E40024DB3D /* tnn.framework */; };
+		7192DD58266B65E40024DB3D /* tiny_opencv2.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7192DD50266B65E40024DB3D /* tiny_opencv2.framework */; };
+		7192DD59266B65E40024DB3D /* YTImageRefiner_pub.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7192DD51266B65E40024DB3D /* YTImageRefiner_pub.framework */; };
+		7192DD5A266B65E40024DB3D /* ocr-v001.bundle in Resources */ = {isa = PBXBuildFile; fileRef = 7192DD52266B65E40024DB3D /* ocr-v001.bundle */; };
+		7192DD5E266B73A00024DB3D /* HJAuthOCRAPI.m in Sources */ = {isa = PBXBuildFile; fileRef = 7192DD5D266B73A00024DB3D /* HJAuthOCRAPI.m */; };
 		7198C49324F4937E00EE3347 /* HJClockInStatisticViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 7198C49224F4937E00EE3347 /* HJClockInStatisticViewController.m */; };
 		7198C49624F4946600EE3347 /* HJClockInNaviView.m in Sources */ = {isa = PBXBuildFile; fileRef = 7198C49524F4946600EE3347 /* HJClockInNaviView.m */; };
 		7198C49924F498EF00EE3347 /* HJClockInStatisticCollectView.m in Sources */ = {isa = PBXBuildFile; fileRef = 7198C49824F498EF00EE3347 /* HJClockInStatisticCollectView.m */; };
@@ -289,6 +298,10 @@
 		7199F7E424FE4F29000A2D49 /* SelVideoPlayer.m in Sources */ = {isa = PBXBuildFile; fileRef = 7199F7DB24FE4F29000A2D49 /* SelVideoPlayer.m */; };
 		7199F7E524FE4F29000A2D49 /* SelVideoSlider.m in Sources */ = {isa = PBXBuildFile; fileRef = 7199F7E124FE4F29000A2D49 /* SelVideoSlider.m */; };
 		7199F7E624FE4F29000A2D49 /* SelPlayerConfiguration.m in Sources */ = {isa = PBXBuildFile; fileRef = 7199F7E224FE4F29000A2D49 /* SelPlayerConfiguration.m */; };
+		71A0E3D1266922E1003612EF /* Accelerate.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 71A0E3D0266922E0003612EF /* Accelerate.framework */; };
+		71A0E3D3266922ED003612EF /* CoreML.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 71A0E3D2266922ED003612EF /* CoreML.framework */; };
+		71A0E3D72669AFC8003612EF /* HJAuthView.m in Sources */ = {isa = PBXBuildFile; fileRef = 71A0E3D62669AFC8003612EF /* HJAuthView.m */; };
+		71A0E4142669FEDA003612EF /* HJClockView.m in Sources */ = {isa = PBXBuildFile; fileRef = 71A0E4132669FEDA003612EF /* HJClockView.m */; };
 		71A2B01922F2939E00B4FACF /* HJLoginInfoMergeViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 71A2B01822F2939E00B4FACF /* HJLoginInfoMergeViewController.m */; };
 		71A2B01E22F2A2ED00B4FACF /* HJLoginInfoMergeCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 71A2B01D22F2A2ED00B4FACF /* HJLoginInfoMergeCell.m */; };
 		71A2B02122F2B3D700B4FACF /* HJLoginInfoMergePopupView.m in Sources */ = {isa = PBXBuildFile; fileRef = 71A2B02022F2B3D700B4FACF /* HJLoginInfoMergePopupView.m */; };
@@ -428,7 +441,7 @@
 		C4129F16224B5ADA00E762D5 /* HJCityPickerHotCell.m in Sources */ = {isa = PBXBuildFile; fileRef = C4129F15224B5ADA00E762D5 /* HJCityPickerHotCell.m */; };
 		C412B2242269ABDA002B0C44 /* HJAuthingViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = C412B2232269ABDA002B0C44 /* HJAuthingViewController.m */; };
 		C412B22A2269AC4B002B0C44 /* HJAuthFailedViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = C412B2292269AC4B002B0C44 /* HJAuthFailedViewController.m */; };
-		C412B22D2269AC86002B0C44 /* HJAuthViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = C412B22C2269AC86002B0C44 /* HJAuthViewController.m */; };
+		C412B22D2269AC86002B0C44 /* HJAuthViewController.mm in Sources */ = {isa = PBXBuildFile; fileRef = C412B22C2269AC86002B0C44 /* HJAuthViewController.mm */; };
 		C412BD912277DC4F0098893C /* HJMessageAPIManager.m in Sources */ = {isa = PBXBuildFile; fileRef = C412BD902277DC4F0098893C /* HJMessageAPIManager.m */; };
 		C412BD942277E06F0098893C /* HJMessageDataBox.m in Sources */ = {isa = PBXBuildFile; fileRef = C412BD932277E06F0098893C /* HJMessageDataBox.m */; };
 		C412BD9E22781DB60098893C /* HJPageableAPIManager.m in Sources */ = {isa = PBXBuildFile; fileRef = C412BD9D22781DB60098893C /* HJPageableAPIManager.m */; };
@@ -1067,6 +1080,16 @@
 		7179B9C424F3C74000E3CC15 /* HJClockInSuccessViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = HJClockInSuccessViewController.m; sourceTree = "<group>"; };
 		7189A30824F3853700019A19 /* HJClockInViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = HJClockInViewController.h; sourceTree = "<group>"; };
 		7189A30924F3853700019A19 /* HJClockInViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = HJClockInViewController.m; sourceTree = "<group>"; };
+		7192DD48266B65E40024DB3D /* YtSDKKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = YtSDKKit.framework; sourceTree = "<group>"; };
+		7192DD49266B65E40024DB3D /* OcrSDK.bundle */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.plug-in"; path = OcrSDK.bundle; sourceTree = "<group>"; };
+		7192DD4A266B65E40024DB3D /* TXYComm.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = TXYComm.framework; sourceTree = "<group>"; };
+		7192DD4B266B65E40024DB3D /* OcrSDKKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = OcrSDKKit.framework; sourceTree = "<group>"; };
+		7192DD4F266B65E40024DB3D /* tnn.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = tnn.framework; sourceTree = "<group>"; };
+		7192DD50266B65E40024DB3D /* tiny_opencv2.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = tiny_opencv2.framework; sourceTree = "<group>"; };
+		7192DD51266B65E40024DB3D /* YTImageRefiner_pub.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = YTImageRefiner_pub.framework; sourceTree = "<group>"; };
+		7192DD52266B65E40024DB3D /* ocr-v001.bundle */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.plug-in"; path = "ocr-v001.bundle"; sourceTree = "<group>"; };
+		7192DD5C266B73A00024DB3D /* HJAuthOCRAPI.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = HJAuthOCRAPI.h; sourceTree = "<group>"; };
+		7192DD5D266B73A00024DB3D /* HJAuthOCRAPI.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = HJAuthOCRAPI.m; sourceTree = "<group>"; };
 		7198C49124F4937E00EE3347 /* HJClockInStatisticViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = HJClockInStatisticViewController.h; sourceTree = "<group>"; };
 		7198C49224F4937E00EE3347 /* HJClockInStatisticViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = HJClockInStatisticViewController.m; sourceTree = "<group>"; };
 		7198C49424F4946600EE3347 /* HJClockInNaviView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = HJClockInNaviView.h; sourceTree = "<group>"; };
@@ -1097,6 +1120,12 @@
 		7199F7E024FE4F29000A2D49 /* SelVideoPlayer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SelVideoPlayer.h; sourceTree = "<group>"; };
 		7199F7E124FE4F29000A2D49 /* SelVideoSlider.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SelVideoSlider.m; sourceTree = "<group>"; };
 		7199F7E224FE4F29000A2D49 /* SelPlayerConfiguration.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SelPlayerConfiguration.m; sourceTree = "<group>"; };
+		71A0E3D0266922E0003612EF /* Accelerate.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Accelerate.framework; path = System/Library/Frameworks/Accelerate.framework; sourceTree = SDKROOT; };
+		71A0E3D2266922ED003612EF /* CoreML.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreML.framework; path = System/Library/Frameworks/CoreML.framework; sourceTree = SDKROOT; };
+		71A0E3D52669AFC8003612EF /* HJAuthView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = HJAuthView.h; sourceTree = "<group>"; };
+		71A0E3D62669AFC8003612EF /* HJAuthView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = HJAuthView.m; sourceTree = "<group>"; };
+		71A0E4122669FEDA003612EF /* HJClockView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = HJClockView.h; sourceTree = "<group>"; };
+		71A0E4132669FEDA003612EF /* HJClockView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = HJClockView.m; sourceTree = "<group>"; };
 		71A2B01722F2939E00B4FACF /* HJLoginInfoMergeViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = HJLoginInfoMergeViewController.h; sourceTree = "<group>"; };
 		71A2B01822F2939E00B4FACF /* HJLoginInfoMergeViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = HJLoginInfoMergeViewController.m; sourceTree = "<group>"; };
 		71A2B01C22F2A2ED00B4FACF /* HJLoginInfoMergeCell.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = HJLoginInfoMergeCell.h; sourceTree = "<group>"; };
@@ -1375,7 +1404,7 @@
 		C412B2282269AC4B002B0C44 /* HJAuthFailedViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = HJAuthFailedViewController.h; sourceTree = "<group>"; };
 		C412B2292269AC4B002B0C44 /* HJAuthFailedViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = HJAuthFailedViewController.m; sourceTree = "<group>"; };
 		C412B22B2269AC86002B0C44 /* HJAuthViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = HJAuthViewController.h; sourceTree = "<group>"; };
-		C412B22C2269AC86002B0C44 /* HJAuthViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = HJAuthViewController.m; sourceTree = "<group>"; };
+		C412B22C2269AC86002B0C44 /* HJAuthViewController.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; path = HJAuthViewController.mm; sourceTree = "<group>"; };
 		C412BD8F2277DC4F0098893C /* HJMessageAPIManager.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = HJMessageAPIManager.h; sourceTree = "<group>"; };
 		C412BD902277DC4F0098893C /* HJMessageAPIManager.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = HJMessageAPIManager.m; sourceTree = "<group>"; };
 		C412BD922277E06F0098893C /* HJMessageDataBox.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = HJMessageDataBox.h; sourceTree = "<group>"; };
@@ -1588,7 +1617,15 @@
 			isa = PBXFrameworksBuildPhase;
 			buildActionMask = 2147483647;
 			files = (
+				7192DD55266B65E40024DB3D /* TXYComm.framework in Frameworks */,
+				7192DD59266B65E40024DB3D /* YTImageRefiner_pub.framework in Frameworks */,
+				71A0E3D1266922E1003612EF /* Accelerate.framework in Frameworks */,
+				7192DD58266B65E40024DB3D /* tiny_opencv2.framework in Frameworks */,
+				7192DD57266B65E40024DB3D /* tnn.framework in Frameworks */,
+				7192DD53266B65E40024DB3D /* YtSDKKit.framework in Frameworks */,
 				9FFB156CEAAD40D59AA06C76 /* Pods_HappyJob.framework in Frameworks */,
+				71A0E3D3266922ED003612EF /* CoreML.framework in Frameworks */,
+				7192DD56266B65E40024DB3D /* OcrSDKKit.framework in Frameworks */,
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 		};
@@ -1598,6 +1635,7 @@
 		71019C3922F1A15E007CD2B4 /* Resource */ = {
 			isa = PBXGroup;
 			children = (
+				7192DD47266B65E40024DB3D /* OcrSDKKit */,
 				7124A6E72475188200A8BCB3 /* 隐私政策.docx */,
 				7124A6E62475188200A8BCB3 /* 用户协议.docx */,
 				C41393E822534136009F61FE /* 开心工作用户协议-版1(1).docx */,
@@ -3027,7 +3065,7 @@
 				C412B2282269AC4B002B0C44 /* HJAuthFailedViewController.h */,
 				C412B2292269AC4B002B0C44 /* HJAuthFailedViewController.m */,
 				C412B22B2269AC86002B0C44 /* HJAuthViewController.h */,
-				C412B22C2269AC86002B0C44 /* HJAuthViewController.m */,
+				C412B22C2269AC86002B0C44 /* HJAuthViewController.mm */,
 			);
 			path = ViewController;
 			sourceTree = "<group>";
@@ -3041,6 +3079,8 @@
 				717440D324F608D900F94297 /* HJAuthUploadImageView.m */,
 				717440D524F6348300F94297 /* HJAuthIDCardErrorView.h */,
 				717440D624F6348300F94297 /* HJAuthIDCardErrorView.m */,
+				71A0E3D52669AFC8003612EF /* HJAuthView.h */,
+				71A0E3D62669AFC8003612EF /* HJAuthView.m */,
 			);
 			path = View;
 			sourceTree = "<group>";
@@ -3246,6 +3286,8 @@
 		7189A30224F3843D00019A19 /* View */ = {
 			isa = PBXGroup;
 			children = (
+				71A0E4122669FEDA003612EF /* HJClockView.h */,
+				71A0E4132669FEDA003612EF /* HJClockView.m */,
 				7179B9B124F388AB00E3CC15 /* HJClockInInfoView.h */,
 				7179B9B224F388AB00E3CC15 /* HJClockInInfoView.m */,
 				7179B9B724F3891200E3CC15 /* HJClockInStateView.h */,
@@ -3290,6 +3332,45 @@
 			path = APIManager;
 			sourceTree = "<group>";
 		};
+		7192DD47266B65E40024DB3D /* OcrSDKKit */ = {
+			isa = PBXGroup;
+			children = (
+				7192DD48266B65E40024DB3D /* YtSDKKit.framework */,
+				7192DD49266B65E40024DB3D /* OcrSDK.bundle */,
+				7192DD4A266B65E40024DB3D /* TXYComm.framework */,
+				7192DD4B266B65E40024DB3D /* OcrSDKKit.framework */,
+				7192DD4C266B65E40024DB3D /* YtFrameworks */,
+				7192DD52266B65E40024DB3D /* ocr-v001.bundle */,
+			);
+			path = OcrSDKKit;
+			sourceTree = "<group>";
+		};
+		7192DD4C266B65E40024DB3D /* YtFrameworks */ = {
+			isa = PBXGroup;
+			children = (
+				7192DD4D266B65E40024DB3D /* cv_related_libs */,
+			);
+			path = YtFrameworks;
+			sourceTree = "<group>";
+		};
+		7192DD4D266B65E40024DB3D /* cv_related_libs */ = {
+			isa = PBXGroup;
+			children = (
+				7192DD4E266B65E40024DB3D /* opencv2 */,
+			);
+			path = cv_related_libs;
+			sourceTree = "<group>";
+		};
+		7192DD4E266B65E40024DB3D /* opencv2 */ = {
+			isa = PBXGroup;
+			children = (
+				7192DD4F266B65E40024DB3D /* tnn.framework */,
+				7192DD50266B65E40024DB3D /* tiny_opencv2.framework */,
+				7192DD51266B65E40024DB3D /* YTImageRefiner_pub.framework */,
+			);
+			path = opencv2;
+			sourceTree = "<group>";
+		};
 		7198C48C24F492E300EE3347 /* 统计 */ = {
 			isa = PBXGroup;
 			children = (
@@ -4379,6 +4460,8 @@
 				C4139C9622800C54000C11B5 /* HJApproveStatusAPIManager.m */,
 				C4139C98228019D1000C11B5 /* HJRealApproveAPIManager.h */,
 				C4139C99228019D1000C11B5 /* HJRealApproveAPIManager.m */,
+				7192DD5C266B73A00024DB3D /* HJAuthOCRAPI.h */,
+				7192DD5D266B73A00024DB3D /* HJAuthOCRAPI.m */,
 			);
 			path = AuthAPIManager;
 			sourceTree = "<group>";
@@ -4739,6 +4822,8 @@
 		C51E07772F4DF7504D44B104 /* Frameworks */ = {
 			isa = PBXGroup;
 			children = (
+				71A0E3D2266922ED003612EF /* CoreML.framework */,
+				71A0E3D0266922E0003612EF /* Accelerate.framework */,
 				0DF7A0B712AD4B8CD7534BBC /* Pods_HappyJob.framework */,
 			);
 			name = Frameworks;
@@ -4816,11 +4901,13 @@
 				71019C3C22F1A204007CD2B4 /* PartTimePositionType.plist in Resources */,
 				7124A6E82475188200A8BCB3 /* 用户协议.docx in Resources */,
 				7124A6E92475188200A8BCB3 /* 隐私政策.docx in Resources */,
+				7192DD54266B65E40024DB3D /* OcrSDK.bundle in Resources */,
 				C40AEC5022411FA500A9EA23 /* HJCityPickerViewControllerSource.bundle in Resources */,
 				C40FF1ED223F828E008868BF /* LaunchScreen.storyboard in Resources */,
 				C40FF1EA223F828E008868BF /* Assets.xcassets in Resources */,
 				C40FF1E8223F828C008868BF /* Main.storyboard in Resources */,
 				C41393E922534136009F61FE /* 开心工作用户协议-版1(1).docx in Resources */,
+				7192DD5A266B65E40024DB3D /* ocr-v001.bundle in Resources */,
 				71019C3E22F1A27B007CD2B4 /* FulltimePositionType.plist in Resources */,
 			);
 			runOnlyForDeploymentPostprocessing = 0;
@@ -5179,6 +5266,7 @@
 				C413DDF6228405B700F9F17D /* HJMessageDetailAPIManager.m in Sources */,
 				C412BDA42278240A0098893C /* HJGetBenefitPositionAPIManager.m in Sources */,
 				716D471E2500EA0900B2E15D /* HJClockInInfoAPI.m in Sources */,
+				71A0E4142669FEDA003612EF /* HJClockView.m in Sources */,
 				714A0104235754EA0090EBB6 /* HJMyIntergralExchangeGiftListModel.m in Sources */,
 				714C8F132398D15A00379F1E /* HJSalaryListViewController.m in Sources */,
 				71332984231526D8002CF6DB /* ValueInputPickView.m in Sources */,
@@ -5198,7 +5286,7 @@
 				71590CF12355517B00F3C099 /* HJIntegralHeaderCell.m in Sources */,
 				C4F657A7224CF70B00E1E625 /* HJLoginGetAuthCodeAPIManager.m in Sources */,
 				C40F6EEE225E13430034BEF8 /* HJBenefitDetailViewController.m in Sources */,
-				C412B22D2269AC86002B0C44 /* HJAuthViewController.m in Sources */,
+				C412B22D2269AC86002B0C44 /* HJAuthViewController.mm in Sources */,
 				C40FF212223F86C0008868BF /* UIDevice+FBAdd.m in Sources */,
 				713CBBE92446B34900D9F011 /* HJExperienceListView.m in Sources */,
 				C4223BCF22606BA900384C9C /* FBScrollLayoutView.m in Sources */,
@@ -5323,6 +5411,7 @@
 				71590CE62355517B00F3C099 /* HJIntegralExchangeActivityRecordDetailVC.m in Sources */,
 				71A2B02422F2BD1C00B4FACF /* HJLoginInfoMergeNaviView.m in Sources */,
 				C4124C102297BAF000B6A8B6 /* HJGroupPositionModel.m in Sources */,
+				71A0E3D72669AFC8003612EF /* HJAuthView.m in Sources */,
 				C410967022A0109600231BB6 /* HJBasicInfoView.m in Sources */,
 				C41222D7229397C30060F1E1 /* HJJoinAgreementViewController.m in Sources */,
 				C49DE84122850AAE00A1B67A /* HJMyFavoriteAPIManager.m in Sources */,
@@ -5340,6 +5429,7 @@
 				71590CDF2355517B00F3C099 /* HJMyIntegralExchangePayHeaderView.m in Sources */,
 				C42556AA229E926E007833D5 /* HJSalaryDetailViewController.m in Sources */,
 				713CBBCE2444A58900D9F011 /* HJLoginCodeViewController.m in Sources */,
+				7192DD5E266B73A00024DB3D /* HJAuthOCRAPI.m in Sources */,
 				C49612D12265A25C00898E55 /* HJConfirmPanelViewController.m in Sources */,
 				7124A6D52474F31100A8BCB3 /* RequestIPAddress.m in Sources */,
 				C40CA44A2244E26100F303A6 /* HJJobDetailSelectiveBar.m in Sources */,
@@ -5551,8 +5641,14 @@
 				CODE_SIGN_ENTITLEMENTS = HappyJob/HappyJob.entitlements;
 				CODE_SIGN_IDENTITY = "Apple Development";
 				CODE_SIGN_STYLE = Automatic;
-				CURRENT_PROJECT_VERSION = 3;
+				CURRENT_PROJECT_VERSION = 11;
 				DEVELOPMENT_TEAM = 6TLH64Q4Z4;
+				ENABLE_BITCODE = NO;
+				FRAMEWORK_SEARCH_PATHS = (
+					"$(inherited)",
+					"$(PROJECT_DIR)/HappyJob/Resource/OcrSDKKit",
+					"$(PROJECT_DIR)/HappyJob/Resource/OcrSDKKit/YtFrameworks/cv_related_libs/opencv2",
+				);
 				GCC_PREFIX_HEADER = "HappyJob/HappyJob-Prefix.pch";
 				INFOPLIST_FILE = HappyJob/Info.plist;
 				IPHONEOS_DEPLOYMENT_TARGET = 9.0;
@@ -5560,7 +5656,7 @@
 					"$(inherited)",
 					"@executable_path/Frameworks",
 				);
-				MARKETING_VERSION = 3.4.3;
+				MARKETING_VERSION = 3.4.5;
 				PRODUCT_BUNDLE_IDENTIFIER = com.huijiabo.kaixing;
 				PRODUCT_NAME = "$(TARGET_NAME)";
 				PROVISIONING_PROFILE_SPECIFIER = "";
@@ -5577,8 +5673,14 @@
 				CODE_SIGN_ENTITLEMENTS = HappyJob/HappyJob.entitlements;
 				CODE_SIGN_IDENTITY = "Apple Development";
 				CODE_SIGN_STYLE = Automatic;
-				CURRENT_PROJECT_VERSION = 3;
+				CURRENT_PROJECT_VERSION = 11;
 				DEVELOPMENT_TEAM = 6TLH64Q4Z4;
+				ENABLE_BITCODE = NO;
+				FRAMEWORK_SEARCH_PATHS = (
+					"$(inherited)",
+					"$(PROJECT_DIR)/HappyJob/Resource/OcrSDKKit",
+					"$(PROJECT_DIR)/HappyJob/Resource/OcrSDKKit/YtFrameworks/cv_related_libs/opencv2",
+				);
 				GCC_PREFIX_HEADER = "HappyJob/HappyJob-Prefix.pch";
 				INFOPLIST_FILE = HappyJob/Info.plist;
 				IPHONEOS_DEPLOYMENT_TARGET = 9.0;
@@ -5586,7 +5688,7 @@
 					"$(inherited)",
 					"@executable_path/Frameworks",
 				);
-				MARKETING_VERSION = 3.4.3;
+				MARKETING_VERSION = 3.4.5;
 				PRODUCT_BUNDLE_IDENTIFIER = com.huijiabo.kaixing;
 				PRODUCT_NAME = "$(TARGET_NAME)";
 				PROVISIONING_PROFILE_SPECIFIER = "";

BIN
HappyJob/HappyJob/.DS_Store


+ 1 - 0
HappyJob/HappyJob/API/FBNetworking/FBBaseAPIManager.m

@@ -218,6 +218,7 @@
         {
             [self.APIManagerInterceptor managerShouldFinishCallAPI:self];//结束指示器
         }
+//        [self callingFailedWithResponseObject:responseObject errorType:errorType];//处理失败的
     }
     else
     {

+ 3 - 3
HappyJob/HappyJob/Assets.xcassets/Auth/auth_card_background.imageset/Contents.json

@@ -1,17 +1,17 @@
 {
   "images" : [
     {
-      "filename" : "实名认证_待上传.png",
+      "filename" : "身份证背面.png",
       "idiom" : "universal",
       "scale" : "1x"
     },
     {
-      "filename" : "实名认证_待上传@2x.png",
+      "filename" : "身份证背面@2x.png",
       "idiom" : "universal",
       "scale" : "2x"
     },
     {
-      "filename" : "实名认证_待上传@3x.png",
+      "filename" : "身份证背面@3x.png",
       "idiom" : "universal",
       "scale" : "3x"
     }

BIN
HappyJob/HappyJob/Assets.xcassets/Auth/auth_card_background.imageset/实名认证_待上传.png


BIN
HappyJob/HappyJob/Assets.xcassets/Auth/auth_card_background.imageset/实名认证_待上传@2x.png


BIN
HappyJob/HappyJob/Assets.xcassets/Auth/auth_card_background.imageset/实名认证_待上传@3x.png


BIN
HappyJob/HappyJob/Assets.xcassets/Auth/auth_card_background.imageset/身份证背面.png


BIN
HappyJob/HappyJob/Assets.xcassets/Auth/auth_card_background.imageset/身份证背面@2x.png


BIN
HappyJob/HappyJob/Assets.xcassets/Auth/auth_card_background.imageset/身份证背面@3x.png


+ 3 - 3
HappyJob/HappyJob/Assets.xcassets/Auth/auth_card_change.imageset/Contents.json

@@ -1,17 +1,17 @@
 {
   "images" : [
     {
-      "filename" : "实名认证_已上传.png",
+      "filename" : "拍摄.png",
       "idiom" : "universal",
       "scale" : "1x"
     },
     {
-      "filename" : "实名认证_已上传@2x.png",
+      "filename" : "拍摄@2x.png",
       "idiom" : "universal",
       "scale" : "2x"
     },
     {
-      "filename" : "实名认证_已上传@3x.png",
+      "filename" : "拍摄@3x.png",
       "idiom" : "universal",
       "scale" : "3x"
     }

BIN
HappyJob/HappyJob/Assets.xcassets/Auth/auth_card_change.imageset/实名认证_已上传.png


BIN
HappyJob/HappyJob/Assets.xcassets/Auth/auth_card_change.imageset/实名认证_已上传@2x.png


BIN
HappyJob/HappyJob/Assets.xcassets/Auth/auth_card_change.imageset/实名认证_已上传@3x.png


BIN
HappyJob/HappyJob/Assets.xcassets/Auth/auth_card_change.imageset/拍摄.png


BIN
HappyJob/HappyJob/Assets.xcassets/Auth/auth_card_change.imageset/拍摄@2x.png


BIN
HappyJob/HappyJob/Assets.xcassets/Auth/auth_card_change.imageset/拍摄@3x.png


+ 3 - 3
HappyJob/HappyJob/Assets.xcassets/Auth/auth_card_foreground.imageset/Contents.json

@@ -1,17 +1,17 @@
 {
   "images" : [
     {
-      "filename" : "实名认证_待上传.png",
+      "filename" : "身份证正面.png",
       "idiom" : "universal",
       "scale" : "1x"
     },
     {
-      "filename" : "实名认证_待上传@2x.png",
+      "filename" : "身份证正面@2x.png",
       "idiom" : "universal",
       "scale" : "2x"
     },
     {
-      "filename" : "实名认证_待上传@3x.png",
+      "filename" : "身份证正面@3x.png",
       "idiom" : "universal",
       "scale" : "3x"
     }

BIN
HappyJob/HappyJob/Assets.xcassets/Auth/auth_card_foreground.imageset/实名认证_待上传.png


BIN
HappyJob/HappyJob/Assets.xcassets/Auth/auth_card_foreground.imageset/实名认证_待上传@2x.png


BIN
HappyJob/HappyJob/Assets.xcassets/Auth/auth_card_foreground.imageset/实名认证_待上传@3x.png


BIN
HappyJob/HappyJob/Assets.xcassets/Auth/auth_card_foreground.imageset/身份证正面.png


BIN
HappyJob/HappyJob/Assets.xcassets/Auth/auth_card_foreground.imageset/身份证正面@2x.png


BIN
HappyJob/HappyJob/Assets.xcassets/Auth/auth_card_foreground.imageset/身份证正面@3x.png


+ 23 - 0
HappyJob/HappyJob/Assets.xcassets/ClockIn/circle_close.imageset/Contents.json

@@ -0,0 +1,23 @@
+{
+  "images" : [
+    {
+      "filename" : "关闭.png",
+      "idiom" : "universal",
+      "scale" : "1x"
+    },
+    {
+      "filename" : "关闭@2x.png",
+      "idiom" : "universal",
+      "scale" : "2x"
+    },
+    {
+      "filename" : "关闭@3x.png",
+      "idiom" : "universal",
+      "scale" : "3x"
+    }
+  ],
+  "info" : {
+    "author" : "xcode",
+    "version" : 1
+  }
+}

BIN
HappyJob/HappyJob/Assets.xcassets/ClockIn/circle_close.imageset/关闭.png


BIN
HappyJob/HappyJob/Assets.xcassets/ClockIn/circle_close.imageset/关闭@2x.png


BIN
HappyJob/HappyJob/Assets.xcassets/ClockIn/circle_close.imageset/关闭@3x.png


BIN
HappyJob/HappyJob/Assets.xcassets/ClockIn/clockIn_auth_icon.imageset/打卡_认证用户.png


BIN
HappyJob/HappyJob/Assets.xcassets/ClockIn/clockIn_auth_icon.imageset/打卡_认证用户@2x.png


BIN
HappyJob/HappyJob/Assets.xcassets/ClockIn/clockIn_auth_icon.imageset/打卡_认证用户@3x.png


+ 3 - 3
HappyJob/HappyJob/Assets.xcassets/ClockIn/clockIn_can.imageset/Contents.json

@@ -1,17 +1,17 @@
 {
   "images" : [
     {
-      "filename" : "clockIn_icon.png",
+      "filename" : "上班打卡_可互动.png",
       "idiom" : "universal",
       "scale" : "1x"
     },
     {
-      "filename" : "clockIn_icon@2x.png",
+      "filename" : "上班打卡_可互动@2x.png",
       "idiom" : "universal",
       "scale" : "2x"
     },
     {
-      "filename" : "clockIn_icon@3x.png",
+      "filename" : "上班打卡_可互动@3x.png",
       "idiom" : "universal",
       "scale" : "3x"
     }

BIN
HappyJob/HappyJob/Assets.xcassets/ClockIn/clockIn_can.imageset/clockIn_icon.png


BIN
HappyJob/HappyJob/Assets.xcassets/ClockIn/clockIn_can.imageset/clockIn_icon@2x.png


BIN
HappyJob/HappyJob/Assets.xcassets/ClockIn/clockIn_can.imageset/clockIn_icon@3x.png


BIN
HappyJob/HappyJob/Assets.xcassets/ClockIn/clockIn_can.imageset/上班打卡_可互动.png


BIN
HappyJob/HappyJob/Assets.xcassets/ClockIn/clockIn_can.imageset/上班打卡_可互动@2x.png


BIN
HappyJob/HappyJob/Assets.xcassets/ClockIn/clockIn_can.imageset/上班打卡_可互动@3x.png


BIN
HappyJob/HappyJob/Assets.xcassets/ClockIn/clockIn_done.imageset/打卡完成_无交互.png


BIN
HappyJob/HappyJob/Assets.xcassets/ClockIn/clockIn_done.imageset/打卡完成_无交互@2x.png


BIN
HappyJob/HappyJob/Assets.xcassets/ClockIn/clockIn_done.imageset/打卡完成_无交互@3x.png


BIN
HappyJob/HappyJob/Assets.xcassets/ClockIn/clockOut_can.imageset/下班打卡_可互动.png


BIN
HappyJob/HappyJob/Assets.xcassets/ClockIn/clockOut_can.imageset/下班打卡_可互动@2x.png


BIN
HappyJob/HappyJob/Assets.xcassets/ClockIn/clockOut_can.imageset/下班打卡_可互动@3x.png


+ 3 - 3
HappyJob/HappyJob/Assets.xcassets/ClockIn/clockin_audit.imageset/Contents.json

@@ -1,17 +1,17 @@
 {
   "images" : [
     {
-      "filename" : "clockin_audit.png",
+      "filename" : "审核中_无互动.png",
       "idiom" : "universal",
       "scale" : "1x"
     },
     {
-      "filename" : "clockin_audit@2x.png",
+      "filename" : "审核中_无互动@2x.png",
       "idiom" : "universal",
       "scale" : "2x"
     },
     {
-      "filename" : "clockin_audit@3x.png",
+      "filename" : "审核中_无互动@3x.png",
       "idiom" : "universal",
       "scale" : "3x"
     }

BIN
HappyJob/HappyJob/Assets.xcassets/ClockIn/clockin_audit.imageset/clockin_audit@3x.png


HappyJob/HappyJob/Assets.xcassets/ClockIn/clockin_audit.imageset/clockin_audit.png → HappyJob/HappyJob/Assets.xcassets/ClockIn/clockin_audit.imageset/审核中_无互动.png


HappyJob/HappyJob/Assets.xcassets/ClockIn/clockin_audit.imageset/clockin_audit@2x.png → HappyJob/HappyJob/Assets.xcassets/ClockIn/clockin_audit.imageset/审核中_无互动@2x.png


BIN
HappyJob/HappyJob/Assets.xcassets/ClockIn/clockin_audit.imageset/审核中_无互动@3x.png


BIN
HappyJob/HappyJob/Assets.xcassets/ClockIn/clockin_beyond.imageset/上班打卡_不可互动.png


BIN
HappyJob/HappyJob/Assets.xcassets/ClockIn/clockin_beyond.imageset/上班打卡_不可互动@2x.png


BIN
HappyJob/HappyJob/Assets.xcassets/ClockIn/clockin_beyond.imageset/上班打卡_不可互动@3x.png


+ 23 - 0
HappyJob/HappyJob/Assets.xcassets/ClockIn/clockin_customerService.imageset/Contents.json

@@ -0,0 +1,23 @@
+{
+  "images" : [
+    {
+      "filename" : "客服.png",
+      "idiom" : "universal",
+      "scale" : "1x"
+    },
+    {
+      "filename" : "客服@2x.png",
+      "idiom" : "universal",
+      "scale" : "2x"
+    },
+    {
+      "filename" : "客服@3x.png",
+      "idiom" : "universal",
+      "scale" : "3x"
+    }
+  ],
+  "info" : {
+    "author" : "xcode",
+    "version" : 1
+  }
+}

BIN
HappyJob/HappyJob/Assets.xcassets/ClockIn/clockin_customerService.imageset/客服.png


BIN
HappyJob/HappyJob/Assets.xcassets/ClockIn/clockin_customerService.imageset/客服@2x.png


BIN
HappyJob/HappyJob/Assets.xcassets/ClockIn/clockin_customerService.imageset/客服@3x.png


+ 1 - 0
HappyJob/HappyJob/BClass/BHome_首页/ViewController/BHomeResumeDetailViewController.m

@@ -84,6 +84,7 @@ UIGestureRecognizerDelegate
     NSMutableString* str=[[NSMutableString alloc] initWithFormat:@"tel:%@",model.phone];
     NSURL *url = [NSURL URLWithString:str];
     [[UIApplication sharedApplication] openURL:url];
+//    [[UIApplication sharedApplication] openURL:url options:@{} completionHandler:nil];
 }
 /* 复制微信号 */
 - (void)WeChatBUttonClick:(UIButton *)btn {

+ 1 - 4
HappyJob/HappyJob/CClass/ClockIn_打卡/View/HJClockInAuthView.h

@@ -18,15 +18,12 @@ typedef NS_ENUM(NSUInteger, HJClockInAuthStateType) {
 
 @interface HJClockInAuthView : UIView
 
-@property (nonatomic, strong) UIImageView *bgImageV;
-
-@property (nonatomic, strong) UIView      *middleView;
 @property (nonatomic, strong) UIView      *authenticationView;
 @property (nonatomic, strong) UIImageView *icon;
 @property (nonatomic, strong) UILabel     *titleLabel;
 @property (nonatomic, strong) UILabel     *promptLabel;
 @property (nonatomic, strong) UIButton    *authenticationBtn;
-@property (nonatomic, strong) UIButton    *ruleBtn;
+
 @property (nonatomic, assign) HJClockInAuthStateType type;
 
 @end

+ 10 - 52
HappyJob/HappyJob/CClass/ClockIn_打卡/View/HJClockInAuthView.m

@@ -21,36 +21,24 @@
 }
 - (void)initSubViews {
     
-    [self addSubview:self.bgImageV];
-    [self addSubview:self.middleView];
-    [self.middleView addSubview:self.authenticationView];
+  
+    [self addSubview:self.authenticationView];
     [self.authenticationView addSubview:self.icon];
     [self.authenticationView addSubview:self.titleLabel];
     [self.authenticationView addSubview:self.promptLabel];
     [self.authenticationView addSubview:self.authenticationBtn];
-    [self.middleView addSubview:self.ruleBtn];
     
-    [self.bgImageV mas_makeConstraints:^(MASConstraintMaker *make) {
-       
-        make.left.equalTo(self.mas_left).offset(0);
-        make.top.equalTo(self.mas_top).offset(0);
-        make.right.equalTo(self.mas_right).offset(0);
-    }];
-    [self.middleView mas_makeConstraints:^(MASConstraintMaker *make) {
-       
-        make.centerY.equalTo(self);
-        make.left.equalTo(self.mas_left).offset(15);
-        make.right.equalTo(self.mas_right).offset(-15);
-    }];
     
     [self.authenticationView mas_makeConstraints:^(MASConstraintMaker *make) {
        
-        make.left.top.right.equalTo(self.middleView).offset(0);
+        make.top.equalTo(self).offset(15);
+        make.left.equalTo(self).offset(15);
+        make.right.equalTo(self).offset(-15);
     }];
     [self.icon mas_makeConstraints:^(MASConstraintMaker *make) {
        
         make.centerX.equalTo(self.authenticationView);
-        make.top.equalTo(self.authenticationView.mas_top).offset(58);
+        make.top.equalTo(self.authenticationView.mas_top).offset(104);
     }];
     [self.titleLabel mas_makeConstraints:^(MASConstraintMaker *make) {
         make.centerX.equalTo(self.authenticationView);
@@ -64,17 +52,11 @@
        
         make.left.equalTo(self.authenticationView.mas_left).offset(30);
         make.right.equalTo(self.authenticationView.mas_right).offset(-30);
-        make.top.equalTo(self.promptLabel.mas_bottom).offset(30);
+        make.top.equalTo(self.promptLabel.mas_bottom).offset(50);
         make.bottom.equalTo(self.authenticationView.mas_bottom).offset(-55);
         make.height.mas_equalTo(44);
     }];
-    
-    [self.ruleBtn mas_makeConstraints:^(MASConstraintMaker *make) {
-        
-        make.top.equalTo(self.authenticationView.mas_bottom).offset(10);
-        make.left.bottom.right.equalTo(self.middleView).offset(0);
-        make.height.mas_equalTo(HJHorizontalScale(125));
-    }];
+   
 }
 
 #pragma mark - setter
@@ -97,23 +79,6 @@
 
 #pragma mark - lazy
 
-- (UIImageView *)bgImageV {
-    
-    if (_bgImageV == nil)
-    {
-        _bgImageV = [[UIImageView alloc] init];
-        _bgImageV.image = [UIImage imageNamed:@"clockin_bgIcon"];
-    }
-    return _bgImageV;
-}
-- (UIView *)middleView {
-    
-    if (_middleView == nil)
-    {
-        _middleView = [[UIView alloc] init];
-    }
-    return _middleView;
-}
 - (UIView *)authenticationView {
     
     if (_authenticationView == nil)
@@ -156,6 +121,7 @@
         _promptLabel.textColor = COLOR_666666;
         _promptLabel.text = @"为保证账户安全,请完成实名认证后再进行打卡签到。";
         _promptLabel.numberOfLines = 0;
+        _promptLabel.textAlignment = NSTextAlignmentCenter;
     }
     return _promptLabel;
 }
@@ -172,13 +138,5 @@
     }
     return _authenticationBtn;
 }
-- (UIButton *)ruleBtn {
-    
-    if (_ruleBtn == nil)
-    {
-        _ruleBtn = [UIButton buttonWithType:UIButtonTypeCustom];
-        [_ruleBtn setBackgroundImage:[UIImage imageNamed:@"clockin_video"] forState:UIControlStateNormal];
-    }
-    return _ruleBtn;
-}
+
 @end

+ 2 - 0
HappyJob/HappyJob/CClass/ClockIn_打卡/View/HJClockInCustomerServiceView.m

@@ -85,6 +85,8 @@
     [self removeFromSuperview];
     NSMutableString *str=[[NSMutableString alloc] initWithFormat:@"telprompt://%@",@"400-692-0099"];
     [[UIApplication sharedApplication] openURL:[NSURL URLWithString:str]];
+//    [[UIApplication sharedApplication] openURL:[NSURL URLWithString:str] options:@{} completionHandler:nil];
+
 }
 
 #pragma mark - lazy

+ 6 - 19
HappyJob/HappyJob/CClass/ClockIn_打卡/View/HJClockInInfoView.h

@@ -12,25 +12,12 @@ NS_ASSUME_NONNULL_BEGIN
 
 @interface HJClockInInfoView : UIView
 
-@property (nonatomic, strong) UIImageView  *naviBgImageV;
-/*本周工时*/
-@property (nonatomic, strong) UILabel *timeTitleLabel;
-@property (nonatomic, strong) UILabel *timeLabel;
-
-/* 本周预支 */
-@property (nonatomic, strong) UILabel *advanceTitleLabel;
-@property (nonatomic, strong) UILabel *advanceLabel;
-
-
-@property (nonatomic, strong) UILabel *promptLabel;
-
-/* 三个按钮*/
-@property (nonatomic, strong) UIView   *buttonView;
-@property (nonatomic, strong) UIButton *statisticsButton;
-@property (nonatomic, strong) UIButton *ruleButton;
-@property (nonatomic, strong) UIButton *serviceButton;
-
-- (NSMutableAttributedString *)attributedText:(NSString *)text DINCondensedBlod:(NSString *)blodText;
+@property (nonatomic, strong) UIView      *bgView;
+@property (nonatomic, strong) UIImageView *headerIcon;
+@property (nonatomic, strong) UIImageView *icon;
+@property (nonatomic, strong) UILabel     *nameLabel;
+@property (nonatomic, strong) UILabel     *tagLabel;
+@property (nonatomic, strong) UIButton    *lookBtn;
 
 @end
 

+ 70 - 176
HappyJob/HappyJob/CClass/ClockIn_打卡/View/HJClockInInfoView.m

@@ -21,220 +21,114 @@
 
 - (void)initSubViews {
     
-    [self addSubview:self.naviBgImageV];
-    [self.naviBgImageV addSubview:self.timeTitleLabel];
-    [self.naviBgImageV addSubview:self.timeLabel];
-
-    [self.naviBgImageV addSubview:self.advanceTitleLabel];
-    [self.naviBgImageV addSubview:self.advanceLabel];
-
-    [self.naviBgImageV addSubview:self.promptLabel];
-    
-    [self addSubview:self.buttonView];
-    [self.buttonView addSubview:self.statisticsButton];
-    [self.buttonView addSubview:self.ruleButton];
-    [self.buttonView addSubview:self.serviceButton];
-    
-    [self.naviBgImageV mas_makeConstraints:^(MASConstraintMaker *make) {
-       
-        make.left.top.right.offset(0);
-        make.bottom.equalTo(self.mas_bottom).offset(-20);
+    [self addSubview:self.bgView];
+    [self.bgView addSubview:self.headerIcon];
+    [self.bgView addSubview:self.icon];
+    [self.bgView addSubview:self.nameLabel];
+    [self.bgView addSubview:self.tagLabel];
+    [self.bgView addSubview:self.lookBtn];
+    
+    [self.bgView mas_makeConstraints:^(MASConstraintMaker *make) {
+        
+        make.edges.mas_equalTo(UIEdgeInsetsMake(0, 0, 0, 0));
+        make.height.mas_equalTo(88);
     }];
     
-    //本周工时
-    [self.timeTitleLabel mas_makeConstraints:^(MASConstraintMaker *make) {
-       
-        make.left.equalTo(self.naviBgImageV.mas_left).offset(HJHorizontalScale(70));
-        make.top.equalTo(self.naviBgImageV.mas_top).offset(18 + STATUS_BAR_H);
-    }];
-    [self.timeLabel mas_makeConstraints:^(MASConstraintMaker *make) {
-        make.left.equalTo(self.timeTitleLabel);
-        make.top.equalTo(self.timeTitleLabel.mas_bottom).offset(8);
-    }];
+    [self.headerIcon mas_makeConstraints:^(MASConstraintMaker *make) {
 
-    
-    //本周预支
-    [self.advanceTitleLabel mas_makeConstraints:^(MASConstraintMaker *make) {
-       
-        make.left.equalTo(self.naviBgImageV.mas_left).offset(HJHorizontalScale(224));
-        make.centerY.equalTo(self.timeTitleLabel);
-    }];
-    [self.advanceLabel mas_makeConstraints:^(MASConstraintMaker *make) {
-        make.left.equalTo(self.advanceTitleLabel);
-        make.centerY.equalTo(self.timeLabel);
-    }];
-    
-    
-    //提示
-    [self.promptLabel mas_makeConstraints:^(MASConstraintMaker *make) {
-       
-        make.centerX.equalTo(self.naviBgImageV);
-        make.top.equalTo(self.timeLabel.mas_bottom).offset(10);
+        make.left.equalTo(self.bgView.mas_left).offset(15);
+        make.size.mas_offset(CGSizeMake(50, 50));
+        make.centerY.equalTo(self.bgView);
     }];
-    
-    //三个按钮
-    [self.buttonView mas_makeConstraints:^(MASConstraintMaker *make) {
+//
+    [self.icon mas_makeConstraints:^(MASConstraintMaker *make) {
 
-        make.left.equalTo(self.naviBgImageV.mas_left).offset(15);
-        make.right.equalTo(self.naviBgImageV.mas_right).offset(-15);
-        make.top.equalTo(self.promptLabel.mas_bottom).offset(30);
-        make.bottom.equalTo(self.mas_bottom).offset(0);
+        make.right.equalTo(self.headerIcon.mas_right).offset(0);
+        make.bottom.equalTo(self.headerIcon.mas_bottom).offset(0);
     }];
+//
+    [self.nameLabel mas_makeConstraints:^(MASConstraintMaker *make) {
 
-    // 三等分布局
-     NSArray *buttonViews = @[self.statisticsButton, self.ruleButton, self.serviceButton];
+        make.left.equalTo(self.headerIcon.mas_right).offset(20);
+        make.top.equalTo(self.headerIcon.mas_top).offset(5);
+    }];
 
-     [buttonViews mas_distributeViewsAlongAxis:MASAxisTypeHorizontal withFixedSpacing:82 leadSpacing:55 tailSpacing:55];
-     [buttonViews mas_makeConstraints:^(MASConstraintMaker *make) {
-         make.top.equalTo(self.buttonView.mas_top).offset(17);
-         make.bottom.equalTo(self.buttonView.mas_bottom).offset(-14);
-     }];
-    
-}
+    [self.tagLabel mas_makeConstraints:^(MASConstraintMaker *make) {
+        make.left.equalTo(self.headerIcon.mas_right).offset(20);
+        make.bottom.equalTo(self.headerIcon.mas_bottom).offset(-5);
+    }];
+    [self.lookBtn mas_makeConstraints:^(MASConstraintMaker *make) {
 
-- (NSMutableAttributedString *)attributedText:(NSString *)text DINCondensedBlod:(NSString *)blodText {
-    
-    NSMutableAttributedString  *setString = [[NSMutableAttributedString alloc] initWithString:text];
-    NSRange timeRange = [text rangeOfString:blodText];
-    if (timeRange.location != NSNotFound)
-    {
-        [setString addAttributes:@{NSFontAttributeName:[UIFont fontWithName:@"DINCondensed-Bold" size:34]} range:NSMakeRange(timeRange.location, timeRange.length)];
-    }
-    return setString;
-}
-- (UIButton *)createButtonWithTitle:(NSString *)title imageNamed:(NSString *)imageNamed {
-    
-    UIButton *button = [[UIButton alloc] init];
-    
-    UIImageView *iconImageV = [[UIImageView alloc]init];
-    iconImageV.contentMode = UIViewContentModeScaleAspectFit;
-    iconImageV.image = [UIImage imageNamed:imageNamed];
-    [button addSubview:iconImageV];
-    
-    [iconImageV mas_makeConstraints:^(MASConstraintMaker *make) {
-        make.centerX.equalTo(button);
-        make.top.equalTo(button.mas_top).offset(0);
-        make.size.mas_offset(CGSizeMake(24, 26));
+        make.centerY.equalTo(self.bgView);
+        make.right.equalTo(self.bgView.mas_right).offset(-15);
     }];
     
-    UILabel *titleLabel = [[UILabel alloc]init];
-    titleLabel.textColor = COLOR_666666;
-    titleLabel.font = [UIFont systemFontOfSize:12];
-    titleLabel.text = title;
-    [button addSubview:titleLabel];
-    [titleLabel mas_makeConstraints:^(MASConstraintMaker *make) {
-       
-        make.top.equalTo(iconImageV.mas_bottom).offset(8);
-        make.centerX.equalTo(button);
-        make.bottom.equalTo(button.mas_bottom).offset(0);
-    }];
-    return button;
+    self.headerIcon.layer.cornerRadius = 25;
+    self.headerIcon.layer.masksToBounds = YES;
 }
 
-
 #pragma mark - lazy
 
-- (UIImageView *)naviBgImageV {
+- (UIView *)bgView {
     
-    if (_naviBgImageV == nil)
+    if (_bgView == nil)
     {
-        _naviBgImageV = [[UIImageView alloc] init];
-        _naviBgImageV.image = [UIImage imageNamed:@"clockin_bgIcon"];
-        _naviBgImageV.contentMode = UIViewContentModeScaleAspectFill;
-        _naviBgImageV.clipsToBounds = YES;
-        _naviBgImageV.layer.masksToBounds = YES;
-        _naviBgImageV.userInteractionEnabled = YES;
+        _bgView = [[UIView alloc] init];
+        _bgView.backgroundColor = [UIColor whiteColor];
     }
-    return _naviBgImageV;
+    return _bgView;
 }
-- (UILabel *)timeTitleLabel {
+- (UIImageView *)headerIcon {
     
-    if (_timeTitleLabel == nil)
+    if (_headerIcon == nil)
     {
-        _timeTitleLabel = [[UILabel alloc] init];
-        _timeTitleLabel.text = @"本周工时";
-        _timeTitleLabel.font = [UIFont systemFontOfSize:14];
-        _timeTitleLabel.textColor = [UIColor whiteColor];
+        _headerIcon = [[UIImageView alloc] init];
+        _headerIcon.contentMode = UIViewContentModeScaleAspectFill;
+        _headerIcon.image = [UIImage imageNamed:@"me_portrait_default"];
+        _headerIcon.clipsToBounds = YES;
     }
-    return _timeTitleLabel;
+    return _headerIcon;
 }
-- (UILabel *)timeLabel {
+- (UIImageView *)icon {
     
-    if (_timeLabel == nil)
+    if (_icon == nil)
     {
-        _timeLabel = [[UILabel alloc] init];
-        _timeLabel.textColor = [UIColor whiteColor];
-        _timeLabel.font = [UIFont systemFontOfSize:14];
+        _icon = [[UIImageView alloc] init];
+        _icon.image = [UIImage imageNamed:@"clockIn_auth_icon"];
     }
-    return _timeLabel;
+    return _icon;
 }
-
-- (UILabel *)advanceTitleLabel {
+- (UILabel *)nameLabel {
     
-    if (_advanceTitleLabel == nil)
+    if (_nameLabel == nil)
     {
-        _advanceTitleLabel = [[UILabel alloc] init];
-        _advanceTitleLabel.text = @"本周预支";
-        _advanceTitleLabel.font = [UIFont systemFontOfSize:14];
-        _advanceTitleLabel.textColor = [UIColor whiteColor];
+        _nameLabel = [[UILabel alloc] init];
+        _nameLabel.textColor = COLOR_333333;
+        _nameLabel.font = [UIFont boldSystemFontOfSize:18];
     }
-    return _advanceTitleLabel;
+    return _nameLabel;
 }
-- (UILabel *)advanceLabel {
+- (UILabel *)tagLabel {
     
-    if (_advanceLabel == nil)
+    if (_tagLabel == nil)
     {
-        _advanceLabel = [[UILabel alloc] init];
-        _advanceLabel.textColor = [UIColor whiteColor];
-        _advanceLabel.font = [UIFont systemFontOfSize:14];
+        _tagLabel = [[UILabel alloc] init];
+        _tagLabel.textColor = COLOR_0177FF;
+        _tagLabel.font = [UIFont boldSystemFontOfSize:13];
     }
-    return _advanceLabel;
+    return _tagLabel;
 }
-
-- (UILabel *)promptLabel {
+- (UIButton *)lookBtn {
     
-    if (_promptLabel == nil)
+    if (_lookBtn == nil)
     {
-        _promptLabel = [[UILabel alloc] init];
-        _promptLabel.text = @"实际预支发放结合企业考勤,以上金额仅供参考。";
-        _promptLabel.textColor = [UIColor colorFromHexString:@"B3CEFF"];
-        _promptLabel.font = [UIFont boldSystemFontOfSize:11];
+        _lookBtn = [UIButton buttonWithType:UIButtonTypeCustom];
+        [_lookBtn setTitle:@"查看考勤统计" forState:UIControlStateNormal];
+        _lookBtn.titleLabel.font = [UIFont systemFontOfSize:13];
+        [_lookBtn setTitleColor:COLOR_000000 forState:UIControlStateNormal];
+        [_lookBtn setImage:[UIImage imageNamed:@"right_arrows"] forState:UIControlStateNormal];
     }
-    return _promptLabel;
+    return _lookBtn;
 }
 
-- (UIView *)buttonView {
-    
-    if (_buttonView == nil)
-    {
-        _buttonView = [[UIView alloc] init];
-        _buttonView.backgroundColor = [UIColor whiteColor];
-        _buttonView.layer.cornerRadius = 8;
-    }
-    return _buttonView;
-}
-- (UIButton *)statisticsButton {
-    
-    if (_statisticsButton == nil)
-    {
-        _statisticsButton = [self createButtonWithTitle:@"统计" imageNamed:@"clockin_statistics"];
-    }
-    return _statisticsButton;
-}
-- (UIButton *)ruleButton {
-    
-    if (_ruleButton == nil)
-    {
-        _ruleButton = [self createButtonWithTitle:@"规则" imageNamed:@"clockin_rule"];
-    }
-    return _ruleButton;
-}
-- (UIButton *)serviceButton {
-    
-    if (_serviceButton == nil)
-    {
-        _serviceButton = [self createButtonWithTitle:@"客服" imageNamed:@"clockin_kefu"];
-    }
-    return _serviceButton;
-}
 @end

+ 26 - 25
HappyJob/HappyJob/CClass/ClockIn_打卡/View/HJClockInStateView.m

@@ -90,11 +90,11 @@
     //打卡
     [self.clockInButton mas_makeConstraints:^(MASConstraintMaker *make) {
        
-        make.top.equalTo(self.ruleLabel.mas_bottom).offset(HJXVerticalScale(50));
-        make.centerX.equalTo(self.bgView);
-        make.size.mas_equalTo(CGSizeMake(HJXVerticalScale(130), HJXVerticalScale(130)));
+        make.center.equalTo(self.bgView);
+        make.size.mas_equalTo(CGSizeMake(140, 140));
     }];
     
+    
 }
 
 - (void)setStateType:(HJClockInStateType)stateType {
@@ -141,7 +141,7 @@
             case HJClockInStateTypeComplete:
             {//打卡完成
                 [self.clockInButton setImage:[UIImage imageNamed:@"clockIn_done"] forState:UIControlStateNormal];
-                self.promptView.icon.image = [UIImage imageNamed:@"clockIn_state_complete"];
+                self.promptView.icon.image = [UIImage imageNamed:@"clockIn_state_can"];
                 self.promptView.textLabel.text = @"今日打卡已完成";
                 [self complete];
             }
@@ -206,9 +206,9 @@
     
     [self.promptView mas_makeConstraints:^(MASConstraintMaker *make) {
 
-        make.top.equalTo(self.clockInButton.mas_bottom).offset(HJXVerticalScale(35));
+        make.top.equalTo(self.clockInButton.mas_bottom).offset(25);
         make.centerX.equalTo(self.bgView);
-        make.bottom.equalTo(self.bgView.mas_bottom).offset(-HJXVerticalScale(50));
+//        make.bottom.equalTo(self.bgView.mas_bottom).offset(-HJXVerticalScale(50));
     }];
     [self.promptView.textLabel mas_updateConstraints:^(MASConstraintMaker *make) {
 
@@ -233,9 +233,9 @@
     
     [self.promptView mas_makeConstraints:^(MASConstraintMaker *make) {
 
-        make.top.equalTo(self.clockInButton.mas_bottom).offset(HJXVerticalScale(35));
+        make.top.equalTo(self.clockInButton.mas_bottom).offset(25);
         make.centerX.equalTo(self.bgView);
-        make.bottom.equalTo(self.bgView.mas_bottom).offset(-HJXVerticalScale(50));
+//        make.bottom.equalTo(self.bgView.mas_bottom).offset(-HJXVerticalScale(50));
     }];
     [self.promptView.textLabel mas_updateConstraints:^(MASConstraintMaker *make) {
 
@@ -267,26 +267,27 @@
     
     [self.promptView mas_remakeConstraints:^(MASConstraintMaker *make) {
 
-        make.top.equalTo(self.clockInButton.mas_bottom).offset(HJXVerticalScale(35));
+        make.top.equalTo(self.clockInButton.mas_bottom).offset(25);
         make.centerX.equalTo(self.bgView);
+//        make.bottom.equalTo(self.bgView.mas_bottom).offset(-HJXVerticalScale(50));
     }];
     [self.promptView.textLabel mas_updateConstraints:^(MASConstraintMaker *make) {
 
         make.left.equalTo(self.promptView.icon.mas_right).offset(6);
     }];
-    [self.lineView mas_remakeConstraints:^(MASConstraintMaker *make) {
-
-        make.left.right.equalTo(self.bgView).offset(0);
-        make.top.equalTo(self.promptView.mas_bottom).offset(HJXVerticalScale(50));
-        make.height.mas_equalTo(1);
-    }];
-    [self.wageView mas_remakeConstraints:^(MASConstraintMaker *make) {
-
-        make.left.equalTo(self.bgView.mas_left).offset(15);
-        make.right.equalTo(self.bgView.mas_right).offset(-15);
-        make.top.equalTo(self.lineView.mas_bottom).offset(HJXVerticalScale(30));
-        make.bottom.equalTo(self.bgView.mas_bottom).offset(-HJXVerticalScale(25));
-    }];
+//    [self.lineView mas_remakeConstraints:^(MASConstraintMaker *make) {
+//
+//        make.left.right.equalTo(self.bgView).offset(0);
+//        make.top.equalTo(self.promptView.mas_bottom).offset(HJXVerticalScale(50));
+//        make.height.mas_equalTo(1);
+//    }];
+//    [self.wageView mas_remakeConstraints:^(MASConstraintMaker *make) {
+//
+//        make.left.equalTo(self.bgView.mas_left).offset(15);
+//        make.right.equalTo(self.bgView.mas_right).offset(-15);
+//        make.top.equalTo(self.lineView.mas_bottom).offset(HJXVerticalScale(30));
+//        make.bottom.equalTo(self.bgView.mas_bottom).offset(-HJXVerticalScale(25));
+//    }];
 }
 
 /* 超出范围  */
@@ -298,7 +299,7 @@
     
     [self.promptView mas_remakeConstraints:^(MASConstraintMaker *make) {
         
-        make.top.equalTo(self.clockInButton.mas_bottom).offset(HJXVerticalScale(35));
+        make.top.equalTo(self.clockInButton.mas_bottom).offset(25);
         make.centerX.equalTo(self.bgView);
     }];
     
@@ -309,9 +310,9 @@
     
     [self.retryButton mas_remakeConstraints:^(MASConstraintMaker *make) {
     
-        make.top.equalTo(self.promptView.mas_bottom).offset(HJXVerticalScale(20));
+        make.top.equalTo(self.promptView.mas_bottom).offset(40);
         make.centerX.equalTo(self.bgView);
-        make.bottom.equalTo(self.bgView.mas_bottom).offset(-HJVerticalScale(50));
+//        make.bottom.equalTo(self.bgView.mas_bottom).offset(-HJVerticalScale(50));
     }];
 }
 

+ 22 - 0
HappyJob/HappyJob/CClass/ClockIn_打卡/View/HJClockView.h

@@ -0,0 +1,22 @@
+//
+//  HJClockView.h
+//  HappyJob
+//
+//  Created by 张晓光 on 2021/6/4.
+//  Copyright © 2021 Bob. All rights reserved.
+//
+
+#import <UIKit/UIKit.h>
+#import "HJClockInInfoView.h"
+#import "HJClockInStateView.h"
+
+NS_ASSUME_NONNULL_BEGIN
+
+@interface HJClockView : UIView
+
+@property (nonatomic, strong) HJClockInInfoView    *infoView;
+@property (nonatomic, strong) HJClockInStateView   *stateView;
+
+@end
+
+NS_ASSUME_NONNULL_END

+ 69 - 0
HappyJob/HappyJob/CClass/ClockIn_打卡/View/HJClockView.m

@@ -0,0 +1,69 @@
+//
+//  HJClockView.m
+//  HappyJob
+//
+//  Created by 张晓光 on 2021/6/4.
+//  Copyright © 2021 Bob. All rights reserved.
+//
+
+#import "HJClockView.h"
+
+@implementation HJClockView
+
+- (instancetype)initWithFrame:(CGRect)frame {
+    
+    if (self = [super initWithFrame:frame])
+    {
+        self.backgroundColor = COLOR_F5F5F5;
+        [self makeConstraints];
+    }
+    return self;
+}
+
+#pragma mark -- 布局
+
+- (void)makeConstraints {
+    
+    [self addSubview:self.infoView];
+    [self addSubview:self.stateView];
+    [self.infoView mas_makeConstraints:^(MASConstraintMaker *make) {
+       
+        make.top.equalTo(self.mas_top).offset(10);
+        make.left.equalTo(self.mas_left).offset(15);
+        make.right.equalTo(self.mas_right).offset(-15);
+    }];
+    [self.stateView mas_makeConstraints:^(MASConstraintMaker *make) {
+
+        make.top.equalTo(self.infoView.mas_bottom).offset(0);
+        make.left.right.equalTo(self);
+        make.bottom.equalTo(self).offset(0);
+    }];
+}
+
+#pragma mark -- lazy
+- (HJClockInInfoView *)infoView {
+    
+    if (_infoView == nil)
+    {
+        _infoView = [[HJClockInInfoView alloc] init];
+        _infoView.layer.cornerRadius = 8;
+        _infoView.layer.masksToBounds = YES;
+        
+    }
+    return _infoView;
+}
+- (HJClockInStateView *)stateView {
+    
+    if (_stateView == nil)
+    {
+        _stateView = [[HJClockInStateView alloc] init];
+        
+//        [_infoView.lookBtn addTarget:self action:@selector(statisticsButtonClick:) forControlEvents:UIControlEventTouchUpInside];
+//        [_stateView.clockInButton addTarget:self action:@selector(clockInClick:) forControlEvents:UIControlEventTouchUpInside];
+//        [_stateView.retryButton addTarget:self action:@selector(retryButtonAction:) forControlEvents:UIControlEventTouchUpInside];
+    }
+    return _stateView;
+}
+
+
+@end

+ 5 - 9
HappyJob/HappyJob/CClass/ClockIn_打卡/ViewController/HJClockInSuccessViewController.m

@@ -64,9 +64,9 @@
             case HJClockInSuccessTypeGoWork:
             {
                 self.successView.titleLabel.text = @"上班打卡成功";
-                self.successView.clockInTimeLabel.text = [HJAppService time_timestampToString:model.startPunchClock withType:kTimeStampDateOnlyHMS];
-                self.successView.promptLabel.text = @"新的一天开始啦! \n今天的你也要光芒万丈!记得下班也要打卡哦!";
-                self.successView.promptLabel.attributedText = [self.successView attributedText:self.successView.promptLabel.text DINCondensedBlod:@"" DINCondensedBlod:@"" sizeFont:21];
+                self.successView.clockInTimeLabel.text = [NSString stringWithFormat:@"打卡时间 %@",[HJAppService time_timestampToString:model.startPunchClock withType:kTimeStampDateOnlyHMS]];
+//                self.successView.promptLabel.text = @"新的一天开始啦! \n今天的你也要光芒万丈!记得下班也要打卡哦!";
+//                self.successView.promptLabel.attributedText = [self.successView attributedText:self.successView.promptLabel.text DINCondensedBlod:@"" DINCondensedBlod:@"" sizeFont:21];
             }
             break;
             
@@ -74,13 +74,9 @@
             {
                 self.successView.titleLabel.text = @"下班打卡成功";
                 
-                self.successView.advanceLabel.text = [NSString stringWithFormat:@"累计预支%@元",model.sumMoney];
-                self.successView.advanceLabel.attributedText = [self.successView attributedText:self.successView.advanceLabel.text DINCondensedBlod:model.sumMoney DINCondensedBlod:@"" sizeFont:29];
+                self.successView.clockInTimeLabel.text = [NSString stringWithFormat:@"打卡时间 %@",[HJAppService time_timestampToString:model.endPunchClock withType:kTimeStampDateOnlyHMS]];
                 
-                self.successView.clockInTimeLabel.text = [HJAppService time_timestampToString:model.endPunchClock withType:kTimeStampDateOnlyHMS];
-                
-                self.successView.promptLabel.text = [NSString stringWithFormat:@"今日打卡已完成,打卡时长%@小时, \n可预支工资%@元。明天也要努力哦!",model.duration,model.todayMoney];
-                self.successView.promptLabel.attributedText = [self.successView attributedText:self.successView.promptLabel.text DINCondensedBlod:model.duration ? model.duration:@"0" DINCondensedBlod:model.todayMoney ? model.todayMoney:@"0" sizeFont:21];
+//                self.successView.promptLabel.text = [NSString stringWithFormat:@"今日打卡已完成,打卡时长%@小时。\n明天也要努力哦!",model.duration];
             }
             break;
         

+ 1 - 0
HappyJob/HappyJob/CClass/ClockIn_打卡/ViewController/HJClockInViewController.h

@@ -12,6 +12,7 @@ NS_ASSUME_NONNULL_BEGIN
 
 @interface HJClockInViewController : UIViewController
 
+
 @end
 
 NS_ASSUME_NONNULL_END

+ 201 - 197
HappyJob/HappyJob/CClass/ClockIn_打卡/ViewController/HJClockInViewController.m

@@ -7,17 +7,16 @@
 //
 
 #import "HJClockInViewController.h"
+#import "HJClockView.h"
 #import "HJClockInAuthView.h"
-#import "HJClockInInfoView.h"
-#import "HJClockInStateView.h"
 #import "HJClockInRuleView.h"
 #import "HJClockInPlayerView.h"
 #import <AMapLocationKit/AMapLocationKit.h>//定位
 #import "HJClockInSuccessViewController.h"//打卡成功
 #import "HJClockInStatisticViewController.h"//统计
-#import "HJClockInRuleViewController.h"//规则
 #import "HJAuthViewController.h"//实名认证
 #import "HJClockInCustomerServiceView.h"//客服
+#import "HJGetUserInfoAPIManager.h"
 #import "HJClockInInfoAPI.h"//打卡信息
 #import "HJClockInAPI.h"//打卡
 #import "HJClockInInfoModel.h"
@@ -25,25 +24,24 @@
 
 @interface HJClockInViewController ()
 <
-FBScrollLayoutViewDelegate,
 FBAPIManagerInterceptor,
-FBAPIManagerDelegate,
-UIScrollViewDelegate
+FBAPIManagerDelegate
 >
-
-@property (nonatomic, strong) FBScrollLayoutView   *scrollLayoutView;
+@property (nonatomic, strong) UIScrollView         *scrollView;
+@property (nonatomic, strong) HJClockView          *clockView;
 @property (nonatomic, strong) HJClockInAuthView    *authView;
-@property (nonatomic, strong) HJClockInInfoView    *infoView;
-@property (nonatomic, strong) HJClockInStateView   *stateView;
-@property (nonatomic, strong) HJClockInRuleView    *ruleView;
+@property (nonatomic, strong) UIButton             *customerServiceBtn;//客服按钮,
 @property (nonatomic, strong) HJRefreshHeaderView  *refreshHeader;//头部刷新视图
-@property (nonatomic, copy)   NSString             *latitude;
-@property (nonatomic, copy)   NSString             *longitude;
+@property (nonatomic, copy)   NSString             *latitude;//经度
+@property (nonatomic, copy)   NSString             *longitude;//纬度
 @property (nonatomic, strong) AMapLocationManager       *locationManager;//高德定位
+@property (nonatomic, strong) HJGetUserInfoAPIManager   *userInfoAPI;//用户信息
 @property (nonatomic, strong) HJClockInInfoAPI          *clockInInfoAPI;//打卡信息
 @property (nonatomic, strong) HJClockInAPI              *clockInAPI;//打卡
 @property (nonatomic, strong) HJClockInInfoModel        *infoModel;
 @property (nonatomic, strong) HJClockInDataBox          *dataBox;
+@property (nonatomic, strong) NSTimer                   *timer;
+
 
 @end
 
@@ -51,30 +49,51 @@ UIScrollViewDelegate
 
 #pragma mark - life cycle
 
+- (void)dealloc {
+    
+    [_timer invalidate];
+    _timer = nil;
+//    NSLog(@"dealloc----dealloc----dealloc----dealloc");
+}
 - (void)viewDidDisappear:(BOOL)animated {
     
     [super viewDidDisappear:animated];
-    [[NSNotificationCenter defaultCenter] removeObserver:self name:UIApplicationDidBecomeActiveNotification object:nil];
+    [_timer invalidate];
+    _timer = nil;
+//    NSLog(@"++++++viewDidDisappea销毁++++++++");
 }
 
 - (void)viewWillAppear:(BOOL)animated {
     
     [super viewWillAppear:animated];
-    [self.navigationController setNavigationBarHidden:YES animated:animated];
-    //监听是否重新进入程序程序.
-    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(appDidEnterPlayground:) name:UIApplicationDidBecomeActiveNotification object:nil];
+    [self.navigationController setNavigationBarHidden:NO animated:animated];
+    [self locationShowLoadingView:YES showLoading:NO];
+//    NSLog(@"-------viewWillAppear---------");
 }
 
 - (void)viewDidLoad {
     
     [super viewDidLoad];
     
+    [self hj_setupNavBar];
     self.view.backgroundColor = [UIColor whiteColor];
-    [self locationShowLoading:NO clockInAPI:NO];
     self.edgesForExtendedLayout = UIRectEdgeNone;
     [self locationPermissionJudgment];
 }
 
+/* 开启定时器 */
+- (void)openTime {
+    
+    if (_timer == nil)
+    {
+        __weak typeof(self) weakSelf = self;
+        _timer = [NSTimer scheduledTimerWithTimeInterval:60 target:weakSelf selector:@selector(runTime) userInfo:nil repeats:YES];
+    }
+}
+- (void)runTime {
+    
+    [self locationShowLoadingView:NO showLoading:NO];
+}
 #pragma mark - Private methods
 
 /*  设置状态了为白色 */
@@ -108,54 +127,68 @@ UIScrollViewDelegate
     //0:未认证 1:等待认证 2:未通过 3:已认证
     if (self.infoModel.authenticationStatus == 0 || self.infoModel.authenticationStatus == 2)
     {
-        [self.view addSubview:self.authView];
         self.authView.type = self.infoModel.authenticationStatus == 0 ? HJClockInAuthStateTypeNoAuth : HJClockInAuthStateTypeFial;
         //实名认证通知
         [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(realNameNotification:) name:HJRealNameAuthenticationNotification object:nil];
-        [self.authView mas_makeConstraints:^(MASConstraintMaker *make) {
-
-            make.left.top.right.bottom.offset(0);
+        
+        [self.view addSubview:self.scrollView];
+        [self.scrollView addSubview:self.authView];
+        self.scrollView.frame = CGRectMake(0, 0, SCREEN_WIDTH, SCREEN_HEIGHT);
+        self.scrollView.contentSize = CGSizeMake(SCREEN_WIDTH, SCREEN_HEIGHT+1);
+        self.scrollView.contentOffset = CGPointMake(0, 0);
+        if (SCREEN_HEIGHT >= 812)
+        {
+            self.authView.frame = CGRectMake(0, 0, SCREEN_WIDTH, SCREEN_HEIGHT-STATUS_BAR_H - NAVIGATION_BAR_H - 49-34);
+        }
+        else
+        {
+            self.authView.frame = CGRectMake(0, 0, SCREEN_WIDTH, SCREEN_HEIGHT-STATUS_BAR_H - NAVIGATION_BAR_H - 49);
+        }
+       
+        [self.view insertSubview:self.customerServiceBtn aboveSubview:self.scrollView];
+        [self.customerServiceBtn mas_makeConstraints:^(MASConstraintMaker *make) {
+           
+            make.right.equalTo(self.view).offset(-5);
+            make.bottom.equalTo(self.view).offset(-10);
         }];
     }
     else
     {
-        [self.view addSubview:self.scrollLayoutView];
-        [self.scrollLayoutView.contentView addSubview:self.infoView];
-        [self.scrollLayoutView.contentView addSubview:self.stateView];
-        [self.scrollLayoutView.contentView addSubview:self.ruleView];
-        [self.scrollLayoutView makeConstraints];
+        [self initAddClickView];
+        [self.view insertSubview:self.customerServiceBtn aboveSubview:self.scrollView];
+        [self.customerServiceBtn mas_makeConstraints:^(MASConstraintMaker *make) {
+           
+            make.right.equalTo(self.view).offset(-5);
+            make.bottom.equalTo(self.view).offset(-10);
+        }];
     }
 }
 
 /* 定位,请求信息 */
-- (void)locationShowLoading:(BOOL)show clockInAPI:(BOOL)clockIn {
+- (void)locationShowLoadingView:(BOOL)showView showLoading:(BOOL)show {
 
-    if (show)
+    if (showView)
     {
-        [self.view fb_showLoading];
+        [self.view showLoadingView];
     }
-    else
+    if (show)
     {
-        [self.view showLoadingView];
+        [self.view fb_showLoading];
     }
-    
+  
     [self.view dismissErrorView];
+    
     [self.locationManager requestLocationWithReGeocode:YES completionBlock:^(CLLocation *location, AMapLocationReGeocode *regeocode, NSError *error) {
         
         if (error == nil && regeocode)
-        {
+        {//定位成功
+            [self openTime];
             self.latitude = [NSString stringWithFormat:@"%f",location.coordinate.latitude];
             self.longitude = [NSString stringWithFormat:@"%f",location.coordinate.longitude];
-            if (clockIn)
-            {  //打卡
-                self.clockInAPI.latitude = self.latitude;
-                self.clockInAPI.longitude = self.longitude;
-                [self.clockInAPI start];
-            }
-            else
-            { //打卡信息
-                [self requestClockIninfo];
-            }
+//            self.latitude = @"31.535788";
+//            self.longitude = @"120.352949";
+            [self requestClockIninfo];
+            [self.userInfoAPI start];
         }
         else
         {
@@ -163,7 +196,8 @@ UIScrollViewDelegate
             [self.view fb_dismiss];
             [self.view fb_showFailureWithStatus:@"获取位置失败"];
             [self locationPermissionJudgment];
-            self.stateView.clockInButton.userInteractionEnabled = YES;
+            self.clockView.stateView.clockInButton.userInteractionEnabled = YES;
+            [self.userInfoAPI start];
         }
     }];
 }
@@ -186,118 +220,67 @@ UIScrollViewDelegate
 /* 打卡的按钮的状态 */
 - (void)clockInButtonState {
     
-    self.infoView.timeLabel.attributedText = [self.infoView attributedText:[NSString stringWithFormat:@"%@ 小时",self.infoModel.sumDuration] DINCondensedBlod:self.infoModel.sumDuration];
-    
-    self.infoView.advanceLabel.attributedText = [self.infoView attributedText:[NSString stringWithFormat:@"%.2f 元",[self.infoModel.sumMoney floatValue]] DINCondensedBlod:[NSString stringWithFormat:@"%.2f",[self.infoModel.sumMoney floatValue]]];
-    
     //上班打卡时间
     if ([self.infoModel.startPunch isEqualToString:@"未完成"])
     {
-        self.stateView.goWorkStateView.textLabel.text = self.infoModel.startPunch;
+        self.clockView.stateView.goWorkStateView.textLabel.text = self.infoModel.startPunch;
     }
     else
     {
-        self.stateView.goWorkStateView.textLabel.text = [HJAppService time_timestampToString:self.infoModel.startPunch withType:kTimeStampDateOnlyHMS];
+        self.clockView.stateView.goWorkStateView.textLabel.text = [HJAppService time_timestampToString:self.infoModel.startPunch withType:kTimeStampDateOnlyHMS];
     }
     
     //下班打卡时间
     if ([self.infoModel.endPunch isEqualToString:@"未完成"])
     {
-        self.stateView.afterWorkStateView.textLabel.text = self.infoModel.endPunch;
+        self.clockView.stateView.afterWorkStateView.textLabel.text = self.infoModel.endPunch;
     }
     else
     {
-        self.stateView.afterWorkStateView.textLabel.text = [HJAppService time_timestampToString:self.infoModel.endPunch withType:kTimeStampDateOnlyHMS];
+        self.clockView.stateView.afterWorkStateView.textLabel.text = [HJAppService time_timestampToString:self.infoModel.endPunch withType:kTimeStampDateOnlyHMS];
     }
 
     if (self.infoModel.authenticationStatus == 1)
     {//1:等待认证
-        self.stateView.stateType = HJClockInStateTypeAuthing;
+        self.clockView.stateView.stateType = HJClockInStateTypeAuthing;
     }
     else
     {
         if ([self.infoModel.clockType integerValue] == 1)
         {
-            self.stateView.stateType = HJClockInStateTypeGoWork;
+            self.clockView.stateView.stateType = HJClockInStateTypeGoWork;
         }
-        
+
         if ([self.infoModel.clockType integerValue] == 1 && ![self.infoModel.startPunch  isEqualToString: @"未完成"])
         {
-            self.stateView.stateType = HJClockInStateTypeGoWorkComplete;
-            self.stateView.promptView.textLabel.text = [NSString stringWithFormat:@"上班%@小时后才能进行班打卡",self.infoModel.dailyAvailableMinHour];
+            self.clockView.stateView.stateType = HJClockInStateTypeGoWorkComplete;
+            self.clockView.stateView.promptView.textLabel.text = [NSString stringWithFormat:@"上班%@小时后才能进行班打卡",self.infoModel.dailyAvailableMinHour];
         }
-        
+
         if ([self.infoModel.clockType integerValue] == 2)
         {
-            self.stateView.stateType = HJClockInStateTypeAfterWork;
+            self.clockView.stateView.stateType = HJClockInStateTypeAfterWork;
         }
-        
+
         if ([self.infoModel.clockType integerValue] == 3)
         {
             if ([self.infoModel.startPunch isEqualToString:@"未完成"])
             {
-                self.stateView.stateType = HJClockInStateTypeGoWorkOutOfRange;
+                self.clockView.stateView.stateType = HJClockInStateTypeGoWorkOutOfRange;
             }
             else
             {
-                self.stateView.stateType = HJClockInStateTypeAfterWorkOutOfRange;
+                self.clockView.stateView.stateType = HJClockInStateTypeAfterWorkOutOfRange;
             }
         }
-        
+
         if ([self.infoModel.clockType integerValue] == 4)
         {
-            self.stateView.stateType = HJClockInStateTypeComplete;
-            self.stateView.wageView.moneyLabel.text = self.infoModel.todayMoney;
+            self.clockView.stateView.stateType = HJClockInStateTypeComplete;
         }
     }
 }
 
-#pragma mark - UIScrollViewDelegate
-
-- (void)scrollViewDidScroll:(UIScrollView *)scrollView {
-    
-    if (scrollView.contentOffset.y <= 0)
-    {
-        [_scrollLayoutView az_setGradientBackgroundWithColors:@[[UIColor colorFromHexString:@"016DFF"],[UIColor colorFromHexString:@"0254FF"]] locations:@[@(0.0),@(1.0f)] startPoint:CGPointMake(0, 0) endPoint:CGPointMake(1, 0)];
-    }
-    else
-    {
-        [_scrollLayoutView az_setGradientBackgroundWithColors:@[COLOR_F5F5F5,COLOR_F5F5F5] locations:@[@(0.0),@(1.0f)] startPoint:CGPointMake(0, 0) endPoint:CGPointMake(1, 0)];
-    }
-}
-
-#pragma mark - FBScrollLayoutViewDelegate
-
-- (void)scrollLayoutViewMakeConstraints:(FBScrollLayoutView *)scrollLayoutView {
-    
-    [scrollLayoutView mas_makeConstraints:^(MASConstraintMaker *make) {
-        
-        make.left.right.top.equalTo(self.view).offset(0);
-        make.bottom.equalTo(self.view.mas_bottom).offset(0);
-    }];
-}
-
-- (void)subviewsMakeConstraintsInScrollLayoutView:(FBScrollLayoutView *)scrollLayoutView contentView:(UIView *)contentView {
-    
-    [self.infoView mas_makeConstraints:^(MASConstraintMaker *make) {
-       
-        make.top.left.right.equalTo(contentView);
-    }];
-    [self.stateView mas_makeConstraints:^(MASConstraintMaker *make) {
-        
-        make.top.equalTo(self.infoView.mas_bottom).offset(0);
-        make.left.right.equalTo(contentView);
-    }];
-    [self.ruleView mas_makeConstraints:^(MASConstraintMaker *make) {
-        
-        make.top.equalTo(self.stateView.mas_bottom).offset(0);
-        make.left.right.equalTo(contentView);
-    }];
-    [contentView mas_makeConstraints:^(MASConstraintMaker *make) {
-        make.bottom.equalTo(self.ruleView.mas_bottom).offset(0);
-    }];
-}
-
 #pragma mark - FBAPIManagerInterceptor
 
 - (BOOL)manager:(FBBaseAPIManager *)manager shouldStartCallAPIWithParams:(NSDictionary *)params {
@@ -316,28 +299,50 @@ UIScrollViewDelegate
 
 - (void)managerCallAPIDidSuccess:(FBBaseAPIManager *)manager {
     
+    if (manager == self.userInfoAPI)
+    {//用户信息
+        NSDictionary *dataDict = [manager fetchDataWithBox:self.dataBox];
+        HJClockInInfoModel *userModel = [HJClockInInfoModel yy_modelWithDictionary:dataDict[@"hpUser"]];
+        HJClockInInfoModel *memberModel = [HJClockInInfoModel yy_modelWithDictionary:dataDict[@"hpMember"]];
+        
+        [self.clockView.infoView.headerIcon sd_setImageWithURL:[NSURL URLWithString:userModel.headImgUrl] placeholderImage:[UIImage imageNamed:@"me_portrait_default"]];
+        self.clockView.infoView.nameLabel.text = memberModel.realName;
+        if (memberModel.authenticationStatus == 1)
+        {//认证中
+            self.clockView.infoView.icon.image = [UIImage imageNamed:@"clockin_anth_audit"];
+            self.clockView.infoView.tagLabel.text = @"认证信息审核中";
+            self.clockView.infoView.tagLabel.textColor = COLOR_999999;
+        }
+        else
+        {//认证成功
+            self.clockView.infoView.icon.image = [UIImage imageNamed:@"clockIn_auth_icon"];
+            self.clockView.infoView.tagLabel.text = @"已认证";
+            self.clockView.infoView.tagLabel.textColor = COLOR_0177FF;
+        }
+    }
     if (manager == self.clockInInfoAPI)
-    {//信息
+    {//打卡信息
         NSDictionary *dataDict = [manager fetchDataWithBox:self.dataBox];
         self.infoModel = [HJClockInInfoModel yy_modelWithDictionary:dataDict];
         [self makeConstraintsViews];
         [self clockInButtonState];
     }
     if (manager == self.clockInAPI)
-    {//打卡成功
-        self.stateView.clockInButton.userInteractionEnabled = YES;
+    {//打卡---成功
+        self.clockView.stateView.clockInButton.userInteractionEnabled = YES;
         HJClockInSuccessViewController *successVC = [[HJClockInSuccessViewController alloc] init];
         successVC.dataDict = [manager fetchDataWithBox:self.dataBox];
-        if (self.stateView.stateType == HJClockInStateTypeGoWork)
+        if (self.clockView.stateView.stateType == HJClockInStateTypeGoWork)
         {
             successVC.successType = HJClockInSuccessTypeGoWork;
         }
-        if (self.stateView.stateType == HJClockInStateTypeAfterWork)
+        if (self.clockView.stateView.stateType == HJClockInStateTypeAfterWork)
         {
             successVC.successType = HJClockInSuccessTypeAfterWork;
         }
         successVC.modalPresentationStyle = UIModalPresentationFullScreen;
         [self presentViewController:successVC animated:YES completion:nil];
+        
         dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(1*NSEC_PER_SEC)),dispatch_get_main_queue(), ^{
             
             [self requestClockIninfo];//打卡成功更新数据
@@ -351,10 +356,11 @@ UIScrollViewDelegate
     {
         [self showErrorView];
     }
+    
     if (manager == self.clockInAPI)
     {
         [self requestClockIninfo];//打卡成功更新数据
-        self.stateView.clockInButton.userInteractionEnabled = YES;
+        self.clockView.stateView.clockInButton.userInteractionEnabled = YES;
     }
     
     id fetchData = [manager fetchDataWithBox:self.dataBox];
@@ -362,24 +368,15 @@ UIScrollViewDelegate
     {
         [self.view fb_showFailureWithStatus:fetchData];
     }
+    
+//    NSLog(@"fetchData ===== %@",fetchData);
 }
 
 #pragma mark - Notification
 
 - (void)realNameNotification:(NSNotification *)notification {
     
-    [self locationShowLoading:YES clockInAPI:NO];
-}
-
-/* 应用进入前台 */
-- (void)appDidEnterPlayground:(NSNotification *)notify {
-
-    if (self.infoView.serviceButton.selected == YES)
-    {
-        self.infoView.serviceButton.selected = NO;
-        return;
-    }
-    [self locationShowLoading:NO clockInAPI:NO];
+    [self locationShowLoadingView:NO showLoading:YES];
 }
 
 #pragma mark - event
@@ -397,14 +394,15 @@ UIScrollViewDelegate
         }
         else
         {
-            [[UIApplication sharedApplication]openURL:url];
+            self.automaticallyAdjustsScrollViewInsets = NO;
         }
     }
 }
+
 /* 错误刷新 */
 - (void)refreshButtonAction:(UIButton *)btn {
     
-    [self locationShowLoading:NO clockInAPI:NO];
+    [self locationShowLoadingView:NO showLoading:YES];
 }
 
 /* 认证 */
@@ -423,18 +421,9 @@ UIScrollViewDelegate
     [self.navigationController pushViewController:statisticsVC animated:YES];
 }
 
-/* 规则 */
-- (void)ruleButtonClick:(UIButton *)btn {
-    
-    HJClockInRuleViewController *ruleVC = [[HJClockInRuleViewController alloc] init];
-    ruleVC.hidesBottomBarWhenPushed = YES;
-    [self.navigationController pushViewController:ruleVC animated:YES];
-}
-
 /* 客服 */
-- (void)serviceButtonClick:(UIButton *)btn {
+- (void)customerServiceClick:(UIButton *)btn {
     
-    self.infoView.serviceButton.selected = YES;
     HJClockInCustomerServiceView *CSView = [[HJClockInCustomerServiceView alloc] init];
     [CSView makeConstraintsSubViews];
 }
@@ -442,99 +431,95 @@ UIScrollViewDelegate
 /* 打卡 */
 - (void)clockInClick:(UIButton *)btn {
     
-    if (self.stateView.stateType == HJClockInStateTypeGoWork)
+    if (self.clockView.stateView.stateType == HJClockInStateTypeGoWork)
     {//上班打卡
-        self.stateView.clockInButton.userInteractionEnabled = NO;
+        self.clockView.stateView.clockInButton.userInteractionEnabled = NO;
         self.clockInAPI.clockType = @"1";
         self.clockInAPI.wsPunchClockId = @"";
-        [self locationShowLoading:YES clockInAPI:YES];
+        self.clockInAPI.latitude = self.latitude;
+        self.clockInAPI.longitude = self.longitude;
+        [self.clockInAPI start];
     }
-    if (self.stateView.stateType == HJClockInStateTypeAfterWork)
+    if (self.clockView.stateView.stateType == HJClockInStateTypeAfterWork)
     {//下班打卡
-        self.stateView.clockInButton.userInteractionEnabled = NO;
+        self.clockView.stateView.clockInButton.userInteractionEnabled = NO;
         self.clockInAPI.clockType = @"2";
         self.clockInAPI.wsPunchClockId = self.infoModel.wsPunchClockId;
-        [self locationShowLoading:YES clockInAPI:YES];
+        self.clockInAPI.latitude = self.latitude;
+        self.clockInAPI.longitude = self.longitude;
+        [self.clockInAPI start];
     }
 }
 
 /* 重新定位 */
 - (void)retryButtonAction:(UIButton *)tap {
      
-    [self locationShowLoading:YES clockInAPI:NO];
+    [self locationShowLoadingView:NO showLoading:YES];
 }
 
 /* 下拉刷新 */
 - (void)loadNewData {
     
     [self.refreshHeader beginRefreshing];
-    [self locationShowLoading:YES clockInAPI:NO];
+    [self locationShowLoadingView:NO showLoading:YES];
 }
 
-#pragma mark - lazy
+#pragma mark -- 布局
+- (void)initAddClickView {
 
-- (FBScrollLayoutView *)scrollLayoutView {
-    
-    if (_scrollLayoutView == nil)
+    [self.view addSubview:self.scrollView];
+    [self.scrollView addSubview:self.clockView];
+    self.scrollView.frame = CGRectMake(0, 0, SCREEN_WIDTH, SCREEN_HEIGHT);
+    self.scrollView.contentSize = CGSizeMake(SCREEN_WIDTH, SCREEN_HEIGHT+1);
+    self.scrollView.contentOffset = CGPointMake(0, 0);
+    if (SCREEN_HEIGHT >= 812)
     {
-        _scrollLayoutView = [[FBScrollLayoutView alloc] init];
-        _scrollLayoutView.delegate = self;
-        [_scrollLayoutView az_setGradientBackgroundWithColors:@[COLOR_F5F5F5,COLOR_F5F5F5] locations:@[@(0.0),@(1.0f)] startPoint:CGPointMake(0, 0) endPoint:CGPointMake(1, 0)];
-        _scrollLayoutView.contentView.backgroundColor = COLOR_F5F5F5;
-        _scrollLayoutView.scrollView.mj_header = self.refreshHeader;
-        _scrollLayoutView.scrollView.delegate = self;
-        // 去除顶部空白
-        if (@available(iOS 11.0, *))
-        {
-            _scrollLayoutView.scrollView.contentInsetAdjustmentBehavior = UIScrollViewContentInsetAdjustmentNever;
-        }
-        else
-        {
-            self.automaticallyAdjustsScrollViewInsets = NO;
-        }
+        self.clockView.frame = CGRectMake(0, 0, SCREEN_WIDTH, SCREEN_HEIGHT-STATUS_BAR_H - NAVIGATION_BAR_H - 49-34);
     }
-    return _scrollLayoutView;
-}
-- (HJClockInAuthView *)authView {
-    
-    if (_authView == nil)
+    else
     {
-        _authView = [[HJClockInAuthView alloc] init];
-        [_authView.authenticationBtn addTarget:self action:@selector(authenticationBtnClick:) forControlEvents:UIControlEventTouchUpInside];
-        [_authView.ruleBtn addTarget:self action:@selector(ruleButtonClick:) forControlEvents:UIControlEventTouchUpInside];
+        self.clockView.frame = CGRectMake(0, 0, SCREEN_WIDTH, SCREEN_HEIGHT-STATUS_BAR_H - NAVIGATION_BAR_H - 49);
     }
-    return _authView;
+    [self.clockView.infoView.lookBtn layoutButtonWithEdgeInsetsStyle:MKButtonEdgeInsetsStyleRight imageTitleSpace:5];
 }
-- (HJClockInInfoView *)infoView {
+
+#pragma mark - lazy
+
+- (UIScrollView *)scrollView {
     
-    if (_infoView == nil)
+    if (_scrollView == nil)
     {
-        _infoView = [[HJClockInInfoView alloc] init];
-        [_infoView.statisticsButton addTarget:self action:@selector(statisticsButtonClick:) forControlEvents:UIControlEventTouchUpInside];
-        [_infoView.ruleButton addTarget:self action:@selector(ruleButtonClick:) forControlEvents:UIControlEventTouchUpInside];
-        [_infoView.serviceButton addTarget:self action:@selector(serviceButtonClick:) forControlEvents:UIControlEventTouchUpInside];
+        _scrollView = [[UIScrollView alloc] init];
+        _scrollView.mj_header = self.refreshHeader;
+        if (@available(iOS 11.0, *))
+        {
+            _scrollView.contentInsetAdjustmentBehavior = UIScrollViewContentInsetAdjustmentNever;
+        }
     }
-    return _infoView;
+    return _scrollView;
 }
-- (HJClockInStateView *)stateView {
+- (HJClockView *)clockView {
     
-    if (_stateView == nil)
+    if (_clockView == nil)
     {
-        _stateView = [[HJClockInStateView alloc] init];
-        [_stateView.clockInButton addTarget:self action:@selector(clockInClick:) forControlEvents:UIControlEventTouchUpInside];
-        [_stateView.retryButton addTarget:self action:@selector(retryButtonAction:) forControlEvents:UIControlEventTouchUpInside];
+        _clockView = [[HJClockView alloc] init];
+        [_clockView.infoView.lookBtn addTarget:self action:@selector(statisticsButtonClick:) forControlEvents:UIControlEventTouchUpInside];
+        [_clockView.stateView.clockInButton addTarget:self action:@selector(clockInClick:) forControlEvents:UIControlEventTouchUpInside];
+        [_clockView.stateView.retryButton addTarget:self action:@selector(retryButtonAction:) forControlEvents:UIControlEventTouchUpInside];
     }
-    return _stateView;
+    return _clockView;
 }
-- (HJClockInRuleView *)ruleView {
+
+- (HJClockInAuthView *)authView {
     
-    if (_ruleView == nil)
+    if (_authView == nil)
     {
-        _ruleView = [[HJClockInRuleView alloc] init];
-        [_ruleView.ruleButton addTarget:self action:@selector(ruleButtonClick:) forControlEvents:UIControlEventTouchUpInside];
+        _authView = [[HJClockInAuthView alloc] init];
+        [_authView.authenticationBtn addTarget:self action:@selector(authenticationBtnClick:) forControlEvents:UIControlEventTouchUpInside];
     }
-    return _ruleView;
+    return _authView;
 }
+
 - (AMapLocationManager *)locationManager {
     
     if (_locationManager == nil)
@@ -554,6 +539,16 @@ UIScrollViewDelegate
     }
     return _dataBox;
 }
+- (HJGetUserInfoAPIManager *)userInfoAPI {
+    
+    if (_userInfoAPI == nil)
+    {
+        _userInfoAPI = [[HJGetUserInfoAPIManager alloc]init];
+        _userInfoAPI.APIManagerDelegate = self;
+        _userInfoAPI.APIManagerInterceptor = self;
+    }
+    return _userInfoAPI;
+}
 - (HJClockInInfoAPI *)clockInInfoAPI {
     
     if (_clockInInfoAPI == nil)
@@ -583,5 +578,14 @@ UIScrollViewDelegate
     }
     return _refreshHeader;
 }
-
+- (UIButton *)customerServiceBtn {
+    
+    if (_customerServiceBtn == nil)
+    {
+        _customerServiceBtn = [UIButton buttonWithType:UIButtonTypeCustom];
+        [_customerServiceBtn setImage:[UIImage imageNamed:@"clockin_customerService"] forState:UIControlStateNormal];
+        [_customerServiceBtn addTarget:self action:@selector(customerServiceClick:) forControlEvents:UIControlEventTouchUpInside];
+    }
+    return _customerServiceBtn;
+}
 @end

+ 1 - 1
HappyJob/HappyJob/CClass/ClockIn_打卡/统计/View/StatisticDetailView/HJClockInStatisticDetailMonthView.h

@@ -15,7 +15,7 @@ NS_ASSUME_NONNULL_BEGIN
 @interface HJClockInStatisticDetailMonthView : UIView
 
 @property (nonatomic, strong) HJClockInStatisticDetailTitleView *monthView;
-@property (nonatomic, strong) HJClockInStatisticDetailListView  *monthTotalAdvanceView;
+//@property (nonatomic, strong) HJClockInStatisticDetailListView  *monthTotalAdvanceView;
 @property (nonatomic, strong) HJClockInStatisticDetailListView  *monthTotalWorkeHourView;
 @property (nonatomic, strong) HJClockInStatisticDetailListView  *monthClickInDaysView;
 @property (nonatomic, strong) HJClockInStatisticDetailListView  *monthNoPunchInView;

+ 16 - 16
HappyJob/HappyJob/CClass/ClockIn_打卡/统计/View/StatisticDetailView/HJClockInStatisticDetailMonthView.m

@@ -22,7 +22,7 @@
 - (void)initSubViews {
     
     [self addSubview:self.monthView];
-    [self addSubview:self.monthTotalAdvanceView];
+//    [self addSubview:self.monthTotalAdvanceView];
     [self addSubview:self.monthTotalWorkeHourView];
     [self addSubview:self.monthClickInDaysView];
     [self addSubview:self.monthNoPunchInView];
@@ -32,16 +32,16 @@
         make.left.top.right.equalTo(self).offset(0);
     }];
     
-    [self.monthTotalAdvanceView mas_makeConstraints:^(MASConstraintMaker *make) {
-       
-        make.left.right.equalTo(self).offset(0);
-        make.top.equalTo(self.monthView.mas_bottom).offset(0);
-    }];
+//    [self.monthTotalAdvanceView mas_makeConstraints:^(MASConstraintMaker *make) {
+//
+//        make.left.right.equalTo(self).offset(0);
+//        make.top.equalTo(self.monthView.mas_bottom).offset(0);
+//    }];
     
     [self.monthTotalWorkeHourView mas_makeConstraints:^(MASConstraintMaker *make) {
        
         make.left.right.equalTo(self).offset(0);
-        make.top.equalTo(self.monthTotalAdvanceView.mas_bottom).offset(0);
+        make.top.equalTo(self.monthView.mas_bottom).offset(0);
     }];
     [self.monthClickInDaysView mas_makeConstraints:^(MASConstraintMaker *make) {
        
@@ -68,15 +68,15 @@
     return _monthView;
 }
 
-- (HJClockInStatisticDetailListView *)monthTotalAdvanceView {
-    
-    if (_monthTotalAdvanceView == nil)
-    {
-        _monthTotalAdvanceView = [[HJClockInStatisticDetailListView alloc] init];
-        _monthTotalAdvanceView.titleLabel.text = @"总预支:";
-    }
-    return _monthTotalAdvanceView;
-}
+//- (HJClockInStatisticDetailListView *)monthTotalAdvanceView {
+//    
+//    if (_monthTotalAdvanceView == nil)
+//    {
+//        _monthTotalAdvanceView = [[HJClockInStatisticDetailListView alloc] init];
+//        _monthTotalAdvanceView.titleLabel.text = @"总预支:";
+//    }
+//    return _monthTotalAdvanceView;
+//}
 - (HJClockInStatisticDetailListView *)monthTotalWorkeHourView {
     
     if (_monthTotalWorkeHourView == nil)

+ 1 - 1
HappyJob/HappyJob/CClass/ClockIn_打卡/统计/View/StatisticDetailView/HJClockInStatisticDetailWeekView.h

@@ -15,7 +15,7 @@ NS_ASSUME_NONNULL_BEGIN
 @interface HJClockInStatisticDetailWeekView : UIView
 
 @property (nonatomic, strong) HJClockInStatisticDetailTitleView *weekView;
-@property (nonatomic, strong) HJClockInStatisticDetailListView  *weekTotalAdvanceView;
+//@property (nonatomic, strong) HJClockInStatisticDetailListView  *weekTotalAdvanceView;
 @property (nonatomic, strong) HJClockInStatisticDetailListView  *weekTotalWorkeHourView;
 @property (nonatomic, strong) HJClockInStatisticDetailListView  *weekClockInDaysView;
 @property (nonatomic, strong) HJClockInStatisticDetailListView  *weekNoPunchInView;

+ 16 - 16
HappyJob/HappyJob/CClass/ClockIn_打卡/统计/View/StatisticDetailView/HJClockInStatisticDetailWeekView.m

@@ -21,7 +21,7 @@
 - (void)initSubViews {
     
     [self addSubview:self.weekView];
-    [self addSubview:self.weekTotalAdvanceView];
+//    [self addSubview:self.weekTotalAdvanceView];
     [self addSubview:self.weekTotalWorkeHourView];
     [self addSubview:self.weekClockInDaysView];
     [self addSubview:self.weekNoPunchInView];
@@ -30,15 +30,15 @@
        
         make.left.top.right.equalTo(self).offset(0);
     }];
-    [self.weekTotalAdvanceView mas_makeConstraints:^(MASConstraintMaker *make) {
-       
-        make.left.right.equalTo(self).offset(0);
-        make.top.equalTo(self.weekView.mas_bottom).offset(0);
-    }];
+//    [self.weekTotalAdvanceView mas_makeConstraints:^(MASConstraintMaker *make) {
+//
+//        make.left.right.equalTo(self).offset(0);
+//        make.top.equalTo(self.weekView.mas_bottom).offset(0);
+//    }];
     [self.weekTotalWorkeHourView mas_makeConstraints:^(MASConstraintMaker *make) {
        
         make.left.right.equalTo(self).offset(0);
-        make.top.equalTo(self.weekTotalAdvanceView.mas_bottom).offset(0);
+        make.top.equalTo(self.weekView.mas_bottom).offset(0);
     }];
     [self.weekClockInDaysView mas_makeConstraints:^(MASConstraintMaker *make) {
        
@@ -67,15 +67,15 @@
     return _weekView;
 }
 
-- (HJClockInStatisticDetailListView *)weekTotalAdvanceView {
-    
-    if (_weekTotalAdvanceView == nil)
-    {
-        _weekTotalAdvanceView = [[HJClockInStatisticDetailListView alloc] init];
-        _weekTotalAdvanceView.titleLabel.text = @"总预支:";
-    }
-    return _weekTotalAdvanceView;
-}
+//- (HJClockInStatisticDetailListView *)weekTotalAdvanceView {
+//
+//    if (_weekTotalAdvanceView == nil)
+//    {
+//        _weekTotalAdvanceView = [[HJClockInStatisticDetailListView alloc] init];
+//        _weekTotalAdvanceView.titleLabel.text = @"总预支:";
+//    }
+//    return _weekTotalAdvanceView;
+//}
 - (HJClockInStatisticDetailListView *)weekTotalWorkeHourView {
     
     if (_weekTotalWorkeHourView == nil)

+ 0 - 3
HappyJob/HappyJob/CClass/ClockIn_打卡/统计/View/StatisticView/HJClockInStatisticCollectView.h

@@ -16,9 +16,6 @@ NS_ASSUME_NONNULL_BEGIN
 @property (nonatomic, strong) UILabel  *monthLabel;
 @property (nonatomic, strong) UIButton *rightButton;
 
-/* 总预支 */
-@property (nonatomic, strong) UILabel  *moneyLabel;
-@property (nonatomic, strong) UILabel  *moneyUnitLabel;
 
 /* 总工时 */
 @property (nonatomic, strong) UILabel  *workeHourLabel;

+ 3 - 28
HappyJob/HappyJob/CClass/ClockIn_打卡/统计/View/StatisticView/HJClockInStatisticCollectView.m

@@ -24,8 +24,6 @@
     [self addSubview:self.bgView];
     [self.bgView addSubview:self.monthLabel];
     [self.bgView addSubview:self.rightButton];
-    [self.bgView addSubview:self.moneyLabel];
-    [self.bgView addSubview:self.moneyUnitLabel];
     
     [self.bgView addSubview:self.workeHourLabel];
     [self.bgView addSubview:self.workeHourUnitLabel];
@@ -53,16 +51,16 @@
     
     
     // 三等分布局
-     NSArray *views = @[self.moneyLabel, self.workeHourLabel, self.numberLabel];
+     NSArray *views = @[ self.workeHourLabel, self.numberLabel];
      [views mas_distributeViewsAlongAxis:MASAxisTypeHorizontal withFixedSpacing:0 leadSpacing:0 tailSpacing:0];
      [views mas_makeConstraints:^(MASConstraintMaker *make) {
          make.top.equalTo(self.monthLabel.mas_bottom).offset(30);
      }];
     
-    NSArray *unitViews = @[self.moneyUnitLabel, self.workeHourUnitLabel, self.numberUnitLabel];
+    NSArray *unitViews = @[ self.workeHourUnitLabel, self.numberUnitLabel];
     [unitViews mas_distributeViewsAlongAxis:MASAxisTypeHorizontal withFixedSpacing:0 leadSpacing:0 tailSpacing:0];
     [unitViews mas_makeConstraints:^(MASConstraintMaker *make) {
-        make.top.equalTo(self.moneyLabel.mas_bottom).offset(10);
+        make.top.equalTo(self.workeHourLabel.mas_bottom).offset(10);
         make.bottom.equalTo(self.bgView.mas_bottom).offset(-30);
     }];
     
@@ -109,29 +107,6 @@
     }
     return _rightButton;
 }
-- (UILabel *)moneyLabel {
-    
-    if (_moneyLabel == nil)
-    {
-        _moneyLabel = [[UILabel alloc] init];
-        _moneyLabel.font = [UIFont fontWithName:@"DINCondensed-Bold" size:29];
-        _moneyLabel.text = @"0.00";
-        _moneyLabel.textAlignment = NSTextAlignmentCenter;
-    }
-    return _moneyLabel;
-}
-- (UILabel *)moneyUnitLabel {
-    
-    if (_moneyUnitLabel == nil)
-    {
-        _moneyUnitLabel = [[UILabel alloc] init];
-        _moneyUnitLabel.font = [UIFont systemFontOfSize:13];
-        _moneyUnitLabel.textColor = COLOR_444444;
-        _moneyUnitLabel.text = @"总预支(元)";
-        _moneyUnitLabel.textAlignment = NSTextAlignmentCenter;
-    }
-    return _moneyUnitLabel;
-}
 
 - (UILabel *)workeHourLabel {
     

+ 1 - 0
HappyJob/HappyJob/CClass/ClockIn_打卡/统计/View/StatisticView/HJClockInStatisticDayView.h

@@ -16,6 +16,7 @@ NS_ASSUME_NONNULL_BEGIN
 
 @property (nonatomic, strong) UILabel                      *ruleLabel;
 @property (nonatomic, strong) UILabel                      *noRecordLabel;
+
 @property (nonatomic, strong) HJClockInStatisticWageView   *wageView;//薪资
 
 - (void)configurationData:(NSDictionary *)dataDict;

+ 1 - 1
HappyJob/HappyJob/CClass/ClockIn_打卡/统计/View/StatisticView/HJClockInStatisticDayView.m

@@ -56,7 +56,7 @@
 
     _ruleLabel.text = [NSString stringWithFormat:@"规则:自由上下班打卡 00:00-24:00 \n当日打卡%@次,工时%@小时",dataDict[@"clockCount"],dataDict[@"currentDuration"]];
     
-    _wageView.moneyLabel.text = [NSString stringWithFormat:@"%.2f",[dataDict[@"nextMoney"] floatValue]];
+//    _wageView.moneyLabel.text = [NSString stringWithFormat:@"%.2f",[dataDict[@"nextMoney"] floatValue]];
     
     if (clockListArray.count == 0)
     {

+ 4 - 4
HappyJob/HappyJob/CClass/ClockIn_打卡/统计/View/StatisticView/HJClockInStatisticWageView.m

@@ -14,7 +14,7 @@
     
     if (self = [super initWithFrame:frame])
     {
-        [self initSubViews];
+//        [self initSubViews];
     }
     return self;
 }
@@ -51,7 +51,7 @@
     if (_titleLabel == nil)
     {
         _titleLabel = [[UILabel alloc] init];
-        _titleLabel.text = @"当日可预支工资:";
+//        _titleLabel.text = @"当日可预支工资:";
         _titleLabel.font = [UIFont systemFontOfSize:14];
         _titleLabel.textColor = COLOR_000000;
     }
@@ -63,7 +63,7 @@
     {
         _moneyLabel = [[UILabel alloc] init];
         _moneyLabel.font = [UIFont fontWithName:@"DINCondensed-Bold" size:29];
-        _moneyLabel.text = @"0";
+//        _moneyLabel.text = @"0";
         _moneyLabel.textAlignment = NSTextAlignmentCenter;
         _moneyLabel.textColor = COLOR_0177FF;
     }
@@ -76,7 +76,7 @@
         _unitLabel = [[UILabel alloc] init];
         _unitLabel.font = [UIFont boldSystemFontOfSize:13];
         _unitLabel.textColor = COLOR_000000;
-        _unitLabel.text = @"元";
+//        _unitLabel.text = @"元";
         _unitLabel.textAlignment = NSTextAlignmentCenter;
     }
     return _unitLabel;

+ 2 - 2
HappyJob/HappyJob/CClass/ClockIn_打卡/统计/ViewController/HJClockInStatisticDetailViewController.m

@@ -159,7 +159,7 @@ FBAPIManagerDelegate
     {
         NSDictionary *dataDict = [manager fetchDataWithBox:self.dataBox];
         HJClockInInfoModel *model = [HJClockInInfoModel yy_modelWithDictionary:dataDict[@"currentSettlement"]];
-        self.monthView.monthTotalAdvanceView.contentLabel.text = [NSString stringWithFormat:@"%@元",model.nextMoney ? [NSString stringWithFormat:@"%.2lf",[model.nextMoney floatValue]] : @"0"];
+//        self.monthView.monthTotalAdvanceView.contentLabel.text = [NSString stringWithFormat:@"%@元",model.nextMoney ? [NSString stringWithFormat:@"%.2lf",[model.nextMoney floatValue]] : @"0"];
         self.monthView.monthTotalWorkeHourView.contentLabel.text = [NSString stringWithFormat:@"%@小时",model.countDuration ? model.countDuration :@"0"];
         self.monthView.monthClickInDaysView.contentLabel.text = [NSString stringWithFormat:@"%@次",model.attendance ? model.attendance :@"0"];
         self.monthView.monthNoPunchInView.contentLabel.text = [NSString stringWithFormat:@"%@次",model.lackClock ? model.lackClock :@"0"];
@@ -177,7 +177,7 @@ FBAPIManagerDelegate
     {
         NSDictionary *dataDict = [manager fetchDataWithBox:self.dataBox];
         HJClockInInfoModel *model = [HJClockInInfoModel yy_modelWithDictionary:dataDict[@"currentSettlement"]];
-        self.weekView.weekTotalAdvanceView.contentLabel.text = [NSString stringWithFormat:@"%@元",model.nextMoney ? [NSString stringWithFormat:@"%.2lf",[model.nextMoney floatValue]] :@"0"];
+//        self.weekView.weekTotalAdvanceView.contentLabel.text = [NSString stringWithFormat:@"%@元",model.nextMoney ? [NSString stringWithFormat:@"%.2lf",[model.nextMoney floatValue]] :@"0"];
         self.weekView.weekTotalWorkeHourView.contentLabel.text = [NSString stringWithFormat:@"%@小时",model.countDuration ? model.countDuration :@"0"];
         self.weekView.weekClockInDaysView.contentLabel.text = [NSString stringWithFormat:@"%@次",model.attendance ? model.attendance : @"0"];
         self.weekView.weekNoPunchInView.contentLabel.text = [NSString stringWithFormat:@"%@次",model.lackClock ? model.lackClock :@"0"];

+ 0 - 1
HappyJob/HappyJob/CClass/ClockIn_打卡/统计/ViewController/HJClockInStatisticViewController.m

@@ -152,7 +152,6 @@ UIGestureRecognizerDelegate
         [self.dayAPI start];
         
         self.collectView.monthLabel.text = [NSString stringWithFormat:@"%ld月汇总",(long)[self.collectView month:self.model.date]];
-        self.collectView.moneyLabel.text = self.model.nextMoney ? [NSString stringWithFormat:@"%.2lf",[self.model.nextMoney floatValue]] : @"0";
         self.collectView.workeHourLabel.text = self.model.countDuration ? self.model.countDuration : @"0";
         self.collectView.numberLabel.text = self.model.lackClock ? self.model.lackClock : @"0";
         

+ 2 - 3
HappyJob/HappyJob/CClass/Home_首页/HJHomeViewController.m

@@ -68,9 +68,7 @@ HJPageListViewDelegate
     [super viewWillAppear:animated];
     [self.navigationController setNavigationBarHidden:YES animated:animated];
 }
-- (void)test {
-    NSLog(@"0000,这是分支");
-}
+
 - (void)viewDidLoad {
     
     [super viewDidLoad];
@@ -291,6 +289,7 @@ HJPageListViewDelegate
     if (linkFlag == 1)
     {//外链
         [[UIApplication sharedApplication] openURL:[NSURL URLWithString:URLString]];
+//        [[UIApplication sharedApplication] openURL:[NSURL URLWithString:URLString] options:@{} completionHandler:nil];
     }
     if (linkFlag == 0)
     {//内链

+ 1 - 0
HappyJob/HappyJob/CClass/JobList_工作列表信息/PositionDetail_岗位详情/View/HJPositionDetailView.m

@@ -240,6 +240,7 @@
     
     NSMutableString *str=[[NSMutableString alloc] initWithFormat:@"telprompt://%@",@"400-692-0099"];
     [[UIApplication sharedApplication] openURL:[NSURL URLWithString:str]];
+//    [[UIApplication sharedApplication] openURL:[NSURL URLWithString:str] options:@{} completionHandler:nil];
 }
 /* 分享 */
 - (void)shareButtonClicked:(UIButton *)sender {

+ 1 - 0
HappyJob/HappyJob/CClass/Join_拼工/HJJoinDetailViewController.m

@@ -470,6 +470,7 @@ FBAPIManagerDelegate
     
     NSMutableString *str=[[NSMutableString alloc] initWithFormat:@"telprompt://%@",@"400-692-0099"];
     [[UIApplication sharedApplication] openURL:[NSURL URLWithString:str]];
+//    [[UIApplication sharedApplication] openURL:[NSURL URLWithString:str] options:@{} completionHandler:nil];
 }
 /* 平移手势 */
 - (void)pan:(UIPanGestureRecognizer *)pan{

+ 17 - 0
HappyJob/HappyJob/CClass/Me_我/Auth_实名认证/AuthAPIManager/HJAuthOCRAPI.h

@@ -0,0 +1,17 @@
+//
+//  HJAuthOCRAPI.h
+//  HappyJob
+//
+//  Created by 张晓光 on 2021/6/5.
+//  Copyright © 2021 Bob. All rights reserved.
+//
+
+#import "FBBaseAPIManager.h"
+
+NS_ASSUME_NONNULL_BEGIN
+
+@interface HJAuthOCRAPI : FBBaseAPIManager
+
+@end
+
+NS_ASSUME_NONNULL_END

+ 73 - 0
HappyJob/HappyJob/CClass/Me_我/Auth_实名认证/AuthAPIManager/HJAuthOCRAPI.m

@@ -0,0 +1,73 @@
+//
+//  HJAuthOCRAPI.m
+//  HappyJob
+//
+//  Created by 张晓光 on 2021/6/5.
+//  Copyright © 2021 Bob. All rights reserved.
+//
+
+#import "HJAuthOCRAPI.h"
+#import "HJUserInfoModel.h"
+
+@interface HJAuthOCRAPI () <FBAPIManagerProtocol, FBAPIManagerValidator>
+
+@property (nonatomic, copy) NSString *userID;
+@property (nonatomic, copy) NSString *userToken;
+
+@end
+
+@implementation HJAuthOCRAPI
+
+- (instancetype)init {
+    
+    if (self = [super init])
+    {
+        _userID = [HJUserInfoModel userInfo].userID;
+        _userToken = [HJUserInfoModel userInfo].userToken;
+    }
+    return self;
+}
+
+- (FBAPIManagerErrorType)manager:(FBBaseAPIManager *)manager validWithCallParamsData:(NSDictionary *)data {
+    
+    if (self.userID == nil || self.userToken == nil)
+    {
+        return FBAPIManagerErrorTypeParamsError;
+    }
+    
+    return FBAPIManagerErrorTypeNoError;
+}
+
+- (FBAPIManagerErrorType)manager:(FBBaseAPIManager *)manager validWithCallBackData:(NSDictionary *)data {
+    
+    if ([[data objectForKey:@"errcode"] integerValue] == 0)
+    {
+        return FBAPIManagerErrorTypeNoError;
+    }
+    else
+    {
+        return FBAPIManagerErrorTypeNoContent;
+    }
+}
+
+- (NSString *)methodName {
+    
+    return @"user/getOcrKey";
+}
+
+- (NSDictionary *)parameters {
+    
+    return @{
+        @"user_id": self.userID,
+        @"user_token": self.userToken,
+        @"member_id":[HJMemberInfoModel memberInfo].memberId
+    };
+}
+
+- (FBAPIManagerRequestType)requestType {
+    
+    return FBAPIManagerRequestTypeGet;
+}
+
+
+@end

+ 1 - 0
HappyJob/HappyJob/CClass/Me_我/Auth_实名认证/AuthAPIManager/HJRealApproveAPIManager.h

@@ -14,6 +14,7 @@ NS_ASSUME_NONNULL_BEGIN
 
 @property (nonatomic, copy) NSString *realName;
 @property (nonatomic, copy) NSString *cardNumber;
+@property (nonatomic, copy) NSString *nation;
 @property (nonatomic, copy) UIImage *cardFrontImage;    //身份证正面照片
 @property (nonatomic, copy) UIImage *cardBackImage;     //身份证反面照片
 @property (nonatomic, copy) UIImage *cardHoldImage;     //手持身份证照片

+ 2 - 1
HappyJob/HappyJob/CClass/Me_我/Auth_实名认证/AuthAPIManager/HJRealApproveAPIManager.m

@@ -63,7 +63,8 @@
         @"user_token": self.userToken,
         @"realName": self.realName,
         @"idCardNumber": self.cardNumber,
-        @"member_id":[HJMemberInfoModel memberInfo].memberId
+        @"member_id":[HJMemberInfoModel memberInfo].memberId,
+        @"nation":self.nation,
     };
 }
 

+ 1 - 0
HappyJob/HappyJob/CClass/Me_我/Auth_实名认证/View/HJAuthIDCardErrorView.h

@@ -18,6 +18,7 @@ NS_ASSUME_NONNULL_BEGIN
 @property (nonatomic, strong) UILabel     *promptLabel;
 @property (nonatomic, strong) UILabel     *phoneLabel;
 @property (nonatomic, strong) UIButton    *phoneBtn;
+@property (nonatomic, strong) UIButton    *deleteBtn;
 - (void)makeConstraintsSubViews;
 
 

+ 22 - 5
HappyJob/HappyJob/CClass/Me_我/Auth_实名认证/View/HJAuthIDCardErrorView.m

@@ -28,6 +28,7 @@
     [self.bgView addSubview:self.promptLabel];
     [self.bgView addSubview:self.phoneLabel];
     [self.bgView addSubview:self.phoneBtn];
+//    [self addSubview:self.deleteBtn];
     
     [self.bgView mas_makeConstraints:^(MASConstraintMaker *make) {
         
@@ -35,18 +36,23 @@
         make.right.equalTo(self.mas_right).offset(-37);
         make.centerY.equalTo(self);
     }];
+//    [self.deleteBtn mas_makeConstraints:^(MASConstraintMaker *make) {
+//
+//        make.centerX.equalTo(self.bgView);
+//        make.top.equalTo(self.bgView.mas_bottom).offset(20);
+//    }];
     [self.icon mas_makeConstraints:^(MASConstraintMaker *make) {
-        
+
         make.centerX.equalTo(self.bgView);
         make.top.equalTo(self.bgView.mas_top).offset(34);
     }];
     [self.titleLabel mas_makeConstraints:^(MASConstraintMaker *make) {
         make.centerX.equalTo(self.bgView);
-        make.top.equalTo(self.icon.mas_bottom).offset(25);
+        make.top.equalTo(self.icon.mas_bottom).offset(35);
     }];
     [self.promptLabel mas_makeConstraints:^(MASConstraintMaker *make) {
         make.centerX.equalTo(self.bgView);
-        make.top.equalTo(self.titleLabel.mas_bottom).offset(10);
+        make.top.equalTo(self.titleLabel.mas_bottom).offset(15);
     }];
     [self.phoneLabel mas_makeConstraints:^(MASConstraintMaker *make) {
         make.centerX.equalTo(self.bgView);
@@ -58,7 +64,7 @@
         make.left.equalTo(self.bgView.mas_left).offset(50);
         make.right.equalTo(self.bgView.mas_right).offset(-50);
         make.height.mas_equalTo(44);
-        make.bottom.equalTo(self.bgView.mas_bottom).offset(-35);
+        make.bottom.equalTo(self.bgView.mas_bottom).offset(-55);
     }];
     
     UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(tapClick)];
@@ -75,6 +81,7 @@
     [self removeFromSuperview];
     NSMutableString *str=[[NSMutableString alloc] initWithFormat:@"telprompt://%@",@"400-692-0099"];
     [[UIApplication sharedApplication] openURL:[NSURL URLWithString:str]];
+//    [[UIApplication sharedApplication] openURL:[NSURL URLWithString:str] options:@{} completionHandler:nil];
 }
 
 #pragma mark - lazy
@@ -115,7 +122,7 @@
     if (_promptLabel == nil)
     {
         _promptLabel = [[UILabel alloc] init];
-        _promptLabel.text = @"如果非本人操作认证,\n 请联系开心客服为您解决问题";
+        _promptLabel.text = @"如果非本人操作认证,\n 请联系开心客服为您解决问题";
         _promptLabel.font = [UIFont systemFontOfSize:14];
         _promptLabel.textColor = COLOR_666666;
         _promptLabel.numberOfLines = 0;
@@ -149,4 +156,14 @@
     }
     return _phoneBtn;
 }
+- (UIButton *)deleteBtn {
+    
+    if (_deleteBtn == nil)
+    {
+        _deleteBtn = [UIButton buttonWithType:UIButtonTypeCustom];
+        [_deleteBtn setImage:[UIImage imageNamed:@"circle_close"] forState:UIControlStateNormal];
+        [_deleteBtn addTarget:self action:@selector(tapClick) forControlEvents:UIControlEventTouchUpInside];
+    }
+    return _deleteBtn;
+}
 @end

+ 1 - 1
HappyJob/HappyJob/CClass/Me_我/Auth_实名认证/View/HJAuthUploadImageView.h

@@ -12,9 +12,9 @@ NS_ASSUME_NONNULL_BEGIN
 
 @interface HJAuthUploadImageView : UIView
 
-@property (nonatomic, strong) UIImageView *dotImageV;
 @property (nonatomic, strong) UIImageView *pictureImageV;
 @property (nonatomic, strong) UIButton    *aboveButton;
+@property (nonatomic, strong) UIButton    *titleLabel;
 
 
 @end

+ 24 - 22
HappyJob/HappyJob/CClass/Me_我/Auth_实名认证/View/HJAuthUploadImageView.m

@@ -18,46 +18,38 @@
     }
     return self;
 }
+
 - (void)initSubViews {
     
-    [self addSubview:self.dotImageV];
-    [self.dotImageV addSubview:self.pictureImageV];
-    
+    [self addSubview:self.pictureImageV];
     [self.pictureImageV addSubview:self.aboveButton];
-    
-    [self.dotImageV mas_makeConstraints:^(MASConstraintMaker *make) {
-       
-        make.left.top.right.bottom.equalTo(self).offset(0);
-    }];
+    [self addSubview:self.titleLabel];
+  
     [self.pictureImageV mas_makeConstraints:^(MASConstraintMaker *make) {
         
-        make.left.top.equalTo(self.dotImageV).offset(10);
-        make.right.bottom.equalTo(self.dotImageV).offset(-10);
+        make.left.top.right.equalTo(self).offset(0);
+        make.size.mas_equalTo(CGSizeMake((SCREEN_WIDTH-30-25)/2, HJHorizontalScale(97)));
     }];
     [self.aboveButton mas_makeConstraints:^(MASConstraintMaker *make) {
 
-        make.left.top.right.bottom.equalTo(self.pictureImageV).offset(0);
+        make.center.equalTo(self.pictureImageV);
+    }];
+    [self.titleLabel mas_makeConstraints:^(MASConstraintMaker *make) {
+       
+        make.centerX.equalTo(self);
+        make.top.equalTo(self.pictureImageV.mas_bottom).offset(15);
+        make.bottom.equalTo(self.mas_bottom).offset(0);
     }];
     
 }
 #pragma mark - lazy
 
-- (UIImageView *)dotImageV {
-    
-    if (_dotImageV == nil)
-    {
-        _dotImageV = [[UIImageView alloc] init];
-        _dotImageV.image = [UIImage imageNamed:@"auth_dotted_box"];
-        _dotImageV.userInteractionEnabled = YES;
-    }
-    return _dotImageV;
-}
-
 - (UIButton *)aboveButton {
     
     if (_aboveButton == nil)
     {
         _aboveButton = [UIButton buttonWithType:UIButtonTypeCustom];
+        [_aboveButton setImage:[UIImage imageNamed:@"auth_card_change"] forState:UIControlStateNormal];
     }
     return _aboveButton;
 }
@@ -72,4 +64,14 @@
     }
     return _pictureImageV;
 }
+- (UIButton *)titleLabel {
+    
+    if (_titleLabel == nil)
+    {
+        _titleLabel = [[UIButton alloc] init];
+        _titleLabel.titleLabel.font = [UIFont boldSystemFontOfSize:16];
+        [_titleLabel setTitleColor:[UIColor colorFromHexString:@"111111"] forState:UIControlStateNormal];
+    }
+    return _titleLabel;
+}
 @end

+ 29 - 0
HappyJob/HappyJob/CClass/Me_我/Auth_实名认证/View/HJAuthView.h

@@ -0,0 +1,29 @@
+//
+//  HJAuthView.h
+//  HappyJob
+//
+//  Created by 张晓光 on 2021/6/4.
+//  Copyright © 2021 Bob. All rights reserved.
+//
+
+#import <UIKit/UIKit.h>
+#import "HJLabelTextFieldView.h"
+#import "HJAuthUploadImageView.h"
+
+NS_ASSUME_NONNULL_BEGIN
+
+@interface HJAuthView : UIView
+
+@property (nonatomic, strong) UIView               *topView;
+@property (nonatomic, strong) UILabel              *promptLabel;
+@property (nonatomic, strong) HJLabelTextFieldView *nameView;
+@property (nonatomic, strong) HJLabelTextFieldView *IDView;
+@property (nonatomic, strong) HJAuthUploadImageView *cardPositiveView;
+@property (nonatomic, strong) HJAuthUploadImageView *cardReverseView;
+
+@property (nonatomic, strong) UIView                *bottomView;
+@property (nonatomic, strong) UIButton              *applyButton;
+
+@end
+
+NS_ASSUME_NONNULL_END

+ 178 - 0
HappyJob/HappyJob/CClass/Me_我/Auth_实名认证/View/HJAuthView.m

@@ -0,0 +1,178 @@
+//
+//  HJAuthView.m
+//  HappyJob
+//
+//  Created by 张晓光 on 2021/6/4.
+//  Copyright © 2021 Bob. All rights reserved.
+//
+
+#import "HJAuthView.h"
+
+@implementation HJAuthView
+
+- (instancetype)initWithFrame:(CGRect)frame {
+    
+    if (self = [super initWithFrame:frame])
+    {
+        self.backgroundColor = COLOR_F5F5F5;
+        [self makeConstraints];
+    }
+    return self;
+}
+
+#pragma mark -- 布局
+
+- (void)makeConstraints {
+    
+    [self addSubview:self.topView];
+    [self.topView addSubview:self.promptLabel];
+    [self.topView addSubview:self.cardPositiveView];
+    [self.topView addSubview:self.cardReverseView];
+    [self addSubview:self.nameView];
+    [self addSubview:self.IDView];
+    [self addSubview:self.bottomView];
+    [self.bottomView addSubview:self.applyButton];
+    
+    [self.topView mas_makeConstraints:^(MASConstraintMaker *make) {
+       
+        make.left.top.right.equalTo(self).offset(0);
+    }];
+    [self.promptLabel mas_makeConstraints:^(MASConstraintMaker *make) {
+            
+        make.left.top.right.equalTo(self.topView).offset(0);
+        make.height.mas_equalTo(40);
+    }];
+    NSArray *IDArray = @[self.cardPositiveView,self.cardReverseView];
+    [IDArray mas_distributeViewsAlongAxis:MASAxisTypeHorizontal withFixedSpacing:25 leadSpacing:15 tailSpacing:15];
+    [IDArray mas_makeConstraints:^(MASConstraintMaker *make) {
+       
+        make.top.equalTo(self.promptLabel.mas_bottom).offset(28);
+        make.bottom.equalTo(self.topView.mas_bottom).offset(-28);
+    }];
+    
+    [self.nameView mas_makeConstraints:^(MASConstraintMaker *make) {
+           
+        make.left.right.equalTo(self).offset(0);
+        make.top.equalTo(self.topView.mas_bottom).offset(10);
+        make.height.mas_equalTo(60);
+    }];
+    [self.IDView mas_makeConstraints:^(MASConstraintMaker *make) {
+            
+        make.left.right.equalTo(self).offset(0);
+        make.top.equalTo(self.nameView.mas_bottom).offset(0);
+        make.height.mas_equalTo(60);
+    }];
+    [self.bottomView mas_makeConstraints:^(MASConstraintMaker *make) {
+       
+        make.left.bottom.right.equalTo(self).offset(0);
+        make.height.mas_equalTo(64);
+    }];
+    [self.applyButton mas_makeConstraints:^(MASConstraintMaker *make) {
+       
+        make.centerY.equalTo(self.bottomView);
+        make.left.equalTo(self.bottomView).offset(15);
+        make.right.equalTo(self.bottomView).offset(-15);
+        make.height.mas_equalTo(44);
+    }];
+    
+    self.IDView.hidden = YES;
+    self.nameView.hidden = YES;
+}
+
+#pragma mark -- lazy
+
+- (UIView *)topView {
+    
+    if (_topView == nil)
+    {
+        _topView = [[UIView alloc] init];
+        _topView.backgroundColor = [UIColor whiteColor];
+    }
+    return _topView;
+}
+- (UILabel *)promptLabel {
+    
+    if (_promptLabel == nil)
+    {
+        _promptLabel = [[UILabel alloc] init];
+        _promptLabel.text = @"为了您的账户及资金安全,请上传本人真实身份证照片!";
+        _promptLabel.font = [UIFont systemFontOfSize:13];
+        _promptLabel.textColor = [UIColor colorFromHexString:@"FF6300"];
+        _promptLabel.backgroundColor = [UIColor colorFromHexString:@"FFEBE3"];
+        _promptLabel.textAlignment = NSTextAlignmentCenter;
+    }
+    return _promptLabel;
+}
+- (HJLabelTextFieldView *)nameView {
+    
+    if (_nameView == nil)
+    {
+        _nameView = [[HJLabelTextFieldView alloc] init];
+        _nameView.titleLabel.text = @"姓名:";
+        _nameView.contentTextField.placeholder = @"请输入真实姓名";
+        _nameView.hiddenRightImageV = YES;
+        _nameView.contentTextField.userInteractionEnabled = NO;
+        _nameView.contentTextField.textColor = [UIColor colorFromHexString:@"AAAAAA"];
+
+    }
+    return _nameView;
+}
+- (HJLabelTextFieldView *)IDView {
+    
+    if (_IDView == nil)
+    {
+        _IDView = [[HJLabelTextFieldView alloc] init];
+        _IDView.titleLabel.text = @"证件号码:";
+        _IDView.contentTextField.placeholder = @"请输入证件号码";
+        _IDView.hiddenRightImageV = YES;
+        _IDView.contentTextField.userInteractionEnabled = NO;
+        _IDView.contentTextField.textColor = [UIColor colorFromHexString:@"AAAAAA"];
+    }
+    return _IDView;
+}
+- (HJAuthUploadImageView *)cardPositiveView {
+    
+    if (_cardPositiveView == nil)
+    {
+        _cardPositiveView = [[HJAuthUploadImageView alloc] init];
+        _cardPositiveView.pictureImageV.image = [UIImage imageNamed:@"auth_card_foreground"];
+        [_cardPositiveView.titleLabel setTitle:@"身份证正面" forState:UIControlStateNormal];
+    }
+    return _cardPositiveView;
+}
+- (HJAuthUploadImageView *)cardReverseView {
+    
+    if (_cardReverseView == nil)
+    {
+        _cardReverseView = [[HJAuthUploadImageView alloc] init];
+        _cardReverseView.pictureImageV.image = [UIImage imageNamed:@"auth_card_background"];
+        [_cardReverseView.titleLabel setTitle:@"身份证背面" forState:UIControlStateNormal];
+    }
+    return _cardReverseView;
+}
+- (UIView *)bottomView {
+    
+    if (_bottomView == nil)
+    {
+        _bottomView = [[UIView alloc] init];
+        _bottomView.backgroundColor = [UIColor whiteColor];
+    }
+    return _bottomView;
+}
+- (UIButton *)applyButton {
+    
+    if (_applyButton == nil)
+    {
+        _applyButton = [UIButton buttonWithType:UIButtonTypeCustom];
+        [_applyButton setTitle:@"提交认证" forState:UIControlStateNormal];
+        _applyButton.titleLabel.font = [UIFont boldSystemFontOfSize:17];
+//        _applyButton.userInteractionEnabled = NO;
+        _applyButton.backgroundColor = [UIColor colorFromHexString:@"0177FF" Alpha:0.5];
+        _applyButton.layer.cornerRadius = 5;
+        _applyButton.layer.masksToBounds = YES;
+    }
+    return _applyButton;
+}
+
+
+@end

+ 0 - 385
HappyJob/HappyJob/CClass/Me_我/Auth_实名认证/ViewController/HJAuthViewController.m

@@ -1,385 +0,0 @@
-//
-//  HJAuthViewController.m
-//  HappyJob
-//
-//  Created by Bob on 2019/4/19.
-//  Copyright © 2019 Bob. All rights reserved.
-//
-
-#import "HJAuthViewController.h"
-#import "HJLabelTextFieldView.h"
-#import "HJAuthUploadImageView.h"
-#import "UIViewController+FBImagePicker.h"
-#import "HJRealApproveAPIManager.h"
-#import "HJMeDataBox.h"
-#import "HJAuthingViewController.h"
-#import "HJAuthIDCardErrorView.h"
-
-@interface HJAuthViewController ()
-<
-FBScrollLayoutViewDelegate,
-UIImagePickerControllerDelegate,
-UINavigationControllerDelegate,
-FBAPIManagerDelegate,
-FBAPIManagerInterceptor
->
-
-@property (nonatomic, strong) FBScrollLayoutView   *scrollLayoutView;
-@property (nonatomic, strong) UILabel              *promptLabel;
-@property (nonatomic, strong) HJLabelTextFieldView *nameView;
-@property (nonatomic, strong) HJLabelTextFieldView *IDView;
-@property (nonatomic, strong) HJAuthUploadImageView *cardPositiveView;
-@property (nonatomic, strong) HJAuthUploadImageView *cardReverseView;
-@property (nonatomic, strong) UIButton              *applyButton;
-@property (nonatomic, strong) UIButton              *IDCardButton;
-@property (nonatomic, strong) HJMeDataBox             *dataBox;
-@property (nonatomic, strong) HJRealApproveAPIManager *realApproveAPIManager;
-
-@end
-
-@implementation HJAuthViewController
-
-
-#pragma mark - life cycle
-
-- (void)viewWillAppear:(BOOL)animated {
-    
-    [super viewWillAppear:animated];
-    [self hj_setupNavBar];
-}
-- (void)viewDidLoad {
-    
-    [super viewDidLoad];
-    
-    self.title = @"实名认证";
-    self.view.backgroundColor = [UIColor whiteColor];
-    [self.view addSubview:self.scrollLayoutView];
-    [self.scrollLayoutView.contentView addSubview:self.promptLabel];
-    [self.scrollLayoutView.contentView addSubview:self.nameView];
-    [self.scrollLayoutView.contentView addSubview:self.IDView];
-    [self.scrollLayoutView.contentView addSubview:self.cardPositiveView];
-    [self.scrollLayoutView.contentView addSubview:self.cardReverseView];
-    [self.scrollLayoutView.footerView addSubview:self.applyButton];
-    [self.scrollLayoutView makeConstraints];
-}
-#pragma mark - FBAPIManagerInterceptor
-
-- (BOOL)manager:(FBBaseAPIManager *)manager shouldStartCallAPIWithParams:(NSDictionary *)params {
-    
-    [self.view fb_showLoading];
-    return YES;
-}
-
-- (void)managerShouldFinishCallAPI:(FBBaseAPIManager *)manager {
-    
-    [self.view fb_dismiss];
-}
-#pragma mark - FBAPIManagerDelegate
-
-- (void)managerCallAPIDidSuccess:(FBBaseAPIManager *)manager {
-    
-    if (manager == self.realApproveAPIManager)
-    {
-        //发送通知在(我的页面接受)
-        [[NSNotificationCenter defaultCenter] postNotificationName:HJRealNameAuthenticationNotification object:nil];
-        
-        id fetchData = [manager fetchDataWithBox:self.dataBox];
-        
-        if ([fetchData isKindOfClass:[NSString class]])
-        {
-            [self.view fb_showSuccessWithStatus:fetchData completion:^{
-                
-                HJAuthingViewController *vc = [[HJAuthingViewController alloc]init];
-                vc.type = HJAuthTypeClockIn;
-                [self.navigationController pushViewController:vc animated:YES];
-                
-            }];
-        }
-    }
-}
-
-- (void)managerCallAPIDidFailed:(FBBaseAPIManager *)manager {
-    
-    if (manager == self.realApproveAPIManager)
-    {
-        id fetchData = [manager fetchDataWithBox:self.dataBox];
-        if ([fetchData isKindOfClass:[NSString class]])
-        {
-            [self.view fb_showFailureWithStatus:fetchData];
-        }
-    }
-    
-    id errorData = [manager fetchDataWithBox:nil];
-    if ([errorData[@"errcode"] integerValue] == 2100)
-    {
-        HJAuthIDCardErrorView *errorView = [[HJAuthIDCardErrorView alloc] init];
-        [errorView makeConstraintsSubViews];
-    }
-}
-
-#pragma mark - FBScrollLayoutViewDelegate
-
-- (void)scrollLayoutViewMakeConstraints:(FBScrollLayoutView *)scrollLayoutView {
-    
-    [scrollLayoutView mas_makeConstraints:^(MASConstraintMaker *make) {
-       
-        make.left.top.right.equalTo(self.view);
-        make.bottom.equalTo(self.mas_bottomLayoutGuide);
-    }];
-}
-
-- (void)subviewsMakeConstraintsInScrollLayoutView:(FBScrollLayoutView *)scrollLayoutView contentView:(UIView *)contentView {
-    
-    [self.promptLabel mas_makeConstraints:^(MASConstraintMaker *make) {
-       
-        make.left.top.right.equalTo(contentView).offset(0);
-        make.height.mas_equalTo(40);
-    }];
-    [self.nameView mas_makeConstraints:^(MASConstraintMaker *make) {
-       
-        make.top.equalTo(self.promptLabel.mas_bottom).offset(0);
-        make.left.right.equalTo(contentView).offset(0);
-        make.height.mas_equalTo(58);
-    }];
-    [self.IDView mas_makeConstraints:^(MASConstraintMaker *make) {
-        
-        make.top.equalTo(self.nameView.mas_bottom).offset(0);
-        make.left.right.equalTo(contentView).offset(0);
-        make.height.mas_equalTo(58);
-    }];
-    [self.cardPositiveView mas_makeConstraints:^(MASConstraintMaker *make) {
-        
-        make.top.equalTo(self.IDView.mas_bottom).offset(30);
-        make.left.equalTo(contentView).offset(30);
-        make.right.equalTo(contentView).offset(-30);
-        make.height.mas_equalTo(180);
-    }];
-    [self.cardReverseView mas_makeConstraints:^(MASConstraintMaker *make) {
-        
-        make.top.equalTo(self.cardPositiveView.mas_bottom).offset(30);
-        make.left.equalTo(contentView).offset(30);
-        make.right.equalTo(contentView).offset(-30);
-        make.height.mas_equalTo(180);
-    }];
-    [contentView mas_makeConstraints:^(MASConstraintMaker *make) {
-        make.bottom.equalTo(self.cardReverseView.mas_bottom).with.offset(30);
-    }];
-}
-
-- (void)subviewsMakeConstraintsInScrollLayoutView:(FBScrollLayoutView *)scrollLayoutView footerView:(UIView *)footerView {
-    
-    [footerView mas_makeConstraints:^(MASConstraintMaker *make) {
-        make.height.mas_equalTo(86);
-    }];
-    [self.applyButton mas_makeConstraints:^(MASConstraintMaker *make) {
-        make.edges.equalTo(footerView).with.insets(UIEdgeInsetsMake(18, 15, 18, 15));
-    }];
-}
-#pragma mark - UIImagePickerControllerDelegate
-
-- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info {
-    
-    NSString *type = [info objectForKey:UIImagePickerControllerMediaType];
-    //当选择的类型是图片
-    if ([type isEqualToString:@"public.image"])
-    {
-        //先把图片转成NSData
-        UIImage *image = [info objectForKey:@"UIImagePickerControllerOriginalImage"];
-        
-        if (self.IDCardButton == self.cardPositiveView.aboveButton)
-        {
-            self.realApproveAPIManager.cardFrontImage = image;
-            self.cardPositiveView.pictureImageV.image = image;
-            [self.cardPositiveView.aboveButton setImage:[UIImage imageNamed:@"auth_card_change"] forState:UIControlStateNormal];
-        }
-        if (self.IDCardButton == self.cardReverseView.aboveButton)
-        {
-            self.realApproveAPIManager.cardBackImage = image;
-            self.cardReverseView.pictureImageV.image = image;
-            [self.cardReverseView.aboveButton setImage:[UIImage imageNamed:@"auth_card_change"] forState:UIControlStateNormal];
-        }
-        [self changeApplyButtonColor];
-        //关闭相册界面
-        [self dismissViewControllerAnimated:YES completion:^{
-            self.IDCardButton = nil;
-        }];
-    }
-}
-
-- (void)imagePickerControllerDidCancel:(UIImagePickerController *)picker {
-    
-    [self dismissViewControllerAnimated:YES completion:^{
-        
-        self.IDCardButton = nil;
-    }];
-}
-- (void)changeApplyButtonColor {
-    
-    if (self.IDView.contentTextField.text != nil && self.IDView.contentTextField.text.length == 18 && self.cardPositiveView.pictureImageV.image != nil && self.cardReverseView.pictureImageV.image != nil)
-    {
-        self.applyButton.userInteractionEnabled = YES;
-        self.applyButton.backgroundColor = COLOR_0177FF;
-    }
-    else
-    {
-        _applyButton.userInteractionEnabled = NO;
-        _applyButton.backgroundColor = [UIColor colorFromHexString:@"0177FF" Alpha:0.5];
-    }
-    
-}
-#pragma mark - event response
-
-/* 正反面 */
-- (void)openImagePicker:(UIButton *)btn {
-    
-    self.IDCardButton = btn;
-    
-    [self fb_openImagePickerWithPhotoHandler:^(UIImagePickerController * _Nonnull imagePicker) {
-        
-        imagePicker.delegate = self;
-        
-    } cameraHandler:^(UIImagePickerController * _Nonnull imagePicker) {
-        
-        imagePicker.delegate = self;
-        
-    } cancelHandler:^{
-        
-        self.IDCardButton = nil;
-    }];
-}
-
-- (void)contentTextFieldClick {
-    
-    [self changeApplyButtonColor];
-}
-
-/* 同意并上传  */
-- (void)applyButtonClicked {
-    
-    if ([self RDValidationExpressionVerify:self.IDView.contentTextField.text])
-    {
-        self.realApproveAPIManager.realName = self.nameView.contentTextField.text;
-        self.realApproveAPIManager.cardNumber = self.IDView.contentTextField.text;
-        [self.realApproveAPIManager start];
-    }
-    else
-    {
-        [self.view fb_showInfoWithStatus:@"请填写正确身份证号码"];
-    }
-}
-/* 身份证正则 */
--(BOOL)RDValidationExpressionVerify:(NSString *)String{
-    
-   NSString *expression = @"^[1-9]\\d{5}(18|19|([23]\\d))\\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\\d{3}[0-9Xx]$";
-    
-    NSPredicate *predicate = [NSPredicate predicateWithFormat:@"SELF MATCHES %@",expression];
-    
-    return [predicate evaluateWithObject:String];
-}
-
-#pragma mark - setter and getter
-
-- (HJMeDataBox *)dataBox {
-    
-    if (_dataBox == nil)
-    {
-        _dataBox = [[HJMeDataBox alloc] init];
-    }
-    return _dataBox;
-}
-
-- (HJRealApproveAPIManager *)realApproveAPIManager {
-    
-    if (_realApproveAPIManager == nil)
-    {
-        _realApproveAPIManager = [[HJRealApproveAPIManager alloc] init];
-        _realApproveAPIManager.APIManagerDelegate = self;
-        _realApproveAPIManager.APIManagerInterceptor = self;
-    }
-    return _realApproveAPIManager;
-}
-
-- (FBScrollLayoutView *)scrollLayoutView {
-    
-    if (_scrollLayoutView == nil)
-    {
-        _scrollLayoutView = [[FBScrollLayoutView alloc] init];
-        _scrollLayoutView.delegate = self;
-    }
-    return _scrollLayoutView;
-}
-- (UILabel *)promptLabel {
-    
-    if (_promptLabel == nil)
-    {
-        _promptLabel = [[UILabel alloc] init];
-        _promptLabel.text = @"为确保您账户的安全,请确认上传您的真实信息";
-        _promptLabel.font = [UIFont boldSystemFontOfSize:13];
-        _promptLabel.textColor = [UIColor whiteColor];
-        _promptLabel.backgroundColor = COLOR_0177FF;
-        _promptLabel.textAlignment = NSTextAlignmentCenter;
-    }
-    return _promptLabel;
-}
-- (HJLabelTextFieldView *)nameView {
-    
-    if (_nameView == nil)
-    {
-        _nameView = [[HJLabelTextFieldView alloc] init];
-        _nameView.titleLabel.text = @"姓名:";
-        _nameView.contentTextField.placeholder = @"请输入真实姓名";
-        _nameView.hiddenRightImageV = YES;
-        [_nameView.contentTextField addTarget:self action:@selector(contentTextFieldClick) forControlEvents:UIControlEventEditingChanged];
-    }
-    return _nameView;
-}
-- (HJLabelTextFieldView *)IDView {
-    
-    if (_IDView == nil)
-    {
-        _IDView = [[HJLabelTextFieldView alloc] init];
-        _IDView.titleLabel.text = @"证件号码:";
-        _IDView.contentTextField.placeholder = @"请输入证件号码";
-        _IDView.hiddenRightImageV = YES;
-        [_IDView.contentTextField addTarget:self action:@selector(contentTextFieldClick) forControlEvents:UIControlEventEditingChanged];
-    }
-    return _IDView;
-}
-- (HJAuthUploadImageView *)cardPositiveView {
-    
-    if (_cardPositiveView == nil)
-    {
-        _cardPositiveView = [[HJAuthUploadImageView alloc] init];
-        [_cardPositiveView.aboveButton setImage:[UIImage imageNamed:@"auth_card_foreground"] forState:UIControlStateNormal];
-        [_cardPositiveView.aboveButton addTarget:self action:@selector(openImagePicker:) forControlEvents:UIControlEventTouchUpInside];
-    }
-    return _cardPositiveView;
-}
-- (HJAuthUploadImageView *)cardReverseView {
-    
-    if (_cardReverseView == nil)
-    {
-        _cardReverseView = [[HJAuthUploadImageView alloc] init];
-        [_cardReverseView.aboveButton setImage:[UIImage imageNamed:@"auth_card_background"] forState:UIControlStateNormal];
-        [_cardReverseView.aboveButton addTarget:self action:@selector(openImagePicker:) forControlEvents:UIControlEventTouchUpInside];
-    }
-    return _cardReverseView;
-}
-
-- (UIButton *)applyButton {
-    
-    if (_applyButton == nil)
-    {
-        _applyButton = [UIButton buttonWithType:UIButtonTypeCustom];
-        [_applyButton setTitle:@"同意并上传" forState:UIControlStateNormal];
-        _applyButton.titleLabel.font = [UIFont boldSystemFontOfSize:17];
-        [_applyButton addTarget:self action:@selector(applyButtonClicked) forControlEvents:UIControlEventTouchUpInside];
-        _applyButton.userInteractionEnabled = NO;
-        _applyButton.backgroundColor = [UIColor colorFromHexString:@"0177FF" Alpha:0.5];
-        _applyButton.layer.cornerRadius = 5;
-        _applyButton.layer.masksToBounds = YES;
-    }
-    return _applyButton;
-}
-
-@end

+ 305 - 0
HappyJob/HappyJob/CClass/Me_我/Auth_实名认证/ViewController/HJAuthViewController.mm

@@ -0,0 +1,305 @@
+//
+//  HJAuthViewController.m
+//  HappyJob
+//
+//  Created by Bob on 2019/4/19.
+//  Copyright © 2019 Bob. All rights reserved.
+//
+
+#import "HJAuthViewController.h"
+#import "HJAuthView.h"
+#import "UIViewController+FBImagePicker.h"
+#import "HJRealApproveAPIManager.h"
+#import "HJMeDataBox.h"
+#import "HJAuthingViewController.h"
+#import "HJAuthIDCardErrorView.h"
+#import <OcrSDKKit/OcrSDKKit.h>
+#import <OcrSDKKit/OcrSDKConfig.h>
+#import "HJAuthOCRAPI.h"
+
+//static NSString *SECRET_ID = @"AKIDIH5dojPtDG2btwvfKiodAPxDfRvwR7FD";
+//static NSString *SECRET_KEY = @"ulOiodBRYO2SaT52h8HDrDeXYJm0xlQN";
+
+@interface HJAuthViewController ()
+<
+FBAPIManagerDelegate,
+FBAPIManagerInterceptor
+>
+
+@property (nonatomic, strong) HJAuthView              *authView;
+@property (nonatomic, strong) HJMeDataBox             *dataBox;
+@property (nonatomic, strong) HJRealApproveAPIManager *realApproveAPIManager;
+@property (nonatomic, strong) HJAuthOCRAPI            *ocrAPI;
+@property (nonatomic, strong) OcrSDKKit               *ocrSDKKit;
+@property (nonatomic, strong) NSString                *SECRET_ID;
+@property (nonatomic, strong) NSString                *SECRET_KEY;
+
+
+@end
+
+@implementation HJAuthViewController
+
+
+#pragma mark - life cycle
+
+- (void)dealloc {
+    
+//    [OcrSDKKit clearInstance];
+}
+
+- (void)viewWillAppear:(BOOL)animated {
+    
+    [super viewWillAppear:animated];
+    [self hj_setupNavBar];
+}
+- (void)viewDidLoad {
+    
+    [super viewDidLoad];
+    
+    self.title = @"实名认证";
+    self.view.backgroundColor = [UIColor whiteColor];
+    [self makeConstraints];
+    [self.ocrAPI start];
+}
+
+- (void)OCRSDKAppConfig {
+    
+    self.ocrSDKKit = [OcrSDKKit sharedInstance];
+    /*!
+     * OCR 配置类:
+     * ocrModeType: 检测类型 0 手动拍摄 1 自动识别卡片
+     */
+    OcrSDKConfig *ocrSDKConfig = [[OcrSDKConfig alloc] init];
+    OcrModeType selfOcrModel = OCR_DETECT_MANUAL;//OCR_DETECT_AUTO_MANUAL
+    ocrSDKConfig.ocrModeType = selfOcrModel;
+    [self.ocrSDKKit loadSDKConfigWithSecretId:self.SECRET_ID withSecretKey:self.SECRET_KEY withConfig:ocrSDKConfig];
+}
+
+#pragma mark - FBAPIManagerInterceptor
+
+- (BOOL)manager:(FBBaseAPIManager *)manager shouldStartCallAPIWithParams:(NSDictionary *)params {
+    
+    [self.view fb_showLoading];
+    return YES;
+}
+
+- (void)managerShouldFinishCallAPI:(FBBaseAPIManager *)manager {
+    
+    [self.view fb_dismiss];
+}
+#pragma mark - FBAPIManagerDelegate
+
+- (void)managerCallAPIDidSuccess:(FBBaseAPIManager *)manager {
+    
+    [self.view dismissErrorView];
+    if (manager == self.ocrAPI)
+    {
+        id fetchData = [manager fetchDataWithBox:self.dataBox];
+        self.SECRET_ID = fetchData[@"data"][@"secretId"];
+        self.SECRET_KEY = fetchData[@"data"][@"secretKey"];
+        if (self.SECRET_KEY.length > 0 && self.SECRET_ID.length > 0 )
+        {
+            [self OCRSDKAppConfig];
+        }
+        else
+        {
+            [self.view fb_showFailureWithStatus:@"OCR配置错误"];
+            [self.view showErrorView];
+            [self.view.errorView.refreshButton addTarget:self action:@selector(refreshButtonAction:) forControlEvents:UIControlEventTouchUpInside];
+        }
+    }
+    if (manager == self.realApproveAPIManager)
+    {
+        //发送通知在(我的页面接受)
+        [[NSNotificationCenter defaultCenter] postNotificationName:HJRealNameAuthenticationNotification object:nil];
+        
+        id fetchData = [manager fetchDataWithBox:self.dataBox];
+        
+        if ([fetchData isKindOfClass:[NSString class]])
+        {
+            [self.view fb_showSuccessWithStatus:fetchData completion:^{
+                
+                HJAuthingViewController *vc = [[HJAuthingViewController alloc]init];
+                if (self.type == HJAuthTypeClockIn)
+                {
+                    vc.type = HJAuthBackTypeClockIn;
+                }
+                else
+                {
+                    vc.type = HJAuthBackTypePersonalCenter;
+                }
+                [self.navigationController pushViewController:vc animated:YES];
+            }];
+        }
+    }
+}
+
+- (void)managerCallAPIDidFailed:(FBBaseAPIManager *)manager {
+    
+    if (manager == self.realApproveAPIManager)
+    {
+        id fetchData = [manager fetchDataWithBox:self.dataBox];
+        if ([fetchData isKindOfClass:[NSString class]])
+        {
+            [self.view fb_showFailureWithStatus:fetchData];
+        }
+    }
+    
+    if (manager == self.ocrAPI)
+    {
+        [self.view showErrorView];
+        [self.view.errorView.refreshButton addTarget:self action:@selector(refreshButtonAction:) forControlEvents:UIControlEventTouchUpInside];
+    }
+    
+    id errorData = [manager fetchDataWithBox:nil];
+    if ([errorData[@"errcode"] integerValue] == 2100)
+    {
+        HJAuthIDCardErrorView *errorView = [[HJAuthIDCardErrorView alloc] init];
+        [errorView makeConstraintsSubViews];
+    }
+}
+
+#pragma mark - event response
+/* 错误刷新 */
+- (void)refreshButtonAction:(UIButton *)btn {
+    
+    [self.ocrAPI start];
+}
+- (void)cardPositiveView:(UIButton *)btn {
+    
+    __weak typeof(self) weakSelf = self;
+    CustomConfigUI *ocrUIConfig = [[CustomConfigUI alloc] init];
+    ocrUIConfig.remindConfirmColor = [UIColor blueColor];
+    ocrUIConfig.isShowAlbumBtn = YES;
+    [self.ocrSDKKit startProcessOcr:IDCardOCR_FRONT withSDKUIConfig:ocrUIConfig withProcessSucceedBlock:^(id  _Nonnull resultInfo, UIImage *resultImage, id  _Nonnull reserved) {
+        
+//        NSLog(@"resultInfo ::: %@",resultInfo);
+        weakSelf.authView.cardPositiveView.pictureImageV.image = resultImage;
+        weakSelf.realApproveAPIManager.cardFrontImage = resultImage;
+        weakSelf.realApproveAPIManager.realName = resultInfo[@"Name"];
+        weakSelf.realApproveAPIManager.cardNumber = resultInfo[@"IdNum"];
+        weakSelf.realApproveAPIManager.nation = resultInfo[@"Nation"];
+        
+        weakSelf.authView.nameView.contentTextField.text = resultInfo[@"Name"];
+        weakSelf.authView.IDView.contentTextField.text = resultInfo[@"IdNum"];
+        [weakSelf.authView.cardPositiveView.titleLabel setImage:[UIImage imageNamed:@"clockIn_state_complete"] forState:UIControlStateNormal];
+        [weakSelf.authView.cardPositiveView.titleLabel layoutButtonWithEdgeInsetsStyle:MKButtonEdgeInsetsStyleRight imageTitleSpace:5];
+        
+        [weakSelf changeApplyButtonColor];
+        weakSelf.authView.IDView.hidden = NO;
+        weakSelf.authView.nameView.hidden = NO;
+        
+    } withProcessFailedBlock:^(NSError * _Nonnull error, id  _Nullable reserved) {
+        
+        [weakSelf.authView.cardPositiveView.titleLabel setImage:[UIImage imageNamed:@"clockIn_state_warning"] forState:UIControlStateNormal];
+        [weakSelf.authView.cardPositiveView.titleLabel layoutButtonWithEdgeInsetsStyle:MKButtonEdgeInsetsStyleRight imageTitleSpace:5];
+        [self.view fb_showFailureWithStatus:[error.userInfo objectForKey:NSLocalizedDescriptionKey]];
+    }];
+}
+
+- (void)cardReverseView:(UIButton *)btn {
+    
+    __weak typeof(self) weakSelf = self;
+    [self.ocrSDKKit startProcessOcr:IDCardOCR_BACK  withSDKUIConfig:nil withProcessSucceedBlock:^(id  _Nonnull resultInfo, UIImage *resultImage, id  _Nonnull reserved) {
+        
+//        weakSelf.realApproveAPIManager.cardFrontImage = resultImage;
+        
+        weakSelf.authView.cardReverseView.pictureImageV.image = resultImage;
+        weakSelf.realApproveAPIManager.cardBackImage = resultImage;
+        [weakSelf.authView.cardReverseView.titleLabel setImage:[UIImage imageNamed:@"clockIn_state_complete"] forState:UIControlStateNormal];
+        [weakSelf.authView.cardReverseView.titleLabel layoutButtonWithEdgeInsetsStyle:MKButtonEdgeInsetsStyleRight imageTitleSpace:5];
+        
+        [weakSelf changeApplyButtonColor];
+        
+    } withProcessFailedBlock:^(NSError * _Nonnull error, id  _Nullable reserved) {
+
+        [weakSelf.authView.cardReverseView.titleLabel setImage:[UIImage imageNamed:@"clockIn_state_warning"] forState:UIControlStateNormal];
+        [weakSelf.authView.cardReverseView.titleLabel layoutButtonWithEdgeInsetsStyle:MKButtonEdgeInsetsStyleRight imageTitleSpace:5];
+        [self.view fb_showFailureWithStatus:[error.userInfo objectForKey:NSLocalizedDescriptionKey]];
+        
+    }];
+    
+}
+
+/* 同意并上传  */
+- (void)applyButtonClicked {
+
+    [self.realApproveAPIManager start];
+}
+/* 身份证正则 */
+-(BOOL)RDValidationExpressionVerify:(NSString *)String{
+    
+   NSString *expression = @"^[1-9]\\d{5}(18|19|([23]\\d))\\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\\d{3}[0-9Xx]$";
+    
+    NSPredicate *predicate = [NSPredicate predicateWithFormat:@"SELF MATCHES %@",expression];
+    
+    return [predicate evaluateWithObject:String];
+}
+/* 颜色改变 */
+- (void)changeApplyButtonColor {
+    
+    if (self.realApproveAPIManager.cardFrontImage != nil && self.realApproveAPIManager.cardBackImage != nil)
+    {
+        self.authView.applyButton.userInteractionEnabled = YES;
+        self.authView.applyButton.backgroundColor = COLOR_0177FF;
+    }
+    else
+    {
+        self.authView.applyButton.userInteractionEnabled = NO;
+        self.authView.applyButton.backgroundColor = [UIColor colorFromHexString:@"0177FF" Alpha:0.5];
+    }
+}
+
+#pragma mark -- 布局
+- (void)makeConstraints {
+    
+    [self.view addSubview:self.authView];
+    [self.authView mas_makeConstraints:^(MASConstraintMaker *make) {
+       
+        make.left.top.right.bottom.equalTo(self.view).offset(0);
+    }];
+}
+
+#pragma mark - setter and getter
+
+- (HJMeDataBox *)dataBox {
+    
+    if (_dataBox == nil)
+    {
+        _dataBox = [[HJMeDataBox alloc] init];
+    }
+    return _dataBox;
+}
+- (HJAuthOCRAPI *)ocrAPI {
+    
+    if (_ocrAPI == nil)
+    {
+        _ocrAPI = [[HJAuthOCRAPI alloc] init];
+        _ocrAPI.APIManagerDelegate = self;
+        _ocrAPI.APIManagerInterceptor = self;
+    }
+    return _ocrAPI;
+}
+- (HJRealApproveAPIManager *)realApproveAPIManager {
+    
+    if (_realApproveAPIManager == nil)
+    {
+        _realApproveAPIManager = [[HJRealApproveAPIManager alloc] init];
+        _realApproveAPIManager.APIManagerDelegate = self;
+        _realApproveAPIManager.APIManagerInterceptor = self;
+    }
+    return _realApproveAPIManager;
+}
+- (HJAuthView *)authView {
+    
+    if (_authView == nil)
+    {
+        _authView = [[HJAuthView alloc] init];
+        [_authView.cardPositiveView.aboveButton addTarget:self action:@selector(cardPositiveView:) forControlEvents:UIControlEventTouchUpInside];
+        [_authView.cardReverseView.aboveButton addTarget:self action:@selector(cardReverseView:) forControlEvents:UIControlEventTouchUpInside];
+        [_authView.applyButton addTarget:self action:@selector(applyButtonClicked) forControlEvents:UIControlEventTouchUpInside];
+    }
+    return _authView;
+}
+
+@end

+ 10 - 10
HappyJob/HappyJob/CClass/Me_我/Auth_实名认证/ViewController/HJAuthingViewController.m

@@ -27,8 +27,8 @@
     
     [super viewWillAppear:animated];
     [self.navigationController setNavigationBarHidden:NO animated:YES];
-    
 }
+
 - (void)viewDidLoad {
     [super viewDidLoad];
     
@@ -52,7 +52,6 @@
      [self.bgView addSubview:self.label];
      [self.view addSubview:self.doneBtn];
      
-
      [self.bgView mas_makeConstraints:^(MASConstraintMaker *make) {
          
          make.center.equalTo(self.view);
@@ -84,16 +83,17 @@
      self.navigationController.delegate = self;
      self.navigationController.interactivePopGestureRecognizer.delegate = self;
 }
+
 #pragma mark - 导航栏的代理
 
 - (void)navigationController:(UINavigationController *)navigationController willShowViewController:(UIViewController *)viewController animated:(BOOL)animated {
   
-    UIViewController *root = navigationController.viewControllers[0];
-    if (root != viewController)
-    {
-        UIBarButtonItem *itemleft = [[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"navbar_back_white"] style:UIBarButtonItemStylePlain target:self action:@selector(backClick)];
-        viewController.navigationItem.leftBarButtonItem = itemleft;
-    }
+//    UIViewController *root = navigationController.viewControllers[0];
+//    if (root != viewController)
+//    {
+//        UIBarButtonItem *itemleft = [[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"navbar_back_white"] style:UIBarButtonItemStylePlain target:self action:@selector(backClick)];
+//        viewController.navigationItem.leftBarButtonItem = itemleft;
+//    }
 }
 
 #pragma mark - event response
@@ -128,7 +128,7 @@
     if (_titleLabel == nil)
     {
         _titleLabel = [[UILabel alloc] init];
-        _titleLabel.text = @"实名认证提交成功";
+        _titleLabel.text = @"您的实名认证已通过";
         _titleLabel.font = [UIFont boldSystemFontOfSize:21];
     }
     return _titleLabel;
@@ -138,7 +138,7 @@
     if (_label == nil)
     {
         _label = [[UILabel alloc]init];
-        _label.text = @"我们会尽快审核,请您耐心等待";
+        _label.text = @"如果实名信息有误,\n 请联系开心客服帮您处理!";
         _label.font = [UIFont systemFontOfSize:14];
         _label.textColor = COLOR_666666;
         _label.numberOfLines = 0;

+ 6 - 3
HappyJob/HappyJob/CClass/Me_我/MeAPIManager/HJMeDataBox.m

@@ -180,14 +180,17 @@ static NSString * const HJMeCellIdentifier = @"HJMeCustomCell";
     HJUserInfoModel *userInfo = [HJUserInfoModel userInfo];
     HJMemberInfoModel *memberInfo = [HJMemberInfoModel memberInfo];
     
-    self.headerView.profileView.nameLabel.text = userInfo.nickName ? userInfo.nickName  : (memberInfo.realName ? memberInfo.realName : @"开心用户");
+//    self.headerView.profileView.nameLabel.text = userInfo.nickName ? userInfo.nickName  : (memberInfo.realName ? memberInfo.realName : @"开心用户");
+    
+    self.headerView.profileView.nameLabel.text = memberInfo.realName ? memberInfo.realName  : (userInfo.nickName ? userInfo.nickName : @"开心用户");
+    
     if (memberInfo.phone)
     {
         NSString *phone = [memberInfo.phone stringByReplacingCharactersInRange:NSMakeRange(3, 4) withString:@"****"];
         self.headerView.profileView.phoneLabel.text = phone;
     }
-    
-    [self.headerView.profileView.headImageV sd_setImageWithURL:[NSURL URLWithString:userInfo.avatarURL] placeholderImage:[UIImage imageNamed:@"me_portrait_default"]];
+//    NSLog(@"===%@",userInfo.avatarURL);
+    [self.headerView.profileView.headImageV sd_setImageWithURL:[NSURL URLWithString:userInfo.avatarURL] placeholderImage:[UIImage imageNamed:@"me_portrait_default"]];//me_portrait_default
 
     self.headerView.profileView.auth = (memberInfo.authenticationStatus == HJAuthStatusTypeAuthSuccess) ? YES : NO;
     self.headerView.profileView.type = memberInfo.authenticationStatus;

+ 1 - 0
HappyJob/HappyJob/CClass/Me_我/Reward_入职奖励/ViewController/HJReturnFeeDetailViewController.m

@@ -190,6 +190,7 @@ FBAPIManagerInterceptor
     
     NSMutableString *str=[[NSMutableString alloc] initWithFormat:@"telprompt://%@",@"400-692-0099"];
     [[UIApplication sharedApplication] openURL:[NSURL URLWithString:str]];
+//    [[UIApplication sharedApplication] openURL:[NSURL URLWithString:str] options:@{} completionHandler:nil];
 }
 
 /* 确认 */

+ 1 - 0
HappyJob/HappyJob/CClass/Me_我/Setting_设置/ViewController/HJUpdateViewController.m

@@ -77,6 +77,7 @@
 - (void)updateButtonClicked:(UIButton *)sender {
     
     [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"https://itunes.apple.com/cn/app/id1068849473?mt=8"]];
+//    [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"https://itunes.apple.com/cn/app/id1068849473?mt=8"] options:@{} completionHandler:nil];
 }
 
 - (void)cancelButtonClicked:(UIButton *)sender {

+ 0 - 0
HappyJob/HappyJob/CClass/Me_我/ViewController/HJMeViewController.m


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