Browse Source

修改认证流程

Steven 2 years ago
parent
commit
1afa844d43
100 changed files with 1333 additions and 145 deletions
  1. 10 0
      KulexiuForTeacher/KulexiuForTeacher.xcodeproj/project.pbxproj
  2. BIN
      KulexiuForTeacher/KulexiuForTeacher.xcworkspace/xcuserdata/wangzhi.xcuserdatad/UserInterfaceState.xcuserstate
  3. 54 6
      KulexiuForTeacher/KulexiuForTeacher.xcworkspace/xcuserdata/wangzhi.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist
  4. 22 0
      KulexiuForTeacher/KulexiuForTeacher/Assets.xcassets/Home/Income/ai_share.imageset/Contents.json
  5. BIN
      KulexiuForTeacher/KulexiuForTeacher/Assets.xcassets/Home/Income/ai_share.imageset/ai_share@2x.png
  6. BIN
      KulexiuForTeacher/KulexiuForTeacher/Assets.xcassets/Home/Income/ai_share.imageset/ai_share@3x.png
  7. 22 0
      KulexiuForTeacher/KulexiuForTeacher/Assets.xcassets/Home/Income/goods_share.imageset/Contents.json
  8. BIN
      KulexiuForTeacher/KulexiuForTeacher/Assets.xcassets/Home/Income/goods_share.imageset/goods_share@2x.png
  9. BIN
      KulexiuForTeacher/KulexiuForTeacher/Assets.xcassets/Home/Income/goods_share.imageset/goods_share@3x.png
  10. 22 0
      KulexiuForTeacher/KulexiuForTeacher/Assets.xcassets/Home/Income/live_share.imageset/Contents.json
  11. BIN
      KulexiuForTeacher/KulexiuForTeacher/Assets.xcassets/Home/Income/live_share.imageset/live_share@2x.png
  12. BIN
      KulexiuForTeacher/KulexiuForTeacher/Assets.xcassets/Home/Income/live_share.imageset/live_share@3x.png
  13. 22 0
      KulexiuForTeacher/KulexiuForTeacher/Assets.xcassets/Home/Income/music_share.imageset/Contents.json
  14. BIN
      KulexiuForTeacher/KulexiuForTeacher/Assets.xcassets/Home/Income/music_share.imageset/music_share@2x.png
  15. BIN
      KulexiuForTeacher/KulexiuForTeacher/Assets.xcassets/Home/Income/music_share.imageset/music_share@3x.png
  16. 22 0
      KulexiuForTeacher/KulexiuForTeacher/Assets.xcassets/Home/Income/video_share.imageset/Contents.json
  17. BIN
      KulexiuForTeacher/KulexiuForTeacher/Assets.xcassets/Home/Income/video_share.imageset/video_share@2x.png
  18. BIN
      KulexiuForTeacher/KulexiuForTeacher/Assets.xcassets/Home/Income/video_share.imageset/video_share@3x.png
  19. 22 0
      KulexiuForTeacher/KulexiuForTeacher/Assets.xcassets/Home/homeCount_bg.imageset/Contents.json
  20. BIN
      KulexiuForTeacher/KulexiuForTeacher/Assets.xcassets/Home/homeCount_bg.imageset/homeCount_bg@2x.png
  21. BIN
      KulexiuForTeacher/KulexiuForTeacher/Assets.xcassets/Home/homeCount_bg.imageset/homeCount_bg@3x.png
  22. BIN
      KulexiuForTeacher/KulexiuForTeacher/Assets.xcassets/Home/home_bg.imageset/home_bg@2x.png
  23. BIN
      KulexiuForTeacher/KulexiuForTeacher/Assets.xcassets/Home/home_bg.imageset/home_bg@3x.png
  24. BIN
      KulexiuForTeacher/KulexiuForTeacher/Assets.xcassets/Home/home_message.imageset/home_message@2x.png
  25. BIN
      KulexiuForTeacher/KulexiuForTeacher/Assets.xcassets/Home/home_message.imageset/home_message@3x.png
  26. 22 0
      KulexiuForTeacher/KulexiuForTeacher/Assets.xcassets/Home/home_next.imageset/Contents.json
  27. BIN
      KulexiuForTeacher/KulexiuForTeacher/Assets.xcassets/Home/home_next.imageset/home_next@2x.png
  28. BIN
      KulexiuForTeacher/KulexiuForTeacher/Assets.xcassets/Home/home_next.imageset/home_next@3x.png
  29. BIN
      KulexiuForTeacher/KulexiuForTeacher/Assets.xcassets/Home/home_scan.imageset/home_scan@2x.png
  30. BIN
      KulexiuForTeacher/KulexiuForTeacher/Assets.xcassets/Home/home_scan.imageset/home_scan@3x.png
  31. 6 0
      KulexiuForTeacher/KulexiuForTeacher/Assets.xcassets/Home/home_vefi/Contents.json
  32. 22 0
      KulexiuForTeacher/KulexiuForTeacher/Assets.xcassets/Home/home_vefi/mineLive_active.imageset/Contents.json
  33. BIN
      KulexiuForTeacher/KulexiuForTeacher/Assets.xcassets/Home/home_vefi/mineLive_active.imageset/mineLive_active@2x.png
  34. BIN
      KulexiuForTeacher/KulexiuForTeacher/Assets.xcassets/Home/home_vefi/mineLive_active.imageset/mineLive_active@3x.png
  35. 22 0
      KulexiuForTeacher/KulexiuForTeacher/Assets.xcassets/Home/home_vefi/mineLive_nomal.imageset/Contents.json
  36. BIN
      KulexiuForTeacher/KulexiuForTeacher/Assets.xcassets/Home/home_vefi/mineLive_nomal.imageset/mineLive_nomal@2x.png
  37. BIN
      KulexiuForTeacher/KulexiuForTeacher/Assets.xcassets/Home/home_vefi/mineLive_nomal.imageset/mineLive_nomal@3x.png
  38. 22 0
      KulexiuForTeacher/KulexiuForTeacher/Assets.xcassets/Home/home_vefi/mineMusic_active.imageset/Contents.json
  39. BIN
      KulexiuForTeacher/KulexiuForTeacher/Assets.xcassets/Home/home_vefi/mineMusic_active.imageset/mineMusic_active@2x.png
  40. BIN
      KulexiuForTeacher/KulexiuForTeacher/Assets.xcassets/Home/home_vefi/mineMusic_active.imageset/mineMusic_active@3x.png
  41. 22 0
      KulexiuForTeacher/KulexiuForTeacher/Assets.xcassets/Home/home_vefi/mineMusic_nomal.imageset/Contents.json
  42. BIN
      KulexiuForTeacher/KulexiuForTeacher/Assets.xcassets/Home/home_vefi/mineMusic_nomal.imageset/mineMusic_nomal@2x.png
  43. BIN
      KulexiuForTeacher/KulexiuForTeacher/Assets.xcassets/Home/home_vefi/mineMusic_nomal.imageset/mineMusic_nomal@3x.png
  44. 22 0
      KulexiuForTeacher/KulexiuForTeacher/Assets.xcassets/Home/home_vefi/mineStyle_active.imageset/Contents.json
  45. BIN
      KulexiuForTeacher/KulexiuForTeacher/Assets.xcassets/Home/home_vefi/mineStyle_active.imageset/mineStyle_active@2x.png
  46. BIN
      KulexiuForTeacher/KulexiuForTeacher/Assets.xcassets/Home/home_vefi/mineStyle_active.imageset/mineStyle_active@3x.png
  47. 22 0
      KulexiuForTeacher/KulexiuForTeacher/Assets.xcassets/Home/home_vefi/mineStyle_nomal.imageset/Contents.json
  48. BIN
      KulexiuForTeacher/KulexiuForTeacher/Assets.xcassets/Home/home_vefi/mineStyle_nomal.imageset/mineStyle_nomal@2x.png
  49. BIN
      KulexiuForTeacher/KulexiuForTeacher/Assets.xcassets/Home/home_vefi/mineStyle_nomal.imageset/mineStyle_nomal@3x.png
  50. 22 0
      KulexiuForTeacher/KulexiuForTeacher/Assets.xcassets/Home/home_vefi/mineVideo_active.imageset/Contents.json
  51. BIN
      KulexiuForTeacher/KulexiuForTeacher/Assets.xcassets/Home/home_vefi/mineVideo_active.imageset/mineVideo_active@2x.png
  52. BIN
      KulexiuForTeacher/KulexiuForTeacher/Assets.xcassets/Home/home_vefi/mineVideo_active.imageset/mineVideo_active@3x.png
  53. 22 0
      KulexiuForTeacher/KulexiuForTeacher/Assets.xcassets/Home/home_vefi/mineVideo_nomal.imageset/Contents.json
  54. BIN
      KulexiuForTeacher/KulexiuForTeacher/Assets.xcassets/Home/home_vefi/mineVideo_nomal.imageset/mineVideo_nomal@2x.png
  55. BIN
      KulexiuForTeacher/KulexiuForTeacher/Assets.xcassets/Home/home_vefi/mineVideo_nomal.imageset/mineVideo_nomal@3x.png
  56. 22 0
      KulexiuForTeacher/KulexiuForTeacher/Assets.xcassets/Home/home_vefi/mine_nomal.imageset/Contents.json
  57. BIN
      KulexiuForTeacher/KulexiuForTeacher/Assets.xcassets/Home/home_vefi/mine_nomal.imageset/mine_nomal@2x.png
  58. BIN
      KulexiuForTeacher/KulexiuForTeacher/Assets.xcassets/Home/home_vefi/mine_nomal.imageset/mine_nomal@3x.png
  59. 22 0
      KulexiuForTeacher/KulexiuForTeacher/Assets.xcassets/Home/home_vefi/mine_vip.imageset/Contents.json
  60. BIN
      KulexiuForTeacher/KulexiuForTeacher/Assets.xcassets/Home/home_vefi/mine_vip.imageset/mine_vip@2x.png
  61. BIN
      KulexiuForTeacher/KulexiuForTeacher/Assets.xcassets/Home/home_vefi/mine_vip.imageset/mine_vip@3x.png
  62. BIN
      KulexiuForTeacher/KulexiuForTeacher/Assets.xcassets/Home/notice_icon.imageset/notice_icon@2x.png
  63. BIN
      KulexiuForTeacher/KulexiuForTeacher/Assets.xcassets/Home/notice_icon.imageset/notice_icon@3x.png
  64. 22 0
      KulexiuForTeacher/KulexiuForTeacher/Assets.xcassets/Home/status_authing.imageset/Contents.json
  65. BIN
      KulexiuForTeacher/KulexiuForTeacher/Assets.xcassets/Home/status_authing.imageset/status_authing@2x.png
  66. BIN
      KulexiuForTeacher/KulexiuForTeacher/Assets.xcassets/Home/status_authing.imageset/status_authing@3x.png
  67. 22 0
      KulexiuForTeacher/KulexiuForTeacher/Assets.xcassets/Home/status_unAuth.imageset/Contents.json
  68. BIN
      KulexiuForTeacher/KulexiuForTeacher/Assets.xcassets/Home/status_unAuth.imageset/status_unAuth@2x.png
  69. BIN
      KulexiuForTeacher/KulexiuForTeacher/Assets.xcassets/Home/status_unAuth.imageset/status_unAuth@3x.png
  70. 22 0
      KulexiuForTeacher/KulexiuForTeacher/Assets.xcassets/Mine/member_bg.imageset/Contents.json
  71. BIN
      KulexiuForTeacher/KulexiuForTeacher/Assets.xcassets/Mine/member_bg.imageset/member_bg@2x.png
  72. BIN
      KulexiuForTeacher/KulexiuForTeacher/Assets.xcassets/Mine/member_bg.imageset/member_bg@3x.png
  73. 22 0
      KulexiuForTeacher/KulexiuForTeacher/Assets.xcassets/Mine/member_center.imageset/Contents.json
  74. BIN
      KulexiuForTeacher/KulexiuForTeacher/Assets.xcassets/Mine/member_center.imageset/member_center@2x.png
  75. BIN
      KulexiuForTeacher/KulexiuForTeacher/Assets.xcassets/Mine/member_center.imageset/member_center@3x.png
  76. 22 0
      KulexiuForTeacher/KulexiuForTeacher/Assets.xcassets/Mine/member_logo.imageset/Contents.json
  77. BIN
      KulexiuForTeacher/KulexiuForTeacher/Assets.xcassets/Mine/member_logo.imageset/member_logo@2x.png
  78. BIN
      KulexiuForTeacher/KulexiuForTeacher/Assets.xcassets/Mine/member_logo.imageset/member_logo@3x.png
  79. 1 1
      KulexiuForTeacher/KulexiuForTeacher/Common/Base/KSNetworkingManager.m
  80. 66 23
      KulexiuForTeacher/KulexiuForTeacher/Module/Home/Controller/HomeViewController.m
  81. 39 65
      KulexiuForTeacher/KulexiuForTeacher/Module/Home/Income/Controller/MyIncomeViewController.m
  82. 31 6
      KulexiuForTeacher/KulexiuForTeacher/Module/Home/Income/View/MyIncomeListCell.m
  83. 3 3
      KulexiuForTeacher/KulexiuForTeacher/Module/Home/Music/Controller/MyMusicViewController.m
  84. 1 1
      KulexiuForTeacher/KulexiuForTeacher/Module/Home/Music/View/MyMusicBodyView.h
  85. 8 8
      KulexiuForTeacher/KulexiuForTeacher/Module/Home/Music/View/MyMusicBodyView.m
  86. 1 1
      KulexiuForTeacher/KulexiuForTeacher/Module/Home/View/HomeBodyView.m
  87. 1 1
      KulexiuForTeacher/KulexiuForTeacher/Module/Home/View/HomeButtonView.m
  88. 13 8
      KulexiuForTeacher/KulexiuForTeacher/Module/Home/View/HomeButtonView.xib
  89. 5 0
      KulexiuForTeacher/KulexiuForTeacher/Module/Home/View/HomeNavView.h
  90. 83 0
      KulexiuForTeacher/KulexiuForTeacher/Module/Home/View/HomeNavView.m
  91. 135 8
      KulexiuForTeacher/KulexiuForTeacher/Module/Home/View/HomeNavView.xib
  92. 33 0
      KulexiuForTeacher/KulexiuForTeacher/Module/Home/View/HomeNewHeadView.h
  93. 61 0
      KulexiuForTeacher/KulexiuForTeacher/Module/Home/View/HomeNewHeadView.m
  94. 256 0
      KulexiuForTeacher/KulexiuForTeacher/Module/Home/View/HomeNewHeadView.xib
  95. 3 3
      KulexiuForTeacher/KulexiuForTeacher/Module/Home/View/KSHomeButton.xib
  96. 1 1
      KulexiuForTeacher/KulexiuForTeacher/Module/Home/View/PublicNoticeView.xib
  97. 1 1
      KulexiuForTeacher/KulexiuForTeacher/Module/Live/Controller/LiveRoomViewController.m
  98. 35 4
      KulexiuForTeacher/KulexiuForTeacher/Module/Mine/Controller/MineViewController.m
  99. 2 3
      KulexiuForTeacher/KulexiuForTeacher/Module/Mine/MinePage/Controller/MinePageViewController.m
  100. 0 2
      KulexiuForTeacher/KulexiuForTeacher/Module/Mine/MinePage/View/MinePageCourseView.h

+ 10 - 0
KulexiuForTeacher/KulexiuForTeacher.xcodeproj/project.pbxproj

@@ -555,6 +555,8 @@
 		BC6BEA9F288A4C0A00022109 /* HomeMessageModel.m in Sources */ = {isa = PBXBuildFile; fileRef = BC6BEA9D288A4C0900022109 /* HomeMessageModel.m */; };
 		BC6BEAA3288A4C2A00022109 /* KSHomeButton.xib in Resources */ = {isa = PBXBuildFile; fileRef = BC6BEAA0288A4C2A00022109 /* KSHomeButton.xib */; };
 		BC6BEAA4288A4C2A00022109 /* KSHomeButton.m in Sources */ = {isa = PBXBuildFile; fileRef = BC6BEAA2288A4C2A00022109 /* KSHomeButton.m */; };
+		BC6BEAAA288E3D7400022109 /* HomeNewHeadView.m in Sources */ = {isa = PBXBuildFile; fileRef = BC6BEAA9288E3D7300022109 /* HomeNewHeadView.m */; };
+		BC6BEAAC288E3D7B00022109 /* HomeNewHeadView.xib in Resources */ = {isa = PBXBuildFile; fileRef = BC6BEAAB288E3D7B00022109 /* HomeNewHeadView.xib */; };
 		BC6C303A27F586A60044BC0F /* KSRCMessageModel.m in Sources */ = {isa = PBXBuildFile; fileRef = BC6C303927F586A60044BC0F /* KSRCMessageModel.m */; };
 		BC71D1332887ADDA0010F14B /* teacher_refresh.json in Resources */ = {isa = PBXBuildFile; fileRef = BC71D1322887ADDA0010F14B /* teacher_refresh.json */; };
 		BC71D1A62887FDAC0010F14B /* LaunchAnimationViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = BC71D1802887FDAB0010F14B /* LaunchAnimationViewController.m */; };
@@ -1922,6 +1924,9 @@
 		BC6BEAA0288A4C2A00022109 /* KSHomeButton.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = KSHomeButton.xib; sourceTree = "<group>"; };
 		BC6BEAA1288A4C2A00022109 /* KSHomeButton.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = KSHomeButton.h; sourceTree = "<group>"; };
 		BC6BEAA2288A4C2A00022109 /* KSHomeButton.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = KSHomeButton.m; sourceTree = "<group>"; };
+		BC6BEAA8288E3D7300022109 /* HomeNewHeadView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = HomeNewHeadView.h; sourceTree = "<group>"; };
+		BC6BEAA9288E3D7300022109 /* HomeNewHeadView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = HomeNewHeadView.m; sourceTree = "<group>"; };
+		BC6BEAAB288E3D7B00022109 /* HomeNewHeadView.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = HomeNewHeadView.xib; sourceTree = "<group>"; };
 		BC6C303827F586A60044BC0F /* KSRCMessageModel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = KSRCMessageModel.h; sourceTree = "<group>"; };
 		BC6C303927F586A60044BC0F /* KSRCMessageModel.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = KSRCMessageModel.m; sourceTree = "<group>"; };
 		BC71D1322887ADDA0010F14B /* teacher_refresh.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = teacher_refresh.json; sourceTree = "<group>"; };
@@ -3814,6 +3819,9 @@
 				2723B68F27F1803F00E0B90B /* HomeHeadView.h */,
 				2723B69027F1803F00E0B90B /* HomeHeadView.m */,
 				2723B69227F1806500E0B90B /* HomeHeadView.xib */,
+				BC6BEAA8288E3D7300022109 /* HomeNewHeadView.h */,
+				BC6BEAA9288E3D7300022109 /* HomeNewHeadView.m */,
+				BC6BEAAB288E3D7B00022109 /* HomeNewHeadView.xib */,
 				BC58E7D1281B9630004B0893 /* PublicNoticeView.h */,
 				BC58E7D2281B9630004B0893 /* PublicNoticeView.m */,
 				BC58E7D4281B9637004B0893 /* PublicNoticeView.xib */,
@@ -6413,6 +6421,7 @@
 				2780C92927E490CA00A95A4F /* VefiBodyView.xib in Resources */,
 				BCA9CE4427FD947C00D558C6 /* AccompanyArrangeCell.xib in Resources */,
 				BCF61BF128042FA90000ACFE /* InstrumentChooseBottonView.xib in Resources */,
+				BC6BEAAC288E3D7B00022109 /* HomeNewHeadView.xib in Resources */,
 				277D433027E9A50800107DB7 /* PhoneChangeBodyView.xib in Resources */,
 				BC71D1EC2887FDD40010F14B /* img_0.png in Resources */,
 				BC71D1EA2887FDD40010F14B /* img_10.png in Resources */,
@@ -7286,6 +7295,7 @@
 				BC1191ED280E55CB00A716F7 /* EvaluateDetailModel.m in Sources */,
 				275E3DA927F45A8A0010EC30 /* KSLiveStreamVideo.m in Sources */,
 				BC60E3BD287D294C00B05441 /* AccountDeleteViewController.m in Sources */,
+				BC6BEAAA288E3D7400022109 /* HomeNewHeadView.m in Sources */,
 				BCC9F43E27F69BD200647449 /* AccompanyDownloadMessage.m in Sources */,
 				277D431A27E9991200107DB7 /* ModifyViewController.m in Sources */,
 				277932EB27E310070010E277 /* TZProgressView.m in Sources */,

BIN
KulexiuForTeacher/KulexiuForTeacher.xcworkspace/xcuserdata/wangzhi.xcuserdatad/UserInterfaceState.xcuserstate


+ 54 - 6
KulexiuForTeacher/KulexiuForTeacher.xcworkspace/xcuserdata/wangzhi.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist

@@ -170,8 +170,8 @@
             filePath = "KulexiuForTeacher/Module/Home/Income/Controller/MyIncomeViewController.m"
             startingColumnNumber = "9223372036854775807"
             endingColumnNumber = "9223372036854775807"
-            startingLineNumber = "127"
-            endingLineNumber = "127"
+            startingLineNumber = "128"
+            endingLineNumber = "128"
             landmarkName = "-requestAccountDetail"
             landmarkType = "7">
          </BreakpointContent>
@@ -202,8 +202,8 @@
             filePath = "KulexiuForTeacher/Module/Mine/View/MineBodyView.m"
             startingColumnNumber = "9223372036854775807"
             endingColumnNumber = "9223372036854775807"
-            startingLineNumber = "69"
-            endingLineNumber = "69"
+            startingLineNumber = "78"
+            endingLineNumber = "78"
             landmarkName = "-configMessage:"
             landmarkType = "7">
          </BreakpointContent>
@@ -1033,8 +1033,8 @@
             filePath = "KulexiuForTeacher/Module/Home/Controller/HomeViewController.m"
             startingColumnNumber = "9223372036854775807"
             endingColumnNumber = "9223372036854775807"
-            startingLineNumber = "202"
-            endingLineNumber = "202"
+            startingLineNumber = "216"
+            endingLineNumber = "216"
             landmarkName = "-requestHomeButton"
             landmarkType = "7">
          </BreakpointContent>
@@ -1055,5 +1055,53 @@
             landmarkType = "7">
          </BreakpointContent>
       </BreakpointProxy>
+      <BreakpointProxy
+         BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
+         <BreakpointContent
+            uuid = "E9F7605F-87EC-4C5F-B2E3-89209806F15B"
+            shouldBeEnabled = "Yes"
+            ignoreCount = "0"
+            continueAfterRunningActions = "No"
+            filePath = "KulexiuForTeacher/Module/Live/Controller/LiveRoomViewController.m"
+            startingColumnNumber = "9223372036854775807"
+            endingColumnNumber = "9223372036854775807"
+            startingLineNumber = "423"
+            endingLineNumber = "423"
+            landmarkName = "-setupLiveroomConfig:"
+            landmarkType = "7">
+         </BreakpointContent>
+      </BreakpointProxy>
+      <BreakpointProxy
+         BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
+         <BreakpointContent
+            uuid = "FD68DCA4-D6D4-40BF-860A-FC0F44F9B628"
+            shouldBeEnabled = "No"
+            ignoreCount = "0"
+            continueAfterRunningActions = "No"
+            filePath = "KulexiuForTeacher/Module/Mine/Controller/MineViewController.m"
+            startingColumnNumber = "9223372036854775807"
+            endingColumnNumber = "9223372036854775807"
+            startingLineNumber = "72"
+            endingLineNumber = "72"
+            landmarkName = "-requsetUserMessage"
+            landmarkType = "7">
+         </BreakpointContent>
+      </BreakpointProxy>
+      <BreakpointProxy
+         BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
+         <BreakpointContent
+            uuid = "9D463288-7D23-4CCD-802E-7FE580596AA1"
+            shouldBeEnabled = "Yes"
+            ignoreCount = "0"
+            continueAfterRunningActions = "No"
+            filePath = "KulexiuForTeacher/Module/Mine/MinePage/View/MinePageCourseView.m"
+            startingColumnNumber = "9223372036854775807"
+            endingColumnNumber = "9223372036854775807"
+            startingLineNumber = "697"
+            endingLineNumber = "697"
+            landmarkName = "-getAuthDisplayMessage"
+            landmarkType = "7">
+         </BreakpointContent>
+      </BreakpointProxy>
    </Breakpoints>
 </Bucket>

+ 22 - 0
KulexiuForTeacher/KulexiuForTeacher/Assets.xcassets/Home/Income/ai_share.imageset/Contents.json

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

BIN
KulexiuForTeacher/KulexiuForTeacher/Assets.xcassets/Home/Income/ai_share.imageset/ai_share@2x.png


BIN
KulexiuForTeacher/KulexiuForTeacher/Assets.xcassets/Home/Income/ai_share.imageset/ai_share@3x.png


+ 22 - 0
KulexiuForTeacher/KulexiuForTeacher/Assets.xcassets/Home/Income/goods_share.imageset/Contents.json

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

BIN
KulexiuForTeacher/KulexiuForTeacher/Assets.xcassets/Home/Income/goods_share.imageset/goods_share@2x.png


BIN
KulexiuForTeacher/KulexiuForTeacher/Assets.xcassets/Home/Income/goods_share.imageset/goods_share@3x.png


+ 22 - 0
KulexiuForTeacher/KulexiuForTeacher/Assets.xcassets/Home/Income/live_share.imageset/Contents.json

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

BIN
KulexiuForTeacher/KulexiuForTeacher/Assets.xcassets/Home/Income/live_share.imageset/live_share@2x.png


BIN
KulexiuForTeacher/KulexiuForTeacher/Assets.xcassets/Home/Income/live_share.imageset/live_share@3x.png


+ 22 - 0
KulexiuForTeacher/KulexiuForTeacher/Assets.xcassets/Home/Income/music_share.imageset/Contents.json

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

BIN
KulexiuForTeacher/KulexiuForTeacher/Assets.xcassets/Home/Income/music_share.imageset/music_share@2x.png


BIN
KulexiuForTeacher/KulexiuForTeacher/Assets.xcassets/Home/Income/music_share.imageset/music_share@3x.png


+ 22 - 0
KulexiuForTeacher/KulexiuForTeacher/Assets.xcassets/Home/Income/video_share.imageset/Contents.json

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

BIN
KulexiuForTeacher/KulexiuForTeacher/Assets.xcassets/Home/Income/video_share.imageset/video_share@2x.png


BIN
KulexiuForTeacher/KulexiuForTeacher/Assets.xcassets/Home/Income/video_share.imageset/video_share@3x.png


+ 22 - 0
KulexiuForTeacher/KulexiuForTeacher/Assets.xcassets/Home/homeCount_bg.imageset/Contents.json

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

BIN
KulexiuForTeacher/KulexiuForTeacher/Assets.xcassets/Home/homeCount_bg.imageset/homeCount_bg@2x.png


BIN
KulexiuForTeacher/KulexiuForTeacher/Assets.xcassets/Home/homeCount_bg.imageset/homeCount_bg@3x.png


BIN
KulexiuForTeacher/KulexiuForTeacher/Assets.xcassets/Home/home_bg.imageset/home_bg@2x.png


BIN
KulexiuForTeacher/KulexiuForTeacher/Assets.xcassets/Home/home_bg.imageset/home_bg@3x.png


BIN
KulexiuForTeacher/KulexiuForTeacher/Assets.xcassets/Home/home_message.imageset/home_message@2x.png


BIN
KulexiuForTeacher/KulexiuForTeacher/Assets.xcassets/Home/home_message.imageset/home_message@3x.png


+ 22 - 0
KulexiuForTeacher/KulexiuForTeacher/Assets.xcassets/Home/home_next.imageset/Contents.json

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

BIN
KulexiuForTeacher/KulexiuForTeacher/Assets.xcassets/Home/home_next.imageset/home_next@2x.png


BIN
KulexiuForTeacher/KulexiuForTeacher/Assets.xcassets/Home/home_next.imageset/home_next@3x.png


BIN
KulexiuForTeacher/KulexiuForTeacher/Assets.xcassets/Home/home_scan.imageset/home_scan@2x.png


BIN
KulexiuForTeacher/KulexiuForTeacher/Assets.xcassets/Home/home_scan.imageset/home_scan@3x.png


+ 6 - 0
KulexiuForTeacher/KulexiuForTeacher/Assets.xcassets/Home/home_vefi/Contents.json

@@ -0,0 +1,6 @@
+{
+  "info" : {
+    "author" : "xcode",
+    "version" : 1
+  }
+}

+ 22 - 0
KulexiuForTeacher/KulexiuForTeacher/Assets.xcassets/Home/home_vefi/mineLive_active.imageset/Contents.json

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

BIN
KulexiuForTeacher/KulexiuForTeacher/Assets.xcassets/Home/home_vefi/mineLive_active.imageset/mineLive_active@2x.png


BIN
KulexiuForTeacher/KulexiuForTeacher/Assets.xcassets/Home/home_vefi/mineLive_active.imageset/mineLive_active@3x.png


+ 22 - 0
KulexiuForTeacher/KulexiuForTeacher/Assets.xcassets/Home/home_vefi/mineLive_nomal.imageset/Contents.json

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

BIN
KulexiuForTeacher/KulexiuForTeacher/Assets.xcassets/Home/home_vefi/mineLive_nomal.imageset/mineLive_nomal@2x.png


BIN
KulexiuForTeacher/KulexiuForTeacher/Assets.xcassets/Home/home_vefi/mineLive_nomal.imageset/mineLive_nomal@3x.png


+ 22 - 0
KulexiuForTeacher/KulexiuForTeacher/Assets.xcassets/Home/home_vefi/mineMusic_active.imageset/Contents.json

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

BIN
KulexiuForTeacher/KulexiuForTeacher/Assets.xcassets/Home/home_vefi/mineMusic_active.imageset/mineMusic_active@2x.png


BIN
KulexiuForTeacher/KulexiuForTeacher/Assets.xcassets/Home/home_vefi/mineMusic_active.imageset/mineMusic_active@3x.png


+ 22 - 0
KulexiuForTeacher/KulexiuForTeacher/Assets.xcassets/Home/home_vefi/mineMusic_nomal.imageset/Contents.json

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

BIN
KulexiuForTeacher/KulexiuForTeacher/Assets.xcassets/Home/home_vefi/mineMusic_nomal.imageset/mineMusic_nomal@2x.png


BIN
KulexiuForTeacher/KulexiuForTeacher/Assets.xcassets/Home/home_vefi/mineMusic_nomal.imageset/mineMusic_nomal@3x.png


+ 22 - 0
KulexiuForTeacher/KulexiuForTeacher/Assets.xcassets/Home/home_vefi/mineStyle_active.imageset/Contents.json

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

BIN
KulexiuForTeacher/KulexiuForTeacher/Assets.xcassets/Home/home_vefi/mineStyle_active.imageset/mineStyle_active@2x.png


BIN
KulexiuForTeacher/KulexiuForTeacher/Assets.xcassets/Home/home_vefi/mineStyle_active.imageset/mineStyle_active@3x.png


+ 22 - 0
KulexiuForTeacher/KulexiuForTeacher/Assets.xcassets/Home/home_vefi/mineStyle_nomal.imageset/Contents.json

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

BIN
KulexiuForTeacher/KulexiuForTeacher/Assets.xcassets/Home/home_vefi/mineStyle_nomal.imageset/mineStyle_nomal@2x.png


BIN
KulexiuForTeacher/KulexiuForTeacher/Assets.xcassets/Home/home_vefi/mineStyle_nomal.imageset/mineStyle_nomal@3x.png


+ 22 - 0
KulexiuForTeacher/KulexiuForTeacher/Assets.xcassets/Home/home_vefi/mineVideo_active.imageset/Contents.json

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

BIN
KulexiuForTeacher/KulexiuForTeacher/Assets.xcassets/Home/home_vefi/mineVideo_active.imageset/mineVideo_active@2x.png


BIN
KulexiuForTeacher/KulexiuForTeacher/Assets.xcassets/Home/home_vefi/mineVideo_active.imageset/mineVideo_active@3x.png


+ 22 - 0
KulexiuForTeacher/KulexiuForTeacher/Assets.xcassets/Home/home_vefi/mineVideo_nomal.imageset/Contents.json

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

BIN
KulexiuForTeacher/KulexiuForTeacher/Assets.xcassets/Home/home_vefi/mineVideo_nomal.imageset/mineVideo_nomal@2x.png


BIN
KulexiuForTeacher/KulexiuForTeacher/Assets.xcassets/Home/home_vefi/mineVideo_nomal.imageset/mineVideo_nomal@3x.png


+ 22 - 0
KulexiuForTeacher/KulexiuForTeacher/Assets.xcassets/Home/home_vefi/mine_nomal.imageset/Contents.json

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

BIN
KulexiuForTeacher/KulexiuForTeacher/Assets.xcassets/Home/home_vefi/mine_nomal.imageset/mine_nomal@2x.png


BIN
KulexiuForTeacher/KulexiuForTeacher/Assets.xcassets/Home/home_vefi/mine_nomal.imageset/mine_nomal@3x.png


+ 22 - 0
KulexiuForTeacher/KulexiuForTeacher/Assets.xcassets/Home/home_vefi/mine_vip.imageset/Contents.json

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

BIN
KulexiuForTeacher/KulexiuForTeacher/Assets.xcassets/Home/home_vefi/mine_vip.imageset/mine_vip@2x.png


BIN
KulexiuForTeacher/KulexiuForTeacher/Assets.xcassets/Home/home_vefi/mine_vip.imageset/mine_vip@3x.png


BIN
KulexiuForTeacher/KulexiuForTeacher/Assets.xcassets/Home/notice_icon.imageset/notice_icon@2x.png


BIN
KulexiuForTeacher/KulexiuForTeacher/Assets.xcassets/Home/notice_icon.imageset/notice_icon@3x.png


+ 22 - 0
KulexiuForTeacher/KulexiuForTeacher/Assets.xcassets/Home/status_authing.imageset/Contents.json

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

BIN
KulexiuForTeacher/KulexiuForTeacher/Assets.xcassets/Home/status_authing.imageset/status_authing@2x.png


BIN
KulexiuForTeacher/KulexiuForTeacher/Assets.xcassets/Home/status_authing.imageset/status_authing@3x.png


+ 22 - 0
KulexiuForTeacher/KulexiuForTeacher/Assets.xcassets/Home/status_unAuth.imageset/Contents.json

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

BIN
KulexiuForTeacher/KulexiuForTeacher/Assets.xcassets/Home/status_unAuth.imageset/status_unAuth@2x.png


BIN
KulexiuForTeacher/KulexiuForTeacher/Assets.xcassets/Home/status_unAuth.imageset/status_unAuth@3x.png


+ 22 - 0
KulexiuForTeacher/KulexiuForTeacher/Assets.xcassets/Mine/member_bg.imageset/Contents.json

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

BIN
KulexiuForTeacher/KulexiuForTeacher/Assets.xcassets/Mine/member_bg.imageset/member_bg@2x.png


BIN
KulexiuForTeacher/KulexiuForTeacher/Assets.xcassets/Mine/member_bg.imageset/member_bg@3x.png


+ 22 - 0
KulexiuForTeacher/KulexiuForTeacher/Assets.xcassets/Mine/member_center.imageset/Contents.json

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

BIN
KulexiuForTeacher/KulexiuForTeacher/Assets.xcassets/Mine/member_center.imageset/member_center@2x.png


BIN
KulexiuForTeacher/KulexiuForTeacher/Assets.xcassets/Mine/member_center.imageset/member_center@3x.png


+ 22 - 0
KulexiuForTeacher/KulexiuForTeacher/Assets.xcassets/Mine/member_logo.imageset/Contents.json

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

BIN
KulexiuForTeacher/KulexiuForTeacher/Assets.xcassets/Mine/member_logo.imageset/member_logo@2x.png


BIN
KulexiuForTeacher/KulexiuForTeacher/Assets.xcassets/Mine/member_logo.imageset/member_logo@3x.png


+ 1 - 1
KulexiuForTeacher/KulexiuForTeacher/Common/Base/KSNetworkingManager.m

@@ -1232,7 +1232,7 @@
     [parm setValue:coverPic forKey:@"coverPic"];
     [parm setValue:liveRemark forKey:@"liveRemark"];
     [parm setValue:roomTitle forKey:@"roomTitle"];
-    [parm setValue:@(1) forKey:@"liveTime"];
+    [parm setValue:@(liveTime) forKey:@"liveTime"];
     [self request:post andWithUrl:url and:parm success:success faliure:faliure];
 }
 

+ 66 - 23
KulexiuForTeacher/KulexiuForTeacher/Module/Home/Controller/HomeViewController.m

@@ -8,7 +8,6 @@
 #import "HomeViewController.h"
 #import "HomeBodyView.h"
 #import "HomeNavView.h"
-#import "HomeHeadView.h"
 #import "KSBaseWKWebViewController.h"
 #import "MyMusicViewController.h"
 #import "MyCourseViewController.h"
@@ -36,14 +35,15 @@
 #import "HomeMessageModel.h"
 #import "HomeButtonView.h"
 #import "KSHomeButton.h"
+#import "HomeNewHeadView.h"
 
 #define BUTTONWIDTH (65)
-#define BUTTONHEIGHT (80)
+#define BUTTONHEIGHT (70)
 @interface HomeViewController ()<SDCycleScrollViewDelegate,UIScrollViewDelegate>
 
 @property (nonatomic, strong) HomeNavView *navView;
 
-@property (nonatomic, strong) HomeHeadView *headView;
+@property (nonatomic, strong) HomeNewHeadView *headView;
 
 @property (nonatomic, strong) HomeBodyView *bodyView;
 
@@ -194,7 +194,21 @@
 
 
 - (void)refreshView {
-    [self.headView configMessage:self.mineInfo];
+    [self.navView configMessage:self.mineInfo];
+    // 人数
+    [self displayCount:self.mineInfo.fansNum inView:self.headView.fansCountLabel];
+    [self displayCount:self.mineInfo.expTime inView:self.headView.finishCourseLabel];
+    [self displayCount:self.mineInfo.unExpTime inView:self.headView.unFinishCourseLabel];
+}
+
+- (void)displayCount:(NSInteger)count inView:(UILabel *)descLabel {
+    if (count > 10000) {
+        double descNum = count / 10000.0;
+        descLabel.text = [NSString stringWithFormat:@"%.2f万",descNum];
+    }
+    else {
+        descLabel.text = [NSString stringWithFormat:@"%ld",count];
+    }
 }
 
 - (void)requestHomeButton {
@@ -231,31 +245,32 @@
             make.height.mas_equalTo(CGFLOAT_MIN);
         }];
     }
+    CGFloat containerWidth = (KPortraitWidth - 28);
     // 添加按钮
-    if (self.buttonArray.count > 5) { // 大于4个显示底部滚动视图
+    if (self.buttonArray.count > 4) { // 大于4个显示底部滚动视图
         self.buttonContainer.buttonPageCtrl.hidden = NO;
         self.buttonContainer.buttonDotLeft.constant = 0;
-        NSInteger addPage = (self.buttonArray.count % 5) > 0 ? 1 : 0;
-        NSInteger pageCount = self.buttonArray.count / 5 + addPage;
+        NSInteger addPage = (self.buttonArray.count % 4) > 0 ? 1 : 0;
+        NSInteger pageCount = self.buttonArray.count / 4 + addPage;
         self.buttonDotWidth = 36 / pageCount;
         self.buttonContainer.buttonDotWidth.constant = self.buttonDotWidth;
-        self.buttonScrollView.contentSize = CGSizeMake(KPortraitWidth * pageCount, BUTTONHEIGHT);
+        self.buttonScrollView.contentSize = CGSizeMake(containerWidth * pageCount, BUTTONHEIGHT);
     }
     else {
         self.buttonContainer.buttonPageCtrl.hidden = YES;
-        self.buttonScrollView.contentSize = CGSizeMake(KPortraitWidth, BUTTONHEIGHT);
+        self.buttonScrollView.contentSize = CGSizeMake(containerWidth, BUTTONHEIGHT);
     }
         
     self.buttonScrollView.contentOffset = CGPointMake(0, 0);
     [self.buttonScrollView removeAllSubViews];
-    CGFloat buttonSpace = (KPortraitWidth - 5 * BUTTONWIDTH) / 6;
+    CGFloat buttonSpace = (containerWidth - 4 * BUTTONWIDTH) / 5;
     for (NSInteger i = 0; i < self.buttonArray.count; i++) {
         HomeMessageModel *model = self.buttonArray[i];
         KSHomeButton *buttonView = [KSHomeButton shareInstance];
         
         [buttonView.buttonImage sd_setImageWithURL:[NSURL URLWithString:[model.coverImage getUrlEndcodeString]]];
         buttonView.buttonTitle.text = model.title;
-        buttonView.frame = CGRectMake(buttonSpace + (i % 5) * (BUTTONWIDTH + buttonSpace) + (i / 5) * KPortraitWidth, 0, BUTTONWIDTH, BUTTONHEIGHT);
+        buttonView.frame = CGRectMake(buttonSpace + (i % 4) * (BUTTONWIDTH + buttonSpace) + (i / 4) * containerWidth, 0, BUTTONWIDTH, BUTTONHEIGHT);
         buttonView.actionButton.tag = 3000 + i;
         [buttonView.actionButton addTarget:self action:@selector(HomeTopButtonAction:) forControlEvents:UIControlEventTouchUpInside];
         [self.buttonScrollView addSubview:buttonView];
@@ -285,8 +300,7 @@
     }];
     [self.view addSubview:self.navView];
     [self.navView mas_makeConstraints:^(MASConstraintMaker *make) {
-        make.width.mas_equalTo(110);
-        make.right.top.mas_equalTo(self.view);
+        make.left.right.top.mas_equalTo(self.view);
         make.height.mas_equalTo(kNaviBarHeight);
     }];
     [self.view bringSubviewToFront:self.scrollView];
@@ -304,7 +318,7 @@
     [topView mas_makeConstraints:^(MASConstraintMaker *make) {
         make.left.right.mas_equalTo(self.view);
         make.top.mas_equalTo(self.scrollView.mas_top);
-        make.height.mas_equalTo(kNaviBarHeight);
+        make.height.mas_equalTo(kNaviBarHeight+15);
     }];
     
     [self.scrollView addSubview:self.headView];
@@ -434,6 +448,12 @@
             if (action == HOMENAV_ACTION_MESSAGE) {
                 [weakSelf toMessageCenter];
             }
+            else if (action == HOMENAV_ACTION_AUTH) {
+                [weakSelf toAuthDetail];
+            }
+            else if (action == HOMENAV_ACTION_USER) {
+                [weakSelf toUserCenter];
+            }
             else {
                 [weakSelf scanAction];
             }
@@ -477,22 +497,45 @@
     [self.navigationController pushViewController:messageCenter animated:YES];
 }
 
-- (HomeHeadView *)headView {
+- (HomeNewHeadView *)headView {
     if (!_headView) {
-        _headView = [HomeHeadView shareInstance];
+        _headView = [HomeNewHeadView shareInstance];
         MJWeakSelf;
-        [_headView operationCallback:^(HOMEHEADACTION action) {
-            if (action == HOMEHEADACTION_AUTH) {
-                [weakSelf toAuthDetail];
-            }
-            else {
-                [weakSelf toUserCenter];
-            }
+        [_headView courseDetailAction:^(HOMEHEADTYPE type) {
+            [weakSelf headViewAction:type];
         }];
     }
     return _headView;
 }
 
+- (void)headViewAction:(HOMEHEADTYPE)type {
+    switch (type) {
+        case HOMEHEADTYPE_FANS:
+        {
+            KSBaseWKWebViewController *webCtrl = [[KSBaseWKWebViewController alloc] init];
+            webCtrl.url = [NSString stringWithFormat:@"%@%@", WEBHOST, @"/#/myFans"];
+            [self.navigationController pushViewController:webCtrl animated:YES];
+        }
+            break;
+        case HOMEHEADTYPE_FINISHCOURSE:
+        {
+            MyCourseViewController *ctrl = [[MyCourseViewController alloc] init];
+            [self.navigationController pushViewController:ctrl animated:YES];
+        }
+            break;
+        case HOMEHEADTYPE_UNFINISHCOURSE:
+        {
+            MyCourseViewController *ctrl = [[MyCourseViewController alloc] init];
+            [self.navigationController pushViewController:ctrl animated:YES];
+        }
+            break;
+        default:
+            break;
+    }
+}
+
+
+
 - (void)toUserCenter {
     UserSettingViewController *ctrl = [[UserSettingViewController alloc] init];
     [self.navigationController pushViewController:ctrl animated:YES];

+ 39 - 65
KulexiuForTeacher/KulexiuForTeacher/Module/Home/Income/Controller/MyIncomeViewController.m

@@ -9,15 +9,14 @@
 #import "MyIncomeListCell.h"
 #import "IncomeHeaderView.h"
 #import "WithdrawViewController.h"
-#import "NewClassPopView.h"
 #import "KSFullDatePicker.h"
 #import "IncomeListModel.h"
 #import "IncomeCountViewController.h"
 #import "KSBaseWKWebViewController.h"
+#import "KSChoosePicker.h"
 
 @interface MyIncomeViewController ()<UITableViewDelegate,UITableViewDataSource>
 
-@property (nonatomic, strong) NewClassPopView *popView;
 
 @property (nonatomic, strong) IncomeHeaderView *headView;
 
@@ -31,6 +30,8 @@
 
 @property (nonatomic, assign) NSInteger chooseIndex;
 
+@property (nonatomic, strong) NSMutableArray *sortArray;
+
 
 @end
 
@@ -230,13 +231,33 @@
     switch (action) {
         case INCOME_ACTION_TIME:
         {
-            [self hiddenPopView];
             [self showPickerView];
         }
             break;
         case INCOME_ACTION_TYPE:
         {
-            [self.popView refreshWithSourceArray:@[@"全部收入",@"陪练课",@"直播课",@"视频课",@"乐谱"] preChooseIndex:self.chooseIndex inView:self.view actionItem:0];
+            NSMutableArray *nameArray = [NSMutableArray array];
+            for (NSDictionary *parm in self.sortArray) {
+                [nameArray addObject:[parm stringValueForKey:@"name"]];
+            }
+            MJWeakSelf;
+            KSChoosePicker *picker = [[KSChoosePicker alloc] initWithTitle:@"" sourceData:nameArray chooseReturnWithBlock:^(NSString * _Nonnull returnValue, NSInteger chooseIndex) {
+                if (chooseIndex == 0) {
+                    weakSelf.headView.typeLabel.text = @"全部收入";
+                    weakSelf.bizType = nil;
+                }
+                else {
+                    weakSelf.headView.typeLabel.text = returnValue;
+                    NSDictionary *parm = self.sortArray[chooseIndex];
+                    weakSelf.bizType = [parm stringValueForKey:@"bizType"];
+                }
+                self.headView.secondArrowUp = NO;
+                [weakSelf refreshAndRequestData];
+            } cancel:^{
+                self.headView.secondArrowUp = NO;
+            }];
+            [picker showPicker];
+            
         }
             break;
         case INCOME_ACTION_WITHDRAW:
@@ -275,69 +296,22 @@
     self.headView.firstArrowUp = NO;
 }
 
-- (NewClassPopView *)popView {
-    if (!_popView) {
-        MJWeakSelf;
-        _popView = [[NewClassPopView alloc] initWithFrame:CGRectMake(0, CGRectGetMaxY(self.headView.frame), kScreenWidth, CGRectGetHeight(self.tableView.frame)) tableColor:HexRGB(0xf5f5f5) chooseCallback:^(NSString * _Nonnull sortStr, NSInteger chooseIndex, NSInteger item) {
-            if (chooseIndex != 0) {
-                // 回调
-                [weakSelf sortWithChooseIndex:chooseIndex item:item title:sortStr];
-            }
-            weakSelf.headView.secondArrowUp = NO;
-            [weakSelf hiddenPopView];
-        }];
-    }
-    return _popView;
-}
-
-- (void)sortWithChooseIndex:(NSInteger)chooseIndex item:(NSInteger)item title:(NSString *)title {
-    self.chooseIndex = chooseIndex;
-    if (chooseIndex == 1) {
-        self.headView.typeLabel.text = @"全部收入";
-    }
-    else {
-        self.headView.typeLabel.text = title;
-    }
-    switch (chooseIndex) {
-        case 1:
-        {
-            self.bizType = nil;
-        }
-            break;
-        case 2:
-        {
-            self.bizType = @"PRACTICE";
-        }
-            break;
-        case 3:
-        {
-            self.bizType = @"LIVE";
-        }
-            break;
-        case 4:
-        {
-            self.bizType = @"VIDEO";
-        }
-            break;
-        case 5:
-        {
-            self.bizType = @"MUSIC";
-        }
-            break;
-        default:
-            break;
-    }
-    
-    [self resetParamenter];
-    [self requestData];
-    [self requestAccountDetail];
-}
 
-- (void)hiddenPopView {
-    if ([self.view.subviews containsObject:self.popView]) {
-        self.headView.secondArrowUp = NO;
-        [self.popView hiddenView];
+- (NSMutableArray *)sortArray {
+    if (!_sortArray) {
+        _sortArray = [NSMutableArray array];
+        [_sortArray addObject:@{@"name" : @"全部收入", @"bizType": @""}];
+        [_sortArray addObject:@{@"name" : @"陪练课", @"bizType": @"PRACTICE"}];
+        [_sortArray addObject:@{@"name" : @"直播课", @"bizType": @"LIVE"}];
+        [_sortArray addObject:@{@"name" : @"视频课", @"bizType": @"VIDEO"}];
+        [_sortArray addObject:@{@"name" : @"乐谱", @"bizType": @"MUSIC"}];
+        [_sortArray addObject:@{@"name" : @"直播课推荐", @"bizType": @"LIVE_SHARE"}];
+        [_sortArray addObject:@{@"name" : @"视频课推荐", @"bizType": @"VIDEO_SHARE"}];
+        [_sortArray addObject:@{@"name" : @"乐谱推荐", @"bizType": @"MUSIC_SHARE"}];
+        [_sortArray addObject:@{@"name" : @"小酷Ai推荐", @"bizType": @"VIP_SHARE"}];
+        [_sortArray addObject:@{@"name" : @"商品推荐", @"bizType": @"MALL_SHARE"}];
     }
+    return _sortArray;
 }
 
 /*

+ 31 - 6
KulexiuForTeacher/KulexiuForTeacher/Module/Home/Income/View/MyIncomeListCell.m

@@ -68,23 +68,48 @@
     else if ([sourceModel.bizType isEqualToString:@"LIVE"]) {
         [self.courseTypeImage setImage:[UIImage imageNamed:@"income_live"]];
     }
-    // 琴房课收入
-    else if ([sourceModel.bizType isEqualToString:@""]) {
-        [self.courseTypeImage setImage:[UIImage imageNamed:@"income_live"]];
-    }
     else if ([sourceModel.bizType isEqualToString:@"VIDEO"]) {
         [self.courseTypeImage setImage:[UIImage imageNamed:@"income_video"]];
         [dateFormatter setDateFormat:@"yyyy/MM/dd HH:mm"];
         NSString *createTime = [NSString returnNoNullStringWithString:[dateFormatter stringFromDate:createDate]];
         self.courseTime.text = createTime;
     }
-    else  {
+    else if ([sourceModel.bizType isEqualToString:@"MUSIC"])  {
         [self.courseTypeImage setImage:[UIImage imageNamed:@"income_music"]];
         [dateFormatter setDateFormat:@"yyyy/MM/dd HH:mm"];
         NSString *createTime = [NSString returnNoNullStringWithString:[dateFormatter stringFromDate:createDate]];
         self.courseTime.text = createTime;
     }
-
+    else if ([sourceModel.bizType isEqualToString:@"LIVE_SHARE"]) {
+        [self.courseTypeImage setImage:[UIImage imageNamed:@"live_share"]];
+        [dateFormatter setDateFormat:@"yyyy/MM/dd HH:mm"];
+        NSString *createTime = [NSString returnNoNullStringWithString:[dateFormatter stringFromDate:createDate]];
+        self.courseTime.text = createTime;
+    }
+    else if ([sourceModel.bizType isEqualToString:@"VIDEO_SHARE"]) {
+        [self.courseTypeImage setImage:[UIImage imageNamed:@"video_share"]];
+        [dateFormatter setDateFormat:@"yyyy/MM/dd HH:mm"];
+        NSString *createTime = [NSString returnNoNullStringWithString:[dateFormatter stringFromDate:createDate]];
+        self.courseTime.text = createTime;
+    }
+    else if ([sourceModel.bizType isEqualToString:@"MUSIC_SHARE"]) {
+        [self.courseTypeImage setImage:[UIImage imageNamed:@"music_share"]];
+        [dateFormatter setDateFormat:@"yyyy/MM/dd HH:mm"];
+        NSString *createTime = [NSString returnNoNullStringWithString:[dateFormatter stringFromDate:createDate]];
+        self.courseTime.text = createTime;
+    }
+    else if ([sourceModel.bizType isEqualToString:@"VIP_SHARE"]) {
+        [self.courseTypeImage setImage:[UIImage imageNamed:@"ai_share"]];
+        [dateFormatter setDateFormat:@"yyyy/MM/dd HH:mm"];
+        NSString *createTime = [NSString returnNoNullStringWithString:[dateFormatter stringFromDate:createDate]];
+        self.courseTime.text = createTime;
+    }
+    else if ([sourceModel.bizType isEqualToString:@"MALL_SHARE"]) {
+        [self.courseTypeImage setImage:[UIImage imageNamed:@"goods_share"]];
+        [dateFormatter setDateFormat:@"yyyy/MM/dd HH:mm"];
+        NSString *createTime = [NSString returnNoNullStringWithString:[dateFormatter stringFromDate:createDate]];
+        self.courseTime.text = createTime;
+    }
     self.incomeLabel.text = [NSString stringWithFormat:@"¥%.2f",sourceModel.transAmount];
 }
 

+ 3 - 3
KulexiuForTeacher/KulexiuForTeacher/Module/Home/Music/Controller/MyMusicViewController.m

@@ -224,7 +224,7 @@
         id view = self.listViewArray[index];
         if ([view isKindOfClass:[MyMusicBodyView class]]) {
             MyMusicBodyView *listView = (MyMusicBodyView *)view;
-            listView.musicianStatus = self.teacherInfo.musicianAuthStatus;
+            listView.teaherStatus = self.teacherInfo.entryStatus;
         }
     }
 }
@@ -298,10 +298,10 @@
         listView.selectIndex = 2;
     }
     if (self.teacherInfo) {
-        listView.musicianStatus = self.teacherInfo.musicianAuthStatus;
+        listView.teaherStatus = self.teacherInfo.entryStatus;
     }
     else {
-        listView.musicianStatus = @"PASS";
+        listView.teaherStatus = @"PASS";
     }
     listView.subjectIds = self.subjectIds;
     listView.searchKey = self.searchKey;

+ 1 - 1
KulexiuForTeacher/KulexiuForTeacher/Module/Home/Music/View/MyMusicBodyView.h

@@ -13,7 +13,7 @@ NS_ASSUME_NONNULL_BEGIN
 
 @interface MyMusicBodyView : KSJXBodyView
 
-@property (nonatomic, strong) NSString *musicianStatus;
+@property (nonatomic, strong) NSString *teaherStatus;
 
 @property (nonatomic, strong) NSString *searchKey;
 

+ 8 - 8
KulexiuForTeacher/KulexiuForTeacher/Module/Home/Music/View/MyMusicBodyView.m

@@ -290,10 +290,9 @@
     return _dataArray;
 }
 
-- (void)setMusicianStatus:(NSString *)musicianStatus {
-    _musicianStatus = musicianStatus;
-    
-    if ([musicianStatus isEqualToString:@"PASS"]) {
+- (void)setTeaherStatus:(NSString *)teaherStatus {
+    _teaherStatus = teaherStatus;
+    if ([teaherStatus isEqualToString:@"PASS"]) {
         self.authStatus = YES;
     }
     else {
@@ -306,15 +305,16 @@
     else {
         [self hideAuthView];
     }
+    
 }
 
 - (NSString *)getAuthDisplayMessage {
     
-    if ([self.musicianStatus isEqualToString:@"DOING"]) { // 审核中
+    if ([self.teaherStatus isEqualToString:@"DOING"]) { // 审核中
         return @"您已提交认证申请,请耐心等待审核结果~";
     }
     else {
-        return @"您还没有完成音乐人认证,认证后才可上传曲谱哦~";
+        return @"您还没有完成人认证,认证后才可上传曲谱哦~";
     }
 }
 
@@ -339,7 +339,7 @@
 }
 - (void)configAuthDisplay {
     [self.authView configDisplayMessage:[self getAuthDisplayMessage]];
-    if ([self.musicianStatus isEqualToString:@"DOING"]) {
+    if ([self.teaherStatus isEqualToString:@"DOING"]) {
         self.authView.sureButton.userInteractionEnabled = NO;
         self.authView.sureButton.hidden = YES;
     }
@@ -351,7 +351,7 @@
 }
 - (void)authAction {
     KSBaseWKWebViewController *webCtrl = [[KSBaseWKWebViewController alloc] init];
-    webCtrl.url = [NSString stringWithFormat:@"%@%@", WEBHOST, @"/#/musicCert"];
+    webCtrl.url = [NSString stringWithFormat:@"%@%@", WEBHOST, @"/#/teacherCert"];
     [self.naviController pushViewController:webCtrl animated:YES];
 }
 

+ 1 - 1
KulexiuForTeacher/KulexiuForTeacher/Module/Home/View/HomeBodyView.m

@@ -115,7 +115,7 @@
     [paragraphStyle setLineSpacing:4];//调整行间距
     NSMutableAttributedString *attr = [[NSMutableAttributedString alloc] initWithString:desc attributes:@{NSFontAttributeName : [UIFont systemFontOfSize:12.0f], NSForegroundColorAttributeName:HexRGB(0x999999),NSParagraphStyleAttributeName:paragraphStyle}];
     if (needTips) {
-        [attr addAttributes:@{NSFontAttributeName : [UIFont systemFontOfSize:12.0f weight:UIFontWeightMedium], NSForegroundColorAttributeName:HexRGB(0xff5106)} range:[desc rangeOfString:valueString]];
+        [attr addAttributes:@{NSFontAttributeName : [UIFont systemFontOfSize:12.0f weight:UIFontWeightMedium], NSForegroundColorAttributeName:THEMECOLOR} range:[desc rangeOfString:valueString]];
     }
     return attr;
 }

+ 1 - 1
KulexiuForTeacher/KulexiuForTeacher/Module/Home/View/HomeButtonView.m

@@ -15,7 +15,7 @@
 }
 
 + (CGFloat)getViewHeight {
-    return 110.0f;
+    return 100.0f;
 }
 /*
 // Only override drawRect: if you perform custom drawing.

+ 13 - 8
KulexiuForTeacher/KulexiuForTeacher/Module/Home/View/HomeButtonView.xib

@@ -10,14 +10,14 @@
         <placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner"/>
         <placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/>
         <view contentMode="scaleToFill" id="iN0-l3-epB" customClass="HomeButtonView">
-            <rect key="frame" x="0.0" y="0.0" width="414" height="115"/>
+            <rect key="frame" x="0.0" y="0.0" width="414" height="100"/>
             <autoresizingMask key="autoresizingMask"/>
             <subviews>
                 <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="FDF-ZT-TJx">
-                    <rect key="frame" x="0.0" y="10" width="414" height="100"/>
+                    <rect key="frame" x="14" y="5" width="386" height="90"/>
                     <subviews>
                         <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="Hu0-Qz-IjA">
-                            <rect key="frame" x="189" y="86" width="36" height="4"/>
+                            <rect key="frame" x="175" y="76" width="36" height="4"/>
                             <subviews>
                                 <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="9Qq-0N-maI">
                                     <rect key="frame" x="0.0" y="0.0" width="18" height="4"/>
@@ -47,19 +47,24 @@
                             </userDefinedRuntimeAttributes>
                         </view>
                     </subviews>
-                    <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
+                    <color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
                     <constraints>
                         <constraint firstItem="Hu0-Qz-IjA" firstAttribute="centerX" secondItem="FDF-ZT-TJx" secondAttribute="centerX" id="Hsr-mg-qWh"/>
-                        <constraint firstAttribute="height" constant="100" id="NcO-ha-Gmb"/>
+                        <constraint firstAttribute="height" constant="90" id="NcO-ha-Gmb"/>
                         <constraint firstAttribute="bottom" secondItem="Hu0-Qz-IjA" secondAttribute="bottom" constant="10" id="YkV-kK-CMd"/>
                     </constraints>
+                    <userDefinedRuntimeAttributes>
+                        <userDefinedRuntimeAttribute type="number" keyPath="cornerRadius">
+                            <real key="value" value="15"/>
+                        </userDefinedRuntimeAttribute>
+                    </userDefinedRuntimeAttributes>
                 </view>
             </subviews>
             <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
             <constraints>
-                <constraint firstItem="FDF-ZT-TJx" firstAttribute="top" secondItem="iN0-l3-epB" secondAttribute="top" constant="10" id="D3O-sT-Grz"/>
-                <constraint firstItem="FDF-ZT-TJx" firstAttribute="leading" secondItem="iN0-l3-epB" secondAttribute="leading" id="WkT-zx-U1t"/>
-                <constraint firstAttribute="trailing" secondItem="FDF-ZT-TJx" secondAttribute="trailing" id="vJG-sS-Gpn"/>
+                <constraint firstItem="FDF-ZT-TJx" firstAttribute="top" secondItem="iN0-l3-epB" secondAttribute="top" constant="5" id="D3O-sT-Grz"/>
+                <constraint firstItem="FDF-ZT-TJx" firstAttribute="leading" secondItem="iN0-l3-epB" secondAttribute="leading" constant="14" id="WkT-zx-U1t"/>
+                <constraint firstAttribute="trailing" secondItem="FDF-ZT-TJx" secondAttribute="trailing" constant="14" id="vJG-sS-Gpn"/>
             </constraints>
             <nil key="simulatedTopBarMetrics"/>
             <nil key="simulatedBottomBarMetrics"/>

+ 5 - 0
KulexiuForTeacher/KulexiuForTeacher/Module/Home/View/HomeNavView.h

@@ -6,10 +6,13 @@
 //
 
 #import <UIKit/UIKit.h>
+#import "TeacherInfo.h"
 
 typedef NS_ENUM(NSInteger, HOMENAV_ACTION) {
     HOMENAV_ACTION_MESSAGE,   // 消息
     HOMENAV_ACTION_SCAN,      // 扫一扫
+    HOMENAV_ACTION_AUTH,      // 认证
+    HOMENAV_ACTION_USER,      // 个人设置
 };
 
 NS_ASSUME_NONNULL_BEGIN
@@ -21,6 +24,8 @@ typedef void(^HomeNavCallback)(HOMENAV_ACTION action);
 
 + (instancetype)shareInstance;
 
+- (void)configMessage:(TeacherInfo *)infoMessage;
+
 - (void)displayMessageCenter:(HomeNavCallback)callback;
 
 @end

+ 83 - 0
KulexiuForTeacher/KulexiuForTeacher/Module/Home/View/HomeNavView.m

@@ -8,9 +8,24 @@
 #import "HomeNavView.h"
 
 @interface HomeNavView ()
+@property (weak, nonatomic) IBOutlet UIImageView *viperImage;
+@property (weak, nonatomic) IBOutlet UIImageView *styleImage;
+@property (weak, nonatomic) IBOutlet UIImageView *videoImage;
+@property (weak, nonatomic) IBOutlet UIImageView *musicImage;
+@property (weak, nonatomic) IBOutlet UIImageView *liveImage;
+
+@property (weak, nonatomic) IBOutlet UIView *badgeView;
+
+@property (weak, nonatomic) IBOutlet UIView *authView;
+
+@property (weak, nonatomic) IBOutlet UIImageView *authStatusImage;
 
 @property (nonatomic, copy) HomeNavCallback callback;
 
+@property (weak, nonatomic) IBOutlet UIImageView *userLogo;
+@property (weak, nonatomic) IBOutlet UILabel *userName;
+@property (weak, nonatomic) IBOutlet NSLayoutConstraint *authViewWidth;
+
 @end
 
 @implementation HomeNavView
@@ -20,6 +35,62 @@
     return view;
 }
 
+- (void)configMessage:(TeacherInfo *)infoMessage {
+    if (![NSString isEmptyString:infoMessage.heardUrl]) {
+        [self.userLogo sd_setImageWithURL:[NSURL URLWithString:[infoMessage.heardUrl getUrlEndcodeString]] placeholderImage:[UIImage imageNamed:USERDEFAULT_LOGO]];
+    }
+    else {
+        [self.userLogo setImage:[UIImage imageNamed:USERDEFAULT_LOGO]];
+    }
+    
+    if ([NSString isEmptyString:infoMessage.username]) {
+        self.userName.text = [NSString stringWithFormat:@"游客%@",infoMessage.userId];
+    }
+    else {
+        self.userName.text = [NSString returnNoNullStringWithString:infoMessage.username];
+    }
+    
+    if ([infoMessage.entryStatus isEqualToString:@"PASS"]) {
+        self.authView.hidden = YES;
+        self.badgeView.hidden = NO;
+        NSArray *tagArray = [infoMessage.tag componentsSeparatedByString:@","];
+        NSString *viperImage = infoMessage.isVip ? @"mine_vip" : @"mine_nomal";
+        [self.viperImage setImage:[UIImage imageNamed:viperImage]];
+        [self.styleImage setImage:[UIImage imageNamed:@"mineStyle_nomal"]];
+        [self.videoImage setImage:[UIImage imageNamed:@"mineVideo_nomal"]];
+        [self.musicImage setImage:[UIImage imageNamed:@"mineMusic_nomal"]];
+        [self.liveImage setImage:[UIImage imageNamed:@"mineLive_nomal"]];
+        for (NSString *tagString in tagArray) {
+            if ([tagString isEqualToString:@"STYLE"]) {
+                [self.styleImage setImage:[UIImage imageNamed:@"mineStyle_active"]];
+            }
+            else if ([tagString isEqualToString:@"VIDEO"]) {
+                [self.videoImage setImage:[UIImage imageNamed:@"mineVideo_active"]];
+            }
+            else if ([tagString isEqualToString:@"LIVE"]) {
+                [self.liveImage setImage:[UIImage imageNamed:@"mineLive_active"]];
+            }
+            else if ([tagString isEqualToString:@"MUSIC"]) {
+                [self.musicImage setImage:[UIImage imageNamed:@"mineMusic_active"]];
+            }
+        }
+        
+    }
+    else {
+        self.authView.hidden = NO;
+        self.badgeView.hidden = YES;
+        if ([infoMessage.entryStatus isEqualToString:@"DOING"]) {
+            [self.authStatusImage setImage:[UIImage imageNamed:@"status_authing"]];
+            self.authViewWidth.constant = 90.0f;
+        }
+        else {
+            [self.authStatusImage setImage:[UIImage imageNamed:@"status_unAuth"]];
+            self.authViewWidth.constant = 80.0f;
+        }
+    }
+   
+    
+}
 
 - (void)displayMessageCenter:(HomeNavCallback)callback {
     if (callback) {
@@ -38,6 +109,18 @@
         self.callback(HOMENAV_ACTION_SCAN);
     }
 }
+- (IBAction)authAction:(id)sender {
+    if (self.callback) {
+        self.callback(HOMENAV_ACTION_AUTH);
+    }
+}
+
+- (IBAction)userDetail:(id)sender {
+    if (self.callback) {
+        self.callback(HOMENAV_ACTION_USER);
+    }
+}
+
 
 /*
 // Only override drawRect: if you perform custom drawing.

+ 135 - 8
KulexiuForTeacher/KulexiuForTeacher/Module/Home/View/HomeNavView.xib

@@ -10,14 +10,14 @@
         <placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner"/>
         <placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/>
         <view contentMode="scaleToFill" id="iN0-l3-epB" customClass="HomeNavView">
-            <rect key="frame" x="0.0" y="0.0" width="110" height="76"/>
+            <rect key="frame" x="0.0" y="0.0" width="433" height="96"/>
             <autoresizingMask key="autoresizingMask"/>
             <subviews>
                 <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="vOh-9c-b3r">
-                    <rect key="frame" x="0.0" y="32" width="110" height="44"/>
+                    <rect key="frame" x="0.0" y="52" width="433" height="44"/>
                     <subviews>
                         <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="qSz-FE-UVP">
-                            <rect key="frame" x="56" y="0.0" width="44" height="44"/>
+                            <rect key="frame" x="379" y="0.0" width="44" height="44"/>
                             <constraints>
                                 <constraint firstAttribute="width" constant="44" id="bCd-Ui-00e"/>
                             </constraints>
@@ -28,7 +28,7 @@
                             </connections>
                         </button>
                         <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="t1J-uq-ROg">
-                            <rect key="frame" x="86" y="10" width="8" height="8"/>
+                            <rect key="frame" x="409" y="10" width="8" height="8"/>
                             <subviews>
                                 <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="g4A-fh-p63">
                                     <rect key="frame" x="1" y="1" width="6" height="6"/>
@@ -56,7 +56,7 @@
                             </userDefinedRuntimeAttributes>
                         </view>
                         <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="q6l-Iv-Tbq">
-                            <rect key="frame" x="7" y="0.0" width="44" height="44"/>
+                            <rect key="frame" x="330" y="0.0" width="44" height="44"/>
                             <constraints>
                                 <constraint firstAttribute="height" constant="44" id="5RK-8c-0uc"/>
                                 <constraint firstAttribute="width" constant="44" id="UNi-JF-ydf"/>
@@ -67,17 +67,126 @@
                                 <action selector="scanAction:" destination="iN0-l3-epB" eventType="touchUpInside" id="Gqi-Yj-iGI"/>
                             </connections>
                         </button>
+                        <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="user_default_avatal" translatesAutoresizingMaskIntoConstraints="NO" id="oCM-E2-WDs">
+                            <rect key="frame" x="19" y="6" width="32" height="32"/>
+                            <constraints>
+                                <constraint firstAttribute="height" constant="32" id="NSG-fD-xdv"/>
+                                <constraint firstAttribute="width" constant="32" id="w7c-lg-j2X"/>
+                            </constraints>
+                            <userDefinedRuntimeAttributes>
+                                <userDefinedRuntimeAttribute type="number" keyPath="cornerRadius">
+                                    <real key="value" value="16"/>
+                                </userDefinedRuntimeAttribute>
+                            </userDefinedRuntimeAttributes>
+                        </imageView>
+                        <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="李老师" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="TwZ-Lg-9Mu">
+                            <rect key="frame" x="59" y="11" width="55.5" height="22"/>
+                            <fontDescription key="fontDescription" type="system" weight="medium" pointSize="18"/>
+                            <color key="textColor" red="0.10196078431372549" green="0.10196078431372549" blue="0.10196078431372549" alpha="1" colorSpace="calibratedRGB"/>
+                            <nil key="highlightedColor"/>
+                        </label>
+                        <view hidden="YES" contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="aEK-Ov-3cI">
+                            <rect key="frame" x="120.5" y="10" width="126" height="24"/>
+                            <subviews>
+                                <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="mine_nomal" translatesAutoresizingMaskIntoConstraints="NO" id="2pr-Kd-QQQ">
+                                    <rect key="frame" x="0.0" y="4.5" width="34" height="15"/>
+                                    <constraints>
+                                        <constraint firstAttribute="width" constant="34" id="4ca-6e-QDo"/>
+                                        <constraint firstAttribute="height" constant="15" id="vDD-xE-BEp"/>
+                                    </constraints>
+                                </imageView>
+                                <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="mineStyle_nomal" translatesAutoresizingMaskIntoConstraints="NO" id="3ky-3l-WXt">
+                                    <rect key="frame" x="38" y="3" width="18" height="18"/>
+                                    <constraints>
+                                        <constraint firstAttribute="height" constant="18" id="GoJ-hM-6eq"/>
+                                        <constraint firstAttribute="width" constant="18" id="gES-cd-acd"/>
+                                    </constraints>
+                                </imageView>
+                                <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="mineVideo_nomal" translatesAutoresizingMaskIntoConstraints="NO" id="MNS-f1-2x6">
+                                    <rect key="frame" x="60" y="3" width="18" height="18"/>
+                                </imageView>
+                                <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="mineMusic_nomal" translatesAutoresizingMaskIntoConstraints="NO" id="tzN-zp-Ngy">
+                                    <rect key="frame" x="82" y="3" width="18" height="18"/>
+                                </imageView>
+                                <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="mineLive_nomal" translatesAutoresizingMaskIntoConstraints="NO" id="dfQ-4o-Nnf">
+                                    <rect key="frame" x="104" y="3" width="18" height="18"/>
+                                </imageView>
+                            </subviews>
+                            <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
+                            <constraints>
+                                <constraint firstItem="2pr-Kd-QQQ" firstAttribute="centerY" secondItem="aEK-Ov-3cI" secondAttribute="centerY" id="0lE-b1-BF0"/>
+                                <constraint firstItem="tzN-zp-Ngy" firstAttribute="leading" secondItem="MNS-f1-2x6" secondAttribute="trailing" constant="4" id="7Jj-Wh-DXB"/>
+                                <constraint firstItem="tzN-zp-Ngy" firstAttribute="centerY" secondItem="2pr-Kd-QQQ" secondAttribute="centerY" id="DM7-am-Inn"/>
+                                <constraint firstItem="dfQ-4o-Nnf" firstAttribute="leading" secondItem="tzN-zp-Ngy" secondAttribute="trailing" constant="4" id="HuR-as-XSm"/>
+                                <constraint firstItem="3ky-3l-WXt" firstAttribute="centerY" secondItem="2pr-Kd-QQQ" secondAttribute="centerY" id="OUs-Ls-HlG"/>
+                                <constraint firstItem="MNS-f1-2x6" firstAttribute="leading" secondItem="3ky-3l-WXt" secondAttribute="trailing" constant="4" id="Qcg-SA-8KE"/>
+                                <constraint firstAttribute="height" constant="24" id="WBL-j6-LCK"/>
+                                <constraint firstAttribute="trailing" secondItem="dfQ-4o-Nnf" secondAttribute="trailing" constant="4" id="X8y-Gi-19J"/>
+                                <constraint firstItem="dfQ-4o-Nnf" firstAttribute="centerY" secondItem="2pr-Kd-QQQ" secondAttribute="centerY" id="b1U-oe-bXV"/>
+                                <constraint firstItem="2pr-Kd-QQQ" firstAttribute="leading" secondItem="aEK-Ov-3cI" secondAttribute="leading" id="faJ-qo-XOl"/>
+                                <constraint firstItem="3ky-3l-WXt" firstAttribute="leading" secondItem="2pr-Kd-QQQ" secondAttribute="trailing" constant="4" id="p3g-2g-cPn"/>
+                                <constraint firstItem="MNS-f1-2x6" firstAttribute="centerY" secondItem="2pr-Kd-QQQ" secondAttribute="centerY" id="xhS-r4-LlH"/>
+                            </constraints>
+                        </view>
+                        <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="Wyg-PY-JG1">
+                            <rect key="frame" x="120.5" y="10" width="80" height="24"/>
+                            <subviews>
+                                <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="status_unAuth" translatesAutoresizingMaskIntoConstraints="NO" id="cn8-bw-7Oy">
+                                    <rect key="frame" x="0.0" y="0.0" width="80" height="24"/>
+                                </imageView>
+                                <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="Wks-wd-YSu">
+                                    <rect key="frame" x="0.0" y="0.0" width="80" height="24"/>
+                                    <inset key="imageEdgeInsets" minX="0.0" minY="0.0" maxX="2.2250738585072014e-308" maxY="0.0"/>
+                                    <connections>
+                                        <action selector="authAction:" destination="iN0-l3-epB" eventType="touchUpInside" id="2b6-9A-UAj"/>
+                                    </connections>
+                                </button>
+                            </subviews>
+                            <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
+                            <constraints>
+                                <constraint firstAttribute="trailing" secondItem="cn8-bw-7Oy" secondAttribute="trailing" id="8aV-hE-rcT"/>
+                                <constraint firstItem="cn8-bw-7Oy" firstAttribute="leading" secondItem="Wyg-PY-JG1" secondAttribute="leading" id="95c-nO-T75"/>
+                                <constraint firstAttribute="trailing" secondItem="Wks-wd-YSu" secondAttribute="trailing" id="9Kh-su-HfG"/>
+                                <constraint firstItem="Wks-wd-YSu" firstAttribute="top" secondItem="Wyg-PY-JG1" secondAttribute="top" id="A8B-px-yXD"/>
+                                <constraint firstAttribute="height" constant="24" id="BWi-0L-jjj"/>
+                                <constraint firstAttribute="bottom" secondItem="cn8-bw-7Oy" secondAttribute="bottom" id="G4n-H4-IQc"/>
+                                <constraint firstItem="cn8-bw-7Oy" firstAttribute="top" secondItem="Wyg-PY-JG1" secondAttribute="top" id="IaP-mU-CJ4"/>
+                                <constraint firstAttribute="bottom" secondItem="Wks-wd-YSu" secondAttribute="bottom" id="Nah-g8-Eyf"/>
+                                <constraint firstAttribute="width" constant="80" id="aMc-kb-NFb"/>
+                                <constraint firstItem="Wks-wd-YSu" firstAttribute="leading" secondItem="Wyg-PY-JG1" secondAttribute="leading" id="dEQ-Yx-L6C"/>
+                            </constraints>
+                        </view>
+                        <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="BtN-ww-slV">
+                            <rect key="frame" x="19" y="6" width="32" height="32"/>
+                            <inset key="imageEdgeInsets" minX="0.0" minY="0.0" maxX="2.2250738585072014e-308" maxY="0.0"/>
+                            <connections>
+                                <action selector="userDetail:" destination="iN0-l3-epB" eventType="touchUpInside" id="gYf-g3-Oav"/>
+                            </connections>
+                        </button>
                     </subviews>
                     <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
                     <constraints>
                         <constraint firstItem="qSz-FE-UVP" firstAttribute="leading" secondItem="q6l-Iv-Tbq" secondAttribute="trailing" constant="5" id="38X-Iz-sbM"/>
                         <constraint firstAttribute="trailing" secondItem="t1J-uq-ROg" secondAttribute="trailing" constant="16" id="81p-OQ-M7S"/>
+                        <constraint firstItem="aEK-Ov-3cI" firstAttribute="centerY" secondItem="TwZ-Lg-9Mu" secondAttribute="centerY" id="84p-DM-7AY"/>
+                        <constraint firstItem="oCM-E2-WDs" firstAttribute="trailing" secondItem="BtN-ww-slV" secondAttribute="trailing" id="B2Q-M1-Zhz"/>
+                        <constraint firstItem="oCM-E2-WDs" firstAttribute="leading" secondItem="BtN-ww-slV" secondAttribute="leading" id="B6Q-ke-77m"/>
                         <constraint firstItem="t1J-uq-ROg" firstAttribute="top" secondItem="vOh-9c-b3r" secondAttribute="top" constant="10" id="FcH-GF-jbv"/>
+                        <constraint firstItem="oCM-E2-WDs" firstAttribute="bottom" secondItem="BtN-ww-slV" secondAttribute="bottom" id="Glu-3G-snx"/>
                         <constraint firstAttribute="trailing" secondItem="qSz-FE-UVP" secondAttribute="trailing" constant="10" id="Hpm-xn-doL"/>
+                        <constraint firstItem="oCM-E2-WDs" firstAttribute="top" secondItem="BtN-ww-slV" secondAttribute="top" id="IB5-L5-gWF"/>
+                        <constraint firstItem="TwZ-Lg-9Mu" firstAttribute="centerY" secondItem="oCM-E2-WDs" secondAttribute="centerY" id="INU-uD-3jb"/>
                         <constraint firstAttribute="bottom" secondItem="qSz-FE-UVP" secondAttribute="bottom" id="N2N-9O-f5N"/>
+                        <constraint firstItem="oCM-E2-WDs" firstAttribute="leading" secondItem="vOh-9c-b3r" secondAttribute="leading" constant="19" id="NWu-0G-4ga"/>
+                        <constraint firstItem="Wyg-PY-JG1" firstAttribute="leading" secondItem="TwZ-Lg-9Mu" secondAttribute="trailing" constant="6" id="Ool-Zu-PXT"/>
                         <constraint firstItem="qSz-FE-UVP" firstAttribute="centerY" secondItem="q6l-Iv-Tbq" secondAttribute="centerY" id="Tpt-zB-iEz"/>
+                        <constraint firstItem="aEK-Ov-3cI" firstAttribute="leading" secondItem="TwZ-Lg-9Mu" secondAttribute="trailing" constant="6" id="Yp0-Zv-sNZ"/>
                         <constraint firstAttribute="height" constant="44" id="cj7-26-Plu"/>
+                        <constraint firstItem="oCM-E2-WDs" firstAttribute="centerY" secondItem="vOh-9c-b3r" secondAttribute="centerY" id="dAF-LS-7Kg"/>
                         <constraint firstItem="qSz-FE-UVP" firstAttribute="top" secondItem="vOh-9c-b3r" secondAttribute="top" id="dgb-Bb-S6e"/>
+                        <constraint firstItem="q6l-Iv-Tbq" firstAttribute="centerY" secondItem="vOh-9c-b3r" secondAttribute="centerY" id="e5f-Md-Um3"/>
+                        <constraint firstItem="Wyg-PY-JG1" firstAttribute="centerY" secondItem="TwZ-Lg-9Mu" secondAttribute="centerY" id="obL-Zj-DiA"/>
+                        <constraint firstItem="TwZ-Lg-9Mu" firstAttribute="leading" secondItem="oCM-E2-WDs" secondAttribute="trailing" constant="8" id="r5S-Kz-0WG"/>
                     </constraints>
                 </view>
             </subviews>
@@ -91,13 +200,31 @@
             <nil key="simulatedBottomBarMetrics"/>
             <freeformSimulatedSizeMetrics key="simulatedDestinationMetrics"/>
             <connections>
+                <outlet property="authStatusImage" destination="cn8-bw-7Oy" id="SIG-E0-Uxg"/>
+                <outlet property="authView" destination="Wyg-PY-JG1" id="Lvb-zX-Tvl"/>
+                <outlet property="authViewWidth" destination="aMc-kb-NFb" id="N9K-Rk-oNR"/>
+                <outlet property="badgeView" destination="aEK-Ov-3cI" id="iha-lR-mWS"/>
                 <outlet property="dotView" destination="t1J-uq-ROg" id="p7q-S3-Sqq"/>
+                <outlet property="liveImage" destination="dfQ-4o-Nnf" id="a1c-Gb-1xZ"/>
+                <outlet property="musicImage" destination="tzN-zp-Ngy" id="cfn-kK-G1h"/>
+                <outlet property="styleImage" destination="3ky-3l-WXt" id="UJe-AG-P6w"/>
+                <outlet property="userLogo" destination="oCM-E2-WDs" id="Sma-60-5Wb"/>
+                <outlet property="userName" destination="TwZ-Lg-9Mu" id="rv0-6N-MyY"/>
+                <outlet property="videoImage" destination="MNS-f1-2x6" id="J4w-IP-8u2"/>
+                <outlet property="viperImage" destination="2pr-Kd-QQQ" id="Rhd-WH-Lqv"/>
             </connections>
-            <point key="canvasLocation" x="257.97101449275362" y="-137.27678571428569"/>
+            <point key="canvasLocation" x="351.44927536231887" y="-130.58035714285714"/>
         </view>
     </objects>
     <resources>
-        <image name="home_message" width="25" height="23"/>
-        <image name="home_scan" width="22" height="22"/>
+        <image name="home_message" width="24" height="24"/>
+        <image name="home_scan" width="26" height="26"/>
+        <image name="mineLive_nomal" width="18" height="18"/>
+        <image name="mineMusic_nomal" width="18" height="18"/>
+        <image name="mineStyle_nomal" width="18" height="18"/>
+        <image name="mineVideo_nomal" width="18" height="18"/>
+        <image name="mine_nomal" width="34" height="15"/>
+        <image name="status_unAuth" width="80" height="24"/>
+        <image name="user_default_avatal" width="52" height="52"/>
     </resources>
 </document>

+ 33 - 0
KulexiuForTeacher/KulexiuForTeacher/Module/Home/View/HomeNewHeadView.h

@@ -0,0 +1,33 @@
+//
+//  HomeNewHeadView.h
+//  KulexiuForTeacher
+//
+//  Created by 王智 on 2022/7/25.
+//
+
+#import <UIKit/UIKit.h>
+
+typedef NS_ENUM(NSInteger, HOMEHEADTYPE) {
+    HOMEHEADTYPE_FANS,          // 粉丝
+    HOMEHEADTYPE_FINISHCOURSE,  // 已完成课时
+    HOMEHEADTYPE_UNFINISHCOURSE,// 未完成课时
+};
+
+typedef void(^HomeHeadBlock)(HOMEHEADTYPE type);
+
+NS_ASSUME_NONNULL_BEGIN
+
+@interface HomeNewHeadView : UIView
+@property (weak, nonatomic) IBOutlet UILabel *fansCountLabel;
+@property (weak, nonatomic) IBOutlet UILabel *finishCourseLabel;
+@property (weak, nonatomic) IBOutlet UILabel *unFinishCourseLabel;
+
++ (instancetype)shareInstance;
+
+- (void)courseDetailAction:(HomeHeadBlock)callback;
+
+- (CGFloat)getViewHeight;
+
+@end
+
+NS_ASSUME_NONNULL_END

+ 61 - 0
KulexiuForTeacher/KulexiuForTeacher/Module/Home/View/HomeNewHeadView.m

@@ -0,0 +1,61 @@
+//
+//  HomeNewHeadView.m
+//  KulexiuForTeacher
+//
+//  Created by 王智 on 2022/7/25.
+//
+
+#import "HomeNewHeadView.h"
+
+@interface HomeNewHeadView ()
+
+@property (nonatomic, copy) HomeHeadBlock callback;
+
+@end
+
+@implementation HomeNewHeadView
+
++ (instancetype)shareInstance {
+    HomeNewHeadView *view = [[[NSBundle mainBundle] loadNibNamed:@"HomeNewHeadView" owner:nil options:nil] firstObject];
+    return view;
+}
+
+- (void)courseDetailAction:(HomeHeadBlock)callback {
+    if (callback) {
+        self.callback = callback;
+    }
+}
+
+- (CGFloat)getViewHeight {
+    return 102.0 / 349 * (KPortraitWidth - 28) + 10;
+}
+
+- (IBAction)fansDetail:(id)sender {
+    if (self.callback) {
+        self.callback(HOMEHEADTYPE_FANS);
+    }
+}
+
+- (IBAction)finishCourse:(id)sender {
+    if (self.callback) {
+        self.callback(HOMEHEADTYPE_FINISHCOURSE);
+    }
+}
+- (IBAction)unfinishCourse:(id)sender {
+    if (self.callback) {
+        self.callback(HOMEHEADTYPE_UNFINISHCOURSE);
+    }
+}
+
+
+
+
+/*
+// Only override drawRect: if you perform custom drawing.
+// An empty implementation adversely affects performance during animation.
+- (void)drawRect:(CGRect)rect {
+    // Drawing code
+}
+*/
+
+@end

+ 256 - 0
KulexiuForTeacher/KulexiuForTeacher/Module/Home/View/HomeNewHeadView.xib

@@ -0,0 +1,256 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="20037" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" colorMatched="YES">
+    <device id="retina6_1" orientation="portrait" appearance="light"/>
+    <dependencies>
+        <deployment identifier="iOS"/>
+        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="20020"/>
+        <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
+    </dependencies>
+    <objects>
+        <placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner"/>
+        <placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/>
+        <view contentMode="scaleToFill" id="iN0-l3-epB" customClass="HomeNewHeadView">
+            <rect key="frame" x="0.0" y="0.0" width="531" height="191"/>
+            <autoresizingMask key="autoresizingMask"/>
+            <subviews>
+                <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="dAf-eE-YdP">
+                    <rect key="frame" x="14" y="22" width="503" height="147"/>
+                    <subviews>
+                        <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="homeCount_bg" translatesAutoresizingMaskIntoConstraints="NO" id="Eok-t1-fEe">
+                            <rect key="frame" x="0.0" y="0.0" width="503" height="147"/>
+                        </imageView>
+                        <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="duw-1V-tCe">
+                            <rect key="frame" x="0.0" y="33.5" width="167.5" height="80"/>
+                            <subviews>
+                                <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="20" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="FhD-EL-g1g">
+                                    <rect key="frame" x="10" y="13" width="147.5" height="28"/>
+                                    <constraints>
+                                        <constraint firstAttribute="height" constant="28" id="XMC-I6-N5S"/>
+                                    </constraints>
+                                    <fontDescription key="fontDescription" type="system" weight="semibold" pointSize="20"/>
+                                    <color key="textColor" red="1" green="1" blue="1" alpha="1" colorSpace="calibratedRGB"/>
+                                    <nil key="highlightedColor"/>
+                                </label>
+                                <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="KnN-07-Ly0">
+                                    <rect key="frame" x="64" y="48" width="40" height="17"/>
+                                    <subviews>
+                                        <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="home_next" translatesAutoresizingMaskIntoConstraints="NO" id="zMz-HG-7mr">
+                                            <rect key="frame" x="29" y="3" width="11" height="11"/>
+                                            <constraints>
+                                                <constraint firstAttribute="height" constant="11" id="feq-5x-06O"/>
+                                                <constraint firstAttribute="width" constant="11" id="v4b-P1-9eO"/>
+                                            </constraints>
+                                        </imageView>
+                                        <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="粉丝" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="WrO-jF-HQS">
+                                            <rect key="frame" x="0.0" y="0.0" width="25" height="17"/>
+                                            <constraints>
+                                                <constraint firstAttribute="height" constant="17" id="Jdc-eD-OzM"/>
+                                            </constraints>
+                                            <fontDescription key="fontDescription" type="system" pointSize="12"/>
+                                            <color key="textColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
+                                            <nil key="highlightedColor"/>
+                                        </label>
+                                    </subviews>
+                                    <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
+                                    <constraints>
+                                        <constraint firstItem="zMz-HG-7mr" firstAttribute="centerY" secondItem="WrO-jF-HQS" secondAttribute="centerY" id="8tv-w3-pcE"/>
+                                        <constraint firstItem="WrO-jF-HQS" firstAttribute="centerY" secondItem="KnN-07-Ly0" secondAttribute="centerY" id="Gpk-Zd-EFG"/>
+                                        <constraint firstItem="WrO-jF-HQS" firstAttribute="top" secondItem="KnN-07-Ly0" secondAttribute="top" id="Ifd-Va-XQt"/>
+                                        <constraint firstItem="zMz-HG-7mr" firstAttribute="leading" secondItem="WrO-jF-HQS" secondAttribute="trailing" constant="4" id="Snj-bp-39g"/>
+                                        <constraint firstAttribute="trailing" secondItem="zMz-HG-7mr" secondAttribute="trailing" id="pqn-e7-Qye"/>
+                                        <constraint firstItem="WrO-jF-HQS" firstAttribute="leading" secondItem="KnN-07-Ly0" secondAttribute="leading" id="pzZ-eE-xzj"/>
+                                    </constraints>
+                                </view>
+                                <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="caS-3f-KNq">
+                                    <rect key="frame" x="0.0" y="0.0" width="167.5" height="80"/>
+                                    <inset key="imageEdgeInsets" minX="0.0" minY="0.0" maxX="2.2250738585072014e-308" maxY="0.0"/>
+                                    <connections>
+                                        <action selector="fansDetail:" destination="iN0-l3-epB" eventType="touchUpInside" id="dwt-5Q-Gv6"/>
+                                    </connections>
+                                </button>
+                            </subviews>
+                            <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
+                            <constraints>
+                                <constraint firstItem="FhD-EL-g1g" firstAttribute="leading" secondItem="duw-1V-tCe" secondAttribute="leading" constant="10" id="0cb-k2-C1z"/>
+                                <constraint firstAttribute="bottom" secondItem="caS-3f-KNq" secondAttribute="bottom" id="MKb-Wi-9n0"/>
+                                <constraint firstAttribute="trailing" secondItem="caS-3f-KNq" secondAttribute="trailing" id="O5h-8g-XVi"/>
+                                <constraint firstItem="FhD-EL-g1g" firstAttribute="top" secondItem="duw-1V-tCe" secondAttribute="top" constant="13" id="WFH-t2-2z2"/>
+                                <constraint firstItem="caS-3f-KNq" firstAttribute="leading" secondItem="duw-1V-tCe" secondAttribute="leading" id="YJM-Cc-isd"/>
+                                <constraint firstItem="FhD-EL-g1g" firstAttribute="centerX" secondItem="duw-1V-tCe" secondAttribute="centerX" id="YZV-dm-PBO"/>
+                                <constraint firstItem="KnN-07-Ly0" firstAttribute="top" secondItem="FhD-EL-g1g" secondAttribute="bottom" constant="7" id="lDg-mn-W9u"/>
+                                <constraint firstItem="caS-3f-KNq" firstAttribute="top" secondItem="duw-1V-tCe" secondAttribute="top" id="s9G-Ry-dCM"/>
+                                <constraint firstAttribute="trailing" secondItem="FhD-EL-g1g" secondAttribute="trailing" constant="10" id="uEM-da-XuN"/>
+                                <constraint firstItem="KnN-07-Ly0" firstAttribute="centerX" secondItem="duw-1V-tCe" secondAttribute="centerX" id="uxF-AN-odg"/>
+                                <constraint firstAttribute="height" constant="80" id="wjz-N7-Ftq"/>
+                            </constraints>
+                        </view>
+                        <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="6tF-Wh-QjG">
+                            <rect key="frame" x="167.5" y="33.5" width="168" height="80"/>
+                            <subviews>
+                                <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="13" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Ah3-Tm-lPw">
+                                    <rect key="frame" x="10" y="13" width="148" height="28"/>
+                                    <constraints>
+                                        <constraint firstAttribute="height" constant="28" id="GQc-0M-81F"/>
+                                    </constraints>
+                                    <fontDescription key="fontDescription" type="system" weight="semibold" pointSize="20"/>
+                                    <color key="textColor" red="1" green="1" blue="1" alpha="1" colorSpace="calibratedRGB"/>
+                                    <nil key="highlightedColor"/>
+                                </label>
+                                <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="Iy1-fI-6Ke">
+                                    <rect key="frame" x="52" y="48" width="64.5" height="17"/>
+                                    <subviews>
+                                        <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="home_next" translatesAutoresizingMaskIntoConstraints="NO" id="pE1-No-KnR">
+                                            <rect key="frame" x="53.5" y="3" width="11" height="11"/>
+                                            <constraints>
+                                                <constraint firstAttribute="width" constant="11" id="KqS-vd-uXC"/>
+                                                <constraint firstAttribute="height" constant="11" id="XQP-UN-Wru"/>
+                                            </constraints>
+                                        </imageView>
+                                        <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="已上课时" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="zTu-hY-As8">
+                                            <rect key="frame" x="0.0" y="0.0" width="49.5" height="17"/>
+                                            <constraints>
+                                                <constraint firstAttribute="height" constant="17" id="GGF-lw-tpZ"/>
+                                            </constraints>
+                                            <fontDescription key="fontDescription" type="system" pointSize="12"/>
+                                            <color key="textColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
+                                            <nil key="highlightedColor"/>
+                                        </label>
+                                    </subviews>
+                                    <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
+                                    <constraints>
+                                        <constraint firstAttribute="trailing" secondItem="pE1-No-KnR" secondAttribute="trailing" id="7Dw-ms-OLs"/>
+                                        <constraint firstItem="zTu-hY-As8" firstAttribute="top" secondItem="Iy1-fI-6Ke" secondAttribute="top" id="f4S-AO-bcQ"/>
+                                        <constraint firstItem="pE1-No-KnR" firstAttribute="leading" secondItem="zTu-hY-As8" secondAttribute="trailing" constant="4" id="ija-If-FOa"/>
+                                        <constraint firstItem="zTu-hY-As8" firstAttribute="centerY" secondItem="Iy1-fI-6Ke" secondAttribute="centerY" id="luO-5b-eL9"/>
+                                        <constraint firstItem="zTu-hY-As8" firstAttribute="leading" secondItem="Iy1-fI-6Ke" secondAttribute="leading" id="nLW-nd-FzB"/>
+                                        <constraint firstItem="pE1-No-KnR" firstAttribute="centerY" secondItem="zTu-hY-As8" secondAttribute="centerY" id="wgo-U7-no6"/>
+                                    </constraints>
+                                </view>
+                                <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="0Eo-IO-ovL">
+                                    <rect key="frame" x="0.0" y="0.0" width="168" height="80"/>
+                                    <inset key="imageEdgeInsets" minX="0.0" minY="0.0" maxX="2.2250738585072014e-308" maxY="0.0"/>
+                                    <connections>
+                                        <action selector="finishCourse:" destination="iN0-l3-epB" eventType="touchUpInside" id="mcW-2e-JLa"/>
+                                    </connections>
+                                </button>
+                            </subviews>
+                            <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
+                            <constraints>
+                                <constraint firstAttribute="trailing" secondItem="0Eo-IO-ovL" secondAttribute="trailing" id="0cf-OM-gUM"/>
+                                <constraint firstAttribute="bottom" secondItem="0Eo-IO-ovL" secondAttribute="bottom" id="9js-jx-RkY"/>
+                                <constraint firstItem="Ah3-Tm-lPw" firstAttribute="top" secondItem="6tF-Wh-QjG" secondAttribute="top" constant="13" id="Bme-D6-8PN"/>
+                                <constraint firstItem="Ah3-Tm-lPw" firstAttribute="leading" secondItem="6tF-Wh-QjG" secondAttribute="leading" constant="10" id="Qom-V5-gJx"/>
+                                <constraint firstItem="Iy1-fI-6Ke" firstAttribute="top" secondItem="Ah3-Tm-lPw" secondAttribute="bottom" constant="7" id="Y3Z-U9-SUd"/>
+                                <constraint firstItem="0Eo-IO-ovL" firstAttribute="leading" secondItem="6tF-Wh-QjG" secondAttribute="leading" id="cNU-Py-Jj3"/>
+                                <constraint firstItem="Iy1-fI-6Ke" firstAttribute="centerX" secondItem="6tF-Wh-QjG" secondAttribute="centerX" id="cVb-RN-fFD"/>
+                                <constraint firstAttribute="trailing" secondItem="Ah3-Tm-lPw" secondAttribute="trailing" constant="10" id="nsn-Yd-Ghd"/>
+                                <constraint firstItem="0Eo-IO-ovL" firstAttribute="top" secondItem="6tF-Wh-QjG" secondAttribute="top" id="x3B-oQ-WTX"/>
+                            </constraints>
+                        </view>
+                        <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="VG7-e5-Mee">
+                            <rect key="frame" x="335.5" y="33.5" width="167.5" height="80"/>
+                            <subviews>
+                                <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="8" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="2Dv-OD-VJg">
+                                    <rect key="frame" x="10" y="13" width="147.5" height="28"/>
+                                    <constraints>
+                                        <constraint firstAttribute="height" constant="28" id="W1Y-at-3h5"/>
+                                    </constraints>
+                                    <fontDescription key="fontDescription" type="system" weight="semibold" pointSize="20"/>
+                                    <color key="textColor" red="1" green="1" blue="1" alpha="1" colorSpace="calibratedRGB"/>
+                                    <nil key="highlightedColor"/>
+                                </label>
+                                <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="2Zl-HN-bob">
+                                    <rect key="frame" x="51.5" y="48" width="64.5" height="17"/>
+                                    <subviews>
+                                        <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="home_next" translatesAutoresizingMaskIntoConstraints="NO" id="A5s-Qv-nlV">
+                                            <rect key="frame" x="53.5" y="3" width="11" height="11"/>
+                                            <constraints>
+                                                <constraint firstAttribute="height" constant="11" id="kpc-EZ-YCK"/>
+                                                <constraint firstAttribute="width" constant="11" id="l2a-ZE-jVh"/>
+                                            </constraints>
+                                        </imageView>
+                                        <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="未上课时" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="eeT-rr-nNF">
+                                            <rect key="frame" x="0.0" y="0.0" width="49.5" height="17"/>
+                                            <constraints>
+                                                <constraint firstAttribute="height" constant="17" id="vTS-lx-av6"/>
+                                            </constraints>
+                                            <fontDescription key="fontDescription" type="system" pointSize="12"/>
+                                            <color key="textColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
+                                            <nil key="highlightedColor"/>
+                                        </label>
+                                    </subviews>
+                                    <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
+                                    <constraints>
+                                        <constraint firstAttribute="trailing" secondItem="A5s-Qv-nlV" secondAttribute="trailing" id="8Cv-CN-Mrz"/>
+                                        <constraint firstItem="eeT-rr-nNF" firstAttribute="centerY" secondItem="2Zl-HN-bob" secondAttribute="centerY" id="MXe-Qc-I9D"/>
+                                        <constraint firstItem="A5s-Qv-nlV" firstAttribute="leading" secondItem="eeT-rr-nNF" secondAttribute="trailing" constant="4" id="Px1-sz-N5L"/>
+                                        <constraint firstItem="eeT-rr-nNF" firstAttribute="top" secondItem="2Zl-HN-bob" secondAttribute="top" id="k4s-4J-5ba"/>
+                                        <constraint firstItem="A5s-Qv-nlV" firstAttribute="centerY" secondItem="eeT-rr-nNF" secondAttribute="centerY" id="vtW-qF-15B"/>
+                                        <constraint firstItem="eeT-rr-nNF" firstAttribute="leading" secondItem="2Zl-HN-bob" secondAttribute="leading" id="yzn-du-4US"/>
+                                    </constraints>
+                                </view>
+                                <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="M8m-c5-Rfo">
+                                    <rect key="frame" x="0.0" y="0.0" width="167.5" height="80"/>
+                                    <inset key="imageEdgeInsets" minX="0.0" minY="0.0" maxX="2.2250738585072014e-308" maxY="0.0"/>
+                                    <connections>
+                                        <action selector="unfinishCourse:" destination="iN0-l3-epB" eventType="touchUpInside" id="fA4-FY-skD"/>
+                                    </connections>
+                                </button>
+                            </subviews>
+                            <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
+                            <constraints>
+                                <constraint firstAttribute="trailing" secondItem="M8m-c5-Rfo" secondAttribute="trailing" id="3Xq-l2-JIV"/>
+                                <constraint firstAttribute="bottom" secondItem="M8m-c5-Rfo" secondAttribute="bottom" id="N1M-1i-SuI"/>
+                                <constraint firstItem="M8m-c5-Rfo" firstAttribute="leading" secondItem="VG7-e5-Mee" secondAttribute="leading" id="PlC-bx-AdE"/>
+                                <constraint firstAttribute="trailing" secondItem="2Dv-OD-VJg" secondAttribute="trailing" constant="10" id="V9K-Vl-E3j"/>
+                                <constraint firstItem="2Zl-HN-bob" firstAttribute="top" secondItem="2Dv-OD-VJg" secondAttribute="bottom" constant="7" id="h6D-V2-4EL"/>
+                                <constraint firstItem="2Zl-HN-bob" firstAttribute="centerX" secondItem="VG7-e5-Mee" secondAttribute="centerX" id="l7P-3u-YlS"/>
+                                <constraint firstItem="2Dv-OD-VJg" firstAttribute="top" secondItem="VG7-e5-Mee" secondAttribute="top" constant="13" id="nla-66-8J3"/>
+                                <constraint firstItem="M8m-c5-Rfo" firstAttribute="top" secondItem="VG7-e5-Mee" secondAttribute="top" id="tEF-xs-nVD"/>
+                                <constraint firstItem="2Dv-OD-VJg" firstAttribute="leading" secondItem="VG7-e5-Mee" secondAttribute="leading" constant="10" id="xVf-O3-uIE"/>
+                            </constraints>
+                        </view>
+                    </subviews>
+                    <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
+                    <constraints>
+                        <constraint firstAttribute="trailing" secondItem="Eok-t1-fEe" secondAttribute="trailing" id="0si-TB-mI7"/>
+                        <constraint firstItem="6tF-Wh-QjG" firstAttribute="height" secondItem="duw-1V-tCe" secondAttribute="height" id="26h-pc-Hah"/>
+                        <constraint firstItem="VG7-e5-Mee" firstAttribute="centerY" secondItem="duw-1V-tCe" secondAttribute="centerY" id="8El-Gh-2y1"/>
+                        <constraint firstItem="duw-1V-tCe" firstAttribute="leading" secondItem="dAf-eE-YdP" secondAttribute="leading" id="Amg-DZ-vQa"/>
+                        <constraint firstItem="Eok-t1-fEe" firstAttribute="leading" secondItem="dAf-eE-YdP" secondAttribute="leading" id="GDH-iw-dLL"/>
+                        <constraint firstAttribute="bottom" secondItem="Eok-t1-fEe" secondAttribute="bottom" id="WHU-PJ-1Zv"/>
+                        <constraint firstItem="VG7-e5-Mee" firstAttribute="leading" secondItem="6tF-Wh-QjG" secondAttribute="trailing" id="WU6-8d-6E7"/>
+                        <constraint firstAttribute="width" secondItem="dAf-eE-YdP" secondAttribute="height" multiplier="349:102" id="Wnh-bc-tvT"/>
+                        <constraint firstItem="6tF-Wh-QjG" firstAttribute="width" secondItem="duw-1V-tCe" secondAttribute="width" id="XAx-Ab-QfH"/>
+                        <constraint firstItem="duw-1V-tCe" firstAttribute="centerY" secondItem="dAf-eE-YdP" secondAttribute="centerY" id="fMO-Tk-W8Z"/>
+                        <constraint firstItem="6tF-Wh-QjG" firstAttribute="centerY" secondItem="duw-1V-tCe" secondAttribute="centerY" id="g5h-Ix-CJ9"/>
+                        <constraint firstItem="6tF-Wh-QjG" firstAttribute="leading" secondItem="duw-1V-tCe" secondAttribute="trailing" id="gAd-GP-wfJ"/>
+                        <constraint firstItem="Eok-t1-fEe" firstAttribute="top" secondItem="dAf-eE-YdP" secondAttribute="top" id="hTk-w7-l8I"/>
+                        <constraint firstItem="VG7-e5-Mee" firstAttribute="height" secondItem="duw-1V-tCe" secondAttribute="height" id="jEF-dd-loB"/>
+                        <constraint firstItem="VG7-e5-Mee" firstAttribute="width" secondItem="duw-1V-tCe" secondAttribute="width" id="qnh-gX-kUg"/>
+                        <constraint firstAttribute="trailing" secondItem="VG7-e5-Mee" secondAttribute="trailing" id="tFD-Bc-dkd"/>
+                    </constraints>
+                </view>
+            </subviews>
+            <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
+            <constraints>
+                <constraint firstItem="dAf-eE-YdP" firstAttribute="leading" secondItem="iN0-l3-epB" secondAttribute="leading" constant="14" id="iar-KF-bZq"/>
+                <constraint firstAttribute="trailing" secondItem="dAf-eE-YdP" secondAttribute="trailing" constant="14" id="khg-7S-Dwh"/>
+                <constraint firstItem="dAf-eE-YdP" firstAttribute="centerY" secondItem="iN0-l3-epB" secondAttribute="centerY" id="nsN-Xp-dvl"/>
+            </constraints>
+            <nil key="simulatedTopBarMetrics"/>
+            <nil key="simulatedBottomBarMetrics"/>
+            <freeformSimulatedSizeMetrics key="simulatedDestinationMetrics"/>
+            <connections>
+                <outlet property="fansCountLabel" destination="FhD-EL-g1g" id="1mN-JN-bTP"/>
+                <outlet property="finishCourseLabel" destination="Ah3-Tm-lPw" id="OW9-Hr-M9f"/>
+                <outlet property="unFinishCourseLabel" destination="2Dv-OD-VJg" id="ojc-ls-8kN"/>
+            </connections>
+            <point key="canvasLocation" x="225.36231884057972" y="64.620535714285708"/>
+        </view>
+    </objects>
+    <resources>
+        <image name="homeCount_bg" width="349" height="102"/>
+        <image name="home_next" width="11" height="11"/>
+    </resources>
+</document>

+ 3 - 3
KulexiuForTeacher/KulexiuForTeacher/Module/Home/View/KSHomeButton.xib

@@ -29,10 +29,10 @@
                     </constraints>
                 </button>
                 <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="home_accompany" translatesAutoresizingMaskIntoConstraints="NO" id="fGp-yj-UZk">
-                    <rect key="frame" x="14.5" y="5" width="51" height="51"/>
+                    <rect key="frame" x="17.5" y="5" width="45" height="45"/>
                     <constraints>
-                        <constraint firstAttribute="width" constant="51" id="a4B-wg-004"/>
-                        <constraint firstAttribute="height" constant="51" id="xmk-HE-99v"/>
+                        <constraint firstAttribute="width" constant="45" id="a4B-wg-004"/>
+                        <constraint firstAttribute="height" constant="45" id="xmk-HE-99v"/>
                     </constraints>
                 </imageView>
             </subviews>

+ 1 - 1
KulexiuForTeacher/KulexiuForTeacher/Module/Home/View/PublicNoticeView.xib

@@ -63,7 +63,7 @@
                             <real key="value" value="2"/>
                         </userDefinedRuntimeAttribute>
                         <userDefinedRuntimeAttribute type="number" keyPath="cornerRadius">
-                            <real key="value" value="10"/>
+                            <real key="value" value="22"/>
                         </userDefinedRuntimeAttribute>
                         <userDefinedRuntimeAttribute type="boolean" keyPath="maskToBounces" value="NO"/>
                     </userDefinedRuntimeAttributes>

+ 1 - 1
KulexiuForTeacher/KulexiuForTeacher/Module/Live/Controller/LiveRoomViewController.m

@@ -1839,7 +1839,7 @@ typedef NS_ENUM(NSInteger, LIVEPAGE) {
 
 - (NSInteger)getCloseTime {
 
-    return self.expiredCloseMinute * 60;
+    return self.expiredCloseMinute;
 }
 
 - (void)dealloc {

+ 35 - 4
KulexiuForTeacher/KulexiuForTeacher/Module/Mine/Controller/MineViewController.m

@@ -49,9 +49,24 @@
     [super viewWillAppear:animated];
     if ([self checkIsLoginToLoginView:YES]) {
         [self requsetUserMessage];
+        [self requestUserMemo];
     }
 }
 
+- (void)requestUserMemo {
+    [[UserInfoManager shareInstance] requsetconfigCallback:^(BOOL success) {
+        [self refreshBodyView:success];
+    }];
+}
+
+- (void)refreshBodyView:(BOOL)isMember {
+    self.bodyView.isMember = isMember;
+    CGFloat contentMinHeight = [_bodyView getViewHeight];
+    [self.bodyView mas_updateConstraints:^(MASConstraintMaker *make) {
+        make.height.mas_equalTo(contentMinHeight);
+    }];
+}
+
 - (void)requsetUserMessage {
     [KSNetworkingManager queryTeacherInfoRequest:KS_GET success:^(NSDictionary * _Nonnull dic) {
         if ([dic integerValueForKey:@"code"] == 200 && [dic boolValueForKey:@"status"]) {
@@ -141,8 +156,16 @@
             break;
         case MINEVIEWTYPE_MIEN: // 个人风采
         {
-            MyStyleViewController *styleCtrl = [[MyStyleViewController alloc] init];
-            [self.navigationController pushViewController:styleCtrl animated:YES];
+            if (![self.mineInfo.entryStatus isEqualToString:@"PASS"]) { // 跳转达人认证
+                KSBaseWKWebViewController *webCtrl = [[KSBaseWKWebViewController alloc] init];
+                webCtrl.url = [NSString stringWithFormat:@"%@%@", WEBHOST, @"/#/teacherCert"];
+                [self.navigationController pushViewController:webCtrl animated:YES];
+            }
+            else { // 风采
+                MyStyleViewController *styleCtrl = [[MyStyleViewController alloc] init];
+                [self.navigationController pushViewController:styleCtrl animated:YES];
+            }
+
         }
             break;
         case MINEVIEWTYPE_STARTBOARDCAST: // 开启直播
@@ -191,10 +214,10 @@
             [self.navigationController pushViewController:ctrl animated:YES];
         }
             break;
-        case MINEVIEWTYPE_MUSICIANAUTH: // 音乐人认证
+        case MINEVIEWTYPE_EXTENDPLAN: // 推广计划
         {
             KSBaseWKWebViewController *webCtrl = [[KSBaseWKWebViewController alloc] init];
-            webCtrl.url = [NSString stringWithFormat:@"%@%@", WEBHOST, @"/#/musicCert"];
+            webCtrl.url = [NSString stringWithFormat:@"%@%@", WEBHOST, @"/#/extendPlan"];
             [self.navigationController pushViewController:webCtrl animated:YES];
         }
             break;
@@ -252,6 +275,14 @@
             FeedbackViewController *ctrl = [[FeedbackViewController alloc] init];
             [self.navigationController pushViewController:ctrl animated:YES];
         }
+            break;
+        case MINEVIEWTYPE_MEMERCENTER:
+        {
+            KSBaseWKWebViewController *webCtrl = [[KSBaseWKWebViewController alloc] init];
+            webCtrl.url = [NSString stringWithFormat:@"%@%@", WEBHOST, @"/#/memberCenter"];
+            [self.navigationController pushViewController:webCtrl animated:YES];
+        }
+            break;
         default:
             break;
     }

+ 2 - 3
KulexiuForTeacher/KulexiuForTeacher/Module/Mine/MinePage/Controller/MinePageViewController.m

@@ -112,7 +112,6 @@
             MinePageCourseView *courseView = (MinePageCourseView *)view;
             courseView.liveFlag = [self.teacherInfo.liveFlag isEqualToString:@"1"] ? YES : NO;
             courseView.teaherStatus = self.teacherInfo.entryStatus;
-            courseView.musicianStatus = self.teacherInfo.musicianAuthStatus;
         }
         else if ([view isKindOfClass:[MinePageVideoView class]]) {
             MinePageVideoView *videoCourseView = (MinePageVideoView *)view;
@@ -257,10 +256,10 @@
         self.listViewArray[index] = listView;
         listView.selectIndex = index;
         if (self.teacherInfo) {
-            listView.musicianStatus = self.teacherInfo.musicianAuthStatus;
+            listView.teaherStatus = self.teacherInfo.entryStatus;
         }
         else {
-            listView.musicianStatus = @"PASS";
+            listView.teaherStatus = @"PASS";
         }
         if (self.subjectList) {
             listView.subjectList = [self.subjectList mutableCopy];

+ 0 - 2
KulexiuForTeacher/KulexiuForTeacher/Module/Mine/MinePage/View/MinePageCourseView.h

@@ -16,8 +16,6 @@ NS_ASSUME_NONNULL_BEGIN
 
 @property (nonatomic, strong) NSString *teaherStatus;
 
-@property (nonatomic, strong) NSString *musicianStatus;
-
 @property (nonatomic, assign) BOOL liveFlag; // 是否有直播权限
 
 @property (nonatomic, strong) NSMutableArray *subjectList;

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