Steven 2 år sedan
förälder
incheckning
f602f8c74b
46 ändrade filer med 474 tillägg och 21 borttagningar
  1. 153 2
      KulexiuForStudent/KulexiuForStudent.xcodeproj/project.pbxproj
  2. BIN
      KulexiuForStudent/KulexiuForStudent.xcworkspace/xcuserdata/wangzhi.xcuserdatad/UserInterfaceState.xcuserstate
  3. 39 7
      KulexiuForStudent/KulexiuForStudent.xcworkspace/xcuserdata/wangzhi.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist
  4. 6 0
      KulexiuForStudent/KulexiuForStudent/Assets.xcassets/CloudLoading/Contents.json
  5. 22 0
      KulexiuForStudent/KulexiuForStudent/Assets.xcassets/CloudLoading/cloudLoading_bg.imageset/Contents.json
  6. BIN
      KulexiuForStudent/KulexiuForStudent/Assets.xcassets/CloudLoading/cloudLoading_bg.imageset/cloudLoading_bg@2x.png
  7. BIN
      KulexiuForStudent/KulexiuForStudent/Assets.xcassets/CloudLoading/cloudLoading_bg.imageset/cloudLoading_bg@3x.png
  8. 26 0
      KulexiuForStudent/KulexiuForStudent/Common/Base/AccompanyLoadingView.h
  9. 92 0
      KulexiuForStudent/KulexiuForStudent/Common/Base/AccompanyLoadingView.m
  10. 81 0
      KulexiuForStudent/KulexiuForStudent/Common/Base/AccompanyLoadingView.xib
  11. 45 2
      KulexiuForStudent/KulexiuForStudent/Common/Base/KSAccompanyWebViewController.m
  12. 2 2
      KulexiuForStudent/KulexiuForStudent/Common/Base/KSBaseViewController.m
  13. 6 6
      KulexiuForStudent/KulexiuForStudent/Common/Base/KSNetworkingManager.m
  14. 0 0
      KulexiuForStudent/KulexiuForStudent/Common/CloudLoadingSource/cloud_animation.json
  15. BIN
      KulexiuForStudent/KulexiuForStudent/Common/CloudLoadingSource/images/cloud_animation_0.png
  16. BIN
      KulexiuForStudent/KulexiuForStudent/Common/CloudLoadingSource/images/cloud_animation_1.png
  17. BIN
      KulexiuForStudent/KulexiuForStudent/Common/CloudLoadingSource/images/cloud_animation_10.png
  18. BIN
      KulexiuForStudent/KulexiuForStudent/Common/CloudLoadingSource/images/cloud_animation_11.png
  19. BIN
      KulexiuForStudent/KulexiuForStudent/Common/CloudLoadingSource/images/cloud_animation_12.png
  20. BIN
      KulexiuForStudent/KulexiuForStudent/Common/CloudLoadingSource/images/cloud_animation_13.png
  21. BIN
      KulexiuForStudent/KulexiuForStudent/Common/CloudLoadingSource/images/cloud_animation_14.png
  22. BIN
      KulexiuForStudent/KulexiuForStudent/Common/CloudLoadingSource/images/cloud_animation_15.png
  23. BIN
      KulexiuForStudent/KulexiuForStudent/Common/CloudLoadingSource/images/cloud_animation_16.png
  24. BIN
      KulexiuForStudent/KulexiuForStudent/Common/CloudLoadingSource/images/cloud_animation_17.png
  25. BIN
      KulexiuForStudent/KulexiuForStudent/Common/CloudLoadingSource/images/cloud_animation_18.png
  26. BIN
      KulexiuForStudent/KulexiuForStudent/Common/CloudLoadingSource/images/cloud_animation_19.png
  27. BIN
      KulexiuForStudent/KulexiuForStudent/Common/CloudLoadingSource/images/cloud_animation_2.png
  28. BIN
      KulexiuForStudent/KulexiuForStudent/Common/CloudLoadingSource/images/cloud_animation_20.png
  29. BIN
      KulexiuForStudent/KulexiuForStudent/Common/CloudLoadingSource/images/cloud_animation_21.png
  30. BIN
      KulexiuForStudent/KulexiuForStudent/Common/CloudLoadingSource/images/cloud_animation_22.png
  31. BIN
      KulexiuForStudent/KulexiuForStudent/Common/CloudLoadingSource/images/cloud_animation_23.png
  32. BIN
      KulexiuForStudent/KulexiuForStudent/Common/CloudLoadingSource/images/cloud_animation_24.png
  33. BIN
      KulexiuForStudent/KulexiuForStudent/Common/CloudLoadingSource/images/cloud_animation_25.png
  34. BIN
      KulexiuForStudent/KulexiuForStudent/Common/CloudLoadingSource/images/cloud_animation_26.png
  35. BIN
      KulexiuForStudent/KulexiuForStudent/Common/CloudLoadingSource/images/cloud_animation_27.png
  36. BIN
      KulexiuForStudent/KulexiuForStudent/Common/CloudLoadingSource/images/cloud_animation_28.png
  37. BIN
      KulexiuForStudent/KulexiuForStudent/Common/CloudLoadingSource/images/cloud_animation_29.png
  38. BIN
      KulexiuForStudent/KulexiuForStudent/Common/CloudLoadingSource/images/cloud_animation_3.png
  39. BIN
      KulexiuForStudent/KulexiuForStudent/Common/CloudLoadingSource/images/cloud_animation_4.png
  40. BIN
      KulexiuForStudent/KulexiuForStudent/Common/CloudLoadingSource/images/cloud_animation_5.png
  41. BIN
      KulexiuForStudent/KulexiuForStudent/Common/CloudLoadingSource/images/cloud_animation_6.png
  42. BIN
      KulexiuForStudent/KulexiuForStudent/Common/CloudLoadingSource/images/cloud_animation_7.png
  43. BIN
      KulexiuForStudent/KulexiuForStudent/Common/CloudLoadingSource/images/cloud_animation_8.png
  44. BIN
      KulexiuForStudent/KulexiuForStudent/Common/CloudLoadingSource/images/cloud_animation_9.png
  45. 1 1
      KulexiuForStudent/KulexiuForStudent/Module/Home/View/HomeLiveCouseCell.m
  46. 1 1
      KulexiuForStudent/KulexiuForStudent/Module/Home/View/HomeVideoCourseCell.m

+ 153 - 2
KulexiuForStudent/KulexiuForStudent.xcodeproj/project.pbxproj

@@ -791,6 +791,39 @@
 		BCBFDF4D28115C7A0052AFE5 /* HomeHotCourseView.xib in Resources */ = {isa = PBXBuildFile; fileRef = BCBFDF4C28115C7A0052AFE5 /* HomeHotCourseView.xib */; };
 		BCBFDF5028115D9A0052AFE5 /* HomeIntroduceView.m in Sources */ = {isa = PBXBuildFile; fileRef = BCBFDF4F28115D9A0052AFE5 /* HomeIntroduceView.m */; };
 		BCBFDF5228115DA40052AFE5 /* HomeIntroduceView.xib in Resources */ = {isa = PBXBuildFile; fileRef = BCBFDF5128115DA40052AFE5 /* HomeIntroduceView.xib */; };
+		BCC5839028A9E8A800BAB4CF /* AccompanyLoadingView.m in Sources */ = {isa = PBXBuildFile; fileRef = BCC5838F28A9E8A800BAB4CF /* AccompanyLoadingView.m */; };
+		BCC5839228A9E8AF00BAB4CF /* AccompanyLoadingView.xib in Resources */ = {isa = PBXBuildFile; fileRef = BCC5839128A9E8AF00BAB4CF /* AccompanyLoadingView.xib */; };
+		BCC583B428A9EC6400BAB4CF /* cloud_animation_9.png in Resources */ = {isa = PBXBuildFile; fileRef = BCC5839528A9EC6400BAB4CF /* cloud_animation_9.png */; };
+		BCC583B528A9EC6400BAB4CF /* cloud_animation_8.png in Resources */ = {isa = PBXBuildFile; fileRef = BCC5839628A9EC6400BAB4CF /* cloud_animation_8.png */; };
+		BCC583B628A9EC6400BAB4CF /* cloud_animation_20.png in Resources */ = {isa = PBXBuildFile; fileRef = BCC5839728A9EC6400BAB4CF /* cloud_animation_20.png */; };
+		BCC583B728A9EC6400BAB4CF /* cloud_animation_21.png in Resources */ = {isa = PBXBuildFile; fileRef = BCC5839828A9EC6400BAB4CF /* cloud_animation_21.png */; };
+		BCC583B828A9EC6400BAB4CF /* cloud_animation_23.png in Resources */ = {isa = PBXBuildFile; fileRef = BCC5839928A9EC6400BAB4CF /* cloud_animation_23.png */; };
+		BCC583B928A9EC6400BAB4CF /* cloud_animation_22.png in Resources */ = {isa = PBXBuildFile; fileRef = BCC5839A28A9EC6400BAB4CF /* cloud_animation_22.png */; };
+		BCC583BA28A9EC6400BAB4CF /* cloud_animation_26.png in Resources */ = {isa = PBXBuildFile; fileRef = BCC5839B28A9EC6400BAB4CF /* cloud_animation_26.png */; };
+		BCC583BB28A9EC6400BAB4CF /* cloud_animation_27.png in Resources */ = {isa = PBXBuildFile; fileRef = BCC5839C28A9EC6400BAB4CF /* cloud_animation_27.png */; };
+		BCC583BC28A9EC6400BAB4CF /* cloud_animation_19.png in Resources */ = {isa = PBXBuildFile; fileRef = BCC5839D28A9EC6400BAB4CF /* cloud_animation_19.png */; };
+		BCC583BD28A9EC6400BAB4CF /* cloud_animation_25.png in Resources */ = {isa = PBXBuildFile; fileRef = BCC5839E28A9EC6400BAB4CF /* cloud_animation_25.png */; };
+		BCC583BE28A9EC6400BAB4CF /* cloud_animation_24.png in Resources */ = {isa = PBXBuildFile; fileRef = BCC5839F28A9EC6400BAB4CF /* cloud_animation_24.png */; };
+		BCC583BF28A9EC6400BAB4CF /* cloud_animation_18.png in Resources */ = {isa = PBXBuildFile; fileRef = BCC583A028A9EC6400BAB4CF /* cloud_animation_18.png */; };
+		BCC583C028A9EC6400BAB4CF /* cloud_animation_15.png in Resources */ = {isa = PBXBuildFile; fileRef = BCC583A128A9EC6400BAB4CF /* cloud_animation_15.png */; };
+		BCC583C128A9EC6400BAB4CF /* cloud_animation_29.png in Resources */ = {isa = PBXBuildFile; fileRef = BCC583A228A9EC6400BAB4CF /* cloud_animation_29.png */; };
+		BCC583C228A9EC6400BAB4CF /* cloud_animation_28.png in Resources */ = {isa = PBXBuildFile; fileRef = BCC583A328A9EC6400BAB4CF /* cloud_animation_28.png */; };
+		BCC583C328A9EC6400BAB4CF /* cloud_animation_14.png in Resources */ = {isa = PBXBuildFile; fileRef = BCC583A428A9EC6400BAB4CF /* cloud_animation_14.png */; };
+		BCC583C428A9EC6400BAB4CF /* cloud_animation_16.png in Resources */ = {isa = PBXBuildFile; fileRef = BCC583A528A9EC6400BAB4CF /* cloud_animation_16.png */; };
+		BCC583C528A9EC6400BAB4CF /* cloud_animation_17.png in Resources */ = {isa = PBXBuildFile; fileRef = BCC583A628A9EC6400BAB4CF /* cloud_animation_17.png */; };
+		BCC583C628A9EC6400BAB4CF /* cloud_animation_13.png in Resources */ = {isa = PBXBuildFile; fileRef = BCC583A728A9EC6400BAB4CF /* cloud_animation_13.png */; };
+		BCC583C728A9EC6400BAB4CF /* cloud_animation_12.png in Resources */ = {isa = PBXBuildFile; fileRef = BCC583A828A9EC6400BAB4CF /* cloud_animation_12.png */; };
+		BCC583C828A9EC6400BAB4CF /* cloud_animation_10.png in Resources */ = {isa = PBXBuildFile; fileRef = BCC583A928A9EC6400BAB4CF /* cloud_animation_10.png */; };
+		BCC583C928A9EC6400BAB4CF /* cloud_animation_11.png in Resources */ = {isa = PBXBuildFile; fileRef = BCC583AA28A9EC6400BAB4CF /* cloud_animation_11.png */; };
+		BCC583CA28A9EC6400BAB4CF /* cloud_animation_6.png in Resources */ = {isa = PBXBuildFile; fileRef = BCC583AB28A9EC6400BAB4CF /* cloud_animation_6.png */; };
+		BCC583CB28A9EC6400BAB4CF /* cloud_animation_7.png in Resources */ = {isa = PBXBuildFile; fileRef = BCC583AC28A9EC6400BAB4CF /* cloud_animation_7.png */; };
+		BCC583CC28A9EC6400BAB4CF /* cloud_animation_5.png in Resources */ = {isa = PBXBuildFile; fileRef = BCC583AD28A9EC6400BAB4CF /* cloud_animation_5.png */; };
+		BCC583CD28A9EC6400BAB4CF /* cloud_animation_4.png in Resources */ = {isa = PBXBuildFile; fileRef = BCC583AE28A9EC6400BAB4CF /* cloud_animation_4.png */; };
+		BCC583CE28A9EC6400BAB4CF /* cloud_animation_0.png in Resources */ = {isa = PBXBuildFile; fileRef = BCC583AF28A9EC6400BAB4CF /* cloud_animation_0.png */; };
+		BCC583CF28A9EC6400BAB4CF /* cloud_animation_1.png in Resources */ = {isa = PBXBuildFile; fileRef = BCC583B028A9EC6400BAB4CF /* cloud_animation_1.png */; };
+		BCC583D028A9EC6400BAB4CF /* cloud_animation_3.png in Resources */ = {isa = PBXBuildFile; fileRef = BCC583B128A9EC6400BAB4CF /* cloud_animation_3.png */; };
+		BCC583D128A9EC6400BAB4CF /* cloud_animation_2.png in Resources */ = {isa = PBXBuildFile; fileRef = BCC583B228A9EC6400BAB4CF /* cloud_animation_2.png */; };
+		BCC583D228A9EC6400BAB4CF /* cloud_animation.json in Resources */ = {isa = PBXBuildFile; fileRef = BCC583B328A9EC6400BAB4CF /* cloud_animation.json */; };
 		BCD457A1286313D70010B493 /* NotiferNavView.m in Sources */ = {isa = PBXBuildFile; fileRef = BCD4579E286313D70010B493 /* NotiferNavView.m */; };
 		BCD457A2286313D70010B493 /* NotiferNavView.xib in Resources */ = {isa = PBXBuildFile; fileRef = BCD457A0286313D70010B493 /* NotiferNavView.xib */; };
 		BCD457AB286469600010B493 /* PublicNoticeView.m in Sources */ = {isa = PBXBuildFile; fileRef = BCD457A92864695F0010B493 /* PublicNoticeView.m */; };
@@ -2207,6 +2240,40 @@
 		BCBFDF4E28115D9A0052AFE5 /* HomeIntroduceView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = HomeIntroduceView.h; sourceTree = "<group>"; };
 		BCBFDF4F28115D9A0052AFE5 /* HomeIntroduceView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = HomeIntroduceView.m; sourceTree = "<group>"; };
 		BCBFDF5128115DA40052AFE5 /* HomeIntroduceView.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = HomeIntroduceView.xib; sourceTree = "<group>"; };
+		BCC5838E28A9E8A800BAB4CF /* AccompanyLoadingView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AccompanyLoadingView.h; sourceTree = "<group>"; };
+		BCC5838F28A9E8A800BAB4CF /* AccompanyLoadingView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AccompanyLoadingView.m; sourceTree = "<group>"; };
+		BCC5839128A9E8AF00BAB4CF /* AccompanyLoadingView.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = AccompanyLoadingView.xib; sourceTree = "<group>"; };
+		BCC5839528A9EC6400BAB4CF /* cloud_animation_9.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = cloud_animation_9.png; sourceTree = "<group>"; };
+		BCC5839628A9EC6400BAB4CF /* cloud_animation_8.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = cloud_animation_8.png; sourceTree = "<group>"; };
+		BCC5839728A9EC6400BAB4CF /* cloud_animation_20.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = cloud_animation_20.png; sourceTree = "<group>"; };
+		BCC5839828A9EC6400BAB4CF /* cloud_animation_21.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = cloud_animation_21.png; sourceTree = "<group>"; };
+		BCC5839928A9EC6400BAB4CF /* cloud_animation_23.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = cloud_animation_23.png; sourceTree = "<group>"; };
+		BCC5839A28A9EC6400BAB4CF /* cloud_animation_22.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = cloud_animation_22.png; sourceTree = "<group>"; };
+		BCC5839B28A9EC6400BAB4CF /* cloud_animation_26.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = cloud_animation_26.png; sourceTree = "<group>"; };
+		BCC5839C28A9EC6400BAB4CF /* cloud_animation_27.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = cloud_animation_27.png; sourceTree = "<group>"; };
+		BCC5839D28A9EC6400BAB4CF /* cloud_animation_19.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = cloud_animation_19.png; sourceTree = "<group>"; };
+		BCC5839E28A9EC6400BAB4CF /* cloud_animation_25.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = cloud_animation_25.png; sourceTree = "<group>"; };
+		BCC5839F28A9EC6400BAB4CF /* cloud_animation_24.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = cloud_animation_24.png; sourceTree = "<group>"; };
+		BCC583A028A9EC6400BAB4CF /* cloud_animation_18.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = cloud_animation_18.png; sourceTree = "<group>"; };
+		BCC583A128A9EC6400BAB4CF /* cloud_animation_15.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = cloud_animation_15.png; sourceTree = "<group>"; };
+		BCC583A228A9EC6400BAB4CF /* cloud_animation_29.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = cloud_animation_29.png; sourceTree = "<group>"; };
+		BCC583A328A9EC6400BAB4CF /* cloud_animation_28.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = cloud_animation_28.png; sourceTree = "<group>"; };
+		BCC583A428A9EC6400BAB4CF /* cloud_animation_14.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = cloud_animation_14.png; sourceTree = "<group>"; };
+		BCC583A528A9EC6400BAB4CF /* cloud_animation_16.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = cloud_animation_16.png; sourceTree = "<group>"; };
+		BCC583A628A9EC6400BAB4CF /* cloud_animation_17.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = cloud_animation_17.png; sourceTree = "<group>"; };
+		BCC583A728A9EC6400BAB4CF /* cloud_animation_13.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = cloud_animation_13.png; sourceTree = "<group>"; };
+		BCC583A828A9EC6400BAB4CF /* cloud_animation_12.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = cloud_animation_12.png; sourceTree = "<group>"; };
+		BCC583A928A9EC6400BAB4CF /* cloud_animation_10.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = cloud_animation_10.png; sourceTree = "<group>"; };
+		BCC583AA28A9EC6400BAB4CF /* cloud_animation_11.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = cloud_animation_11.png; sourceTree = "<group>"; };
+		BCC583AB28A9EC6400BAB4CF /* cloud_animation_6.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = cloud_animation_6.png; sourceTree = "<group>"; };
+		BCC583AC28A9EC6400BAB4CF /* cloud_animation_7.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = cloud_animation_7.png; sourceTree = "<group>"; };
+		BCC583AD28A9EC6400BAB4CF /* cloud_animation_5.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = cloud_animation_5.png; sourceTree = "<group>"; };
+		BCC583AE28A9EC6400BAB4CF /* cloud_animation_4.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = cloud_animation_4.png; sourceTree = "<group>"; };
+		BCC583AF28A9EC6400BAB4CF /* cloud_animation_0.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = cloud_animation_0.png; sourceTree = "<group>"; };
+		BCC583B028A9EC6400BAB4CF /* cloud_animation_1.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = cloud_animation_1.png; sourceTree = "<group>"; };
+		BCC583B128A9EC6400BAB4CF /* cloud_animation_3.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = cloud_animation_3.png; sourceTree = "<group>"; };
+		BCC583B228A9EC6400BAB4CF /* cloud_animation_2.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = cloud_animation_2.png; sourceTree = "<group>"; };
+		BCC583B328A9EC6400BAB4CF /* cloud_animation.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = cloud_animation.json; sourceTree = "<group>"; };
 		BCD4579E286313D70010B493 /* NotiferNavView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = NotiferNavView.m; sourceTree = "<group>"; };
 		BCD4579F286313D70010B493 /* NotiferNavView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NotiferNavView.h; sourceTree = "<group>"; };
 		BCD457A0286313D70010B493 /* NotiferNavView.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = NotiferNavView.xib; sourceTree = "<group>"; };
@@ -3661,6 +3728,7 @@
 		2779350B27E324A40010E277 /* Base */ = {
 			isa = PBXGroup;
 			children = (
+				BCC5839328A9EC5C00BAB4CF /* CloudLoadingSource */,
 				BC8EC02428926B2C00D51094 /* CustomLoading */,
 				BC71D27C288807400010F14B /* TabbarAnimation */,
 				BC60E3D0287D592800B05441 /* KSPublicAlertView.h */,
@@ -3681,6 +3749,9 @@
 				275FA1C827E7351700CFEA2E /* CustomNavViewController.m */,
 				275FA1C327E7351600CFEA2E /* KSAccompanyWebViewController.h */,
 				275FA1C427E7351600CFEA2E /* KSAccompanyWebViewController.m */,
+				BCC5838E28A9E8A800BAB4CF /* AccompanyLoadingView.h */,
+				BCC5838F28A9E8A800BAB4CF /* AccompanyLoadingView.m */,
+				BCC5839128A9E8AF00BAB4CF /* AccompanyLoadingView.xib */,
 				275FA1B627E7351500CFEA2E /* KSAQRecordManager.h */,
 				275FA1B127E7351400CFEA2E /* KSAQRecordManager.m */,
 				275FA1B327E7351400CFEA2E /* KSBaseModel.h */,
@@ -5421,6 +5492,53 @@
 			path = View;
 			sourceTree = "<group>";
 		};
+		BCC5839328A9EC5C00BAB4CF /* CloudLoadingSource */ = {
+			isa = PBXGroup;
+			children = (
+				BCC583B328A9EC6400BAB4CF /* cloud_animation.json */,
+				BCC5839428A9EC6400BAB4CF /* images */,
+			);
+			name = CloudLoadingSource;
+			path = KulexiuForStudent/Common/CloudLoadingSource;
+			sourceTree = SOURCE_ROOT;
+		};
+		BCC5839428A9EC6400BAB4CF /* images */ = {
+			isa = PBXGroup;
+			children = (
+				BCC5839528A9EC6400BAB4CF /* cloud_animation_9.png */,
+				BCC5839628A9EC6400BAB4CF /* cloud_animation_8.png */,
+				BCC5839728A9EC6400BAB4CF /* cloud_animation_20.png */,
+				BCC5839828A9EC6400BAB4CF /* cloud_animation_21.png */,
+				BCC5839928A9EC6400BAB4CF /* cloud_animation_23.png */,
+				BCC5839A28A9EC6400BAB4CF /* cloud_animation_22.png */,
+				BCC5839B28A9EC6400BAB4CF /* cloud_animation_26.png */,
+				BCC5839C28A9EC6400BAB4CF /* cloud_animation_27.png */,
+				BCC5839D28A9EC6400BAB4CF /* cloud_animation_19.png */,
+				BCC5839E28A9EC6400BAB4CF /* cloud_animation_25.png */,
+				BCC5839F28A9EC6400BAB4CF /* cloud_animation_24.png */,
+				BCC583A028A9EC6400BAB4CF /* cloud_animation_18.png */,
+				BCC583A128A9EC6400BAB4CF /* cloud_animation_15.png */,
+				BCC583A228A9EC6400BAB4CF /* cloud_animation_29.png */,
+				BCC583A328A9EC6400BAB4CF /* cloud_animation_28.png */,
+				BCC583A428A9EC6400BAB4CF /* cloud_animation_14.png */,
+				BCC583A528A9EC6400BAB4CF /* cloud_animation_16.png */,
+				BCC583A628A9EC6400BAB4CF /* cloud_animation_17.png */,
+				BCC583A728A9EC6400BAB4CF /* cloud_animation_13.png */,
+				BCC583A828A9EC6400BAB4CF /* cloud_animation_12.png */,
+				BCC583A928A9EC6400BAB4CF /* cloud_animation_10.png */,
+				BCC583AA28A9EC6400BAB4CF /* cloud_animation_11.png */,
+				BCC583AB28A9EC6400BAB4CF /* cloud_animation_6.png */,
+				BCC583AC28A9EC6400BAB4CF /* cloud_animation_7.png */,
+				BCC583AD28A9EC6400BAB4CF /* cloud_animation_5.png */,
+				BCC583AE28A9EC6400BAB4CF /* cloud_animation_4.png */,
+				BCC583AF28A9EC6400BAB4CF /* cloud_animation_0.png */,
+				BCC583B028A9EC6400BAB4CF /* cloud_animation_1.png */,
+				BCC583B128A9EC6400BAB4CF /* cloud_animation_3.png */,
+				BCC583B228A9EC6400BAB4CF /* cloud_animation_2.png */,
+			);
+			path = images;
+			sourceTree = "<group>";
+		};
 /* End PBXGroup section */
 
 /* Begin PBXNativeTarget section */
@@ -5532,30 +5650,37 @@
 			isa = PBXResourcesBuildPhase;
 			buildActionMask = 2147483647;
 			files = (
+				BCC583CB28A9EC6400BAB4CF /* cloud_animation_7.png in Resources */,
 				BC71D1052881A2420010F14B /* TencentOpenApi_IOS_Bundle.bundle in Resources */,
 				BC71D15D2887F9DB0010F14B /* launchAni.json in Resources */,
 				275E8AB827E18F8B00DD3F6E /* LaunchScreen.storyboard in Resources */,
 				275FA1EF27E7351900CFEA2E /* KSUpdateAlert.xib in Resources */,
 				277935AF27E324A90010E277 /* mss_browseLoading@3x.png in Resources */,
 				BC60E3CE287D552800B05441 /* DeleteAccountBodyView.xib in Resources */,
+				BCC583BE28A9EC6400BAB4CF /* cloud_animation_24.png in Resources */,
 				BC71D0FF2881A2420010F14B /* README.txt in Resources */,
 				BCB6359927F6D2AB00ACFDCF /* tick.wav in Resources */,
 				BC71D2852888083B0010F14B /* tabbar4.json in Resources */,
+				BCC583CD28A9EC6400BAB4CF /* cloud_animation_4.png in Resources */,
 				2779355727E324A70010E277 /* KSPremissionAlert.xib in Resources */,
 				2723B5C327F157B100E0B90B /* ChatNavView.xib in Resources */,
+				BCC583BB28A9EC6400BAB4CF /* cloud_animation_27.png in Resources */,
 				BCFE53F22812898700AD6786 /* HomeVideoCourseCell.xib in Resources */,
 				BC71D263288804CD0010F14B /* img_40.png in Resources */,
 				BC71D26E288804CD0010F14B /* img_30.png in Resources */,
 				BC71D24F288804CD0010F14B /* img_7.png in Resources */,
 				2723B5BA27F157B100E0B90B /* ChatAddressHeaderView.xib in Resources */,
+				BCC583C228A9EC6400BAB4CF /* cloud_animation_28.png in Resources */,
 				BC8C2C7F28265D8E00FBA5D5 /* KSNewsAlert.xib in Resources */,
 				BC494A7D286958EC00CCD343 /* MusicRoomCourseInfoCell.xib in Resources */,
 				BC119235280ED97C00A716F7 /* CourseForLiveCell.xib in Resources */,
 				2723B62E27F157D500E0B90B /* GroupApplyChooseAllCell.xib in Resources */,
 				BC71D245288804CD0010F14B /* img_38.png in Resources */,
 				BC71D276288804CD0010F14B /* img_22.png in Resources */,
+				BCC583D128A9EC6400BAB4CF /* cloud_animation_2.png in Resources */,
 				BC71D25C288804CD0010F14B /* img_53.png in Resources */,
 				BC71D246288804CD0010F14B /* img_1.png in Resources */,
+				BCC583BA28A9EC6400BAB4CF /* cloud_animation_26.png in Resources */,
 				275FA23A27E7356B00CFEA2E /* VefiBodyView.xib in Resources */,
 				BC119258280FA85300A716F7 /* HomeworkListCell.xib in Resources */,
 				BC542E5728409EC900633781 /* InstrumentChooseBottonView.xib in Resources */,
@@ -5565,6 +5690,7 @@
 				BCFE53F728128A9600AD6786 /* TeacherShowCell.xib in Resources */,
 				2723B5BF27F157B100E0B90B /* GroupCreateView.xib in Resources */,
 				BC8C2C5E2823F57100FBA5D5 /* AddressDetailBodyView.xib in Resources */,
+				BCC583B528A9EC6400BAB4CF /* cloud_animation_8.png in Resources */,
 				BCB9090D2852EEBE00F5FF69 /* LiveCard.bundle in Resources */,
 				BC71D24A288804CD0010F14B /* img_13.png in Resources */,
 				2723B63727F157D500E0B90B /* ApplyBottomView.xib in Resources */,
@@ -5584,6 +5710,7 @@
 				BC119275280FB01100A716F7 /* AccompanyHomeworkCell.xib in Resources */,
 				BC71D1022881A2420010F14B /* WeiboSDK.bundle in Resources */,
 				BC71D2872888083B0010F14B /* tabbar3.json in Resources */,
+				BCC583C028A9EC6400BAB4CF /* cloud_animation_15.png in Resources */,
 				BC119280280FB10900A716F7 /* AccompanyRemarkCell.xib in Resources */,
 				BC8A45B6283DC33400094BBB /* NoWiredTipsAlert.xib in Resources */,
 				BC71D271288804CD0010F14B /* img_26.png in Resources */,
@@ -5592,6 +5719,7 @@
 				BCBFDF432811573D0052AFE5 /* HomeButtonView.xib in Resources */,
 				BC11925A280FA85300A716F7 /* HomeworkSortView.xib in Resources */,
 				2723B62527F157D500E0B90B /* GroupNoticeCell.xib in Resources */,
+				BCC583D228A9EC6400BAB4CF /* cloud_animation.json in Resources */,
 				BC8A459E283DC33400094BBB /* FingerList.plist in Resources */,
 				275FA23D27E7356B00CFEA2E /* PasswordBodyView.xib in Resources */,
 				2723B66227F15CFC00E0B90B /* FeedbackBodyView.xib in Resources */,
@@ -5602,12 +5730,14 @@
 				BC71D279288804CD0010F14B /* img_34.png in Resources */,
 				BC71D24C288804CD0010F14B /* img_3.png in Resources */,
 				2723B66527F15CFC00E0B90B /* ModifyBodyView.xib in Resources */,
+				BCC583D028A9EC6400BAB4CF /* cloud_animation_3.png in Resources */,
 				BCB6353027F6D2A300ACFDCF /* SealClass.strings in Resources */,
 				BC71D26A288804CD0010F14B /* img_19.png in Resources */,
 				BCB635AE27F6E06500ACFDCF /* LiveRoomHeadView.xib in Resources */,
 				275FA1AD27E734C600CFEA2E /* KSImageAlert.xib in Resources */,
 				BC71D251288804CD0010F14B /* img_17.png in Resources */,
 				BC71D268288804CD0010F14B /* img_25.png in Resources */,
+				BCC583C928A9EC6400BAB4CF /* cloud_animation_11.png in Resources */,
 				BC71D264288804CD0010F14B /* img_41.png in Resources */,
 				BC71D267288804CD0010F14B /* img_42.png in Resources */,
 				BC71D27A288804CD0010F14B /* img_35.png in Resources */,
@@ -5617,16 +5747,21 @@
 				BC71D250288804CD0010F14B /* img_6.png in Resources */,
 				BC8A45AF283DC33400094BBB /* SoundCheckView.xib in Resources */,
 				BC119270280FAF7D00A716F7 /* AccompanyCourseInfoCell.xib in Resources */,
+				BCC583C828A9EC6400BAB4CF /* cloud_animation_10.png in Resources */,
+				BCC583C328A9EC6400BAB4CF /* cloud_animation_14.png in Resources */,
 				BC8C2C5B2823F57100FBA5D5 /* AddressBottomView.xib in Resources */,
 				BC71D261288804CD0010F14B /* img_50.png in Resources */,
 				BC71D25B288804CD0010F14B /* img_52.png in Resources */,
 				BC40BA202812552300DEC0D1 /* KSHomeButton.xib in Resources */,
 				BC7663162827E49900C91A1D /* NotiferHeadView.xib in Resources */,
 				BCB908F22850B08D00F5FF69 /* ShareMusicCellContentView.xib in Resources */,
+				BCC583CF28A9EC6400BAB4CF /* cloud_animation_1.png in Resources */,
 				2723B5C427F157B100E0B90B /* KSChatListSearchView.xib in Resources */,
 				BC8A459A283DC33400094BBB /* SubjectFinger.plist in Resources */,
 				BC71D275288804CD0010F14B /* img_23.png in Resources */,
 				BC71D0F82881A2420010F14B /* iOS集成升级必读.pdf in Resources */,
+				BCC583CC28A9EC6400BAB4CF /* cloud_animation_5.png in Resources */,
+				BCC583B928A9EC6400BAB4CF /* cloud_animation_22.png in Resources */,
 				2779359B27E324A80010E277 /* TZImagePickerController.bundle in Resources */,
 				277935C327E324A90010E277 /* SDQWMaskCustomView.xib in Resources */,
 				BC40B9FA2811768400DEC0D1 /* HotInformationHeadView.xib in Resources */,
@@ -5644,13 +5779,17 @@
 				BC71D260288804CD0010F14B /* img_44.png in Resources */,
 				BC71D26C288804CD0010F14B /* img_9.png in Resources */,
 				BC736A93288036E8004A9B0A /* MyVideoSearchView.xib in Resources */,
+				BCC583C528A9EC6400BAB4CF /* cloud_animation_17.png in Resources */,
+				BCC583CE28A9EC6400BAB4CF /* cloud_animation_0.png in Resources */,
 				BCFE53ED2812897600AD6786 /* HomeLiveCouseCell.xib in Resources */,
 				BC71D256288804CD0010F14B /* img_14.png in Resources */,
 				275FA24527E73E0100CFEA2E /* InstrumentDescView.xib in Resources */,
+				BCC583B628A9EC6400BAB4CF /* cloud_animation_20.png in Resources */,
 				BC11922D280ED8E800A716F7 /* CourseNavView.xib in Resources */,
 				BC71D12F2887A4DC0010F14B /* student_refresh.json in Resources */,
 				BC11929D280FD2EF00A716F7 /* HomeworkBottomView.xib in Resources */,
 				BC7663182827E49900C91A1D /* NotiferMessageCell.xib in Resources */,
+				BCC583C728A9EC6400BAB4CF /* cloud_animation_12.png in Resources */,
 				BC71D26D288804CD0010F14B /* img_18.png in Resources */,
 				BCB6348127F6D29600ACFDCF /* LiveSeatApplyCell.xib in Resources */,
 				BC8A45A4283DC33400094BBB /* KSCloudSettingView.xib in Resources */,
@@ -5662,10 +5801,13 @@
 				27F9032E27E87C2E00C08A19 /* DeviceCheckView.xib in Resources */,
 				275FA23727E7356B00CFEA2E /* LoginBodyView.xib in Resources */,
 				BC71D273288804CD0010F14B /* img_33.png in Resources */,
+				BCC583C628A9EC6400BAB4CF /* cloud_animation_13.png in Resources */,
+				BCC583C428A9EC6400BAB4CF /* cloud_animation_16.png in Resources */,
 				BC71D259288804CD0010F14B /* img_48.png in Resources */,
 				BCB6355927F6D2A300ACFDCF /* class_stop.mp3 in Resources */,
 				BC71D274288804CD0010F14B /* img_37.png in Resources */,
 				BC6744E32892795500BB8D03 /* Boat_Loader.json in Resources */,
+				BCC583C128A9EC6400BAB4CF /* cloud_animation_29.png in Resources */,
 				BCFE53E82812765600AD6786 /* HomeHotAlbumCell.xib in Resources */,
 				BC40BA0428117B0A00DEC0D1 /* HomeBannerCell.xib in Resources */,
 				BC119239280ED98E00A716F7 /* AccompanyCourseCell.xib in Resources */,
@@ -5683,6 +5825,7 @@
 				2723B66F27F15CFC00E0B90B /* AboutUsBodyView.xib in Resources */,
 				275FA23827E7356B00CFEA2E /* FirstSettingBodyView.xib in Resources */,
 				BC542E622840A60E00633781 /* UseBodyView.xib in Resources */,
+				BCC583B428A9EC6400BAB4CF /* cloud_animation_9.png in Resources */,
 				BCD457AC286469600010B493 /* PublicNoticeView.xib in Resources */,
 				BC71D249288804CD0010F14B /* img_11.png in Resources */,
 				BC27A070280FF56C00F91E27 /* AccompanyStudentEvaCell.xib in Resources */,
@@ -5690,19 +5833,25 @@
 				BC8A45A0283DC33400094BBB /* JudgePageView.xib in Resources */,
 				BC71D244288804CD0010F14B /* img_10.png in Resources */,
 				BC0212F827FC4A080040569F /* SubjectImageCell.xib in Resources */,
+				BCC583B728A9EC6400BAB4CF /* cloud_animation_21.png in Resources */,
 				BC11921B280ED6A900A716F7 /* NewClassPopCell.xib in Resources */,
+				BCC583BF28A9EC6400BAB4CF /* cloud_animation_18.png in Resources */,
 				BC71D265288804CD0010F14B /* img_55.png in Resources */,
 				BC71D0FA2881A2420010F14B /* UMSocialSDKResources.bundle in Resources */,
 				BC60E3D2287D592800B05441 /* KSPublicAlertView.xib in Resources */,
 				BC71D269288804CD0010F14B /* img_31.png in Resources */,
 				BC71D25D288804CD0010F14B /* img_47.png in Resources */,
 				BCA353F12859BB2900377661 /* MusicRoomCourseCell.xib in Resources */,
+				BCC583B828A9EC6400BAB4CF /* cloud_animation_23.png in Resources */,
 				2723B66E27F15CFC00E0B90B /* PhoneCheckBodyView.xib in Resources */,
 				BC119217280ED6A900A716F7 /* MyLessonSearchView.xib in Resources */,
+				BCC583BD28A9EC6400BAB4CF /* cloud_animation_25.png in Resources */,
+				BCC583BC28A9EC6400BAB4CF /* cloud_animation_19.png in Resources */,
 				BCBFDF3E2811564C0052AFE5 /* HomeBannerView.xib in Resources */,
 				BC8A459F283DC33400094BBB /* SettingPageView.xib in Resources */,
 				BC71D262288804CD0010F14B /* img_54.png in Resources */,
 				BC8C2C5A2823F57100FBA5D5 /* areainfo.json in Resources */,
+				BCC583CA28A9EC6400BAB4CF /* cloud_animation_6.png in Resources */,
 				2723B5C527F157B100E0B90B /* ContractListCell.xib in Resources */,
 				BCBFDF48281159A40052AFE5 /* HomeHotAlbumView.xib in Resources */,
 				BC71D24E288804CD0010F14B /* img_16.png in Resources */,
@@ -5713,6 +5862,7 @@
 				BC542E5528409EC900633781 /* InstrumentHeaderView.xib in Resources */,
 				BC119215280ED6A900A716F7 /* MyLiveCourseCell.xib in Resources */,
 				BC71D2862888083B0010F14B /* tabbar1.json in Resources */,
+				BCC5839228A9E8AF00BAB4CF /* AccompanyLoadingView.xib in Resources */,
 				BCB9FA37286D7C38005D766B /* GuideListView.xib in Resources */,
 				BC71D2882888083B0010F14B /* tabbar2.json in Resources */,
 				BC50171727FC0D8E00F8BCBC /* SubjectChooseBodyView.xib in Resources */,
@@ -6124,6 +6274,7 @@
 				BCB6353827F6D2A300ACFDCF /* TipMessageCell.m in Sources */,
 				2779352827E324A60010E277 /* UIColor+Extend.m in Sources */,
 				BC542E3F284079E300633781 /* UserAuthBodyView.m in Sources */,
+				BCC5839028A9E8A800BAB4CF /* AccompanyLoadingView.m in Sources */,
 				2779357627E324A70010E277 /* ShoppCatView.m in Sources */,
 				BC11927F280FB10900A716F7 /* AccompanyRemarkCell.m in Sources */,
 				2779357127E324A70010E277 /* SkipTextView.m in Sources */,
@@ -6709,7 +6860,7 @@
 					"$(PROJECT_DIR)/KulexiuForStudent/Common/ThirdPart/UMSocialSDK/share/share_ios_6.10.5/SocialLibraries/Sina/SinaSDK",
 					"$(PROJECT_DIR)/KulexiuForStudent/Common/ThirdPart/UMSocialSDK/share/share_ios_6.10.5/UMSocialSDKPlugin",
 				);
-				MARKETING_VERSION = 1.1.0;
+				MARKETING_VERSION = 1.2.0;
 				PRODUCT_BUNDLE_IDENTIFIER = com.Colexiu.KulexiuForStudent;
 				PRODUCT_NAME = "$(TARGET_NAME)";
 				SWIFT_EMIT_LOC_STRINGS = YES;
@@ -6780,7 +6931,7 @@
 					"$(PROJECT_DIR)/KulexiuForStudent/Common/ThirdPart/UMSocialSDK/share/share_ios_6.10.5/SocialLibraries/Sina/SinaSDK",
 					"$(PROJECT_DIR)/KulexiuForStudent/Common/ThirdPart/UMSocialSDK/share/share_ios_6.10.5/UMSocialSDKPlugin",
 				);
-				MARKETING_VERSION = 1.1.0;
+				MARKETING_VERSION = 1.2.0;
 				PRODUCT_BUNDLE_IDENTIFIER = com.Colexiu.KulexiuForStudent;
 				PRODUCT_NAME = "$(TARGET_NAME)";
 				SWIFT_EMIT_LOC_STRINGS = YES;

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


+ 39 - 7
KulexiuForStudent/KulexiuForStudent.xcworkspace/xcuserdata/wangzhi.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist

@@ -366,8 +366,8 @@
             filePath = "KulexiuForStudent/Common/Base/KSAccompanyWebViewController.m"
             startingColumnNumber = "9223372036854775807"
             endingColumnNumber = "9223372036854775807"
-            startingLineNumber = "678"
-            endingLineNumber = "678"
+            startingLineNumber = "692"
+            endingLineNumber = "692"
             landmarkName = "-downloadMidiFile:success:faliure:"
             landmarkType = "7">
          </BreakpointContent>
@@ -382,8 +382,8 @@
             filePath = "KulexiuForStudent/Common/Base/KSAccompanyWebViewController.m"
             startingColumnNumber = "9223372036854775807"
             endingColumnNumber = "9223372036854775807"
-            startingLineNumber = "683"
-            endingLineNumber = "683"
+            startingLineNumber = "697"
+            endingLineNumber = "697"
             landmarkName = "-downloadMidiFile:success:faliure:"
             landmarkType = "7">
          </BreakpointContent>
@@ -424,14 +424,14 @@
          BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
          <BreakpointContent
             uuid = "1BCE1EE9-CD40-471A-9BFC-4ECC13BD7C51"
-            shouldBeEnabled = "Yes"
+            shouldBeEnabled = "No"
             ignoreCount = "0"
             continueAfterRunningActions = "No"
             filePath = "KulexiuForStudent/Common/Base/KSAccompanyWebViewController.m"
             startingColumnNumber = "9223372036854775807"
             endingColumnNumber = "9223372036854775807"
-            startingLineNumber = "455"
-            endingLineNumber = "455"
+            startingLineNumber = "459"
+            endingLineNumber = "459"
             landmarkName = "-userContentController:didReceiveScriptMessage:"
             landmarkType = "7">
          </BreakpointContent>
@@ -452,5 +452,37 @@
             landmarkType = "7">
          </BreakpointContent>
       </BreakpointProxy>
+      <BreakpointProxy
+         BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
+         <BreakpointContent
+            uuid = "7432A229-68D4-4DE5-B99B-8882B2764B97"
+            shouldBeEnabled = "No"
+            ignoreCount = "0"
+            continueAfterRunningActions = "No"
+            filePath = "KulexiuForStudent/Module/Home/NoticeCenter/View/NotiferMessageCell.m"
+            startingColumnNumber = "9223372036854775807"
+            endingColumnNumber = "9223372036854775807"
+            startingLineNumber = "47"
+            endingLineNumber = "47"
+            landmarkName = "-configCellWithSource:"
+            landmarkType = "7">
+         </BreakpointContent>
+      </BreakpointProxy>
+      <BreakpointProxy
+         BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
+         <BreakpointContent
+            uuid = "79214F67-41AA-4288-A1A1-894D953FE70B"
+            shouldBeEnabled = "Yes"
+            ignoreCount = "0"
+            continueAfterRunningActions = "No"
+            filePath = "KulexiuForStudent/Common/Base/KSAccompanyWebViewController.m"
+            startingColumnNumber = "9223372036854775807"
+            endingColumnNumber = "9223372036854775807"
+            startingLineNumber = "645"
+            endingLineNumber = "645"
+            landmarkName = "-userContentController:didReceiveScriptMessage:"
+            landmarkType = "7">
+         </BreakpointContent>
+      </BreakpointProxy>
    </Breakpoints>
 </Bucket>

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

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

+ 22 - 0
KulexiuForStudent/KulexiuForStudent/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
KulexiuForStudent/KulexiuForStudent/Assets.xcassets/CloudLoading/cloudLoading_bg.imageset/cloudLoading_bg@2x.png


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


+ 26 - 0
KulexiuForStudent/KulexiuForStudent/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
KulexiuForStudent/KulexiuForStudent/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
KulexiuForStudent/KulexiuForStudent/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>

+ 45 - 2
KulexiuForStudent/KulexiuForStudent/Common/Base/KSAccompanyWebViewController.m

@@ -15,6 +15,7 @@
 #import "KSAudioSessionManager.h"
 #import "KSCloudBeatView.h"
 #import "MidiPlayerEngine.h"
+#import "AccompanyLoadingView.h"
 
 #define KSMidiSongFileKey (@"KSDownloadMidiSong")
 
@@ -65,6 +66,9 @@
 @property (nonatomic, strong) NSDictionary *endRecordParm;
 
 @property (nonatomic, assign) BOOL isCameraOpen;
+
+@property (nonatomic, strong) AccompanyLoadingView *loadingView;
+
 @end
 
 @implementation KSAccompanyWebViewController
@@ -637,6 +641,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];
             }
@@ -671,11 +685,11 @@
 }
 
 - (void)downloadMidiFile:(NSString *)midiUrl success:(void(^)(void))success faliure:(void(^)(void))faliure {
-    [self showhud];
+//    [self showhud];
     [KSNetworkingManager downloadFileRequestWithFileUrl:midiUrl progress:^(int64_t bytesRead, int64_t totalBytes) {
         
     } success:^(NSURL * _Nonnull fileUrl) {
-        [self removehub];
+//        [self removehub];
         if ([self saveMidiFileWithUrl:fileUrl midiUrl:midiUrl]) {
             success();
         }
@@ -1075,6 +1089,35 @@
         [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
 

+ 2 - 2
KulexiuForStudent/KulexiuForStudent/Common/Base/KSBaseViewController.m

@@ -386,7 +386,7 @@
             UIWindow *window = [[UIApplication sharedApplication ] keyWindow];
             if (!self->t_MBProgressHUD ) {
                 self->t_MBProgressHUD = [window addHUDActivityViewToView:nil
-                                                               HintsText:nil
+                                                               HintsText:@"加载中..."
                                                                    Image:nil
                                                           hideAfterDelay:15.0f
                                                                  HaveDim:NO];
@@ -397,7 +397,7 @@
                 
                 [self->t_MBProgressHUD hideAnimated:YES afterDelay:0.0];
                 self->t_MBProgressHUD = [window addHUDActivityViewToView:nil
-                                                               HintsText:nil
+                                                               HintsText:@"加载中..."
                                                                    Image:nil
                                                           hideAfterDelay:15.0f
                                                                  HaveDim:NO];

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

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

Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 0
KulexiuForStudent/KulexiuForStudent/Common/CloudLoadingSource/cloud_animation.json


BIN
KulexiuForStudent/KulexiuForStudent/Common/CloudLoadingSource/images/cloud_animation_0.png


BIN
KulexiuForStudent/KulexiuForStudent/Common/CloudLoadingSource/images/cloud_animation_1.png


BIN
KulexiuForStudent/KulexiuForStudent/Common/CloudLoadingSource/images/cloud_animation_10.png


BIN
KulexiuForStudent/KulexiuForStudent/Common/CloudLoadingSource/images/cloud_animation_11.png


BIN
KulexiuForStudent/KulexiuForStudent/Common/CloudLoadingSource/images/cloud_animation_12.png


BIN
KulexiuForStudent/KulexiuForStudent/Common/CloudLoadingSource/images/cloud_animation_13.png


BIN
KulexiuForStudent/KulexiuForStudent/Common/CloudLoadingSource/images/cloud_animation_14.png


BIN
KulexiuForStudent/KulexiuForStudent/Common/CloudLoadingSource/images/cloud_animation_15.png


BIN
KulexiuForStudent/KulexiuForStudent/Common/CloudLoadingSource/images/cloud_animation_16.png


BIN
KulexiuForStudent/KulexiuForStudent/Common/CloudLoadingSource/images/cloud_animation_17.png


BIN
KulexiuForStudent/KulexiuForStudent/Common/CloudLoadingSource/images/cloud_animation_18.png


BIN
KulexiuForStudent/KulexiuForStudent/Common/CloudLoadingSource/images/cloud_animation_19.png


BIN
KulexiuForStudent/KulexiuForStudent/Common/CloudLoadingSource/images/cloud_animation_2.png


BIN
KulexiuForStudent/KulexiuForStudent/Common/CloudLoadingSource/images/cloud_animation_20.png


BIN
KulexiuForStudent/KulexiuForStudent/Common/CloudLoadingSource/images/cloud_animation_21.png


BIN
KulexiuForStudent/KulexiuForStudent/Common/CloudLoadingSource/images/cloud_animation_22.png


BIN
KulexiuForStudent/KulexiuForStudent/Common/CloudLoadingSource/images/cloud_animation_23.png


BIN
KulexiuForStudent/KulexiuForStudent/Common/CloudLoadingSource/images/cloud_animation_24.png


BIN
KulexiuForStudent/KulexiuForStudent/Common/CloudLoadingSource/images/cloud_animation_25.png


BIN
KulexiuForStudent/KulexiuForStudent/Common/CloudLoadingSource/images/cloud_animation_26.png


BIN
KulexiuForStudent/KulexiuForStudent/Common/CloudLoadingSource/images/cloud_animation_27.png


BIN
KulexiuForStudent/KulexiuForStudent/Common/CloudLoadingSource/images/cloud_animation_28.png


BIN
KulexiuForStudent/KulexiuForStudent/Common/CloudLoadingSource/images/cloud_animation_29.png


BIN
KulexiuForStudent/KulexiuForStudent/Common/CloudLoadingSource/images/cloud_animation_3.png


BIN
KulexiuForStudent/KulexiuForStudent/Common/CloudLoadingSource/images/cloud_animation_4.png


BIN
KulexiuForStudent/KulexiuForStudent/Common/CloudLoadingSource/images/cloud_animation_5.png


BIN
KulexiuForStudent/KulexiuForStudent/Common/CloudLoadingSource/images/cloud_animation_6.png


BIN
KulexiuForStudent/KulexiuForStudent/Common/CloudLoadingSource/images/cloud_animation_7.png


BIN
KulexiuForStudent/KulexiuForStudent/Common/CloudLoadingSource/images/cloud_animation_8.png


BIN
KulexiuForStudent/KulexiuForStudent/Common/CloudLoadingSource/images/cloud_animation_9.png


+ 1 - 1
KulexiuForStudent/KulexiuForStudent/Module/Home/View/HomeLiveCouseCell.m

@@ -56,7 +56,7 @@
         self.priceLabel.attributedText = attr;
     }
     else {
-        self.priceLabel.text = @"";
+        self.priceLabel.text = @"免费";
     }
     NSString *courseMsg = [NSString stringWithFormat:@"%zd课时",source.courseNum];
     self.descLabel.text = courseMsg;

+ 1 - 1
KulexiuForStudent/KulexiuForStudent/Module/Home/View/HomeVideoCourseCell.m

@@ -50,7 +50,7 @@
         self.coursePrice.attributedText = attr;
     }
     else {
-        self.coursePrice.text = @"";
+        self.coursePrice.text = @"免费";
     }
     
     self.descLabel.text = [NSString stringWithFormat:@"%zd课时",source.lessonCount];

Vissa filer visades inte eftersom för många filer har ändrats