Browse Source

loading + 弹窗

Steven 2 years ago
parent
commit
81294654f0
100 changed files with 1068 additions and 88 deletions
  1. 212 40
      KulexiuForTeacher/KulexiuForTeacher.xcodeproj/project.pbxproj
  2. BIN
      KulexiuForTeacher/KulexiuForTeacher.xcworkspace/xcuserdata/wangzhi.xcuserdatad/UserInterfaceState.xcuserstate
  3. 18 18
      KulexiuForTeacher/KulexiuForTeacher.xcworkspace/xcuserdata/wangzhi.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist
  4. 6 0
      KulexiuForTeacher/KulexiuForTeacher/Assets.xcassets/BadgeIntroduce/Contents.json
  5. 22 0
      KulexiuForTeacher/KulexiuForTeacher/Assets.xcassets/BadgeIntroduce/badge_cancle.imageset/Contents.json
  6. BIN
      KulexiuForTeacher/KulexiuForTeacher/Assets.xcassets/BadgeIntroduce/badge_cancle.imageset/badge_cancle@2x.png
  7. BIN
      KulexiuForTeacher/KulexiuForTeacher/Assets.xcassets/BadgeIntroduce/badge_cancle.imageset/badge_cancle@3x.png
  8. 22 0
      KulexiuForTeacher/KulexiuForTeacher/Assets.xcassets/BadgeIntroduce/badge_introduce.imageset/Contents.json
  9. BIN
      KulexiuForTeacher/KulexiuForTeacher/Assets.xcassets/BadgeIntroduce/badge_introduce.imageset/badge_introduce@2x.png
  10. BIN
      KulexiuForTeacher/KulexiuForTeacher/Assets.xcassets/BadgeIntroduce/badge_introduce.imageset/badge_introduce@3x.png
  11. 22 0
      KulexiuForTeacher/KulexiuForTeacher/Assets.xcassets/BadgeIntroduce/badge_live.imageset/Contents.json
  12. BIN
      KulexiuForTeacher/KulexiuForTeacher/Assets.xcassets/BadgeIntroduce/badge_live.imageset/badge_live@2x.png
  13. BIN
      KulexiuForTeacher/KulexiuForTeacher/Assets.xcassets/BadgeIntroduce/badge_live.imageset/badge_live@3x.png
  14. 22 0
      KulexiuForTeacher/KulexiuForTeacher/Assets.xcassets/BadgeIntroduce/badge_music.imageset/Contents.json
  15. BIN
      KulexiuForTeacher/KulexiuForTeacher/Assets.xcassets/BadgeIntroduce/badge_music.imageset/badge_music@2x.png
  16. BIN
      KulexiuForTeacher/KulexiuForTeacher/Assets.xcassets/BadgeIntroduce/badge_music.imageset/badge_music@3x.png
  17. 22 0
      KulexiuForTeacher/KulexiuForTeacher/Assets.xcassets/BadgeIntroduce/badge_style.imageset/Contents.json
  18. BIN
      KulexiuForTeacher/KulexiuForTeacher/Assets.xcassets/BadgeIntroduce/badge_style.imageset/badge_style@2x.png
  19. BIN
      KulexiuForTeacher/KulexiuForTeacher/Assets.xcassets/BadgeIntroduce/badge_style.imageset/badge_style@3x.png
  20. 22 0
      KulexiuForTeacher/KulexiuForTeacher/Assets.xcassets/BadgeIntroduce/badge_video.imageset/Contents.json
  21. BIN
      KulexiuForTeacher/KulexiuForTeacher/Assets.xcassets/BadgeIntroduce/badge_video.imageset/badge_video@2x.png
  22. BIN
      KulexiuForTeacher/KulexiuForTeacher/Assets.xcassets/BadgeIntroduce/badge_video.imageset/badge_video@3x.png
  23. 6 0
      KulexiuForTeacher/KulexiuForTeacher/Assets.xcassets/CloudLoading/Contents.json
  24. 22 0
      KulexiuForTeacher/KulexiuForTeacher/Assets.xcassets/CloudLoading/cloudLoading_bg.imageset/Contents.json
  25. BIN
      KulexiuForTeacher/KulexiuForTeacher/Assets.xcassets/CloudLoading/cloudLoading_bg.imageset/cloudLoading_bg@2x.png
  26. BIN
      KulexiuForTeacher/KulexiuForTeacher/Assets.xcassets/CloudLoading/cloudLoading_bg.imageset/cloudLoading_bg@3x.png
  27. 26 0
      KulexiuForTeacher/KulexiuForTeacher/Common/Base/AccompanyLoadingView.h
  28. 92 0
      KulexiuForTeacher/KulexiuForTeacher/Common/Base/AccompanyLoadingView.m
  29. 81 0
      KulexiuForTeacher/KulexiuForTeacher/Common/Base/AccompanyLoadingView.xib
  30. 0 0
      KulexiuForTeacher/KulexiuForTeacher/Common/Base/CloudLoadingSource/cloud_animation.json
  31. BIN
      KulexiuForTeacher/KulexiuForTeacher/Common/Base/CloudLoadingSource/images/cloud_animation_0.png
  32. BIN
      KulexiuForTeacher/KulexiuForTeacher/Common/Base/CloudLoadingSource/images/cloud_animation_1.png
  33. BIN
      KulexiuForTeacher/KulexiuForTeacher/Common/Base/CloudLoadingSource/images/cloud_animation_10.png
  34. BIN
      KulexiuForTeacher/KulexiuForTeacher/Common/Base/CloudLoadingSource/images/cloud_animation_11.png
  35. BIN
      KulexiuForTeacher/KulexiuForTeacher/Common/Base/CloudLoadingSource/images/cloud_animation_12.png
  36. BIN
      KulexiuForTeacher/KulexiuForTeacher/Common/Base/CloudLoadingSource/images/cloud_animation_13.png
  37. BIN
      KulexiuForTeacher/KulexiuForTeacher/Common/Base/CloudLoadingSource/images/cloud_animation_14.png
  38. BIN
      KulexiuForTeacher/KulexiuForTeacher/Common/Base/CloudLoadingSource/images/cloud_animation_15.png
  39. BIN
      KulexiuForTeacher/KulexiuForTeacher/Common/Base/CloudLoadingSource/images/cloud_animation_16.png
  40. BIN
      KulexiuForTeacher/KulexiuForTeacher/Common/Base/CloudLoadingSource/images/cloud_animation_17.png
  41. BIN
      KulexiuForTeacher/KulexiuForTeacher/Common/Base/CloudLoadingSource/images/cloud_animation_18.png
  42. BIN
      KulexiuForTeacher/KulexiuForTeacher/Common/Base/CloudLoadingSource/images/cloud_animation_19.png
  43. BIN
      KulexiuForTeacher/KulexiuForTeacher/Common/Base/CloudLoadingSource/images/cloud_animation_2.png
  44. BIN
      KulexiuForTeacher/KulexiuForTeacher/Common/Base/CloudLoadingSource/images/cloud_animation_20.png
  45. BIN
      KulexiuForTeacher/KulexiuForTeacher/Common/Base/CloudLoadingSource/images/cloud_animation_21.png
  46. BIN
      KulexiuForTeacher/KulexiuForTeacher/Common/Base/CloudLoadingSource/images/cloud_animation_22.png
  47. BIN
      KulexiuForTeacher/KulexiuForTeacher/Common/Base/CloudLoadingSource/images/cloud_animation_23.png
  48. BIN
      KulexiuForTeacher/KulexiuForTeacher/Common/Base/CloudLoadingSource/images/cloud_animation_24.png
  49. BIN
      KulexiuForTeacher/KulexiuForTeacher/Common/Base/CloudLoadingSource/images/cloud_animation_25.png
  50. BIN
      KulexiuForTeacher/KulexiuForTeacher/Common/Base/CloudLoadingSource/images/cloud_animation_26.png
  51. BIN
      KulexiuForTeacher/KulexiuForTeacher/Common/Base/CloudLoadingSource/images/cloud_animation_27.png
  52. BIN
      KulexiuForTeacher/KulexiuForTeacher/Common/Base/CloudLoadingSource/images/cloud_animation_28.png
  53. BIN
      KulexiuForTeacher/KulexiuForTeacher/Common/Base/CloudLoadingSource/images/cloud_animation_29.png
  54. BIN
      KulexiuForTeacher/KulexiuForTeacher/Common/Base/CloudLoadingSource/images/cloud_animation_3.png
  55. BIN
      KulexiuForTeacher/KulexiuForTeacher/Common/Base/CloudLoadingSource/images/cloud_animation_4.png
  56. BIN
      KulexiuForTeacher/KulexiuForTeacher/Common/Base/CloudLoadingSource/images/cloud_animation_5.png
  57. BIN
      KulexiuForTeacher/KulexiuForTeacher/Common/Base/CloudLoadingSource/images/cloud_animation_6.png
  58. BIN
      KulexiuForTeacher/KulexiuForTeacher/Common/Base/CloudLoadingSource/images/cloud_animation_7.png
  59. BIN
      KulexiuForTeacher/KulexiuForTeacher/Common/Base/CloudLoadingSource/images/cloud_animation_8.png
  60. BIN
      KulexiuForTeacher/KulexiuForTeacher/Common/Base/CloudLoadingSource/images/cloud_animation_9.png
  61. 43 0
      KulexiuForTeacher/KulexiuForTeacher/Common/Base/KSAccompanyWebViewController.m
  62. 6 6
      KulexiuForTeacher/KulexiuForTeacher/Common/Base/KSNetworkingManager.m
  63. 7 7
      KulexiuForTeacher/KulexiuForTeacher/Common/Tools/Custom/KSFullDatePicker.m
  64. 27 6
      KulexiuForTeacher/KulexiuForTeacher/Module/Home/Controller/HomeViewController.m
  65. 1 0
      KulexiuForTeacher/KulexiuForTeacher/Module/Home/Income/Controller/NoRecordViewController.m
  66. 0 0
      KulexiuForTeacher/KulexiuForTeacher/Module/Home/Model/AnimationSource/accomapny_animation.json
  67. 0 0
      KulexiuForTeacher/KulexiuForTeacher/Module/Home/Model/AnimationSource/images/accomapny_animation_0.png
  68. 0 0
      KulexiuForTeacher/KulexiuForTeacher/Module/Home/Model/AnimationSource/images/accomapny_animation_1.png
  69. 0 0
      KulexiuForTeacher/KulexiuForTeacher/Module/Home/Model/AnimationSource/images/accomapny_animation_2.png
  70. BIN
      KulexiuForTeacher/KulexiuForTeacher/Module/Home/Model/AnimationSource/images/accomapny_animation_3.png
  71. 0 0
      KulexiuForTeacher/KulexiuForTeacher/Module/Home/Model/AnimationSource/images/live_animation_0.png
  72. 0 0
      KulexiuForTeacher/KulexiuForTeacher/Module/Home/Model/AnimationSource/images/live_animation_1.png
  73. 0 0
      KulexiuForTeacher/KulexiuForTeacher/Module/Home/Model/AnimationSource/images/live_animation_2.png
  74. BIN
      KulexiuForTeacher/KulexiuForTeacher/Module/Home/Model/AnimationSource/images/live_animation_3.png
  75. 0 0
      KulexiuForTeacher/KulexiuForTeacher/Module/Home/Model/AnimationSource/images/musicRoom_animation_0.png
  76. 0 0
      KulexiuForTeacher/KulexiuForTeacher/Module/Home/Model/AnimationSource/images/musicRoom_animation_1.png
  77. 0 0
      KulexiuForTeacher/KulexiuForTeacher/Module/Home/Model/AnimationSource/images/musicRoom_animation_2.png
  78. BIN
      KulexiuForTeacher/KulexiuForTeacher/Module/Home/Model/AnimationSource/images/musicRoom_animation_3.png
  79. 0 0
      KulexiuForTeacher/KulexiuForTeacher/Module/Home/Model/AnimationSource/live_animation.json
  80. 0 0
      KulexiuForTeacher/KulexiuForTeacher/Module/Home/Model/AnimationSource/musicRoom_animation.json
  81. 1 1
      KulexiuForTeacher/KulexiuForTeacher/Module/Home/Music/View/MyMusicBodyView.m
  82. 2 2
      KulexiuForTeacher/KulexiuForTeacher/Module/Home/View/HomeButtonView.xib
  83. 3 3
      KulexiuForTeacher/KulexiuForTeacher/Module/Home/View/HomeHotMusicCellView.m
  84. 2 2
      KulexiuForTeacher/KulexiuForTeacher/Module/Home/View/HomeHotMusicCellView.xib
  85. 1 1
      KulexiuForTeacher/KulexiuForTeacher/Module/Home/View/HomeNewHeadView.h
  86. 6 1
      KulexiuForTeacher/KulexiuForTeacher/Module/Home/View/HomeNewHeadView.m
  87. 9 0
      KulexiuForTeacher/KulexiuForTeacher/Module/Home/View/HomeNewHeadView.xib
  88. 1 0
      KulexiuForTeacher/KulexiuForTeacher/Module/Home/View/HomeRecentCourseView.m
  89. 21 0
      KulexiuForTeacher/KulexiuForTeacher/Module/Mine/Controller/MineViewController.m
  90. 19 0
      KulexiuForTeacher/KulexiuForTeacher/Module/Mine/MinePage/Controller/MinePageViewController.m
  91. 4 0
      KulexiuForTeacher/KulexiuForTeacher/Module/Mine/MinePage/View/MinePageTopView.h
  92. 16 0
      KulexiuForTeacher/KulexiuForTeacher/Module/Mine/MinePage/View/MinePageTopView.m
  93. 9 0
      KulexiuForTeacher/KulexiuForTeacher/Module/Mine/MinePage/View/MinePageTopView.xib
  94. 1 1
      KulexiuForTeacher/KulexiuForTeacher/Module/Mine/VideoCourse/View/VideoListBodyView.m
  95. 24 0
      KulexiuForTeacher/KulexiuForTeacher/Module/Mine/View/BadgeIntroduceView.h
  96. 49 0
      KulexiuForTeacher/KulexiuForTeacher/Module/Mine/View/BadgeIntroduceView.m
  97. 206 0
      KulexiuForTeacher/KulexiuForTeacher/Module/Mine/View/BadgeIntroduceView.xib
  98. 1 0
      KulexiuForTeacher/KulexiuForTeacher/Module/Mine/View/MineActionView.h
  99. 5 0
      KulexiuForTeacher/KulexiuForTeacher/Module/Mine/View/MineHeadView.m
  100. 9 0
      KulexiuForTeacher/KulexiuForTeacher/Module/Mine/View/MineHeadView.xib

+ 212 - 40
KulexiuForTeacher/KulexiuForTeacher.xcodeproj/project.pbxproj

@@ -507,6 +507,18 @@
 		BC32E10C286AB31C001434DD /* KSPublicAlertView.m in Sources */ = {isa = PBXBuildFile; fileRef = BC32E10B286AB31C001434DD /* KSPublicAlertView.m */; };
 		BC32E10E286AB326001434DD /* KSPublicAlertView.xib in Resources */ = {isa = PBXBuildFile; fileRef = BC32E10D286AB326001434DD /* KSPublicAlertView.xib */; };
 		BC332DB3284866BE005AEF95 /* KSOrderManager.m in Sources */ = {isa = PBXBuildFile; fileRef = BC332DB1284866BE005AEF95 /* KSOrderManager.m */; };
+		BC3673D428A606A500059721 /* musicRoom_animation_3.png in Resources */ = {isa = PBXBuildFile; fileRef = BC3673C828A606A400059721 /* musicRoom_animation_3.png */; };
+		BC3673D528A606A500059721 /* live_animation_2.png in Resources */ = {isa = PBXBuildFile; fileRef = BC3673C928A606A400059721 /* live_animation_2.png */; };
+		BC3673D628A606A500059721 /* live_animation_0.png in Resources */ = {isa = PBXBuildFile; fileRef = BC3673CA28A606A400059721 /* live_animation_0.png */; };
+		BC3673D728A606A500059721 /* live_animation_3.png in Resources */ = {isa = PBXBuildFile; fileRef = BC3673CB28A606A400059721 /* live_animation_3.png */; };
+		BC3673D828A606A500059721 /* accomapny_animation_1.png in Resources */ = {isa = PBXBuildFile; fileRef = BC3673CC28A606A400059721 /* accomapny_animation_1.png */; };
+		BC3673D928A606A500059721 /* accomapny_animation_2.png in Resources */ = {isa = PBXBuildFile; fileRef = BC3673CD28A606A500059721 /* accomapny_animation_2.png */; };
+		BC3673DA28A606A500059721 /* accomapny_animation_0.png in Resources */ = {isa = PBXBuildFile; fileRef = BC3673CE28A606A500059721 /* accomapny_animation_0.png */; };
+		BC3673DB28A606A500059721 /* live_animation_1.png in Resources */ = {isa = PBXBuildFile; fileRef = BC3673CF28A606A500059721 /* live_animation_1.png */; };
+		BC3673DC28A606A500059721 /* musicRoom_animation_0.png in Resources */ = {isa = PBXBuildFile; fileRef = BC3673D028A606A500059721 /* musicRoom_animation_0.png */; };
+		BC3673DD28A606A500059721 /* accomapny_animation_3.png in Resources */ = {isa = PBXBuildFile; fileRef = BC3673D128A606A500059721 /* accomapny_animation_3.png */; };
+		BC3673DE28A606A500059721 /* musicRoom_animation_1.png in Resources */ = {isa = PBXBuildFile; fileRef = BC3673D228A606A500059721 /* musicRoom_animation_1.png */; };
+		BC3673DF28A606A500059721 /* musicRoom_animation_2.png in Resources */ = {isa = PBXBuildFile; fileRef = BC3673D328A606A500059721 /* musicRoom_animation_2.png */; };
 		BC3ACD942890D60800060E97 /* FreezeListViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = BC3ACD932890D60800060E97 /* FreezeListViewController.m */; };
 		BC3ACD972890D61400060E97 /* NoRecordViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = BC3ACD962890D61400060E97 /* NoRecordViewController.m */; };
 		BC3ACD9A2890D88600060E97 /* IncomeRecordHeadView.m in Sources */ = {isa = PBXBuildFile; fileRef = BC3ACD992890D88600060E97 /* IncomeRecordHeadView.m */; };
@@ -544,15 +556,6 @@
 		BC513E7A28A4D85F003F58C4 /* accomapny_animation.json in Resources */ = {isa = PBXBuildFile; fileRef = BC513E7928A4D85F003F58C4 /* accomapny_animation.json */; };
 		BC513E7C28A4D868003F58C4 /* musicRoom_animation.json in Resources */ = {isa = PBXBuildFile; fileRef = BC513E7B28A4D868003F58C4 /* musicRoom_animation.json */; };
 		BC513E7E28A4D874003F58C4 /* live_animation.json in Resources */ = {isa = PBXBuildFile; fileRef = BC513E7D28A4D874003F58C4 /* live_animation.json */; };
-		BC513E9528A4D9F5003F58C4 /* _____31_5E671E04-92B5-414C-A363-CBBFEF2421E6.png in Resources */ = {isa = PBXBuildFile; fileRef = BC513E9228A4D9F5003F58C4 /* _____31_5E671E04-92B5-414C-A363-CBBFEF2421E6.png */; };
-		BC513E9628A4D9F5003F58C4 /* ___5___C8C7A749-87DC-4D99-8F67-2AD2B1D3D5F6.png in Resources */ = {isa = PBXBuildFile; fileRef = BC513E9328A4D9F5003F58C4 /* ___5___C8C7A749-87DC-4D99-8F67-2AD2B1D3D5F6.png */; };
-		BC513E9728A4D9F5003F58C4 /* ___8101F90E-EF42-445A-9B5B-29F652562925.png in Resources */ = {isa = PBXBuildFile; fileRef = BC513E9428A4D9F5003F58C4 /* ___8101F90E-EF42-445A-9B5B-29F652562925.png */; };
-		BC513E9B28A4D9FD003F58C4 /* ___5___E15887AE-0472-48F6-B4BF-7310E071A33C.png in Resources */ = {isa = PBXBuildFile; fileRef = BC513E9828A4D9FC003F58C4 /* ___5___E15887AE-0472-48F6-B4BF-7310E071A33C.png */; };
-		BC513E9C28A4D9FD003F58C4 /* _____31_550B3F9A-BC60-4669-A0A0-5E315687C2EA.png in Resources */ = {isa = PBXBuildFile; fileRef = BC513E9928A4D9FC003F58C4 /* _____31_550B3F9A-BC60-4669-A0A0-5E315687C2EA.png */; };
-		BC513E9D28A4D9FD003F58C4 /* ___5B0AE074-7E19-4A0D-B01C-380BFC0BE94D.png in Resources */ = {isa = PBXBuildFile; fileRef = BC513E9A28A4D9FD003F58C4 /* ___5B0AE074-7E19-4A0D-B01C-380BFC0BE94D.png */; };
-		BC513EA128A4DA05003F58C4 /* _____31_9F12D397-DA84-4B91-9C4B-642DA07045E9.png in Resources */ = {isa = PBXBuildFile; fileRef = BC513E9E28A4DA05003F58C4 /* _____31_9F12D397-DA84-4B91-9C4B-642DA07045E9.png */; };
-		BC513EA228A4DA05003F58C4 /* ___2C8A75BF-2B66-4F7D-8BC4-EF07BC7C0955.png in Resources */ = {isa = PBXBuildFile; fileRef = BC513E9F28A4DA05003F58C4 /* ___2C8A75BF-2B66-4F7D-8BC4-EF07BC7C0955.png */; };
-		BC513EA328A4DA05003F58C4 /* ___5___6B54FD2C-7988-4205-B85F-61714D7C29B4.png in Resources */ = {isa = PBXBuildFile; fileRef = BC513EA028A4DA05003F58C4 /* ___5___6B54FD2C-7988-4205-B85F-61714D7C29B4.png */; };
 		BC523B04289D00C000E9D66B /* HomeHotMusicCell.m in Sources */ = {isa = PBXBuildFile; fileRef = BC523B02289D00C000E9D66B /* HomeHotMusicCell.m */; };
 		BC523B05289D00C000E9D66B /* HomeHotMusicCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = BC523B03289D00C000E9D66B /* HomeHotMusicCell.xib */; };
 		BC523B08289D015D00E9D66B /* HomeHotMuiscHeadView.m in Sources */ = {isa = PBXBuildFile; fileRef = BC523B07289D015D00E9D66B /* HomeHotMuiscHeadView.m */; };
@@ -808,6 +811,41 @@
 		BCC03F9A2805681100461B7C /* MyLessonSearchView.xib in Resources */ = {isa = PBXBuildFile; fileRef = BCC03F992805681100461B7C /* MyLessonSearchView.xib */; };
 		BCC03F9E280579A500461B7C /* MyLiveCourseCell.m in Sources */ = {isa = PBXBuildFile; fileRef = BCC03F9C280579A500461B7C /* MyLiveCourseCell.m */; };
 		BCC03F9F280579A500461B7C /* MyLiveCourseCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = BCC03F9D280579A500461B7C /* MyLiveCourseCell.xib */; };
+		BCC583F428A9FA8100BAB4CF /* cloud_animation_9.png in Resources */ = {isa = PBXBuildFile; fileRef = BCC583D528A9FA8100BAB4CF /* cloud_animation_9.png */; };
+		BCC583F528A9FA8100BAB4CF /* cloud_animation_8.png in Resources */ = {isa = PBXBuildFile; fileRef = BCC583D628A9FA8100BAB4CF /* cloud_animation_8.png */; };
+		BCC583F628A9FA8100BAB4CF /* cloud_animation_20.png in Resources */ = {isa = PBXBuildFile; fileRef = BCC583D728A9FA8100BAB4CF /* cloud_animation_20.png */; };
+		BCC583F728A9FA8100BAB4CF /* cloud_animation_21.png in Resources */ = {isa = PBXBuildFile; fileRef = BCC583D828A9FA8100BAB4CF /* cloud_animation_21.png */; };
+		BCC583F828A9FA8100BAB4CF /* cloud_animation_23.png in Resources */ = {isa = PBXBuildFile; fileRef = BCC583D928A9FA8100BAB4CF /* cloud_animation_23.png */; };
+		BCC583F928A9FA8100BAB4CF /* cloud_animation_22.png in Resources */ = {isa = PBXBuildFile; fileRef = BCC583DA28A9FA8100BAB4CF /* cloud_animation_22.png */; };
+		BCC583FA28A9FA8100BAB4CF /* cloud_animation_26.png in Resources */ = {isa = PBXBuildFile; fileRef = BCC583DB28A9FA8100BAB4CF /* cloud_animation_26.png */; };
+		BCC583FB28A9FA8100BAB4CF /* cloud_animation_27.png in Resources */ = {isa = PBXBuildFile; fileRef = BCC583DC28A9FA8100BAB4CF /* cloud_animation_27.png */; };
+		BCC583FC28A9FA8100BAB4CF /* cloud_animation_19.png in Resources */ = {isa = PBXBuildFile; fileRef = BCC583DD28A9FA8100BAB4CF /* cloud_animation_19.png */; };
+		BCC583FD28A9FA8100BAB4CF /* cloud_animation_25.png in Resources */ = {isa = PBXBuildFile; fileRef = BCC583DE28A9FA8100BAB4CF /* cloud_animation_25.png */; };
+		BCC583FE28A9FA8100BAB4CF /* cloud_animation_24.png in Resources */ = {isa = PBXBuildFile; fileRef = BCC583DF28A9FA8100BAB4CF /* cloud_animation_24.png */; };
+		BCC583FF28A9FA8100BAB4CF /* cloud_animation_18.png in Resources */ = {isa = PBXBuildFile; fileRef = BCC583E028A9FA8100BAB4CF /* cloud_animation_18.png */; };
+		BCC5840028A9FA8100BAB4CF /* cloud_animation_15.png in Resources */ = {isa = PBXBuildFile; fileRef = BCC583E128A9FA8100BAB4CF /* cloud_animation_15.png */; };
+		BCC5840128A9FA8100BAB4CF /* cloud_animation_29.png in Resources */ = {isa = PBXBuildFile; fileRef = BCC583E228A9FA8100BAB4CF /* cloud_animation_29.png */; };
+		BCC5840228A9FA8100BAB4CF /* cloud_animation_28.png in Resources */ = {isa = PBXBuildFile; fileRef = BCC583E328A9FA8100BAB4CF /* cloud_animation_28.png */; };
+		BCC5840328A9FA8100BAB4CF /* cloud_animation_14.png in Resources */ = {isa = PBXBuildFile; fileRef = BCC583E428A9FA8100BAB4CF /* cloud_animation_14.png */; };
+		BCC5840428A9FA8100BAB4CF /* cloud_animation_16.png in Resources */ = {isa = PBXBuildFile; fileRef = BCC583E528A9FA8100BAB4CF /* cloud_animation_16.png */; };
+		BCC5840528A9FA8100BAB4CF /* cloud_animation_17.png in Resources */ = {isa = PBXBuildFile; fileRef = BCC583E628A9FA8100BAB4CF /* cloud_animation_17.png */; };
+		BCC5840628A9FA8100BAB4CF /* cloud_animation_13.png in Resources */ = {isa = PBXBuildFile; fileRef = BCC583E728A9FA8100BAB4CF /* cloud_animation_13.png */; };
+		BCC5840728A9FA8100BAB4CF /* cloud_animation_12.png in Resources */ = {isa = PBXBuildFile; fileRef = BCC583E828A9FA8100BAB4CF /* cloud_animation_12.png */; };
+		BCC5840828A9FA8100BAB4CF /* cloud_animation_10.png in Resources */ = {isa = PBXBuildFile; fileRef = BCC583E928A9FA8100BAB4CF /* cloud_animation_10.png */; };
+		BCC5840928A9FA8100BAB4CF /* cloud_animation_11.png in Resources */ = {isa = PBXBuildFile; fileRef = BCC583EA28A9FA8100BAB4CF /* cloud_animation_11.png */; };
+		BCC5840A28A9FA8100BAB4CF /* cloud_animation_6.png in Resources */ = {isa = PBXBuildFile; fileRef = BCC583EB28A9FA8100BAB4CF /* cloud_animation_6.png */; };
+		BCC5840B28A9FA8100BAB4CF /* cloud_animation_7.png in Resources */ = {isa = PBXBuildFile; fileRef = BCC583EC28A9FA8100BAB4CF /* cloud_animation_7.png */; };
+		BCC5840C28A9FA8100BAB4CF /* cloud_animation_5.png in Resources */ = {isa = PBXBuildFile; fileRef = BCC583ED28A9FA8100BAB4CF /* cloud_animation_5.png */; };
+		BCC5840D28A9FA8100BAB4CF /* cloud_animation_4.png in Resources */ = {isa = PBXBuildFile; fileRef = BCC583EE28A9FA8100BAB4CF /* cloud_animation_4.png */; };
+		BCC5840E28A9FA8100BAB4CF /* cloud_animation_0.png in Resources */ = {isa = PBXBuildFile; fileRef = BCC583EF28A9FA8100BAB4CF /* cloud_animation_0.png */; };
+		BCC5840F28A9FA8100BAB4CF /* cloud_animation_1.png in Resources */ = {isa = PBXBuildFile; fileRef = BCC583F028A9FA8100BAB4CF /* cloud_animation_1.png */; };
+		BCC5841028A9FA8100BAB4CF /* cloud_animation_3.png in Resources */ = {isa = PBXBuildFile; fileRef = BCC583F128A9FA8100BAB4CF /* cloud_animation_3.png */; };
+		BCC5841128A9FA8100BAB4CF /* cloud_animation_2.png in Resources */ = {isa = PBXBuildFile; fileRef = BCC583F228A9FA8100BAB4CF /* cloud_animation_2.png */; };
+		BCC5841228A9FA8100BAB4CF /* cloud_animation.json in Resources */ = {isa = PBXBuildFile; fileRef = BCC583F328A9FA8100BAB4CF /* cloud_animation.json */; };
+		BCC5841628A9FA9D00BAB4CF /* AccompanyLoadingView.xib in Resources */ = {isa = PBXBuildFile; fileRef = BCC5841328A9FA9D00BAB4CF /* AccompanyLoadingView.xib */; };
+		BCC5841728A9FA9D00BAB4CF /* AccompanyLoadingView.m in Sources */ = {isa = PBXBuildFile; fileRef = BCC5841528A9FA9D00BAB4CF /* AccompanyLoadingView.m */; };
+		BCC5841A28AA36CF00BAB4CF /* BadgeIntroduceView.m in Sources */ = {isa = PBXBuildFile; fileRef = BCC5841928AA36CF00BAB4CF /* BadgeIntroduceView.m */; };
+		BCC5841C28AA36D700BAB4CF /* BadgeIntroduceView.xib in Resources */ = {isa = PBXBuildFile; fileRef = BCC5841B28AA36D700BAB4CF /* BadgeIntroduceView.xib */; };
 		BCC9F35527F5F4FD00647449 /* LiveSeatMember.m in Sources */ = {isa = PBXBuildFile; fileRef = BCC9F35427F5F4FD00647449 /* LiveSeatMember.m */; };
 		BCC9F40727F69BD200647449 /* SealClass.strings in Resources */ = {isa = PBXBuildFile; fileRef = BCC9F35C27F69BD100647449 /* SealClass.strings */; };
 		BCC9F40927F69BD200647449 /* ZoomControl.m in Sources */ = {isa = PBXBuildFile; fileRef = BCC9F36427F69BD100647449 /* ZoomControl.m */; };
@@ -1892,6 +1930,18 @@
 		BC32E10D286AB326001434DD /* KSPublicAlertView.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = KSPublicAlertView.xib; sourceTree = "<group>"; };
 		BC332DB1284866BE005AEF95 /* KSOrderManager.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = KSOrderManager.m; sourceTree = "<group>"; };
 		BC332DB2284866BE005AEF95 /* KSOrderManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = KSOrderManager.h; sourceTree = "<group>"; };
+		BC3673C828A606A400059721 /* musicRoom_animation_3.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = musicRoom_animation_3.png; sourceTree = "<group>"; };
+		BC3673C928A606A400059721 /* live_animation_2.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = live_animation_2.png; sourceTree = "<group>"; };
+		BC3673CA28A606A400059721 /* live_animation_0.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = live_animation_0.png; sourceTree = "<group>"; };
+		BC3673CB28A606A400059721 /* live_animation_3.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = live_animation_3.png; sourceTree = "<group>"; };
+		BC3673CC28A606A400059721 /* accomapny_animation_1.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = accomapny_animation_1.png; sourceTree = "<group>"; };
+		BC3673CD28A606A500059721 /* accomapny_animation_2.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = accomapny_animation_2.png; sourceTree = "<group>"; };
+		BC3673CE28A606A500059721 /* accomapny_animation_0.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = accomapny_animation_0.png; sourceTree = "<group>"; };
+		BC3673CF28A606A500059721 /* live_animation_1.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = live_animation_1.png; sourceTree = "<group>"; };
+		BC3673D028A606A500059721 /* musicRoom_animation_0.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = musicRoom_animation_0.png; sourceTree = "<group>"; };
+		BC3673D128A606A500059721 /* accomapny_animation_3.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = accomapny_animation_3.png; sourceTree = "<group>"; };
+		BC3673D228A606A500059721 /* musicRoom_animation_1.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = musicRoom_animation_1.png; sourceTree = "<group>"; };
+		BC3673D328A606A500059721 /* musicRoom_animation_2.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = musicRoom_animation_2.png; sourceTree = "<group>"; };
 		BC3ACD922890D60800060E97 /* FreezeListViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = FreezeListViewController.h; sourceTree = "<group>"; };
 		BC3ACD932890D60800060E97 /* FreezeListViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = FreezeListViewController.m; sourceTree = "<group>"; };
 		BC3ACD952890D61400060E97 /* NoRecordViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = NoRecordViewController.h; sourceTree = "<group>"; };
@@ -1951,15 +2001,6 @@
 		BC513E7928A4D85F003F58C4 /* accomapny_animation.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = accomapny_animation.json; sourceTree = "<group>"; };
 		BC513E7B28A4D868003F58C4 /* musicRoom_animation.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = musicRoom_animation.json; sourceTree = "<group>"; };
 		BC513E7D28A4D874003F58C4 /* live_animation.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = live_animation.json; sourceTree = "<group>"; };
-		BC513E9228A4D9F5003F58C4 /* _____31_5E671E04-92B5-414C-A363-CBBFEF2421E6.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "_____31_5E671E04-92B5-414C-A363-CBBFEF2421E6.png"; path = "../../../../../../../../../Desktop/陪练课_直播课_琴房课(动效文件)/陪练课/images/_____31_5E671E04-92B5-414C-A363-CBBFEF2421E6.png"; sourceTree = "<group>"; };
-		BC513E9328A4D9F5003F58C4 /* ___5___C8C7A749-87DC-4D99-8F67-2AD2B1D3D5F6.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "___5___C8C7A749-87DC-4D99-8F67-2AD2B1D3D5F6.png"; path = "../../../../../../../../../Desktop/陪练课_直播课_琴房课(动效文件)/陪练课/images/___5___C8C7A749-87DC-4D99-8F67-2AD2B1D3D5F6.png"; sourceTree = "<group>"; };
-		BC513E9428A4D9F5003F58C4 /* ___8101F90E-EF42-445A-9B5B-29F652562925.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "___8101F90E-EF42-445A-9B5B-29F652562925.png"; path = "../../../../../../../../../Desktop/陪练课_直播课_琴房课(动效文件)/陪练课/images/___8101F90E-EF42-445A-9B5B-29F652562925.png"; sourceTree = "<group>"; };
-		BC513E9828A4D9FC003F58C4 /* ___5___E15887AE-0472-48F6-B4BF-7310E071A33C.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "___5___E15887AE-0472-48F6-B4BF-7310E071A33C.png"; sourceTree = "<group>"; };
-		BC513E9928A4D9FC003F58C4 /* _____31_550B3F9A-BC60-4669-A0A0-5E315687C2EA.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "_____31_550B3F9A-BC60-4669-A0A0-5E315687C2EA.png"; sourceTree = "<group>"; };
-		BC513E9A28A4D9FD003F58C4 /* ___5B0AE074-7E19-4A0D-B01C-380BFC0BE94D.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "___5B0AE074-7E19-4A0D-B01C-380BFC0BE94D.png"; sourceTree = "<group>"; };
-		BC513E9E28A4DA05003F58C4 /* _____31_9F12D397-DA84-4B91-9C4B-642DA07045E9.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "_____31_9F12D397-DA84-4B91-9C4B-642DA07045E9.png"; path = "../../../../../../../../../Desktop/陪练课_直播课_琴房课(动效文件)/直播课/images/_____31_9F12D397-DA84-4B91-9C4B-642DA07045E9.png"; sourceTree = "<group>"; };
-		BC513E9F28A4DA05003F58C4 /* ___2C8A75BF-2B66-4F7D-8BC4-EF07BC7C0955.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "___2C8A75BF-2B66-4F7D-8BC4-EF07BC7C0955.png"; path = "../../../../../../../../../Desktop/陪练课_直播课_琴房课(动效文件)/直播课/images/___2C8A75BF-2B66-4F7D-8BC4-EF07BC7C0955.png"; sourceTree = "<group>"; };
-		BC513EA028A4DA05003F58C4 /* ___5___6B54FD2C-7988-4205-B85F-61714D7C29B4.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "___5___6B54FD2C-7988-4205-B85F-61714D7C29B4.png"; path = "../../../../../../../../../Desktop/陪练课_直播课_琴房课(动效文件)/直播课/images/___5___6B54FD2C-7988-4205-B85F-61714D7C29B4.png"; sourceTree = "<group>"; };
 		BC523B01289D00C000E9D66B /* HomeHotMusicCell.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = HomeHotMusicCell.h; sourceTree = "<group>"; };
 		BC523B02289D00C000E9D66B /* HomeHotMusicCell.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = HomeHotMusicCell.m; sourceTree = "<group>"; };
 		BC523B03289D00C000E9D66B /* HomeHotMusicCell.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = HomeHotMusicCell.xib; sourceTree = "<group>"; };
@@ -2352,6 +2393,43 @@
 		BCC03F9B280579A500461B7C /* MyLiveCourseCell.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MyLiveCourseCell.h; sourceTree = "<group>"; };
 		BCC03F9C280579A500461B7C /* MyLiveCourseCell.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = MyLiveCourseCell.m; sourceTree = "<group>"; };
 		BCC03F9D280579A500461B7C /* MyLiveCourseCell.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = MyLiveCourseCell.xib; sourceTree = "<group>"; };
+		BCC583D528A9FA8100BAB4CF /* cloud_animation_9.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = cloud_animation_9.png; sourceTree = "<group>"; };
+		BCC583D628A9FA8100BAB4CF /* cloud_animation_8.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = cloud_animation_8.png; sourceTree = "<group>"; };
+		BCC583D728A9FA8100BAB4CF /* cloud_animation_20.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = cloud_animation_20.png; sourceTree = "<group>"; };
+		BCC583D828A9FA8100BAB4CF /* cloud_animation_21.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = cloud_animation_21.png; sourceTree = "<group>"; };
+		BCC583D928A9FA8100BAB4CF /* cloud_animation_23.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = cloud_animation_23.png; sourceTree = "<group>"; };
+		BCC583DA28A9FA8100BAB4CF /* cloud_animation_22.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = cloud_animation_22.png; sourceTree = "<group>"; };
+		BCC583DB28A9FA8100BAB4CF /* cloud_animation_26.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = cloud_animation_26.png; sourceTree = "<group>"; };
+		BCC583DC28A9FA8100BAB4CF /* cloud_animation_27.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = cloud_animation_27.png; sourceTree = "<group>"; };
+		BCC583DD28A9FA8100BAB4CF /* cloud_animation_19.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = cloud_animation_19.png; sourceTree = "<group>"; };
+		BCC583DE28A9FA8100BAB4CF /* cloud_animation_25.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = cloud_animation_25.png; sourceTree = "<group>"; };
+		BCC583DF28A9FA8100BAB4CF /* cloud_animation_24.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = cloud_animation_24.png; sourceTree = "<group>"; };
+		BCC583E028A9FA8100BAB4CF /* cloud_animation_18.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = cloud_animation_18.png; sourceTree = "<group>"; };
+		BCC583E128A9FA8100BAB4CF /* cloud_animation_15.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = cloud_animation_15.png; sourceTree = "<group>"; };
+		BCC583E228A9FA8100BAB4CF /* cloud_animation_29.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = cloud_animation_29.png; sourceTree = "<group>"; };
+		BCC583E328A9FA8100BAB4CF /* cloud_animation_28.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = cloud_animation_28.png; sourceTree = "<group>"; };
+		BCC583E428A9FA8100BAB4CF /* cloud_animation_14.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = cloud_animation_14.png; sourceTree = "<group>"; };
+		BCC583E528A9FA8100BAB4CF /* cloud_animation_16.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = cloud_animation_16.png; sourceTree = "<group>"; };
+		BCC583E628A9FA8100BAB4CF /* cloud_animation_17.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = cloud_animation_17.png; sourceTree = "<group>"; };
+		BCC583E728A9FA8100BAB4CF /* cloud_animation_13.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = cloud_animation_13.png; sourceTree = "<group>"; };
+		BCC583E828A9FA8100BAB4CF /* cloud_animation_12.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = cloud_animation_12.png; sourceTree = "<group>"; };
+		BCC583E928A9FA8100BAB4CF /* cloud_animation_10.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = cloud_animation_10.png; sourceTree = "<group>"; };
+		BCC583EA28A9FA8100BAB4CF /* cloud_animation_11.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = cloud_animation_11.png; sourceTree = "<group>"; };
+		BCC583EB28A9FA8100BAB4CF /* cloud_animation_6.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = cloud_animation_6.png; sourceTree = "<group>"; };
+		BCC583EC28A9FA8100BAB4CF /* cloud_animation_7.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = cloud_animation_7.png; sourceTree = "<group>"; };
+		BCC583ED28A9FA8100BAB4CF /* cloud_animation_5.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = cloud_animation_5.png; sourceTree = "<group>"; };
+		BCC583EE28A9FA8100BAB4CF /* cloud_animation_4.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = cloud_animation_4.png; sourceTree = "<group>"; };
+		BCC583EF28A9FA8100BAB4CF /* cloud_animation_0.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = cloud_animation_0.png; sourceTree = "<group>"; };
+		BCC583F028A9FA8100BAB4CF /* cloud_animation_1.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = cloud_animation_1.png; sourceTree = "<group>"; };
+		BCC583F128A9FA8100BAB4CF /* cloud_animation_3.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = cloud_animation_3.png; sourceTree = "<group>"; };
+		BCC583F228A9FA8100BAB4CF /* cloud_animation_2.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = cloud_animation_2.png; sourceTree = "<group>"; };
+		BCC583F328A9FA8100BAB4CF /* cloud_animation.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = cloud_animation.json; sourceTree = "<group>"; };
+		BCC5841328A9FA9D00BAB4CF /* AccompanyLoadingView.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = AccompanyLoadingView.xib; sourceTree = "<group>"; };
+		BCC5841428A9FA9D00BAB4CF /* AccompanyLoadingView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AccompanyLoadingView.h; sourceTree = "<group>"; };
+		BCC5841528A9FA9D00BAB4CF /* AccompanyLoadingView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AccompanyLoadingView.m; sourceTree = "<group>"; };
+		BCC5841828AA36CF00BAB4CF /* BadgeIntroduceView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = BadgeIntroduceView.h; sourceTree = "<group>"; };
+		BCC5841928AA36CF00BAB4CF /* BadgeIntroduceView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = BadgeIntroduceView.m; sourceTree = "<group>"; };
+		BCC5841B28AA36D700BAB4CF /* BadgeIntroduceView.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = BadgeIntroduceView.xib; sourceTree = "<group>"; };
 		BCC9F35327F5F4FD00647449 /* LiveSeatMember.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = LiveSeatMember.h; sourceTree = "<group>"; };
 		BCC9F35427F5F4FD00647449 /* LiveSeatMember.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = LiveSeatMember.m; sourceTree = "<group>"; };
 		BCC9F35B27F69BD100647449 /* KSRemoteUserManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = KSRemoteUserManager.h; sourceTree = "<group>"; };
@@ -3027,6 +3105,7 @@
 		2779309627E30F2D0010E277 /* Base */ = {
 			isa = PBXGroup;
 			children = (
+				BCC583D328A9FA8100BAB4CF /* CloudLoadingSource */,
 				BC71D28A288811BF0010F14B /* TabbarAnimation */,
 				BC023801286594EA005560CA /* KSTipsAlert.h */,
 				BC023800286594EA005560CA /* KSTipsAlert.m */,
@@ -3066,6 +3145,9 @@
 				275FA1A527E7327300CFEA2E /* KSWebSocketManager.m */,
 				275FA19E27E7250700CFEA2E /* KSAccompanyWebViewController.h */,
 				275FA19F27E7250700CFEA2E /* KSAccompanyWebViewController.m */,
+				BCC5841428A9FA9D00BAB4CF /* AccompanyLoadingView.h */,
+				BCC5841528A9FA9D00BAB4CF /* AccompanyLoadingView.m */,
+				BCC5841328A9FA9D00BAB4CF /* AccompanyLoadingView.xib */,
 				BC2456F5286C421700D1F7C0 /* KSVideoRecordManager.h */,
 				BC2456F6286C421700D1F7C0 /* KSVideoRecordManager.m */,
 				275FA19527E723D600CFEA2E /* KSLocalWebViewController.h */,
@@ -4037,6 +4119,9 @@
 				BC14A61828A0B04A0086395C /* MineBottomView.xib */,
 				27FC2F5D27F1930400FCC239 /* KSStarView.h */,
 				27FC2F5E27F1930400FCC239 /* KSStarView.m */,
+				BCC5841828AA36CF00BAB4CF /* BadgeIntroduceView.h */,
+				BCC5841928AA36CF00BAB4CF /* BadgeIntroduceView.m */,
+				BCC5841B28AA36D700BAB4CF /* BadgeIntroduceView.xib */,
 			);
 			path = View;
 			sourceTree = "<group>";
@@ -5005,15 +5090,18 @@
 		BC513E7F28A4D9BA003F58C4 /* images */ = {
 			isa = PBXGroup;
 			children = (
-				BC513E9228A4D9F5003F58C4 /* _____31_5E671E04-92B5-414C-A363-CBBFEF2421E6.png */,
-				BC513E9328A4D9F5003F58C4 /* ___5___C8C7A749-87DC-4D99-8F67-2AD2B1D3D5F6.png */,
-				BC513E9428A4D9F5003F58C4 /* ___8101F90E-EF42-445A-9B5B-29F652562925.png */,
-				BC513E9928A4D9FC003F58C4 /* _____31_550B3F9A-BC60-4669-A0A0-5E315687C2EA.png */,
-				BC513E9828A4D9FC003F58C4 /* ___5___E15887AE-0472-48F6-B4BF-7310E071A33C.png */,
-				BC513E9A28A4D9FD003F58C4 /* ___5B0AE074-7E19-4A0D-B01C-380BFC0BE94D.png */,
-				BC513E9E28A4DA05003F58C4 /* _____31_9F12D397-DA84-4B91-9C4B-642DA07045E9.png */,
-				BC513E9F28A4DA05003F58C4 /* ___2C8A75BF-2B66-4F7D-8BC4-EF07BC7C0955.png */,
-				BC513EA028A4DA05003F58C4 /* ___5___6B54FD2C-7988-4205-B85F-61714D7C29B4.png */,
+				BC3673CE28A606A500059721 /* accomapny_animation_0.png */,
+				BC3673CC28A606A400059721 /* accomapny_animation_1.png */,
+				BC3673CD28A606A500059721 /* accomapny_animation_2.png */,
+				BC3673D128A606A500059721 /* accomapny_animation_3.png */,
+				BC3673CA28A606A400059721 /* live_animation_0.png */,
+				BC3673CF28A606A500059721 /* live_animation_1.png */,
+				BC3673C928A606A400059721 /* live_animation_2.png */,
+				BC3673CB28A606A400059721 /* live_animation_3.png */,
+				BC3673D028A606A500059721 /* musicRoom_animation_0.png */,
+				BC3673D228A606A500059721 /* musicRoom_animation_1.png */,
+				BC3673D328A606A500059721 /* musicRoom_animation_2.png */,
+				BC3673C828A606A400059721 /* musicRoom_animation_3.png */,
 			);
 			path = images;
 			sourceTree = "<group>";
@@ -5958,6 +6046,52 @@
 			path = View;
 			sourceTree = "<group>";
 		};
+		BCC583D328A9FA8100BAB4CF /* CloudLoadingSource */ = {
+			isa = PBXGroup;
+			children = (
+				BCC583D428A9FA8100BAB4CF /* images */,
+				BCC583F328A9FA8100BAB4CF /* cloud_animation.json */,
+			);
+			path = CloudLoadingSource;
+			sourceTree = "<group>";
+		};
+		BCC583D428A9FA8100BAB4CF /* images */ = {
+			isa = PBXGroup;
+			children = (
+				BCC583D528A9FA8100BAB4CF /* cloud_animation_9.png */,
+				BCC583D628A9FA8100BAB4CF /* cloud_animation_8.png */,
+				BCC583D728A9FA8100BAB4CF /* cloud_animation_20.png */,
+				BCC583D828A9FA8100BAB4CF /* cloud_animation_21.png */,
+				BCC583D928A9FA8100BAB4CF /* cloud_animation_23.png */,
+				BCC583DA28A9FA8100BAB4CF /* cloud_animation_22.png */,
+				BCC583DB28A9FA8100BAB4CF /* cloud_animation_26.png */,
+				BCC583DC28A9FA8100BAB4CF /* cloud_animation_27.png */,
+				BCC583DD28A9FA8100BAB4CF /* cloud_animation_19.png */,
+				BCC583DE28A9FA8100BAB4CF /* cloud_animation_25.png */,
+				BCC583DF28A9FA8100BAB4CF /* cloud_animation_24.png */,
+				BCC583E028A9FA8100BAB4CF /* cloud_animation_18.png */,
+				BCC583E128A9FA8100BAB4CF /* cloud_animation_15.png */,
+				BCC583E228A9FA8100BAB4CF /* cloud_animation_29.png */,
+				BCC583E328A9FA8100BAB4CF /* cloud_animation_28.png */,
+				BCC583E428A9FA8100BAB4CF /* cloud_animation_14.png */,
+				BCC583E528A9FA8100BAB4CF /* cloud_animation_16.png */,
+				BCC583E628A9FA8100BAB4CF /* cloud_animation_17.png */,
+				BCC583E728A9FA8100BAB4CF /* cloud_animation_13.png */,
+				BCC583E828A9FA8100BAB4CF /* cloud_animation_12.png */,
+				BCC583E928A9FA8100BAB4CF /* cloud_animation_10.png */,
+				BCC583EA28A9FA8100BAB4CF /* cloud_animation_11.png */,
+				BCC583EB28A9FA8100BAB4CF /* cloud_animation_6.png */,
+				BCC583EC28A9FA8100BAB4CF /* cloud_animation_7.png */,
+				BCC583ED28A9FA8100BAB4CF /* cloud_animation_5.png */,
+				BCC583EE28A9FA8100BAB4CF /* cloud_animation_4.png */,
+				BCC583EF28A9FA8100BAB4CF /* cloud_animation_0.png */,
+				BCC583F028A9FA8100BAB4CF /* cloud_animation_1.png */,
+				BCC583F128A9FA8100BAB4CF /* cloud_animation_3.png */,
+				BCC583F228A9FA8100BAB4CF /* cloud_animation_2.png */,
+			);
+			path = images;
+			sourceTree = "<group>";
+		};
 		BCC9F35A27F69BD100647449 /* SealClass */ = {
 			isa = PBXGroup;
 			children = (
@@ -6570,19 +6704,23 @@
 			isa = PBXResourcesBuildPhase;
 			buildActionMask = 2147483647;
 			files = (
-				BC513E9C28A4D9FD003F58C4 /* _____31_550B3F9A-BC60-4669-A0A0-5E315687C2EA.png in Resources */,
 				BC71D2002887FDD40010F14B /* img_9.png in Resources */,
+				BCC5840D28A9FA8100BAB4CF /* cloud_animation_4.png in Resources */,
+				BCC5840628A9FA8100BAB4CF /* cloud_animation_13.png in Resources */,
 				BC71D292288811BF0010F14B /* tabbar1.json in Resources */,
 				BCE6A0A027F84E4500C97704 /* MineIntroduceCell.xib in Resources */,
 				2728086C27E6C12900DB71EA /* FirstSettingBodyView.xib in Resources */,
 				275E8A7727E18F2800DD3F6E /* LaunchScreen.storyboard in Resources */,
 				277932EA27E310070010E277 /* TZImagePickerController.bundle in Resources */,
 				277932B427E30FFE0010E277 /* SDQWMaskCustomView.xib in Resources */,
+				BCC5840C28A9FA8100BAB4CF /* cloud_animation_5.png in Resources */,
 				BCE6A09127F823BE00C97704 /* LiveCourseCell.xib in Resources */,
+				BC3673D828A606A500059721 /* accomapny_animation_1.png in Resources */,
 				275B172B27EB269F0081FDEF /* ChatAddressHeaderView.xib in Resources */,
 				BC41104F280678ED00800BD9 /* HomeworkSortView.xib in Resources */,
 				275FA56427F31AEE00EB6240 /* MinePageHeadView.xib in Resources */,
 				BC71D294288811BF0010F14B /* tabbar5.json in Resources */,
+				BCC583F528A9FA8100BAB4CF /* cloud_animation_8.png in Resources */,
 				BCA1134E28A23229007FAFB9 /* HomeHotMusicCellView.xib in Resources */,
 				275B173127EB27960081FDEF /* GroupCreateView.xib in Resources */,
 				BCB908F82850C6EF00F5FF69 /* MusicChooseCell.xib in Resources */,
@@ -6614,22 +6752,25 @@
 				BCB14112288A49710022C13A /* HomeButtonView.xib in Resources */,
 				BC4BCE7F2823B66A00522C8B /* AddressDetailBodyView.xib in Resources */,
 				BC513E7A28A4D85F003F58C4 /* accomapny_animation.json in Resources */,
-				BC513E9728A4D9F5003F58C4 /* ___8101F90E-EF42-445A-9B5B-29F652562925.png in Resources */,
 				BCD457B62865651A0010B493 /* LiveMoreDisplayView.xib in Resources */,
-				BC513E9528A4D9F5003F58C4 /* _____31_5E671E04-92B5-414C-A363-CBBFEF2421E6.png in Resources */,
+				BCC583FC28A9FA8100BAB4CF /* cloud_animation_19.png in Resources */,
 				BCB908FD2850C9CB00F5FF69 /* MusicChooseSearchView.xib in Resources */,
 				275E8A7227E18F2300DD3F6E /* Main.storyboard in Resources */,
+				BC3673DE28A606A500059721 /* musicRoom_animation_1.png in Resources */,
 				2780C92927E490CA00A95A4F /* VefiBodyView.xib in Resources */,
+				BCC5840828A9FA8100BAB4CF /* cloud_animation_10.png in Resources */,
 				BCA9CE4427FD947C00D558C6 /* AccompanyArrangeCell.xib in Resources */,
 				BCF61BF128042FA90000ACFE /* InstrumentChooseBottonView.xib in Resources */,
 				BC6BEAAC288E3D7B00022109 /* HomeNewHeadView.xib in Resources */,
 				277D433027E9A50800107DB7 /* PhoneChangeBodyView.xib in Resources */,
+				BCC583F928A9FA8100BAB4CF /* cloud_animation_22.png in Resources */,
 				BC71D1EC2887FDD40010F14B /* img_0.png in Resources */,
 				BC71D1EA2887FDD40010F14B /* img_10.png in Resources */,
 				BC71D2052887FDD40010F14B /* img_27.png in Resources */,
 				BC542E3828406F8000633781 /* UserAuthBodyView.xib in Resources */,
-				BC513E9D28A4D9FD003F58C4 /* ___5B0AE074-7E19-4A0D-B01C-380BFC0BE94D.png in Resources */,
 				27A54CEE27E9B986007309A3 /* ModifyNameBodyView.xib in Resources */,
+				BCC5840128A9FA8100BAB4CF /* cloud_animation_29.png in Resources */,
+				BCC583FA28A9FA8100BAB4CF /* cloud_animation_26.png in Resources */,
 				2708565E27EDA83100EC8E72 /* GroupMemberListCell.xib in Resources */,
 				BCDE359A289BC02200A9A560 /* HomeHotAlbumCell.xib in Resources */,
 				2780A06627E81E5E00447CFD /* MineNavView.xib in Resources */,
@@ -6639,17 +6780,22 @@
 				BCE6A0AA27F852CD00C97704 /* MineFansGroupCell.xib in Resources */,
 				BCEBB8F72840D68400A76BE8 /* KSChatGroupListCell.xib in Resources */,
 				BCB399B327F94B5A00AFF376 /* LTSCalendarBottomView.xib in Resources */,
+				BCC5840728A9FA8100BAB4CF /* cloud_animation_12.png in Resources */,
 				2708565327ED8B8C00EC8E72 /* GroupApplyChooseAllCell.xib in Resources */,
 				275E3DEE27F467BF0010EC30 /* LiveRoomBottomView.xib in Resources */,
+				BC3673D428A606A500059721 /* musicRoom_animation_3.png in Resources */,
 				BC14A61E28A0B5CE0086395C /* MineActionView.xib in Resources */,
 				BC71D1FF2887FDD40010F14B /* img_8.png in Resources */,
 				BC023802286594EA005560CA /* KSTipsAlert.xib in Resources */,
 				BC4BCE6D28239EEB00522C8B /* MyAddressListCell.xib in Resources */,
 				27BC3B2B27F2DB9600D81E30 /* MusicUploadView.xib in Resources */,
 				BCED5CC328508F28009A42DE /* ShareLiveCellContentView.xib in Resources */,
+				BC3673DA28A606A500059721 /* accomapny_animation_0.png in Resources */,
 				BC2456F4286BEFDA00D1F7C0 /* MineEmptyVideoCell.xib in Resources */,
 				BCA1134928A22A66007FAFB9 /* HomeHotMusicCollectionCell.xib in Resources */,
 				BCE6A09B27F83E8E00C97704 /* MinePageVideoCell.xib in Resources */,
+				BCC5841C28AA36D700BAB4CF /* BadgeIntroduceView.xib in Resources */,
+				BCC583F728A9FA8100BAB4CF /* cloud_animation_21.png in Resources */,
 				BCE06F2D2818147000234817 /* KSConfirmAlertView.xib in Resources */,
 				BC71D295288811BF0010F14B /* tabbar4.json in Resources */,
 				BCA7C34428476533009D20EC /* KSBoardAddStaffView.xib in Resources */,
@@ -6665,7 +6811,7 @@
 				BCAD01C22872F5560002CC40 /* LiveVideoListView.xib in Resources */,
 				275E3DE927F4679E0010EC30 /* LiveRoomHeadView.xib in Resources */,
 				BC6BEAA3288A4C2A00022109 /* KSHomeButton.xib in Resources */,
-				BC513EA328A4DA05003F58C4 /* ___5___6B54FD2C-7988-4205-B85F-61714D7C29B4.png in Resources */,
+				BCC5840928A9FA8100BAB4CF /* cloud_animation_11.png in Resources */,
 				27D83F4E27F3EC2100062476 /* CreateLiveBodyView.xib in Resources */,
 				BCEA75282819103B00886A86 /* UnbindBodyView.xib in Resources */,
 				BC8B6E602856ED0600866917 /* WeiboSDK.bundle in Resources */,
@@ -6673,6 +6819,7 @@
 				BC71D1FA2887FDD40010F14B /* img_14.png in Resources */,
 				BC523B1228A09F3800E9D66B /* MineHeadView.xib in Resources */,
 				2723B69327F1806500E0B90B /* HomeHeadView.xib in Resources */,
+				BC3673DC28A606A500059721 /* musicRoom_animation_0.png in Resources */,
 				275B16F127EAF9DD0081FDEF /* ChatNavView.xib in Resources */,
 				2773205327EDB75B008FAECA /* GroupNoticeCell.xib in Resources */,
 				2755C08627ED5770007D9070 /* GroupApplyMemberCell.xib in Resources */,
@@ -6684,6 +6831,7 @@
 				277D433127E9A50800107DB7 /* PhoneCheckBodyView.xib in Resources */,
 				BC71D2082887FDD40010F14B /* img_20.png in Resources */,
 				BC7705FF287676DC003EFA7F /* HomeActionView.xib in Resources */,
+				BCC5840028A9FA8100BAB4CF /* cloud_animation_15.png in Resources */,
 				BC5EB5C12804085500B4A3B0 /* MyStyleVideoCell.xib in Resources */,
 				BC4BCE772823AA3F00522C8B /* areainfo.json in Resources */,
 				BC71D1F62887FDD40010F14B /* img_29.png in Resources */,
@@ -6692,17 +6840,22 @@
 				BC8B6E6A28575DEE00866917 /* MusicDisplayView.xib in Resources */,
 				BCB9FA21286D53A1005D766B /* ScanNavView.xib in Resources */,
 				BC71D1EB2887FDD40010F14B /* img_1.png in Resources */,
+				BC3673DB28A606A500059721 /* live_animation_1.png in Resources */,
+				BCC583FB28A9FA8100BAB4CF /* cloud_animation_27.png in Resources */,
 				BCB9FA4F28717BBD005D766B /* MyMusicSearchView.xib in Resources */,
+				BCC5840A28A9FA8100BAB4CF /* cloud_animation_6.png in Resources */,
 				BC483233282A6473005F534C /* HomeRecentCourseView.xib in Resources */,
 				2708565927ED961900EC8E72 /* ApplyBottomView.xib in Resources */,
 				BCB399AE27F946AA00AFF376 /* CourseNavView.xib in Resources */,
+				BCC583FD28A9FA8100BAB4CF /* cloud_animation_25.png in Resources */,
+				BCC583F428A9FA8100BAB4CF /* cloud_animation_9.png in Resources */,
 				BC0A22A8284751F80065C1AB /* DownloadStatusCell.xib in Resources */,
+				BCC5840228A9FA8100BAB4CF /* cloud_animation_28.png in Resources */,
 				BC71D1F42887FDD40010F14B /* img_6.png in Resources */,
+				BCC5840E28A9FA8100BAB4CF /* cloud_animation_0.png in Resources */,
 				275B170D27EB14AC0081FDEF /* KSChatListSearchView.xib in Resources */,
-				BC513E9B28A4D9FD003F58C4 /* ___5___E15887AE-0472-48F6-B4BF-7310E071A33C.png in Resources */,
 				BC71D1332887ADDA0010F14B /* teacher_refresh.json in Resources */,
 				BC7CFFCA2817F2FF00CAEB21 /* CashRecordListCell.xib in Resources */,
-				BC513EA228A4DA05003F58C4 /* ___2C8A75BF-2B66-4F7D-8BC4-EF07BC7C0955.png in Resources */,
 				BCB9FA41286DA337005D766B /* GuideListView.xib in Resources */,
 				BC3ACDA12891261F00060E97 /* MyMusicNavView.xib in Resources */,
 				BCB908DD2850A71800F5FF69 /* ShareMusicCellContentView.xib in Resources */,
@@ -6714,7 +6867,6 @@
 				2779362E27E33C360010E277 /* LoginBodyView.xib in Resources */,
 				BC8B6E6E285836B600866917 /* low_staff.png in Resources */,
 				BCB399BD27F9831D00AFF376 /* CourseForLiveCell.xib in Resources */,
-				BC513E9628A4D9F5003F58C4 /* ___5___C8C7A749-87DC-4D99-8F67-2AD2B1D3D5F6.png in Resources */,
 				2723B68927F1643B00E0B90B /* HomeBodyView.xib in Resources */,
 				BCFE541A2817BE0800AD6786 /* IncomeHeaderView.xib in Resources */,
 				BC71D1F32887FDD40010F14B /* img_7.png in Resources */,
@@ -6724,6 +6876,7 @@
 				BC5EB5AB2803D86500B4A3B0 /* AccompanyAlertView.xib in Resources */,
 				BCE6A08C27F823A300C97704 /* AccompanyCourseCell.xib in Resources */,
 				BC7CFFBA2817E9FC00CAEB21 /* echarts.min.js in Resources */,
+				BC3673D528A606A500059721 /* live_animation_2.png in Resources */,
 				BC71D2012887FDD40010F14B /* img_18.png in Resources */,
 				BC0A22A0284751F80065C1AB /* KSCloseCourseView.xib in Resources */,
 				BCE6A08727F81B4D00C97704 /* MinePageSubmitView.xib in Resources */,
@@ -6731,22 +6884,29 @@
 				BC73A1F42809693F00FA8F6F /* EvaluateSortView.xib in Resources */,
 				27A54CF927E9BD8B007309A3 /* FeedbackBodyView.xib in Resources */,
 				BC542E4828407B4400633781 /* UseBodyView.xib in Resources */,
+				BCC5841628A9FA9D00BAB4CF /* AccompanyLoadingView.xib in Resources */,
 				BC523B05289D00C000E9D66B /* HomeHotMusicCell.xib in Resources */,
 				BC2456EA286BEF8000D1F7C0 /* MineEmptyGroupCell.xib in Resources */,
 				BCB6340527F6A2F000ACFDCF /* tock.wav in Resources */,
 				BCC03F9A2805681100461B7C /* MyLessonSearchView.xib in Resources */,
+				BCC5840B28A9FA8100BAB4CF /* cloud_animation_7.png in Resources */,
 				BCC03F9F280579A500461B7C /* MyLiveCourseCell.xib in Resources */,
+				BCC583FF28A9FA8100BAB4CF /* cloud_animation_18.png in Resources */,
+				BCC583F628A9FA8100BAB4CF /* cloud_animation_20.png in Resources */,
 				BCB6340627F6A2F000ACFDCF /* tick.wav in Resources */,
 				BCA1135228A242FD007FAFB9 /* HomeBannerView.xib in Resources */,
+				BC3673D628A606A500059721 /* live_animation_0.png in Resources */,
 				BC71D1FB2887FDD40010F14B /* img_28.png in Resources */,
 				BCA1135828A2439D007FAFB9 /* HomeBannerCell.xib in Resources */,
 				BC8B6E522856ED0600866917 /* UMCommonLog.bundle in Resources */,
 				BCA353EA2859A6FB00377661 /* MusicRoomHomeworkCell.xib in Resources */,
 				2755C07127EC7F21007D9070 /* ChatComplainBodyView.xib in Resources */,
 				BC1365C9280D476500EB03E2 /* NotiferMessageCell.xib in Resources */,
+				BCC5840F28A9FA8100BAB4CF /* cloud_animation_1.png in Resources */,
 				BC5EB5B7280402CB00B4A3B0 /* MyStyleInstrumentCell.xib in Resources */,
 				BCFE54152817918600AD6786 /* MyIncomeListCell.xib in Resources */,
 				BCA9CE1727FD339D00D558C6 /* AuthDisplayView.xib in Resources */,
+				BCC5840428A9FA8100BAB4CF /* cloud_animation_16.png in Resources */,
 				BC245710286C437D00D1F7C0 /* synthgms.sf2 in Resources */,
 				BC71D1EE2887FDD40010F14B /* img_13.png in Resources */,
 				BCF1BA5B27F5CF3C00FA36C4 /* LiveSeatApplyCell.xib in Resources */,
@@ -6754,9 +6914,11 @@
 				27F902FF27E864AE00C08A19 /* KSNetworkAlert.xib in Resources */,
 				BC71D2092887FDD40010F14B /* img_21.png in Resources */,
 				BC60E3C2287D448600B05441 /* DeleteAccountBodyView.xib in Resources */,
+				BCC5841028A9FA8100BAB4CF /* cloud_animation_3.png in Resources */,
 				BC32E10E286AB326001434DD /* KSPublicAlertView.xib in Resources */,
 				BC71D296288811BF0010F14B /* tabbar3.json in Resources */,
 				BC71D2022887FDD40010F14B /* img_30.png in Resources */,
+				BC3673D928A606A500059721 /* accomapny_animation_2.png in Resources */,
 				BC7CFFAA2817E3BD00CAEB21 /* IncomeCountTopView.xib in Resources */,
 				BC0A22B82847523E0065C1AB /* MemberListCell.xib in Resources */,
 				BCB9FA632872C8D2005D766B /* UnderwayLiveCell.xib in Resources */,
@@ -6766,15 +6928,20 @@
 				BC4BCE722823A03A00522C8B /* AddressBottomView.xib in Resources */,
 				BCA353E0285976CF00377661 /* MusicRoomCourseInfoCell.xib in Resources */,
 				BC71D1F82887FDD40010F14B /* img_4.png in Resources */,
+				BCC5841228A9FA8100BAB4CF /* cloud_animation.json in Resources */,
 				BC71D1FE2887FDD40010F14B /* img_19.png in Resources */,
 				277D431F27E999A000107DB7 /* ModifyBodyView.xib in Resources */,
 				BC3ACD9C2890D88E00060E97 /* IncomeRecordHeadView.xib in Resources */,
+				BCC5840328A9FA8100BAB4CF /* cloud_animation_14.png in Resources */,
 				BC14A61928A0B04A0086395C /* MineBottomView.xib in Resources */,
 				BC8B6E5D2856ED0600866917 /* README.txt in Resources */,
 				BC7CFFBB2817E9FC00CAEB21 /* stacked_line_chart.html in Resources */,
+				BCC583FE28A9FA8100BAB4CF /* cloud_animation_24.png in Resources */,
 				27A54CFE27E9BDC5007309A3 /* AboutUsBodyView.xib in Resources */,
 				BCA724052806AFF100DA0D0D /* AccompanyCourseInfoCell.xib in Resources */,
 				BC2456EF286BEFC600D1F7C0 /* MineEmptyIntroduceCell.xib in Resources */,
+				BC3673DF28A606A500059721 /* musicRoom_animation_2.png in Resources */,
+				BCC583F828A9FA8100BAB4CF /* cloud_animation_23.png in Resources */,
 				2779329827E30FEB0010E277 /* mss_browseLoading@3x.png in Resources */,
 				BC8B6E632856ED0700866917 /* TencentOpenApi_IOS_Bundle.bundle in Resources */,
 				27BC3B2627F2B76900D81E30 /* MusicMessageCell.xib in Resources */,
@@ -6795,11 +6962,14 @@
 				27D5D5D227EDBA9400B4720C /* NoticeEditBodyView.xib in Resources */,
 				BC7CFFD7281801B700CAEB21 /* CardBandBodyView.xib in Resources */,
 				BC71D1F02887FDD40010F14B /* img_3.png in Resources */,
+				BCC5841128A9FA8100BAB4CF /* cloud_animation_2.png in Resources */,
 				275E3DE327F467410010EC30 /* BaseEmoji.plist in Resources */,
 				273C75A027E9681700F7C26F /* SettingBodyView.xib in Resources */,
+				BCC5840528A9FA8100BAB4CF /* cloud_animation_17.png in Resources */,
 				BC71D1F12887FDD40010F14B /* img_12.png in Resources */,
+				BC3673DD28A606A500059721 /* accomapny_animation_3.png in Resources */,
 				BC8C2C662824EB9800FBA5D5 /* NotiferHeadView.xib in Resources */,
-				BC513EA128A4DA05003F58C4 /* _____31_9F12D397-DA84-4B91-9C4B-642DA07045E9.png in Resources */,
+				BC3673D728A606A500059721 /* live_animation_3.png in Resources */,
 				2779329A27E30FEB0010E277 /* mss_browseLoading@2x.png in Resources */,
 				BC71D2042887FDD40010F14B /* img_26.png in Resources */,
 				27F9CAFC27EC1AF3003E0FE4 /* ContractListCell.xib in Resources */,
@@ -7110,6 +7280,7 @@
 				2779322627E30FC30010E277 /* KSMessageInputView.m in Sources */,
 				BCDB09402805C0EF00D0BDAD /* NewClassPopView.m in Sources */,
 				BC4058922863028200111BC5 /* NotiferNavView.m in Sources */,
+				BCC5841728A9FA9D00BAB4CF /* AccompanyLoadingView.m in Sources */,
 				27F9CAF627EC1A16003E0FE4 /* SCIndexView.m in Sources */,
 				BCD457BB2865652C0010B493 /* LiveAnimationView.m in Sources */,
 				2779320E27E30FC30010E277 /* UIColor+Hex.m in Sources */,
@@ -7149,6 +7320,7 @@
 				2779321627E30FC30010E277 /* StoreShopCaterview.m in Sources */,
 				277931D127E30FC20010E277 /* UrlDecode.m in Sources */,
 				277931F227E30FC20010E277 /* NSDictionary+Extension.m in Sources */,
+				BCC5841A28AA36CF00BAB4CF /* BadgeIntroduceView.m in Sources */,
 				27D83F5727F4224F00062476 /* LivePreviewBodyView.m in Sources */,
 				BC1191F6280EBC7D00A716F7 /* AccompanyDetailBottomView.m in Sources */,
 				BCB909042851E25D00F5FF69 /* KSShareChooseViewController.m in Sources */,
@@ -7752,7 +7924,7 @@
 				ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
 				CODE_SIGN_ENTITLEMENTS = KulexiuForTeacher/KulexiuForTeacher.entitlements;
 				CODE_SIGN_STYLE = Automatic;
-				CURRENT_PROJECT_VERSION = 1.1.2;
+				CURRENT_PROJECT_VERSION = 1.2.0;
 				DEVELOPMENT_TEAM = B2AP53HHTU;
 				ENABLE_BITCODE = NO;
 				FRAMEWORK_SEARCH_PATHS = (
@@ -7798,7 +7970,7 @@
 					"$(PROJECT_DIR)/KulexiuForTeacher/Common/ThirdPart/UMSocialSDK/share/share_ios_6.10.4/SocialLibraries/QQ",
 					"$(PROJECT_DIR)/KulexiuForTeacher/Common/ThirdPart/UMSocialSDK/share/share_ios_6.10.4/UMSocialSDKPlugin",
 				);
-				MARKETING_VERSION = 1.1.0;
+				MARKETING_VERSION = 1.2.0;
 				PRODUCT_BUNDLE_IDENTIFIER = com.Colexiu.KulexiuForTeacher;
 				PRODUCT_NAME = "$(TARGET_NAME)";
 				SWIFT_EMIT_LOC_STRINGS = YES;
@@ -7814,7 +7986,7 @@
 				ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
 				CODE_SIGN_ENTITLEMENTS = KulexiuForTeacher/KulexiuForTeacher.entitlements;
 				CODE_SIGN_STYLE = Automatic;
-				CURRENT_PROJECT_VERSION = 1.1.2;
+				CURRENT_PROJECT_VERSION = 1.2.0;
 				DEVELOPMENT_TEAM = B2AP53HHTU;
 				ENABLE_BITCODE = NO;
 				FRAMEWORK_SEARCH_PATHS = (
@@ -7860,7 +8032,7 @@
 					"$(PROJECT_DIR)/KulexiuForTeacher/Common/ThirdPart/UMSocialSDK/share/share_ios_6.10.4/SocialLibraries/QQ",
 					"$(PROJECT_DIR)/KulexiuForTeacher/Common/ThirdPart/UMSocialSDK/share/share_ios_6.10.4/UMSocialSDKPlugin",
 				);
-				MARKETING_VERSION = 1.1.0;
+				MARKETING_VERSION = 1.2.0;
 				PRODUCT_BUNDLE_IDENTIFIER = com.Colexiu.KulexiuForTeacher;
 				PRODUCT_NAME = "$(TARGET_NAME)";
 				SWIFT_EMIT_LOC_STRINGS = YES;

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


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

@@ -985,8 +985,8 @@
             filePath = "KulexiuForTeacher/Module/Home/Controller/HomeViewController.m"
             startingColumnNumber = "9223372036854775807"
             endingColumnNumber = "9223372036854775807"
-            startingLineNumber = "418"
-            endingLineNumber = "418"
+            startingLineNumber = "423"
+            endingLineNumber = "423"
             landmarkName = "-requestHotMusicList"
             landmarkType = "7">
          </BreakpointContent>
@@ -1001,8 +1001,8 @@
             filePath = "KulexiuForTeacher/Module/Home/Controller/HomeViewController.m"
             startingColumnNumber = "9223372036854775807"
             endingColumnNumber = "9223372036854775807"
-            startingLineNumber = "962"
-            endingLineNumber = "962"
+            startingLineNumber = "983"
+            endingLineNumber = "983"
             landmarkName = "-collectionView:layout:sizeForItemAtIndexPath:"
             landmarkType = "7">
          </BreakpointContent>
@@ -1010,48 +1010,48 @@
       <BreakpointProxy
          BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
          <BreakpointContent
-            uuid = "CB165B73-0993-4A1C-A5C5-4EBA142A5F5A"
+            uuid = "2D245D46-F366-4F40-9F2E-002F393EF68E"
             shouldBeEnabled = "No"
             ignoreCount = "0"
             continueAfterRunningActions = "No"
             filePath = "KulexiuForTeacher/Module/Home/Controller/HomeViewController.m"
             startingColumnNumber = "9223372036854775807"
             endingColumnNumber = "9223372036854775807"
-            startingLineNumber = "291"
-            endingLineNumber = "291"
-            landmarkName = "-requestHomeButton"
+            startingLineNumber = "219"
+            endingLineNumber = "219"
+            landmarkName = "-refreshBannerView"
             landmarkType = "7">
          </BreakpointContent>
       </BreakpointProxy>
       <BreakpointProxy
          BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
          <BreakpointContent
-            uuid = "2D245D46-F366-4F40-9F2E-002F393EF68E"
+            uuid = "C882B7C7-D168-4EE2-9F5E-43DCF2FC35AE"
             shouldBeEnabled = "No"
             ignoreCount = "0"
             continueAfterRunningActions = "No"
             filePath = "KulexiuForTeacher/Module/Home/Controller/HomeViewController.m"
             startingColumnNumber = "9223372036854775807"
             endingColumnNumber = "9223372036854775807"
-            startingLineNumber = "216"
-            endingLineNumber = "216"
-            landmarkName = "-refreshBannerView"
+            startingLineNumber = "149"
+            endingLineNumber = "149"
+            landmarkName = "-requestNotice"
             landmarkType = "7">
          </BreakpointContent>
       </BreakpointProxy>
       <BreakpointProxy
          BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
          <BreakpointContent
-            uuid = "C882B7C7-D168-4EE2-9F5E-43DCF2FC35AE"
-            shouldBeEnabled = "No"
+            uuid = "8C607C34-D7C4-4C59-8FE2-7A4A81472642"
+            shouldBeEnabled = "Yes"
             ignoreCount = "0"
             continueAfterRunningActions = "No"
-            filePath = "KulexiuForTeacher/Module/Home/Controller/HomeViewController.m"
+            filePath = "KulexiuForTeacher/Module/Home/View/HomeHotMusicCellView.m"
             startingColumnNumber = "9223372036854775807"
             endingColumnNumber = "9223372036854775807"
-            startingLineNumber = "146"
-            endingLineNumber = "146"
-            landmarkName = "-requestNotice"
+            startingLineNumber = "85"
+            endingLineNumber = "85"
+            landmarkName = "-configWithMusicModel:hiddenLineView:callback:"
             landmarkType = "7">
          </BreakpointContent>
       </BreakpointProxy>

+ 6 - 0
KulexiuForTeacher/KulexiuForTeacher/Assets.xcassets/BadgeIntroduce/Contents.json

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

+ 22 - 0
KulexiuForTeacher/KulexiuForTeacher/Assets.xcassets/BadgeIntroduce/badge_cancle.imageset/Contents.json

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

BIN
KulexiuForTeacher/KulexiuForTeacher/Assets.xcassets/BadgeIntroduce/badge_cancle.imageset/badge_cancle@2x.png


BIN
KulexiuForTeacher/KulexiuForTeacher/Assets.xcassets/BadgeIntroduce/badge_cancle.imageset/badge_cancle@3x.png


+ 22 - 0
KulexiuForTeacher/KulexiuForTeacher/Assets.xcassets/BadgeIntroduce/badge_introduce.imageset/Contents.json

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

BIN
KulexiuForTeacher/KulexiuForTeacher/Assets.xcassets/BadgeIntroduce/badge_introduce.imageset/badge_introduce@2x.png


BIN
KulexiuForTeacher/KulexiuForTeacher/Assets.xcassets/BadgeIntroduce/badge_introduce.imageset/badge_introduce@3x.png


+ 22 - 0
KulexiuForTeacher/KulexiuForTeacher/Assets.xcassets/BadgeIntroduce/badge_live.imageset/Contents.json

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

BIN
KulexiuForTeacher/KulexiuForTeacher/Assets.xcassets/BadgeIntroduce/badge_live.imageset/badge_live@2x.png


BIN
KulexiuForTeacher/KulexiuForTeacher/Assets.xcassets/BadgeIntroduce/badge_live.imageset/badge_live@3x.png


+ 22 - 0
KulexiuForTeacher/KulexiuForTeacher/Assets.xcassets/BadgeIntroduce/badge_music.imageset/Contents.json

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

BIN
KulexiuForTeacher/KulexiuForTeacher/Assets.xcassets/BadgeIntroduce/badge_music.imageset/badge_music@2x.png


BIN
KulexiuForTeacher/KulexiuForTeacher/Assets.xcassets/BadgeIntroduce/badge_music.imageset/badge_music@3x.png


+ 22 - 0
KulexiuForTeacher/KulexiuForTeacher/Assets.xcassets/BadgeIntroduce/badge_style.imageset/Contents.json

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

BIN
KulexiuForTeacher/KulexiuForTeacher/Assets.xcassets/BadgeIntroduce/badge_style.imageset/badge_style@2x.png


BIN
KulexiuForTeacher/KulexiuForTeacher/Assets.xcassets/BadgeIntroduce/badge_style.imageset/badge_style@3x.png


+ 22 - 0
KulexiuForTeacher/KulexiuForTeacher/Assets.xcassets/BadgeIntroduce/badge_video.imageset/Contents.json

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

BIN
KulexiuForTeacher/KulexiuForTeacher/Assets.xcassets/BadgeIntroduce/badge_video.imageset/badge_video@2x.png


BIN
KulexiuForTeacher/KulexiuForTeacher/Assets.xcassets/BadgeIntroduce/badge_video.imageset/badge_video@3x.png


+ 6 - 0
KulexiuForTeacher/KulexiuForTeacher/Assets.xcassets/CloudLoading/Contents.json

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

+ 22 - 0
KulexiuForTeacher/KulexiuForTeacher/Assets.xcassets/CloudLoading/cloudLoading_bg.imageset/Contents.json

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

BIN
KulexiuForTeacher/KulexiuForTeacher/Assets.xcassets/CloudLoading/cloudLoading_bg.imageset/cloudLoading_bg@2x.png


BIN
KulexiuForTeacher/KulexiuForTeacher/Assets.xcassets/CloudLoading/cloudLoading_bg.imageset/cloudLoading_bg@3x.png


+ 26 - 0
KulexiuForTeacher/KulexiuForTeacher/Common/Base/AccompanyLoadingView.h

@@ -0,0 +1,26 @@
+//
+//  AccompanyLoadingView.h
+//  KulexiuForStudent
+//
+//  Created by 王智 on 2022/8/15.
+//
+
+#import <UIKit/UIKit.h>
+
+NS_ASSUME_NONNULL_BEGIN
+
+typedef void(^AccompanyLoadingCallback)(void);
+
+@interface AccompanyLoadingView : UIView
+
++ (instancetype)shareInstance;
+
+- (void)loadingCallback:(AccompanyLoadingCallback)callback;
+
+- (void)showLoading;
+
+- (void)stopLoading;
+
+@end
+
+NS_ASSUME_NONNULL_END

+ 92 - 0
KulexiuForTeacher/KulexiuForTeacher/Common/Base/AccompanyLoadingView.m

@@ -0,0 +1,92 @@
+//
+//  AccompanyLoadingView.m
+//  KulexiuForStudent
+//
+//  Created by 王智 on 2022/8/15.
+//
+
+#import "AccompanyLoadingView.h"
+#import <Lottie/Lottie.h>
+
+
+@interface AccompanyLoadingView ()
+
+@property (weak, nonatomic) IBOutlet UIView *loadContainer;
+
+@property (nonatomic, strong) LOTAnimationView *animationView;
+
+@property (nonatomic, strong) NSString *jsonString;
+
+@property (nonatomic, copy) AccompanyLoadingCallback callback;
+
+@end
+
+@implementation AccompanyLoadingView
+
+- (void)awakeFromNib {
+    [super awakeFromNib];
+    self.jsonString = @"cloud_animation";
+}
+
+- (void)loadingCallback:(AccompanyLoadingCallback)callback {
+    if (callback) {
+        self.callback = callback;
+    }
+}
+
++ (instancetype)shareInstance {
+    AccompanyLoadingView *view = [[[NSBundle mainBundle] loadNibNamed:@"AccompanyLoadingView" owner:nil options:nil] firstObject];
+    return view;
+}
+
+- (void)showLoading {
+    if (self.animationView.isAnimationPlaying) {
+        return;
+    }
+    if (![self.loadContainer.subviews containsObject:self.animationView]) {
+        [self.loadContainer addSubview:self.animationView];
+        [self.animationView mas_makeConstraints:^(MASConstraintMaker *make) {
+            make.left.right.top.bottom.mas_equalTo(self.loadContainer);
+        }];
+    }
+    [self.animationView play];
+}
+
+- (void)stopLoading {
+    if (self.animationView.isAnimationPlaying) {
+        [self.animationView stop];
+    }
+    [UIView animateWithDuration:1.0f animations:^{
+        self.layer.opacity = 0.0f;
+    } completion:^(BOOL finished) {
+        [self removeFromSuperview];
+    }];
+}
+
+- (IBAction)cancleAction:(id)sender {
+    if (self.animationView.isAnimationPlaying) {
+        [self.animationView stop];
+    }
+    if (self.callback) {
+        self.callback();
+    }
+}
+
+- (LOTAnimationView *)animationView {
+    if (!_animationView) {
+        _animationView = [LOTAnimationView animationNamed:self.jsonString];
+        _animationView.contentMode = UIViewContentModeScaleAspectFill;
+        _animationView.animationSpeed = 1.0;
+        _animationView.loopAnimation = YES;
+    }
+    return _animationView;
+}
+/*
+// Only override drawRect: if you perform custom drawing.
+// An empty implementation adversely affects performance during animation.
+- (void)drawRect:(CGRect)rect {
+    // Drawing code
+}
+*/
+
+@end

+ 81 - 0
KulexiuForTeacher/KulexiuForTeacher/Common/Base/AccompanyLoadingView.xib

@@ -0,0 +1,81 @@
+<?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="AccompanyLoadingView">
+            <rect key="frame" x="0.0" y="0.0" width="699" height="340"/>
+            <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
+            <subviews>
+                <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="cloudLoading_bg" translatesAutoresizingMaskIntoConstraints="NO" id="ZV3-qJ-uxE">
+                    <rect key="frame" x="0.0" y="0.0" width="699" height="340"/>
+                </imageView>
+                <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="Gn9-HQ-HPj">
+                    <rect key="frame" x="81" y="0.0" width="537" height="340"/>
+                    <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
+                    <constraints>
+                        <constraint firstAttribute="width" secondItem="Gn9-HQ-HPj" secondAttribute="height" multiplier="865:548" id="nMf-gF-jkz"/>
+                    </constraints>
+                </view>
+                <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="小酷正在努力加载,请稍等..." textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Bjn-zM-LJW">
+                    <rect key="frame" x="258" y="293" width="183.5" height="17"/>
+                    <fontDescription key="fontDescription" type="system" pointSize="14"/>
+                    <color key="textColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
+                    <nil key="highlightedColor"/>
+                </label>
+                <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="back_button_white" translatesAutoresizingMaskIntoConstraints="NO" id="ncV-eS-8Yx">
+                    <rect key="frame" x="22" y="17" width="12" height="20"/>
+                    <constraints>
+                        <constraint firstAttribute="height" constant="20" id="Qhr-as-jBz"/>
+                        <constraint firstAttribute="width" constant="12" id="UtD-bn-wHw"/>
+                    </constraints>
+                </imageView>
+                <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="1Vl-Vy-gg3">
+                    <rect key="frame" x="0.0" y="5" width="44" height="44"/>
+                    <constraints>
+                        <constraint firstAttribute="width" constant="44" id="fWC-V7-9dR"/>
+                        <constraint firstAttribute="height" constant="44" id="ffu-19-wOl"/>
+                    </constraints>
+                    <inset key="imageEdgeInsets" minX="0.0" minY="0.0" maxX="2.2250738585072014e-308" maxY="0.0"/>
+                    <connections>
+                        <action selector="cancleAction:" destination="iN0-l3-epB" eventType="touchUpInside" id="dvV-tf-Ggg"/>
+                    </connections>
+                </button>
+            </subviews>
+            <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
+            <constraints>
+                <constraint firstItem="ZV3-qJ-uxE" firstAttribute="top" secondItem="iN0-l3-epB" secondAttribute="top" id="3r2-vl-mBg"/>
+                <constraint firstAttribute="trailing" secondItem="ZV3-qJ-uxE" secondAttribute="trailing" id="QY7-u1-n6M"/>
+                <constraint firstItem="Gn9-HQ-HPj" firstAttribute="centerY" secondItem="iN0-l3-epB" secondAttribute="centerY" id="QuP-sd-KI7"/>
+                <constraint firstItem="1Vl-Vy-gg3" firstAttribute="centerY" secondItem="ncV-eS-8Yx" secondAttribute="centerY" id="TSR-47-coa"/>
+                <constraint firstAttribute="bottom" secondItem="Bjn-zM-LJW" secondAttribute="bottom" constant="30" id="YAP-rE-Kfk"/>
+                <constraint firstItem="Gn9-HQ-HPj" firstAttribute="top" secondItem="iN0-l3-epB" secondAttribute="top" id="YeD-2h-0IN"/>
+                <constraint firstItem="1Vl-Vy-gg3" firstAttribute="leading" secondItem="iN0-l3-epB" secondAttribute="leading" id="Z4M-rM-8kS"/>
+                <constraint firstItem="ZV3-qJ-uxE" firstAttribute="leading" secondItem="iN0-l3-epB" secondAttribute="leading" id="beT-6f-OTP"/>
+                <constraint firstAttribute="bottom" secondItem="ZV3-qJ-uxE" secondAttribute="bottom" id="hv4-uE-orY"/>
+                <constraint firstItem="ncV-eS-8Yx" firstAttribute="leading" secondItem="iN0-l3-epB" secondAttribute="leading" constant="22" id="ioX-pe-BBS"/>
+                <constraint firstItem="Gn9-HQ-HPj" firstAttribute="centerX" secondItem="iN0-l3-epB" secondAttribute="centerX" id="jNQ-KE-15G"/>
+                <constraint firstItem="ncV-eS-8Yx" firstAttribute="top" secondItem="iN0-l3-epB" secondAttribute="top" constant="17" id="lw2-0g-sel"/>
+                <constraint firstAttribute="bottom" secondItem="Gn9-HQ-HPj" secondAttribute="bottom" id="mmb-Wl-p7o"/>
+                <constraint firstItem="Bjn-zM-LJW" firstAttribute="centerX" secondItem="iN0-l3-epB" secondAttribute="centerX" id="qjV-MX-C2L"/>
+            </constraints>
+            <nil key="simulatedTopBarMetrics"/>
+            <nil key="simulatedBottomBarMetrics"/>
+            <freeformSimulatedSizeMetrics key="simulatedDestinationMetrics"/>
+            <connections>
+                <outlet property="loadContainer" destination="Gn9-HQ-HPj" id="Rdq-mO-hMY"/>
+            </connections>
+            <point key="canvasLocation" x="338.40579710144931" y="-19.419642857142858"/>
+        </view>
+    </objects>
+    <resources>
+        <image name="back_button_white" width="12" height="20"/>
+        <image name="cloudLoading_bg" width="812" height="375"/>
+    </resources>
+</document>

File diff suppressed because it is too large
+ 0 - 0
KulexiuForTeacher/KulexiuForTeacher/Common/Base/CloudLoadingSource/cloud_animation.json


BIN
KulexiuForTeacher/KulexiuForTeacher/Common/Base/CloudLoadingSource/images/cloud_animation_0.png


BIN
KulexiuForTeacher/KulexiuForTeacher/Common/Base/CloudLoadingSource/images/cloud_animation_1.png


BIN
KulexiuForTeacher/KulexiuForTeacher/Common/Base/CloudLoadingSource/images/cloud_animation_10.png


BIN
KulexiuForTeacher/KulexiuForTeacher/Common/Base/CloudLoadingSource/images/cloud_animation_11.png


BIN
KulexiuForTeacher/KulexiuForTeacher/Common/Base/CloudLoadingSource/images/cloud_animation_12.png


BIN
KulexiuForTeacher/KulexiuForTeacher/Common/Base/CloudLoadingSource/images/cloud_animation_13.png


BIN
KulexiuForTeacher/KulexiuForTeacher/Common/Base/CloudLoadingSource/images/cloud_animation_14.png


BIN
KulexiuForTeacher/KulexiuForTeacher/Common/Base/CloudLoadingSource/images/cloud_animation_15.png


BIN
KulexiuForTeacher/KulexiuForTeacher/Common/Base/CloudLoadingSource/images/cloud_animation_16.png


BIN
KulexiuForTeacher/KulexiuForTeacher/Common/Base/CloudLoadingSource/images/cloud_animation_17.png


BIN
KulexiuForTeacher/KulexiuForTeacher/Common/Base/CloudLoadingSource/images/cloud_animation_18.png


BIN
KulexiuForTeacher/KulexiuForTeacher/Common/Base/CloudLoadingSource/images/cloud_animation_19.png


BIN
KulexiuForTeacher/KulexiuForTeacher/Common/Base/CloudLoadingSource/images/cloud_animation_2.png


BIN
KulexiuForTeacher/KulexiuForTeacher/Common/Base/CloudLoadingSource/images/cloud_animation_20.png


BIN
KulexiuForTeacher/KulexiuForTeacher/Common/Base/CloudLoadingSource/images/cloud_animation_21.png


BIN
KulexiuForTeacher/KulexiuForTeacher/Common/Base/CloudLoadingSource/images/cloud_animation_22.png


BIN
KulexiuForTeacher/KulexiuForTeacher/Common/Base/CloudLoadingSource/images/cloud_animation_23.png


BIN
KulexiuForTeacher/KulexiuForTeacher/Common/Base/CloudLoadingSource/images/cloud_animation_24.png


BIN
KulexiuForTeacher/KulexiuForTeacher/Common/Base/CloudLoadingSource/images/cloud_animation_25.png


BIN
KulexiuForTeacher/KulexiuForTeacher/Common/Base/CloudLoadingSource/images/cloud_animation_26.png


BIN
KulexiuForTeacher/KulexiuForTeacher/Common/Base/CloudLoadingSource/images/cloud_animation_27.png


BIN
KulexiuForTeacher/KulexiuForTeacher/Common/Base/CloudLoadingSource/images/cloud_animation_28.png


BIN
KulexiuForTeacher/KulexiuForTeacher/Common/Base/CloudLoadingSource/images/cloud_animation_29.png


BIN
KulexiuForTeacher/KulexiuForTeacher/Common/Base/CloudLoadingSource/images/cloud_animation_3.png


BIN
KulexiuForTeacher/KulexiuForTeacher/Common/Base/CloudLoadingSource/images/cloud_animation_4.png


BIN
KulexiuForTeacher/KulexiuForTeacher/Common/Base/CloudLoadingSource/images/cloud_animation_5.png


BIN
KulexiuForTeacher/KulexiuForTeacher/Common/Base/CloudLoadingSource/images/cloud_animation_6.png


BIN
KulexiuForTeacher/KulexiuForTeacher/Common/Base/CloudLoadingSource/images/cloud_animation_7.png


BIN
KulexiuForTeacher/KulexiuForTeacher/Common/Base/CloudLoadingSource/images/cloud_animation_8.png


BIN
KulexiuForTeacher/KulexiuForTeacher/Common/Base/CloudLoadingSource/images/cloud_animation_9.png


+ 43 - 0
KulexiuForTeacher/KulexiuForTeacher/Common/Base/KSAccompanyWebViewController.m

@@ -16,6 +16,8 @@
 #import "KSCloudBeatView.h"
 #import "MidiPlayerEngine.h"
 
+#import "AccompanyLoadingView.h"
+
 #define KSMidiSongFileKey (@"KSDownloadMidiSong")
 
 @interface KSAccompanyWebViewController ()<KSAQRecordManagerDelegate,KSAudioSessionManagerDelegate,PlayerEngineDelegate>
@@ -65,6 +67,9 @@
 @property (nonatomic, strong) NSDictionary *endRecordParm;
 
 @property (nonatomic, assign) BOOL isCameraOpen;
+
+@property (nonatomic, strong) AccompanyLoadingView *loadingView;
+
 @end
 
 @implementation KSAccompanyWebViewController
@@ -637,6 +642,16 @@
                     self.playerEngine = nil;
                 }
             }
+            else if ([[parm stringValueForKey:@"api"] isEqualToString:@"cloudLoading"]) { // loading
+                NSDictionary *content = [parm dictionaryValueForKey:@"content"];
+                BOOL showLoading = [content boolValueForKey:@"show"];
+                if (showLoading) {
+                    [self showCustomLoading];
+                }
+                else {
+                    [self removeCustomLoadingView];
+                }
+            }
             else {
                 [super handleScriptMessageSource:parm];
             }
@@ -1075,6 +1090,34 @@
         [self.playerEngine stopPlayingMIDIFile];
     }
 }
+
+#pragma mark ----- 小酷AI loading
+- (AccompanyLoadingView *)loadingView {
+    if (!_loadingView) {
+        _loadingView = [AccompanyLoadingView shareInstance];
+        MJWeakSelf;
+        [_loadingView loadingCallback:^{
+            [weakSelf backAction];
+        }];
+    }
+    return _loadingView;
+}
+
+- (void)showCustomLoading {
+    if ([self.view.subviews containsObject:self.loadingView]) {
+        return;
+    }
+    [self.view addSubview:self.loadingView];
+    [self.loadingView mas_makeConstraints:^(MASConstraintMaker *make) {
+        make.left.top.right.bottom.mas_equalTo(self.view);
+    }];
+    [self.view bringSubviewToFront:self.loadingView];
+    [self.loadingView showLoading];
+}
+
+- (void)removeCustomLoadingView {
+    [self.loadingView stopLoading];
+}
 /*
 #pragma mark - Navigation
 

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

@@ -105,7 +105,7 @@
                 [self showMessage:@"网络请求超时"];
             }
             else if (error.code != -999) {
-                [self showMessage:@"网络或服务器错误,请重试"];
+                [self showMessage:@"网络错误,请检查您的网络"];
             }
             
         }];
@@ -142,7 +142,7 @@
                 [self showMessage:@"网络请求超时"];
             }
             else if (error.code != -999) {
-                [self showMessage:@"网络或服务器错误,请重试"];
+                [self showMessage:@"网络错误,请检查您的网络"];
             }
             
         }];
@@ -234,7 +234,7 @@
         }
         success(dics);
     } failBlock:^(NSArray *errors) {
-        [self showMessage:@"网络或服务器错误,请重试"];
+        [self showMessage:@"网络错误,请检查您的网络"];
         faliure([errors lastObject]);
     }];
     
@@ -264,7 +264,7 @@
         return ;
     } failBlock:^(NSError *error) {
         faliure(error);
-        [self showMessage:@"网络或服务器错误,请重试"];
+        [self showMessage:@"网络错误,请检查您的网络"];
     }];
 }
 
@@ -288,7 +288,7 @@
         if (faliure) {
             faliure(error);
         }
-        [self showMessage:@"网络或服务器错误,请重试"];
+        [self showMessage:@"网络错误,请检查您的网络"];
         [self configRequestHeader];
     }];
 }
@@ -306,7 +306,7 @@
         NSMutableArray *result = [NSMutableArray arrayWithArray:responses];
         success(result);
     } failBlock:^(NSArray * _Nonnull errors) {
-        [self showMessage:@"网络或服务器错误,请重试"];
+        [self showMessage:@"网络错误,请检查您的网络"];
         [self configRequestHeader];
         faliure([errors lastObject]);
     }];

+ 7 - 7
KulexiuForTeacher/KulexiuForTeacher/Common/Tools/Custom/KSFullDatePicker.m

@@ -465,12 +465,7 @@ typedef NS_ENUM(NSInteger, PickViewTag) {
     
 }
 
-- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch {
-    if ([touch.view isDescendantOfView:self.timeView]) {
-        return NO;
-    }
-    return YES;
-}
+
 
 #pragma mark - UIPickerViewDataSource
 - (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView{
@@ -703,7 +698,12 @@ typedef NS_ENUM(NSInteger, PickViewTag) {
     return pickerLabel;
 }
 
-
+- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch {
+    if ([touch.view isDescendantOfView:self.timeView]) {
+        return NO;
+    }
+    return YES;
+}
 /*
 // Only override drawRect: if you perform custom drawing.
 // An empty implementation adversely affects performance during animation.

+ 27 - 6
KulexiuForTeacher/KulexiuForTeacher/Module/Home/Controller/HomeViewController.m

@@ -54,6 +54,7 @@
 #import "TYCyclePagerView.h"
 #import "TYPageControl.h"
 #import "HomeBannerCell.h"
+#import "BadgeIntroduceView.h"
 
 #define BUTTONWIDTH (65)
 #define BUTTONHEIGHT (70)
@@ -102,6 +103,8 @@
 
 @property (nonatomic, strong) UICollectionView *musicCollectionView; // 曲谱容器
 
+@property (nonatomic, strong) BadgeIntroduceView *intruduceAlert;
+
 @end
 
 @implementation HomeViewController
@@ -241,18 +244,20 @@
 
 - (void)refreshViewLocation {
     // 如果有课程和公告 且有按钮
+    
+    CGFloat buttonViewDefaultHeight = self.buttonArray.count > 4 ? [HomeButtonView getViewHeight] : [HomeButtonView getViewHeight] - 20;
+    
     if (self.titleArray.count && self.recentCourseModel && self.buttonArray.count) {
         [self.noticeView mas_remakeConstraints:^(MASConstraintMaker *make) {
             make.left.right.mas_equalTo(self.view);
             make.top.mas_equalTo(self.bannerView.mas_bottom);
             make.height.mas_equalTo(56.0f);
         }];
-
-        CGFloat buttonViewHeight = [HomeButtonView getViewHeight];
+        
         [self.buttonContainer mas_remakeConstraints:^(MASConstraintMaker *make) {
             make.left.right.mas_equalTo(self.view);
             make.top.mas_equalTo(self.noticeView.mas_bottom);
-            make.height.mas_equalTo(buttonViewHeight);
+            make.height.mas_equalTo(buttonViewDefaultHeight);
         }];
         [self.courseView mas_remakeConstraints:^(MASConstraintMaker *make) {
             make.left.right.mas_equalTo(self.view);
@@ -261,7 +266,7 @@
         }];
     }
     else {
-        CGFloat buttonViewHeight = self.buttonArray.count ? [HomeButtonView getViewHeight] : CGFLOAT_MIN;
+        CGFloat buttonViewHeight = self.buttonArray.count ? buttonViewDefaultHeight : CGFLOAT_MIN;
         [self.buttonContainer mas_remakeConstraints:^(MASConstraintMaker *make) {
             make.left.right.mas_equalTo(self.view);
             make.top.mas_equalTo(self.bannerView.mas_bottom);
@@ -673,13 +678,29 @@
     if (!_headView) {
         _headView = [HomeNewHeadView shareInstance];
         MJWeakSelf;
-        [_headView authDetailAction:^{
-            [weakSelf toAuthDetail];
+        [_headView authDetailAction:^(BOOL isShowDesc) {
+            if (isShowDesc) {
+                [weakSelf showDescAlert];
+            }
+            else {
+                [weakSelf toAuthDetail];
+            }
         }];
     }
     return _headView;
 }
 
+- (BadgeIntroduceView *)intruduceAlert {
+    if (!_intruduceAlert) {
+        _intruduceAlert = [BadgeIntroduceView shareInstance];
+        _intruduceAlert.frame = CGRectMake(0, 0, KPortraitWidth, KPortraitHeight);
+    }
+    return _intruduceAlert;
+}
+
+- (void)showDescAlert {
+    [self.intruduceAlert showAlertInView:[NSObject getKeyWindow]];
+}
 
 - (void)toUserCenter {
     UserSettingViewController *ctrl = [[UserSettingViewController alloc] init];

+ 1 - 0
KulexiuForTeacher/KulexiuForTeacher/Module/Home/Income/Controller/NoRecordViewController.m

@@ -292,6 +292,7 @@
         [_sortArray addObject:@{@"name" : @"乐谱推荐", @"bizType": @"MUSIC_SHARE"}];
         [_sortArray addObject:@{@"name" : @"小酷Ai推荐", @"bizType": @"VIP_SHARE"}];
         [_sortArray addObject:@{@"name" : @"商品推荐", @"bizType": @"MALL_SHARE"}];
+        [_sortArray addObject:@{@"name" : @"活动推广", @"bizType": @"ACTI_REGIST_SHARE"}];
     }
     return _sortArray;
 }

File diff suppressed because it is too large
+ 0 - 0
KulexiuForTeacher/KulexiuForTeacher/Module/Home/Model/AnimationSource/accomapny_animation.json


+ 0 - 0
KulexiuForTeacher/KulexiuForTeacher/Module/Home/Model/AnimationSource/images/___8101F90E-EF42-445A-9B5B-29F652562925.png → KulexiuForTeacher/KulexiuForTeacher/Module/Home/Model/AnimationSource/images/accomapny_animation_0.png


+ 0 - 0
KulexiuForTeacher/KulexiuForTeacher/Module/Home/Model/AnimationSource/images/_____31_5E671E04-92B5-414C-A363-CBBFEF2421E6.png → KulexiuForTeacher/KulexiuForTeacher/Module/Home/Model/AnimationSource/images/accomapny_animation_1.png


+ 0 - 0
KulexiuForTeacher/KulexiuForTeacher/Module/Home/Model/AnimationSource/images/___5___C8C7A749-87DC-4D99-8F67-2AD2B1D3D5F6.png → KulexiuForTeacher/KulexiuForTeacher/Module/Home/Model/AnimationSource/images/accomapny_animation_2.png


BIN
KulexiuForTeacher/KulexiuForTeacher/Module/Home/Model/AnimationSource/images/accomapny_animation_3.png


+ 0 - 0
KulexiuForTeacher/KulexiuForTeacher/Module/Home/Model/AnimationSource/images/___2C8A75BF-2B66-4F7D-8BC4-EF07BC7C0955.png → KulexiuForTeacher/KulexiuForTeacher/Module/Home/Model/AnimationSource/images/live_animation_0.png


+ 0 - 0
KulexiuForTeacher/KulexiuForTeacher/Module/Home/Model/AnimationSource/images/_____31_9F12D397-DA84-4B91-9C4B-642DA07045E9.png → KulexiuForTeacher/KulexiuForTeacher/Module/Home/Model/AnimationSource/images/live_animation_1.png


+ 0 - 0
KulexiuForTeacher/KulexiuForTeacher/Module/Home/Model/AnimationSource/images/___5___6B54FD2C-7988-4205-B85F-61714D7C29B4.png → KulexiuForTeacher/KulexiuForTeacher/Module/Home/Model/AnimationSource/images/live_animation_2.png


BIN
KulexiuForTeacher/KulexiuForTeacher/Module/Home/Model/AnimationSource/images/live_animation_3.png


+ 0 - 0
KulexiuForTeacher/KulexiuForTeacher/Module/Home/Model/AnimationSource/images/___5B0AE074-7E19-4A0D-B01C-380BFC0BE94D.png → KulexiuForTeacher/KulexiuForTeacher/Module/Home/Model/AnimationSource/images/musicRoom_animation_0.png


+ 0 - 0
KulexiuForTeacher/KulexiuForTeacher/Module/Home/Model/AnimationSource/images/_____31_550B3F9A-BC60-4669-A0A0-5E315687C2EA.png → KulexiuForTeacher/KulexiuForTeacher/Module/Home/Model/AnimationSource/images/musicRoom_animation_1.png


+ 0 - 0
KulexiuForTeacher/KulexiuForTeacher/Module/Home/Model/AnimationSource/images/___5___E15887AE-0472-48F6-B4BF-7310E071A33C.png → KulexiuForTeacher/KulexiuForTeacher/Module/Home/Model/AnimationSource/images/musicRoom_animation_2.png


BIN
KulexiuForTeacher/KulexiuForTeacher/Module/Home/Model/AnimationSource/images/musicRoom_animation_3.png


File diff suppressed because it is too large
+ 0 - 0
KulexiuForTeacher/KulexiuForTeacher/Module/Home/Model/AnimationSource/live_animation.json


File diff suppressed because it is too large
+ 0 - 0
KulexiuForTeacher/KulexiuForTeacher/Module/Home/Model/AnimationSource/musicRoom_animation.json


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

@@ -236,7 +236,7 @@
 }
 
 - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
-    if (self.selectIndex == 3) {
+    if (self.selectIndex == 3 || self.selectIndex == 4) { // 失败和下架的可编辑
         MusicMessageModel *model = self.dataArray[indexPath.row];
         KSBaseWKWebViewController *webCtrl = [[KSBaseWKWebViewController alloc] init];
         webCtrl.url = [NSString stringWithFormat:@"%@/#/music-upload/%.0f/edit", WEBHOST, model.internalBaseClassIdentifier];

+ 2 - 2
KulexiuForTeacher/KulexiuForTeacher/Module/Home/View/HomeButtonView.xib

@@ -50,7 +50,6 @@
                     <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="106" id="NcO-ha-Gmb"/>
                         <constraint firstAttribute="bottom" secondItem="Hu0-Qz-IjA" secondAttribute="bottom" constant="10" id="YkV-kK-CMd"/>
                     </constraints>
                     <userDefinedRuntimeAttributes>
@@ -75,6 +74,7 @@
             <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="12" id="D3O-sT-Grz"/>
+                <constraint firstAttribute="bottom" secondItem="FDF-ZT-TJx" secondAttribute="bottom" id="N4E-bP-VUJ"/>
                 <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>
@@ -88,7 +88,7 @@
                 <outlet property="buttonPageCtrl" destination="Hu0-Qz-IjA" id="VVs-D3-azH"/>
                 <outlet property="pageDot" destination="9Qq-0N-maI" id="Fa4-d7-dmt"/>
             </connections>
-            <point key="canvasLocation" x="131.8840579710145" y="42.857142857142854"/>
+            <point key="canvasLocation" x="131.8840579710145" y="49.553571428571423"/>
         </view>
     </objects>
 </document>

+ 3 - 3
KulexiuForTeacher/KulexiuForTeacher/Module/Home/View/HomeHotMusicCellView.m

@@ -54,10 +54,10 @@
     else {
         NSString *songAuth = @"";
         if (sourceModel.composer.length > 4) {
-            songAuth = [NSString stringWithFormat:@"%@...",[sourceModel.composer substringToIndex:4]];
+            songAuth = [NSString stringWithFormat:@"-%@...",[sourceModel.composer substringToIndex:4]];
         }
         else {
-            songAuth = sourceModel.composer;
+            songAuth = [NSString stringWithFormat:@"-%@",sourceModel.composer];
         }
         self.songAuth.text = songAuth;
     }
@@ -104,7 +104,7 @@
 
 - (CGFloat)getTagViewMaxWidth:(NSString *)teacherName {
     CGFloat width = [self getStringWidthInLabel:teacherName font:[UIFont systemFontOfSize:12.0f]];
-    return kScreenWidth*0.83 - 45  - 10 - 14 - width - 8;
+    return kScreenWidth*0.83 - 48 - width - 12;
 }
 
 - (void)configTagViewWithTagArray:(NSArray *)tagArray maxWidth:(CGFloat)maxWidth {

+ 2 - 2
KulexiuForTeacher/KulexiuForTeacher/Module/Home/View/HomeHotMusicCellView.xib

@@ -75,7 +75,7 @@
                     </constraints>
                 </imageView>
                 <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="qrG-kH-VRz">
-                    <rect key="frame" x="146" y="49" width="258" height="16"/>
+                    <rect key="frame" x="146" y="49" width="220" height="16"/>
                     <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
                     <constraints>
                         <constraint firstAttribute="height" constant="16" id="Npf-cJ-8dW"/>
@@ -103,12 +103,12 @@
                 <constraint firstAttribute="bottom" secondItem="28W-1K-xs7" secondAttribute="bottom" id="EEi-j6-bXC"/>
                 <constraint firstItem="N1D-TV-iWW" firstAttribute="top" secondItem="iN0-l3-epB" secondAttribute="top" constant="19" id="Gyv-2L-yeF"/>
                 <constraint firstItem="qrG-kH-VRz" firstAttribute="leading" secondItem="yx5-8B-fUi" secondAttribute="trailing" constant="12" id="Jbt-JJ-kdQ"/>
-                <constraint firstAttribute="trailing" secondItem="qrG-kH-VRz" secondAttribute="trailing" constant="10" id="KXO-vJ-64Z"/>
                 <constraint firstAttribute="trailing" secondItem="6eO-qE-g8x" secondAttribute="trailing" constant="19" id="OFX-bH-zcc"/>
                 <constraint firstItem="N1D-TV-iWW" firstAttribute="leading" secondItem="iN0-l3-epB" secondAttribute="leading" constant="11" id="Q0e-D9-JXV"/>
                 <constraint firstItem="6eO-qE-g8x" firstAttribute="centerY" secondItem="iN0-l3-epB" secondAttribute="centerY" id="Rjr-rO-hGW"/>
                 <constraint firstItem="28W-1K-xs7" firstAttribute="leading" secondItem="iN0-l3-epB" secondAttribute="leading" constant="11" id="XMy-D4-KQK"/>
                 <constraint firstItem="qrG-kH-VRz" firstAttribute="centerY" secondItem="yx5-8B-fUi" secondAttribute="centerY" id="cMa-5P-a2v"/>
+                <constraint firstItem="6eO-qE-g8x" firstAttribute="leading" secondItem="qrG-kH-VRz" secondAttribute="trailing" constant="5" id="cPj-aW-vdE"/>
                 <constraint firstAttribute="trailing" secondItem="28W-1K-xs7" secondAttribute="trailing" constant="13" id="dez-R9-Ydg"/>
                 <constraint firstAttribute="trailing" secondItem="fGG-J1-J8q" secondAttribute="trailing" id="j3e-Gz-5as"/>
                 <constraint firstAttribute="bottom" secondItem="fGG-J1-J8q" secondAttribute="bottom" id="jNd-iF-vI9"/>

+ 1 - 1
KulexiuForTeacher/KulexiuForTeacher/Module/Home/View/HomeNewHeadView.h

@@ -8,7 +8,7 @@
 #import <UIKit/UIKit.h>
 #import "TeacherInfo.h"
 
-typedef void(^HomeHeadBlock)(void);
+typedef void(^HomeHeadBlock)(BOOL isShowDesc);
 
 NS_ASSUME_NONNULL_BEGIN
 

+ 6 - 1
KulexiuForTeacher/KulexiuForTeacher/Module/Home/View/HomeNewHeadView.m

@@ -132,10 +132,15 @@
         return;
     }
     if (self.callback) {
-        self.callback();
+        self.callback(NO);
     }
 }
 
+- (IBAction)showDesc:(id)sender {
+    if (self.callback) {
+        self.callback(YES);
+    }
+}
 
 - (void)authDetailAction:(HomeHeadBlock)callback {
     if (callback) {

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

@@ -34,6 +34,7 @@
                         </imageView>
                     </subviews>
                     <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
+                    <gestureRecognizers/>
                     <constraints>
                         <constraint firstAttribute="bottom" secondItem="Cdf-rH-nsz" secondAttribute="bottom" id="4mR-ks-6P6"/>
                         <constraint firstItem="wYg-iQ-k09" firstAttribute="width" secondItem="Cdf-rH-nsz" secondAttribute="width" id="7a2-ev-ECO"/>
@@ -52,6 +53,9 @@
                         <constraint firstItem="rNo-SY-uMx" firstAttribute="centerY" secondItem="Cdf-rH-nsz" secondAttribute="centerY" id="wch-mi-sjh"/>
                         <constraint firstItem="rNo-SY-uMx" firstAttribute="width" secondItem="Cdf-rH-nsz" secondAttribute="width" id="yjV-s8-EDl"/>
                     </constraints>
+                    <connections>
+                        <outletCollection property="gestureRecognizers" destination="7DH-Yq-F32" appends="YES" id="co4-Z0-6Hy"/>
+                    </connections>
                 </view>
                 <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="勋章" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="sUP-ZP-Dxs">
                     <rect key="frame" x="146" y="41" width="29" height="17"/>
@@ -190,6 +194,11 @@
             </connections>
             <point key="canvasLocation" x="225.36231884057972" y="26.785714285714285"/>
         </view>
+        <tapGestureRecognizer id="7DH-Yq-F32">
+            <connections>
+                <action selector="showDesc:" destination="iN0-l3-epB" id="3bQ-2E-FdY"/>
+            </connections>
+        </tapGestureRecognizer>
     </objects>
     <resources>
         <image name="auth_next_white" width="6" height="9"/>

+ 1 - 0
KulexiuForTeacher/KulexiuForTeacher/Module/Home/View/HomeRecentCourseView.m

@@ -54,6 +54,7 @@
         [formatter setDateFormat:@"yyyy-MM-dd HH:mm"];
         self.timeLabel.text = [NSString returnNoNullStringWithString:[formatter stringFromDate:beginDate]];
     }
+
     NSString *jsonString = @"";
     if ([self.courseModel.courseType isEqualToString:@"LIVE"]) {
         jsonString = @"live_animation.json";

+ 21 - 0
KulexiuForTeacher/KulexiuForTeacher/Module/Mine/Controller/MineViewController.m

@@ -35,6 +35,8 @@
 #import "HomeworkListViewController.h"
 #import "EvaluateCourseListViewController.h"
 
+#import "BadgeIntroduceView.h"
+
 @interface MineViewController ()
 
 @property (nonatomic, strong) MineNavView *navView;
@@ -51,6 +53,8 @@
 
 @property (nonatomic, strong) TeacherInfo *mineInfo;
 
+@property (nonatomic, strong) BadgeIntroduceView *intruduceAlert;
+
 @end
 
 @implementation MineViewController
@@ -405,11 +409,28 @@
             [self.navigationController pushViewController:ctrl animated:YES];
         }
             break;
+        case MINEVIEWTYPE_SHOWDESC: // 介绍弹窗
+        {
+            [self showDescAlert];
+        }
+            break;
         default:
             break;
     }
 }
 
+- (BadgeIntroduceView *)intruduceAlert {
+    if (!_intruduceAlert) {
+        _intruduceAlert = [BadgeIntroduceView shareInstance];
+        _intruduceAlert.frame = CGRectMake(0, 0, KPortraitWidth, KPortraitHeight);
+    }
+    return _intruduceAlert;
+}
+
+- (void)showDescAlert {
+    [self.intruduceAlert showAlertInView:[NSObject getKeyWindow]];
+}
+
 #pragma mark --- lazying
 
 - (MineNavView *)navView {

+ 19 - 0
KulexiuForTeacher/KulexiuForTeacher/Module/Mine/MinePage/Controller/MinePageViewController.m

@@ -15,6 +15,7 @@
 #import "TeacherInfo.h"
 #import "UserInfoManager.h"
 #import "MinePageTopView.h"
+#import "BadgeIntroduceView.h"
 
 #define HEADER_HEIGHT (50)
 
@@ -32,6 +33,7 @@
 
 @property (nonatomic, strong) NSMutableArray *subjectList;
 
+@property (nonatomic, strong) BadgeIntroduceView *intruduceAlert;
 
 @end
 
@@ -333,10 +335,27 @@
 - (MinePageTopView *)topView {
     if (!_topView) {
         _topView = [MinePageTopView shareInstance];
+        MJWeakSelf;
+        [_topView badgeDetail:^{
+            [weakSelf showDescAlert];
+        }];
     }
     return _topView;
 }
 
+- (BadgeIntroduceView *)intruduceAlert {
+    if (!_intruduceAlert) {
+        _intruduceAlert = [BadgeIntroduceView shareInstance];
+        _intruduceAlert.frame = CGRectMake(0, 0, KPortraitWidth, KPortraitHeight);
+    }
+    return _intruduceAlert;
+}
+
+- (void)showDescAlert {
+    [self.intruduceAlert showAlertInView:[NSObject getKeyWindow]];
+}
+
+
 /*
 #pragma mark - Navigation
 

+ 4 - 0
KulexiuForTeacher/KulexiuForTeacher/Module/Mine/MinePage/View/MinePageTopView.h

@@ -9,6 +9,8 @@
 
 NS_ASSUME_NONNULL_BEGIN
 
+typedef void(^MinePageTopCallback)(void);
+
 @interface MinePageTopView : UIView
 
 + (instancetype)shareInstance;
@@ -17,6 +19,8 @@ NS_ASSUME_NONNULL_BEGIN
 
 - (CGFloat)getViewHeight;
 
+- (void)badgeDetail:(MinePageTopCallback)callback;
+
 @end
 
 NS_ASSUME_NONNULL_END

+ 16 - 0
KulexiuForTeacher/KulexiuForTeacher/Module/Mine/MinePage/View/MinePageTopView.m

@@ -31,11 +31,14 @@
 @property (weak, nonatomic) IBOutlet UIImageView *liveImage;
 @property (weak, nonatomic) IBOutlet UIImageView *musicImage;
 
+@property (nonatomic, copy) MinePageTopCallback callback;
 
 @property (weak, nonatomic) IBOutlet UIView *emptyView;
 
 @end
 
+
+
 @implementation MinePageTopView
 
 + (instancetype)shareInstance {
@@ -43,6 +46,12 @@
     return view;
 }
 
+- (void)badgeDetail:(MinePageTopCallback)callback {
+    if (callback) {
+        self.callback = callback;
+    }
+}
+
 - (void)configSource:(id)source {
     if ([source isKindOfClass:[TeacherInfo class]]) {
         TeacherInfo *infoMessage = source;
@@ -150,6 +159,13 @@
         make.top.bottom.mas_equalTo(bgView);
     }];
 }
+
+- (IBAction)topCallback:(id)sender {
+    if (self.callback) {
+        self.callback();
+    }
+}
+
 /*
 // Only override drawRect: if you perform custom drawing.
 // An empty implementation adversely affects performance during animation.

+ 9 - 0
KulexiuForTeacher/KulexiuForTeacher/Module/Mine/MinePage/View/MinePageTopView.xib

@@ -126,6 +126,7 @@
                                 </imageView>
                             </subviews>
                             <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
+                            <gestureRecognizers/>
                             <constraints>
                                 <constraint firstItem="YEy-rl-QiY" firstAttribute="width" secondItem="lc6-oJ-H90" secondAttribute="width" id="0vQ-v4-H35"/>
                                 <constraint firstItem="msK-hu-IGj" firstAttribute="leading" secondItem="YEy-rl-QiY" secondAttribute="trailing" constant="4" id="5FR-xI-N1R"/>
@@ -147,6 +148,9 @@
                                 <constraint firstAttribute="trailing" secondItem="Gtu-Mm-ocB" secondAttribute="trailing" constant="4" id="xw6-vI-D4o"/>
                                 <constraint firstItem="msK-hu-IGj" firstAttribute="width" secondItem="lc6-oJ-H90" secondAttribute="width" id="z08-NF-hRX"/>
                             </constraints>
+                            <connections>
+                                <outletCollection property="gestureRecognizers" destination="pU3-So-ynT" appends="YES" id="kn3-5a-J1C"/>
+                            </connections>
                         </view>
                     </subviews>
                     <color key="backgroundColor" red="1" green="1" blue="1" alpha="0.65000000000000002" colorSpace="custom" customColorSpace="calibratedRGB"/>
@@ -208,6 +212,11 @@
             </connections>
             <point key="canvasLocation" x="131.8840579710145" y="2.34375"/>
         </view>
+        <tapGestureRecognizer id="pU3-So-ynT">
+            <connections>
+                <action selector="topCallback:" destination="iN0-l3-epB" id="XVm-Zu-KlM"/>
+            </connections>
+        </tapGestureRecognizer>
     </objects>
     <resources>
         <image name="mineLive_nomal" width="24" height="23"/>

+ 1 - 1
KulexiuForTeacher/KulexiuForTeacher/Module/Mine/VideoCourse/View/VideoListBodyView.m

@@ -204,7 +204,7 @@
 - (void)collectionView:(UICollectionView *)collectionView didSelectItemAtIndexPath:(NSIndexPath *)indexPath {
     VideoCourseModel *model = [self.dataArray objectAtIndex:indexPath.row];
     NSString *url = @"";
-    if (self.selectIndex == 2) {
+    if (self.selectIndex == 2 || self.selectIndex == 3) { // 失败和下架的可编辑
         url = [NSString stringWithFormat:@"%@%@%.0f", WEBHOST, @"/#/videoCreate?groupId=",model.internalBaseClassIdentifier];
     }
     else {

+ 24 - 0
KulexiuForTeacher/KulexiuForTeacher/Module/Mine/View/BadgeIntroduceView.h

@@ -0,0 +1,24 @@
+//
+//  BadgeIntroduceView.h
+//  KulexiuForTeacher
+//
+//  Created by 王智 on 2022/8/15.
+//
+
+#import <UIKit/UIKit.h>
+
+NS_ASSUME_NONNULL_BEGIN
+
+typedef void(^BadgeCancleCallback)(void);
+
+@interface BadgeIntroduceView : UIView
+
++ (instancetype)shareInstance;
+
+- (void)showAlertInView:(UIView *)displayView;
+
+- (void)canceAction:(BadgeCancleCallback)callback;
+
+@end
+
+NS_ASSUME_NONNULL_END

+ 49 - 0
KulexiuForTeacher/KulexiuForTeacher/Module/Mine/View/BadgeIntroduceView.m

@@ -0,0 +1,49 @@
+//
+//  BadgeIntroduceView.m
+//  KulexiuForTeacher
+//
+//  Created by 王智 on 2022/8/15.
+//
+
+#import "BadgeIntroduceView.h"
+
+@interface BadgeIntroduceView ()
+
+@property (nonatomic, copy) BadgeCancleCallback callback;
+
+@end
+
+@implementation BadgeIntroduceView
+
++ (instancetype)shareInstance {
+    BadgeIntroduceView *view = [[[NSBundle mainBundle] loadNibNamed:@"BadgeIntroduceView" owner:nil options:nil] firstObject];
+    return view;
+}
+
+- (void)canceAction:(BadgeCancleCallback)callback {
+    if (callback) {
+        self.callback = callback;
+    }
+}
+
+- (void)showAlertInView:(UIView *)displayView {
+    [displayView addSubview:self];
+}
+
+
+- (IBAction)cancleAction:(id)sender {
+    [self removeFromSuperview];
+    if (self.callback) {
+        self.callback();
+    }
+}
+
+/*
+// Only override drawRect: if you perform custom drawing.
+// An empty implementation adversely affects performance during animation.
+- (void)drawRect:(CGRect)rect {
+    // Drawing code
+}
+*/
+
+@end

+ 206 - 0
KulexiuForTeacher/KulexiuForTeacher/Module/Mine/View/BadgeIntroduceView.xib

@@ -0,0 +1,206 @@
+<?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="System colors in document resources" minToolsVersion="11.0"/>
+        <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="BadgeIntroduceView">
+            <rect key="frame" x="0.0" y="0.0" width="414" height="896"/>
+            <autoresizingMask key="autoresizingMask"/>
+            <subviews>
+                <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="mkq-PA-QPA">
+                    <rect key="frame" x="68.5" y="276.5" width="277" height="343"/>
+                    <subviews>
+                        <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="badge_style" translatesAutoresizingMaskIntoConstraints="NO" id="lrh-AQ-j0C">
+                            <rect key="frame" x="23" y="67.5" width="23" height="23"/>
+                            <constraints>
+                                <constraint firstAttribute="height" constant="23" id="74s-Gz-8Hr"/>
+                                <constraint firstAttribute="width" constant="23" id="eZS-iZ-X2i"/>
+                            </constraints>
+                        </imageView>
+                        <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="演奏Mlog达人" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="49K-u1-2Vl">
+                            <rect key="frame" x="54" y="68" width="102.5" height="22"/>
+                            <constraints>
+                                <constraint firstAttribute="height" constant="22" id="xcr-Ez-Rn3"/>
+                            </constraints>
+                            <fontDescription key="fontDescription" type="system" weight="medium" pointSize="16"/>
+                            <color key="textColor" red="0.20000000000000001" green="0.20000000000000001" blue="0.20000000000000001" alpha="1" colorSpace="calibratedRGB"/>
+                            <nil key="highlightedColor"/>
+                        </label>
+                        <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="个人风采中上传老师风采视频并通过审核" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="VVq-ky-DOH">
+                            <rect key="frame" x="24" y="100" width="231" height="22"/>
+                            <constraints>
+                                <constraint firstAttribute="height" constant="22" id="60I-yc-1lV"/>
+                            </constraints>
+                            <fontDescription key="fontDescription" type="system" pointSize="12"/>
+                            <color key="textColor" red="0.40000000000000002" green="0.40000000000000002" blue="0.40000000000000002" alpha="1" colorSpace="calibratedRGB"/>
+                            <nil key="highlightedColor"/>
+                        </label>
+                        <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="badge_video" translatesAutoresizingMaskIntoConstraints="NO" id="jOD-ib-eJC">
+                            <rect key="frame" x="23" y="133.5" width="23" height="23"/>
+                            <constraints>
+                                <constraint firstAttribute="width" constant="23" id="FoF-Tm-uf9"/>
+                                <constraint firstAttribute="height" constant="23" id="rCa-NT-t9g"/>
+                            </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="EQ1-IH-zif">
+                            <rect key="frame" x="54" y="134" width="98" height="22"/>
+                            <constraints>
+                                <constraint firstAttribute="height" constant="22" id="6lz-Fl-3hP"/>
+                            </constraints>
+                            <fontDescription key="fontDescription" type="system" weight="medium" pointSize="16"/>
+                            <color key="textColor" red="0.20000000000000001" green="0.20000000000000001" blue="0.20000000000000001" alpha="1" colorSpace="calibratedRGB"/>
+                            <nil key="highlightedColor"/>
+                        </label>
+                        <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="发布您制作的教学视频课程并通过审核" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="R6c-d9-Bxk">
+                            <rect key="frame" x="24" y="166" width="231" height="22"/>
+                            <constraints>
+                                <constraint firstAttribute="height" constant="22" id="Qs4-8c-pD3"/>
+                            </constraints>
+                            <fontDescription key="fontDescription" type="system" pointSize="12"/>
+                            <color key="textColor" red="0.40000000000000002" green="0.40000000000000002" blue="0.40000000000000002" alpha="1" colorSpace="calibratedRGB"/>
+                            <nil key="highlightedColor"/>
+                        </label>
+                        <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="badge_live" translatesAutoresizingMaskIntoConstraints="NO" id="bvy-iH-DQW">
+                            <rect key="frame" x="23" y="199.5" width="23" height="23"/>
+                            <constraints>
+                                <constraint firstAttribute="height" constant="23" id="0ML-CM-C9y"/>
+                                <constraint firstAttribute="width" constant="23" id="3so-fK-I9q"/>
+                            </constraints>
+                        </imageView>
+                        <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="直播up达人" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Xja-US-kIU">
+                            <rect key="frame" x="54" y="200" width="84.5" height="22"/>
+                            <constraints>
+                                <constraint firstAttribute="height" constant="22" id="kuU-XQ-c9G"/>
+                            </constraints>
+                            <fontDescription key="fontDescription" type="system" weight="medium" pointSize="16"/>
+                            <color key="textColor" red="0.20000000000000001" green="0.20000000000000001" blue="0.20000000000000001" alpha="1" colorSpace="calibratedRGB"/>
+                            <nil key="highlightedColor"/>
+                        </label>
+                        <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="达到开通直播权限标准并开通直播功能" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="D7q-cy-lDz">
+                            <rect key="frame" x="24" y="232" width="231" height="22"/>
+                            <constraints>
+                                <constraint firstAttribute="height" constant="22" id="VML-cX-IEY"/>
+                            </constraints>
+                            <fontDescription key="fontDescription" type="system" pointSize="12"/>
+                            <color key="textColor" red="0.40000000000000002" green="0.40000000000000002" blue="0.40000000000000002" alpha="1" colorSpace="calibratedRGB"/>
+                            <nil key="highlightedColor"/>
+                        </label>
+                        <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="badge_music" translatesAutoresizingMaskIntoConstraints="NO" id="D7S-SQ-bnS">
+                            <rect key="frame" x="23" y="263.5" width="23" height="23"/>
+                            <constraints>
+                                <constraint firstAttribute="width" constant="23" id="HqA-bv-ejl"/>
+                                <constraint firstAttribute="height" constant="23" id="Kce-67-tcA"/>
+                            </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="le8-lq-J1Z">
+                            <rect key="frame" x="54" y="264" width="98" height="22"/>
+                            <constraints>
+                                <constraint firstAttribute="height" constant="22" id="awu-RT-3FQ"/>
+                            </constraints>
+                            <fontDescription key="fontDescription" type="system" weight="medium" pointSize="16"/>
+                            <color key="textColor" red="0.20000000000000001" green="0.20000000000000001" blue="0.20000000000000001" alpha="1" colorSpace="calibratedRGB"/>
+                            <nil key="highlightedColor"/>
+                        </label>
+                        <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="上传您制作的乐谱并通过审核" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="aUm-oL-tvd">
+                            <rect key="frame" x="24" y="296" width="231" height="22"/>
+                            <constraints>
+                                <constraint firstAttribute="height" constant="22" id="XJ4-Y6-h6i"/>
+                            </constraints>
+                            <fontDescription key="fontDescription" type="system" pointSize="12"/>
+                            <color key="textColor" red="0.40000000000000002" green="0.40000000000000002" blue="0.40000000000000002" alpha="1" colorSpace="calibratedRGB"/>
+                            <nil key="highlightedColor"/>
+                        </label>
+                    </subviews>
+                    <color key="backgroundColor" systemColor="systemBackgroundColor"/>
+                    <constraints>
+                        <constraint firstAttribute="trailing" secondItem="D7q-cy-lDz" secondAttribute="trailing" constant="22" id="0EZ-W6-wGB"/>
+                        <constraint firstItem="lrh-AQ-j0C" firstAttribute="leading" secondItem="mkq-PA-QPA" secondAttribute="leading" constant="23" id="1NC-7i-gOe"/>
+                        <constraint firstItem="R6c-d9-Bxk" firstAttribute="leading" secondItem="mkq-PA-QPA" secondAttribute="leading" constant="24" id="4e8-Jt-a0e"/>
+                        <constraint firstItem="le8-lq-J1Z" firstAttribute="leading" secondItem="D7S-SQ-bnS" secondAttribute="trailing" constant="8" id="672-f0-EhM"/>
+                        <constraint firstItem="R6c-d9-Bxk" firstAttribute="top" secondItem="EQ1-IH-zif" secondAttribute="bottom" constant="10" id="8jr-at-4eD"/>
+                        <constraint firstItem="D7S-SQ-bnS" firstAttribute="leading" secondItem="mkq-PA-QPA" secondAttribute="leading" constant="23" id="BWB-Np-6k7"/>
+                        <constraint firstItem="le8-lq-J1Z" firstAttribute="centerY" secondItem="D7S-SQ-bnS" secondAttribute="centerY" id="C9B-Ha-AHc"/>
+                        <constraint firstItem="EQ1-IH-zif" firstAttribute="leading" secondItem="jOD-ib-eJC" secondAttribute="trailing" constant="8" id="FQA-nl-zRP"/>
+                        <constraint firstItem="49K-u1-2Vl" firstAttribute="leading" secondItem="lrh-AQ-j0C" secondAttribute="trailing" constant="8" id="Kyh-4Z-dHx"/>
+                        <constraint firstItem="aUm-oL-tvd" firstAttribute="top" secondItem="le8-lq-J1Z" secondAttribute="bottom" constant="10" id="PZK-wv-sjf"/>
+                        <constraint firstItem="EQ1-IH-zif" firstAttribute="top" secondItem="VVq-ky-DOH" secondAttribute="bottom" constant="12" id="RqP-O0-DBh"/>
+                        <constraint firstItem="Xja-US-kIU" firstAttribute="centerY" secondItem="bvy-iH-DQW" secondAttribute="centerY" id="Tkp-Ya-CB6"/>
+                        <constraint firstItem="VVq-ky-DOH" firstAttribute="top" secondItem="49K-u1-2Vl" secondAttribute="bottom" constant="10" id="Ull-II-QBi"/>
+                        <constraint firstAttribute="trailing" secondItem="R6c-d9-Bxk" secondAttribute="trailing" constant="22" id="XRr-kT-mxg"/>
+                        <constraint firstItem="aUm-oL-tvd" firstAttribute="leading" secondItem="mkq-PA-QPA" secondAttribute="leading" constant="24" id="Y3w-N1-Pk2"/>
+                        <constraint firstItem="jOD-ib-eJC" firstAttribute="leading" secondItem="mkq-PA-QPA" secondAttribute="leading" constant="23" id="Z8U-Vq-tqc"/>
+                        <constraint firstItem="49K-u1-2Vl" firstAttribute="top" secondItem="mkq-PA-QPA" secondAttribute="top" constant="68" id="ZNT-Gm-s5e"/>
+                        <constraint firstItem="bvy-iH-DQW" firstAttribute="leading" secondItem="mkq-PA-QPA" secondAttribute="leading" constant="23" id="ZaF-bu-yZO"/>
+                        <constraint firstAttribute="width" constant="277" id="bg5-rK-9Fv"/>
+                        <constraint firstItem="le8-lq-J1Z" firstAttribute="top" secondItem="D7q-cy-lDz" secondAttribute="bottom" constant="10" id="e6X-bP-l3E"/>
+                        <constraint firstAttribute="bottom" secondItem="aUm-oL-tvd" secondAttribute="bottom" constant="25" id="f3N-W6-Vqe"/>
+                        <constraint firstItem="Xja-US-kIU" firstAttribute="top" secondItem="R6c-d9-Bxk" secondAttribute="bottom" constant="12" id="i5t-c7-Hrb"/>
+                        <constraint firstAttribute="trailing" secondItem="VVq-ky-DOH" secondAttribute="trailing" constant="22" id="iBE-np-gsk"/>
+                        <constraint firstItem="D7q-cy-lDz" firstAttribute="top" secondItem="Xja-US-kIU" secondAttribute="bottom" constant="10" id="kS4-GA-pfG"/>
+                        <constraint firstItem="VVq-ky-DOH" firstAttribute="leading" secondItem="mkq-PA-QPA" secondAttribute="leading" constant="24" id="oXZ-fv-qnd"/>
+                        <constraint firstItem="D7q-cy-lDz" firstAttribute="leading" secondItem="mkq-PA-QPA" secondAttribute="leading" constant="24" id="qiW-lB-998"/>
+                        <constraint firstAttribute="trailing" secondItem="aUm-oL-tvd" secondAttribute="trailing" constant="22" id="r7m-y0-v0Q"/>
+                        <constraint firstItem="49K-u1-2Vl" firstAttribute="centerY" secondItem="lrh-AQ-j0C" secondAttribute="centerY" id="sEr-je-OWl"/>
+                        <constraint firstItem="EQ1-IH-zif" firstAttribute="centerY" secondItem="jOD-ib-eJC" secondAttribute="centerY" id="sEx-Vu-PF2"/>
+                        <constraint firstItem="Xja-US-kIU" firstAttribute="leading" secondItem="bvy-iH-DQW" secondAttribute="trailing" constant="8" id="yZy-0N-tVd"/>
+                    </constraints>
+                    <userDefinedRuntimeAttributes>
+                        <userDefinedRuntimeAttribute type="number" keyPath="cornerRadius">
+                            <real key="value" value="10"/>
+                        </userDefinedRuntimeAttribute>
+                    </userDefinedRuntimeAttributes>
+                </view>
+                <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="vbY-AL-hRj">
+                    <rect key="frame" x="185" y="633.5" width="44" height="44"/>
+                    <constraints>
+                        <constraint firstAttribute="height" constant="44" id="M6m-HQ-h1b"/>
+                        <constraint firstAttribute="width" constant="44" id="tTo-GG-Bs4"/>
+                    </constraints>
+                    <inset key="imageEdgeInsets" minX="0.0" minY="0.0" maxX="2.2250738585072014e-308" maxY="0.0"/>
+                    <state key="normal" image="badge_cancle"/>
+                    <connections>
+                        <action selector="cancleAction:" destination="iN0-l3-epB" eventType="touchUpInside" id="zFI-gl-Umn"/>
+                    </connections>
+                </button>
+                <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="badge_introduce" translatesAutoresizingMaskIntoConstraints="NO" id="M3j-mI-0jp">
+                    <rect key="frame" x="68.5" y="241.5" width="277" height="70"/>
+                    <constraints>
+                        <constraint firstAttribute="height" constant="70" id="Vfe-LZ-8f4"/>
+                        <constraint firstAttribute="width" constant="277" id="ZJy-7Q-FCt"/>
+                    </constraints>
+                </imageView>
+            </subviews>
+            <color key="backgroundColor" white="0.0" alpha="0.40000000000000002" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
+            <constraints>
+                <constraint firstItem="mkq-PA-QPA" firstAttribute="centerX" secondItem="iN0-l3-epB" secondAttribute="centerX" id="ZYZ-2O-Vpm"/>
+                <constraint firstItem="vbY-AL-hRj" firstAttribute="top" secondItem="mkq-PA-QPA" secondAttribute="bottom" constant="14" id="amJ-22-rCO"/>
+                <constraint firstItem="vbY-AL-hRj" firstAttribute="centerX" secondItem="iN0-l3-epB" secondAttribute="centerX" id="bMK-Ir-r22"/>
+                <constraint firstItem="mkq-PA-QPA" firstAttribute="top" secondItem="M3j-mI-0jp" secondAttribute="centerY" id="rkP-4m-wO1"/>
+                <constraint firstItem="mkq-PA-QPA" firstAttribute="centerY" secondItem="iN0-l3-epB" secondAttribute="centerY" id="tUZ-Yy-hPv"/>
+                <constraint firstItem="mkq-PA-QPA" firstAttribute="centerX" secondItem="M3j-mI-0jp" secondAttribute="centerX" id="y42-TA-qO0"/>
+            </constraints>
+            <nil key="simulatedTopBarMetrics"/>
+            <nil key="simulatedBottomBarMetrics"/>
+            <freeformSimulatedSizeMetrics key="simulatedDestinationMetrics"/>
+            <point key="canvasLocation" x="131.8840579710145" y="58.928571428571423"/>
+        </view>
+    </objects>
+    <resources>
+        <image name="badge_cancle" width="36" height="36"/>
+        <image name="badge_introduce" width="276" height="70"/>
+        <image name="badge_live" width="23" height="23"/>
+        <image name="badge_music" width="23" height="23"/>
+        <image name="badge_style" width="23" height="23"/>
+        <image name="badge_video" width="23" height="23"/>
+        <systemColor name="systemBackgroundColor">
+            <color white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
+        </systemColor>
+    </resources>
+</document>

+ 1 - 0
KulexiuForTeacher/KulexiuForTeacher/Module/Mine/View/MineActionView.h

@@ -33,6 +33,7 @@ typedef NS_ENUM(NSInteger, MINEVIEWTYPE) {
     MINEVIEWTYPE_MUSICROOM,
     MINEVIEWTYPE_HOMEWORK,
     MINEVIEWTYPE_EVALUATE,
+    MINEVIEWTYPE_SHOWDESC, // 显示弹窗
 };
 
 #define FUNCTIONVIEW_WIDTH (80)

+ 5 - 0
KulexiuForTeacher/KulexiuForTeacher/Module/Mine/View/MineHeadView.m

@@ -146,6 +146,11 @@
         self.memberView.hidden = YES;
     }
 }
+- (IBAction)showIntroduceAlert:(id)sender {
+    if (self.callback) {
+        self.callback(MINEVIEWTYPE_SHOWDESC);
+    }
+}
 
 - (CGFloat)getViewHeight {
     return 70 + 13 + (self.memberViewHeight.constant) / 2 + 10 + self.descViewHeight.constant;

+ 9 - 0
KulexiuForTeacher/KulexiuForTeacher/Module/Mine/View/MineHeadView.xib

@@ -86,6 +86,7 @@
                                 </imageView>
                             </subviews>
                             <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
+                            <gestureRecognizers/>
                             <constraints>
                                 <constraint firstItem="f2I-A5-dax" firstAttribute="leading" secondItem="73K-iM-5zb" secondAttribute="trailing" constant="4" id="5kG-8t-ZJz"/>
                                 <constraint firstAttribute="height" constant="24" id="9kA-G9-yRN"/>
@@ -104,6 +105,9 @@
                                 <constraint firstItem="ZHY-XC-hwf" firstAttribute="centerY" secondItem="iwC-il-8cq" secondAttribute="centerY" id="ui0-SN-KEi"/>
                                 <constraint firstItem="iwC-il-8cq" firstAttribute="leading" secondItem="1mz-7i-YiM" secondAttribute="leading" constant="4" id="zrC-bc-aOA"/>
                             </constraints>
+                            <connections>
+                                <outletCollection property="gestureRecognizers" destination="Iir-fe-oYc" appends="YES" id="R5q-oq-qVK"/>
+                            </connections>
                         </view>
                         <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="mine_nomal" translatesAutoresizingMaskIntoConstraints="NO" id="W7w-Qv-jgO">
                             <rect key="frame" x="132" y="15.5" width="34" height="15"/>
@@ -394,6 +398,11 @@
                 <action selector="unfinishCourse:" destination="iN0-l3-epB" id="id7-LG-oud"/>
             </connections>
         </tapGestureRecognizer>
+        <tapGestureRecognizer id="Iir-fe-oYc">
+            <connections>
+                <action selector="showIntroduceAlert:" destination="iN0-l3-epB" id="9CA-P0-Ap8"/>
+            </connections>
+        </tapGestureRecognizer>
     </objects>
     <resources>
         <image name="member_bg" width="334" height="82"/>

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