Przeglądaj źródła

1.首页专辑接口;
2.支付宝支付。
3首页刷新逻辑

Steven 3 lat temu
rodzic
commit
7c8d95e459
74 zmienionych plików z 710 dodań i 222 usunięć
  1. 12 0
      KulexiuForStudent/KulexiuForStudent.xcodeproj/project.pbxproj
  2. BIN
      KulexiuForStudent/KulexiuForStudent.xcworkspace/xcuserdata/wangzhi.xcuserdatad/UserInterfaceState.xcuserstate
  3. 8 8
      KulexiuForStudent/KulexiuForStudent.xcworkspace/xcuserdata/wangzhi.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist
  4. 20 15
      KulexiuForStudent/KulexiuForStudent/Common/Base/KSBaseWKWebViewController.m
  5. 11 0
      KulexiuForStudent/KulexiuForStudent/Common/Base/KSNetworkingManager.h
  6. 18 0
      KulexiuForStudent/KulexiuForStudent/Common/Base/KSNetworkingManager.m
  7. 19 0
      KulexiuForStudent/KulexiuForStudent/Common/Base/KSOrderManager.h
  8. 30 0
      KulexiuForStudent/KulexiuForStudent/Common/Base/KSOrderManager.m
  9. 1 0
      KulexiuForStudent/KulexiuForStudent/Common/Define/PrefixHeader.pch
  10. 15 0
      KulexiuForStudent/KulexiuForStudent/Info.plist
  11. 4 0
      KulexiuForStudent/KulexiuForStudent/Module/Chat/GroupNotice/Model/GroupNoticeModel.m
  12. 251 151
      KulexiuForStudent/KulexiuForStudent/Module/Home/Controller/HomeViewController.m
  13. 35 0
      KulexiuForStudent/KulexiuForStudent/Module/Home/Model/HomeAlbumModel.h
  14. 204 0
      KulexiuForStudent/KulexiuForStudent/Module/Home/Model/HomeAlbumModel.m
  15. 2 1
      KulexiuForStudent/KulexiuForStudent/Module/Home/Model/HomeLiveGroupModel.h
  16. 15 7
      KulexiuForStudent/KulexiuForStudent/Module/Home/Model/HomeLiveGroupModel.m
  17. 2 1
      KulexiuForStudent/KulexiuForStudent/Module/Home/Model/HomeVideoGroupModel.h
  18. 13 6
      KulexiuForStudent/KulexiuForStudent/Module/Home/Model/HomeVideoGroupModel.m
  19. 2 1
      KulexiuForStudent/KulexiuForStudent/Module/Home/View/HomeHotAlbumCell.h
  20. 9 0
      KulexiuForStudent/KulexiuForStudent/Module/Home/View/HomeHotAlbumCell.m
  21. 6 6
      KulexiuForStudent/KulexiuForStudent/Module/Home/View/HomeHotAlbumCell.xib
  22. 1 5
      KulexiuForStudent/KulexiuForStudent/Module/Home/View/HomeHotCourseView.xib
  23. 2 2
      KulexiuForStudent/KulexiuForStudent/Module/Home/View/HomeLiveCouseCell.m
  24. 2 2
      KulexiuForStudent/KulexiuForStudent/Module/Home/View/HomeVideoCourseCell.m
  25. 8 6
      KulexiuForStudent/KulexiuForStudent/Module/Home/View/TeacherShowCell.m
  26. BIN
      KulexiuForStudent/build/Debug-iphonesimulator/KulexiuForStudent.app/Info.plist
  27. BIN
      KulexiuForStudent/build/Debug-iphonesimulator/KulexiuForStudent.app/KulexiuForStudent
  28. 7 7
      KulexiuForStudent/build/Debug-iphonesimulator/KulexiuForStudent.app/_CodeSignature/CodeResources
  29. BIN
      KulexiuForStudent/build/KulexiuForStudent.build/Debug-iphonesimulator/KulexiuForStudent.build/KulexiuForStudent-project-headers.hmap
  30. BIN
      KulexiuForStudent/build/KulexiuForStudent.build/Debug-iphonesimulator/KulexiuForStudent.build/Objects-normal/x86_64/GroupNoticeModel.o
  31. 6 1
      KulexiuForStudent/build/KulexiuForStudent.build/Debug-iphonesimulator/KulexiuForStudent.build/Objects-normal/x86_64/HomeViewController.d
  32. BIN
      KulexiuForStudent/build/KulexiuForStudent.build/Debug-iphonesimulator/KulexiuForStudent.build/Objects-normal/x86_64/HomeViewController.dia
  33. BIN
      KulexiuForStudent/build/KulexiuForStudent.build/Debug-iphonesimulator/KulexiuForStudent.build/Objects-normal/x86_64/HomeViewController.o
  34. 3 1
      KulexiuForStudent/build/KulexiuForStudent.build/Debug-iphonesimulator/KulexiuForStudent.build/Objects-normal/x86_64/KSBaseWKWebViewController.d
  35. BIN
      KulexiuForStudent/build/KulexiuForStudent.build/Debug-iphonesimulator/KulexiuForStudent.build/Objects-normal/x86_64/KSBaseWKWebViewController.dia
  36. BIN
      KulexiuForStudent/build/KulexiuForStudent.build/Debug-iphonesimulator/KulexiuForStudent.build/Objects-normal/x86_64/KSBaseWKWebViewController.o
  37. BIN
      KulexiuForStudent/build/KulexiuForStudent.build/Debug-iphonesimulator/KulexiuForStudent.build/Objects-normal/x86_64/KSNetworkingManager.o
  38. 2 0
      KulexiuForStudent/build/KulexiuForStudent.build/Debug-iphonesimulator/KulexiuForStudent.build/Objects-normal/x86_64/KulexiuForStudent.LinkFileList
  39. BIN
      KulexiuForStudent/build/KulexiuForStudent.build/Debug-iphonesimulator/KulexiuForStudent.build/Objects-normal/x86_64/KulexiuForStudent_dependency_info.dat
  40. BIN
      KulexiuForStudent/build/KulexiuForStudent.build/Debug-iphonesimulator/KulexiuForStudent.build/Objects-normal/x86_64/UIView+XIBView.dia
  41. BIN
      KulexiuForStudent/build/Pods.build/Debug-iphonesimulator/AFNetworking.build/AFNetworking-all-target-headers.hmap
  42. BIN
      KulexiuForStudent/build/Pods.build/Debug-iphonesimulator/CHIPageControl.build/CHIPageControl-all-non-framework-target-headers.hmap
  43. BIN
      KulexiuForStudent/build/Pods.build/Debug-iphonesimulator/CHIPageControl.build/CHIPageControl-all-target-headers.hmap
  44. BIN
      KulexiuForStudent/build/Pods.build/Debug-iphonesimulator/CHIPageControl.build/Objects-normal/x86_64/CHIPageControl-master.priors
  45. 2 2
      KulexiuForStudent/build/Pods.build/Debug-iphonesimulator/CHIPageControl.build/Objects-normal/x86_64/CHIPageControl-master.swiftdeps
  46. BIN
      KulexiuForStudent/build/Pods.build/Debug-iphonesimulator/IQKeyboardManager.build/IQKeyboardManager-all-non-framework-target-headers.hmap
  47. BIN
      KulexiuForStudent/build/Pods.build/Debug-iphonesimulator/IQKeyboardManager.build/IQKeyboardManager-all-target-headers.hmap
  48. BIN
      KulexiuForStudent/build/Pods.build/Debug-iphonesimulator/JXCategoryView.build/JXCategoryView-all-target-headers.hmap
  49. BIN
      KulexiuForStudent/build/Pods.build/Debug-iphonesimulator/JXPagingView.build/JXPagingView-all-non-framework-target-headers.hmap
  50. BIN
      KulexiuForStudent/build/Pods.build/Debug-iphonesimulator/JXPagingView.build/JXPagingView-all-target-headers.hmap
  51. BIN
      KulexiuForStudent/build/Pods.build/Debug-iphonesimulator/MBProgressHUD.build/MBProgressHUD-all-non-framework-target-headers.hmap
  52. BIN
      KulexiuForStudent/build/Pods.build/Debug-iphonesimulator/MBProgressHUD.build/MBProgressHUD-all-target-headers.hmap
  53. BIN
      KulexiuForStudent/build/Pods.build/Debug-iphonesimulator/MJExtension.build/MJExtension-all-target-headers.hmap
  54. BIN
      KulexiuForStudent/build/Pods.build/Debug-iphonesimulator/MJRefresh.build/MJRefresh-all-non-framework-target-headers.hmap
  55. BIN
      KulexiuForStudent/build/Pods.build/Debug-iphonesimulator/MJRefresh.build/MJRefresh-all-target-headers.hmap
  56. BIN
      KulexiuForStudent/build/Pods.build/Debug-iphonesimulator/Masonry.build/Masonry-all-target-headers.hmap
  57. BIN
      KulexiuForStudent/build/Pods.build/Debug-iphonesimulator/Pods-KulexiuForStudent.build/Pods_KulexiuForStudent-all-non-framework-target-headers.hmap
  58. BIN
      KulexiuForStudent/build/Pods.build/Debug-iphonesimulator/Pods-KulexiuForStudent.build/Pods_KulexiuForStudent-all-target-headers.hmap
  59. BIN
      KulexiuForStudent/build/Pods.build/Debug-iphonesimulator/RSKImageCropper.build/RSKImageCropper-all-target-headers.hmap
  60. BIN
      KulexiuForStudent/build/Pods.build/Debug-iphonesimulator/Reachability.build/Reachability-all-non-framework-target-headers.hmap
  61. BIN
      KulexiuForStudent/build/Pods.build/Debug-iphonesimulator/Reachability.build/Reachability-all-target-headers.hmap
  62. BIN
      KulexiuForStudent/build/Pods.build/Debug-iphonesimulator/SDWebImage.build/SDWebImage-all-target-headers.hmap
  63. BIN
      KulexiuForStudent/build/Pods.build/Debug-iphonesimulator/SSZipArchive.build/SSZipArchive-all-non-framework-target-headers.hmap
  64. BIN
      KulexiuForStudent/build/Pods.build/Debug-iphonesimulator/SSZipArchive.build/SSZipArchive-all-target-headers.hmap
  65. BIN
      KulexiuForStudent/build/Pods.build/Debug-iphonesimulator/SocketRocket.build/SocketRocket-all-non-framework-target-headers.hmap
  66. BIN
      KulexiuForStudent/build/Pods.build/Debug-iphonesimulator/SocketRocket.build/SocketRocket-all-target-headers.hmap
  67. BIN
      KulexiuForStudent/build/Pods.build/Debug-iphonesimulator/Whiteboard-Whiteboard.build/Whiteboard-all-target-headers.hmap
  68. BIN
      KulexiuForStudent/build/Pods.build/Debug-iphonesimulator/Whiteboard.build/Whiteboard-all-non-framework-target-headers.hmap
  69. BIN
      KulexiuForStudent/build/Pods.build/Debug-iphonesimulator/Whiteboard.build/Whiteboard-all-target-headers.hmap
  70. BIN
      KulexiuForStudent/build/Pods.build/Debug-iphonesimulator/YYModel.build/YYModel-all-target-headers.hmap
  71. BIN
      KulexiuForStudent/build/Pods.build/Debug-iphonesimulator/ZKCycleScrollView.build/ZKCycleScrollView-all-target-headers.hmap
  72. BIN
      KulexiuForStudent/build/Pods.build/Debug-iphonesimulator/dsBridge.build/dsBridge-all-target-headers.hmap
  73. BIN
      KulexiuForStudent/build/XCBuildData/BuildDescriptionCacheIndex-604c88e60e61e13155f665cce0707a51
  74. BIN
      KulexiuForStudent/build/XCBuildData/build.db

+ 12 - 0
KulexiuForStudent/KulexiuForStudent.xcodeproj/project.pbxproj

@@ -581,6 +581,8 @@
 		BCFE53FA28129A5600AD6786 /* TeacherStyleModel.m in Sources */ = {isa = PBXBuildFile; fileRef = BCFE53F828129A5500AD6786 /* TeacherStyleModel.m */; };
 		BCFE53FF2814E1BE00AD6786 /* HomeLiveGroupModel.m in Sources */ = {isa = PBXBuildFile; fileRef = BCFE53FD2814E1BE00AD6786 /* HomeLiveGroupModel.m */; };
 		BCFE54002814E1BE00AD6786 /* HomeVideoGroupModel.m in Sources */ = {isa = PBXBuildFile; fileRef = BCFE53FE2814E1BE00AD6786 /* HomeVideoGroupModel.m */; };
+		BCFE540328152A8500AD6786 /* KSOrderManager.m in Sources */ = {isa = PBXBuildFile; fileRef = BCFE540228152A8500AD6786 /* KSOrderManager.m */; };
+		BCFE5406281545C600AD6786 /* HomeAlbumModel.m in Sources */ = {isa = PBXBuildFile; fileRef = BCFE5405281545C500AD6786 /* HomeAlbumModel.m */; };
 		C56C141D9D9D478077F14C1E /* Pods_KulexiuForStudent_KulexiuForStudentUITests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C9C170A749B6C49F17AC3246 /* Pods_KulexiuForStudent_KulexiuForStudentUITests.framework */; };
 /* End PBXBuildFile section */
 
@@ -1672,6 +1674,10 @@
 		BCFE53FC2814E1BD00AD6786 /* HomeLiveGroupModel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HomeLiveGroupModel.h; sourceTree = "<group>"; };
 		BCFE53FD2814E1BE00AD6786 /* HomeLiveGroupModel.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = HomeLiveGroupModel.m; sourceTree = "<group>"; };
 		BCFE53FE2814E1BE00AD6786 /* HomeVideoGroupModel.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = HomeVideoGroupModel.m; sourceTree = "<group>"; };
+		BCFE540128152A8500AD6786 /* KSOrderManager.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = KSOrderManager.h; sourceTree = "<group>"; };
+		BCFE540228152A8500AD6786 /* KSOrderManager.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = KSOrderManager.m; sourceTree = "<group>"; };
+		BCFE5404281545C500AD6786 /* HomeAlbumModel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HomeAlbumModel.h; sourceTree = "<group>"; };
+		BCFE5405281545C500AD6786 /* HomeAlbumModel.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = HomeAlbumModel.m; sourceTree = "<group>"; };
 		C9C170A749B6C49F17AC3246 /* Pods_KulexiuForStudent_KulexiuForStudentUITests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_KulexiuForStudent_KulexiuForStudentUITests.framework; sourceTree = BUILT_PRODUCTS_DIR; };
 		D5D730A1D1EC18E5028F1AD7 /* Pods-KulexiuForStudent-KulexiuForStudentUITests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-KulexiuForStudent-KulexiuForStudentUITests.release.xcconfig"; path = "Target Support Files/Pods-KulexiuForStudent-KulexiuForStudentUITests/Pods-KulexiuForStudent-KulexiuForStudentUITests.release.xcconfig"; sourceTree = "<group>"; };
 		DD4D637EF600D0BAE869423D /* Pods_KulexiuForStudentTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_KulexiuForStudentTests.framework; sourceTree = BUILT_PRODUCTS_DIR; };
@@ -1990,6 +1996,8 @@
 			children = (
 				BCFE53F928129A5500AD6786 /* TeacherStyleModel.h */,
 				BCFE53F828129A5500AD6786 /* TeacherStyleModel.m */,
+				BCFE5404281545C500AD6786 /* HomeAlbumModel.h */,
+				BCFE5405281545C500AD6786 /* HomeAlbumModel.m */,
 				BCFE53FC2814E1BD00AD6786 /* HomeLiveGroupModel.h */,
 				BCFE53FD2814E1BE00AD6786 /* HomeLiveGroupModel.m */,
 				BCFE53FB2814E1BD00AD6786 /* HomeVideoGroupModel.h */,
@@ -3017,6 +3025,8 @@
 				275FA1D627E7351800CFEA2E /* KSBaseViewController.m */,
 				275FA1D527E7351800CFEA2E /* KSBaseWKWebViewController.h */,
 				275FA1CE27E7351700CFEA2E /* KSBaseWKWebViewController.m */,
+				BCFE540128152A8500AD6786 /* KSOrderManager.h */,
+				BCFE540228152A8500AD6786 /* KSOrderManager.m */,
 				275FA1C027E7351600CFEA2E /* KSLocalWebViewController.h */,
 				275FA1B927E7351500CFEA2E /* KSLocalWebViewController.m */,
 				275FA1CA27E7351700CFEA2E /* KSNetTypeManager.h */,
@@ -4563,6 +4573,7 @@
 				2723B61D27F157D500E0B90B /* GroupNoticeViewController.m in Sources */,
 				BC0212F727FC4A080040569F /* SubjectImageCell.m in Sources */,
 				277935D027E324A90010E277 /* ALCalendarDate.m in Sources */,
+				BCFE540328152A8500AD6786 /* KSOrderManager.m in Sources */,
 				2723B64427F15B5900E0B90B /* SCIndexViewConfiguration.m in Sources */,
 				2779358527E324A80010E277 /* LLFileManager.m in Sources */,
 				BCB6346D27F6D29600ACFDCF /* KSEnterLiveroomManager.m in Sources */,
@@ -4682,6 +4693,7 @@
 				BCB6356627F6D2A300ACFDCF /* DeviceMessage.m in Sources */,
 				BCBFDF3728110C660052AFE5 /* HomeNavView.m in Sources */,
 				277935D127E324A90010E277 /* ALCalendarCollectionView.m in Sources */,
+				BCFE5406281545C600AD6786 /* HomeAlbumModel.m in Sources */,
 				2779355427E324A70010E277 /* VoNetWorking.m in Sources */,
 				275FA1EE27E7351900CFEA2E /* KSBaseViewController.m in Sources */,
 				2723B63827F157D500E0B90B /* GroupApplyChooseCell.m in Sources */,

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


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

@@ -55,15 +55,15 @@
       <BreakpointProxy
          BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
          <BreakpointContent
-            uuid = "85F6799F-87FB-4066-950A-042BBCF48277"
+            uuid = "A085F06F-9154-4262-B0F9-974A805509C6"
             shouldBeEnabled = "Yes"
             ignoreCount = "0"
             continueAfterRunningActions = "No"
             filePath = "KulexiuForStudent/Module/Home/Controller/HomeViewController.m"
             startingColumnNumber = "9223372036854775807"
             endingColumnNumber = "9223372036854775807"
-            startingLineNumber = "794"
-            endingLineNumber = "794"
+            startingLineNumber = "845"
+            endingLineNumber = "845"
             landmarkName = "-homeCourseChooseAction:"
             landmarkType = "7">
          </BreakpointContent>
@@ -71,16 +71,16 @@
       <BreakpointProxy
          BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
          <BreakpointContent
-            uuid = "A085F06F-9154-4262-B0F9-974A805509C6"
+            uuid = "68B45DB8-FA35-44FF-84DB-7F955970CF6B"
             shouldBeEnabled = "Yes"
             ignoreCount = "0"
             continueAfterRunningActions = "No"
-            filePath = "KulexiuForStudent/Module/Home/Controller/HomeViewController.m"
+            filePath = "KulexiuForStudent/Common/Base/KSOrderManager.m"
             startingColumnNumber = "9223372036854775807"
             endingColumnNumber = "9223372036854775807"
-            startingLineNumber = "797"
-            endingLineNumber = "797"
-            landmarkName = "-homeCourseChooseAction:"
+            startingLineNumber = "21"
+            endingLineNumber = "21"
+            landmarkName = "+dealWithAliOrder:"
             landmarkType = "7">
          </BreakpointContent>
       </BreakpointProxy>

+ 20 - 15
KulexiuForStudent/KulexiuForStudent/Common/Base/KSBaseWKWebViewController.m

@@ -17,8 +17,8 @@
 #import "KSLocalWebViewController.h"
 #import "RCConnectionManager.h"
 #import "KSAccompanyWebViewController.h"
-
-//#import "ChatConversationViewController.h"
+#import "KSChatConversationViewController.h"
+#import "KSOrderManager.h"
 
 @interface KSBaseWKWebViewController ()
 
@@ -258,9 +258,9 @@
         NSDictionary *valueDic = [parm dictionaryValueForKey:@"content"];
         NSString *name = [valueDic stringValueForKey:@"name"];
         NSString *userId = [NSString stringWithFormat:@"%.0f",[valueDic floatValueForKey:@"userId"]];
-//        ChatConversationViewController *conversationVC = [[ChatConversationViewController alloc] initWithConversationType:ConversationType_PRIVATE targetId:[NSString returnNoNullStringWithString:userId]];
-//        conversationVC.title = [NSString returnNoNullStringWithString:name];
-//        [self.navigationController pushViewController:conversationVC animated:YES];
+        KSChatConversationViewController *conversationVC = [[KSChatConversationViewController alloc] initWithConversationType:ConversationType_PRIVATE targetId:[NSString returnNoNullStringWithString:userId]];
+        conversationVC.title = [NSString returnNoNullStringWithString:name];
+        [self.navigationController pushViewController:conversationVC animated:YES];
     }
     else if ([[parm stringValueForKey:@"api"] isEqualToString:@"openWebView"]) { // 打开新页面
         NSDictionary *valueDic = [parm dictionaryValueForKey:@"content"];
@@ -293,16 +293,16 @@
         NSDictionary *valueDic = [parm dictionaryValueForKey:@"content"];
         if ([valueDic stringValueForKey:@"PDF"]) {
             NSString *url = [valueDic stringValueForKey:@"downloadUrl"];
-//            [KSNetworkingManager downloadFileRequestWithFileUrl:url progress:^(int64_t bytesRead, int64_t totalBytes) {
-//
-//            } success:^(NSURL * _Nonnull fileUrl) {
-//                MJWeakSelf;
-//                [self KSShowMsg:@"下载成功" promptCompletion:^{
-//                    [weakSelf displaySource:fileUrl];
-//                }];
-//            } faliure:^(NSError * _Nonnull error) {
-//
-//            }];
+            [KSNetworkingManager downloadFileRequestWithFileUrl:url progress:^(int64_t bytesRead, int64_t totalBytes) {
+
+            } success:^(NSURL * _Nonnull fileUrl) {
+                MJWeakSelf;
+                [self KSShowMsg:@"下载成功" promptCompletion:^{
+                    [weakSelf displaySource:fileUrl];
+                }];
+            } faliure:^(NSError * _Nonnull error) {
+
+            }];
         }
     }
     // 回调是否刘海屏
@@ -397,6 +397,11 @@
             make.top.mas_equalTo(self.view.mas_top).offset(navHeight);
         }];
     }
+    else if ([[parm stringValueForKey:@"api"] isEqualToString:@"paymentOrder"]) {
+        NSString *infoMessage = [[parm dictionaryValueForKey:@"content"] stringValueForKey:@"payInfo"];
+        [KSOrderManager dealWithAliOrder:infoMessage];
+    }
+    
 //    else if ([[parm stringValueForKey:@"api"] isEqualToString:@"enterLiveRoom"]) { // 进入直播间
 //        NSDictionary *valueDic = [parm dictionaryValueForKey:@"content"];
 //        NSString *roomId = [valueDic stringValueForKey:@"roomId"];

+ 11 - 0
KulexiuForStudent/KulexiuForStudent/Common/Base/KSNetworkingManager.h

@@ -472,6 +472,17 @@ NS_ASSUME_NONNULL_BEGIN
 /// @param success 成功
 /// @param faliure 失败
 + (void)homeQueryLiveAndVideo:(NSString *)get success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure;
+
+// /api-student/music/album/list
+
+/// 首页热门专辑
+/// @param post post
+/// @param page 分页
+/// @param rows 条数
+/// @param success 成功
+/// @param faliure 失败
++ (void)HomeHotAlbumRequest:(NSString *)post page:(NSInteger)page rows:(NSInteger)rows success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure;
+
 @end
 
 NS_ASSUME_NONNULL_END

+ 18 - 0
KulexiuForStudent/KulexiuForStudent/Common/Base/KSNetworkingManager.m

@@ -1004,4 +1004,22 @@
     NSString *url = [NSString stringWithFormat:@"%@%@",hostURL, @"/api-student/courseSchedule/queryLiveAndVideo"];
     [self request:get andWithUrl:url and:nil success:success faliure:faliure];
 }
+
+// /api-student/music/album/list
+
+/// 首页热门专辑
+/// @param post post
+/// @param page 分页
+/// @param rows 条数
+/// @param success 成功
+/// @param faliure 失败
++ (void)HomeHotAlbumRequest:(NSString *)post page:(NSInteger)page rows:(NSInteger)rows success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
+    [self configRequestMethodJSON];
+    NSString *url = [NSString stringWithFormat:@"%@%@", hostURL, @"/api-student/music/album/list"];
+    NSMutableDictionary *parm = [NSMutableDictionary dictionary];
+    [parm setValue:@(1) forKey:@"albumStatus"];
+    [parm setValue:@(page) forKey:@"page"];
+    [parm setValue:@(rows) forKey:@"rows"];
+    [self request:post andWithUrl:url and:parm success:success faliure:faliure];
+}
 @end

+ 19 - 0
KulexiuForStudent/KulexiuForStudent/Common/Base/KSOrderManager.h

@@ -0,0 +1,19 @@
+//
+//  KSOrderManager.h
+//  KulexiuForStudent
+//
+//  Created by 王智 on 2022/4/24.
+//
+
+#import <Foundation/Foundation.h>
+
+NS_ASSUME_NONNULL_BEGIN
+
+@interface KSOrderManager : NSObject
+
++ (void)dealWithAliOrder:(NSString *)infoMessage;
+
+
+@end
+
+NS_ASSUME_NONNULL_END

+ 30 - 0
KulexiuForStudent/KulexiuForStudent/Common/Base/KSOrderManager.m

@@ -0,0 +1,30 @@
+//
+//  KSOrderManager.m
+//  KulexiuForStudent
+//
+//  Created by 王智 on 2022/4/24.
+//
+
+#import "KSOrderManager.h"
+
+@implementation KSOrderManager
+
++ (void)dealWithAliOrder:(NSString *)infoMessage {
+    NSURL *url = [NSURL URLWithString:infoMessage];
+    if ([[UIApplication sharedApplication] canOpenURL:url]) {
+//        [[UIApplication sharedApplication] openURL:url];
+        [[UIApplication sharedApplication] openURL:url options:@{} completionHandler:^(BOOL success) {
+            if (success) {
+                NSLog(@"success");
+            }
+            else {
+                NSLog(@"------");
+            }
+        }];
+    }
+    else {
+        NSLog(@"无法打开该链接---- %@----", infoMessage);
+    }
+}
+
+@end

+ 1 - 0
KulexiuForStudent/KulexiuForStudent/Common/Define/PrefixHeader.pch

@@ -113,6 +113,7 @@ shouldPrevent = NO; \
 #define hostURL (@"http://dev.colexiu.com")
 #define SEALCLASSHOST (@"http://dev.colexiu.com/api-im")
 #define WEBHOST (@"http://dev.colexiu.com/student")
+//#define WEBHOST (@"http://192.168.3.63:5000/student")
 #define SOCKET_URL (@"ws://mteadev.colexiu.com/audioAnalysis")
 #define JSPUSH_ENVIRONMENT (NO)
 #define RCIM_KEY (@"0vnjpoad0jbdz")

+ 15 - 0
KulexiuForStudent/KulexiuForStudent/Info.plist

@@ -2,6 +2,21 @@
 <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
 <plist version="1.0">
 <dict>
+	<key>CFBundleURLTypes</key>
+	<array>
+		<dict>
+			<key>CFBundleTypeRole</key>
+			<string>Editor</string>
+			<key>CFBundleURLSchemes</key>
+			<array>
+				<string>ColexiuStudent</string>
+			</array>
+		</dict>
+	</array>
+	<key>LSApplicationQueriesSchemes</key>
+	<array>
+		<string>alipays</string>
+	</array>
 	<key>NSAppTransportSecurity</key>
 	<dict>
 		<key>NSAllowsArbitraryLoads</key>

+ 4 - 0
KulexiuForStudent/KulexiuForStudent/Module/Chat/GroupNotice/Model/GroupNoticeModel.m

@@ -95,6 +95,10 @@ NSString *const kGroupNoticeModelAvatar = @"avatar";
 - (id)objectOrNilForKey:(id)aKey fromDictionary:(NSDictionary *)dict
 {
     id object = [dict objectForKey:aKey];
+    if ([object isKindOfClass:[NSNumber class]]) {
+        NSNumber *number = object;
+        object = [number stringValue];
+    }
     return [object isEqual:[NSNull null]] ? nil : object;
 }
 

+ 251 - 151
KulexiuForStudent/KulexiuForStudent/Module/Home/Controller/HomeViewController.m

@@ -23,6 +23,7 @@
 
 #import "HomeHotAlbumView.h"
 #import "HomeHotAlbumCell.h"
+#import "HomeAlbumModel.h"
 
 #import "HomeHotCourseView.h"
 #import "HomeIntroduceView.h"
@@ -43,10 +44,19 @@
 #import "HomeVideoCourseCell.h"
 #import "HomeVideoGroupModel.h"
 
+#import "WMPlayer.h"  // 播放相关
+
 #define BUTTONWIDTH (80)
 #define BUTTONHEIGHT (80)
 
-@interface HomeViewController ()<TYCyclePagerViewDataSource,TYCyclePagerViewDelegate,UITableViewDelegate,UITableViewDataSource,UIScrollViewDelegate,UICollectionViewDelegate, UICollectionViewDelegateFlowLayout,UICollectionViewDataSource>
+@interface HomeViewController ()<TYCyclePagerViewDataSource,TYCyclePagerViewDelegate,UITableViewDelegate,UITableViewDataSource,UIScrollViewDelegate,UICollectionViewDelegate, UICollectionViewDelegateFlowLayout,UICollectionViewDataSource,WMPlayerDelegate>
+{
+    WMPlayer *_wmPlayer;
+    CGRect _playerFrame;
+}
+@property (nonatomic, strong) UIView *bgView;
+
+@property (nonatomic, assign) BOOL isRatation;
 
 @property (nonatomic, strong) UITableView *tableView;
 
@@ -58,15 +68,18 @@
 @property (nonatomic, strong) HomeBannerView *bannerView;  // banner container
 @property (nonatomic, strong) TYCyclePagerView *bannerScroll; // 活动
 @property (nonatomic, strong) NSMutableArray *bannerArray; // banner 数据
+@property (nonatomic, assign) CGFloat bannerViewHeight; // banner 高度
 
 @property (nonatomic, strong) HomeButtonView *buttonContainer; // button container
 @property (nonatomic, strong) UIScrollView *buttonScrollView;
 @property (nonatomic, strong) NSMutableArray *buttonArray; // button 内容
 @property (nonatomic, assign) NSInteger buttonDotWidth;
+@property (nonatomic, assign) CGFloat buttonViewHeight; // button view 高度
 
 @property (nonatomic, strong) HomeHotAlbumView *albumView; // albumView container
 @property (nonatomic, strong) NSMutableArray *albumArray;  // 热门专辑
 @property (nonatomic, strong) UICollectionView *albumCollectionView; // 专辑容器
+@property (nonatomic, assign) CGFloat albumViewHeight; // album 高度
 
 @property (nonatomic, strong) HomeHotCourseView *courseView; // course container
 @property (nonatomic, strong) UIScrollView *courseScroll;    // 课程scroll
@@ -74,20 +87,22 @@
 @property (nonatomic, strong) UITableView *videoCourseTable; // 视频课table
 @property (nonatomic, strong) NSMutableArray *videoCourseArray;
 @property (nonatomic, strong) NSMutableArray *liveCourseArray;
+@property (nonatomic, assign) CGFloat courseViewHeight;
 
 @property (nonatomic, strong) HomeIntroduceView *teacherView; // teacher container
 @property (nonatomic, strong) UICollectionView *infoCollectionView; // 老师风采简介
 @property (nonatomic, strong) NSMutableArray *teacherArray;
-
+@property (nonatomic, assign) CGFloat teachViewHeight;
 
 @property (nonatomic, strong) HotInformationHeadView *informationHeadView; // information Header
+@property (nonatomic, assign) CGFloat informationHeight;
 
 @property (nonatomic, strong) StudentInfoModel *mineInfo;
 
 @property (nonatomic, assign) BOOL hasCourseTips;
 
 @property (nonatomic, strong) HomeCourseTipsView *tipsCourseView;
-
+@property (nonatomic, assign) CGFloat tipsViewHeight;
 @property (nonatomic, assign) BOOL isChooseLive; // 是否选择直播课
 
 @property (nonatomic, assign) NSInteger courseCount;
@@ -102,13 +117,12 @@
     self.ks_prefersNavigationBarHidden = YES;
     self.isChooseLive = YES;
     [self configNavView];
-//    [self requestUserInfo];
     [self configUI];
+    [self requestData];
 }
 
 - (void)viewWillAppear:(BOOL)animated {
     [super viewWillAppear:animated];
-    [self requestData];
 }
 
 - (void)configNavView {
@@ -139,6 +153,101 @@
     self.tableView.mj_header = [KSGifRefreshHeader headerWithRefreshingBlock:^{
         [weakSelf requestData];
     }];
+    
+    // 配置 首页显示
+    [self addDisplayView];
+}
+
+- (void)addDisplayView {
+    CGFloat tableHeaderHeight = 0.0f;
+    [self.tableHeaderView addSubview:self.bannerView];
+    // banner
+    self.bannerViewHeight = [HomeBannerView getViewHeight];
+    tableHeaderHeight += self.bannerViewHeight;
+    [self.bannerView mas_makeConstraints:^(MASConstraintMaker *make) {
+        make.left.right.mas_equalTo(self.tableHeaderView);
+        make.top.mas_equalTo(self.tableHeaderView.mas_top);
+        make.height.mas_equalTo(self.bannerViewHeight);
+    }];
+    // button
+    [self.tableHeaderView addSubview:self.buttonContainer];
+    self.buttonViewHeight = [HomeButtonView getViewHeight];
+    [self.buttonContainer mas_makeConstraints:^(MASConstraintMaker *make) {
+        make.left.right.mas_equalTo(self.tableHeaderView);
+        make.top.mas_equalTo(self.bannerView.mas_bottom);
+        make.height.mas_equalTo(self.buttonViewHeight);
+    }];
+    tableHeaderHeight += self.buttonViewHeight;
+    
+    // 课程提醒
+    [self.tableHeaderView addSubview:self.tipsCourseView];
+    self.tipsViewHeight = CGFLOAT_MIN;
+    self.tipsCourseView.hidden = YES;
+    [self.tipsCourseView mas_makeConstraints:^(MASConstraintMaker *make) {
+        make.left.right.mas_equalTo(self.tableHeaderView);
+        make.top.mas_equalTo(self.buttonContainer.mas_bottom);
+        make.height.mas_equalTo(self.tipsViewHeight);
+    }];
+    tableHeaderHeight += self.tipsViewHeight;
+    // 专辑
+    [self.tableHeaderView addSubview:self.albumView];
+    self.albumViewHeight = [HomeHotAlbumView getViewHeight];
+    [self.albumView mas_makeConstraints:^(MASConstraintMaker *make) {
+        make.left.right.mas_equalTo(self.tableHeaderView);
+        make.top.mas_equalTo(self.tipsCourseView.mas_bottom);
+        make.height.mas_equalTo(self.albumViewHeight);
+    }];
+    tableHeaderHeight += self.albumViewHeight;
+    
+    // 课程
+    [self.tableHeaderView addSubview:self.courseView];
+    self.courseViewHeight = [self.courseView getViewHeightWithCount:10];
+    [self.courseView mas_makeConstraints:^(MASConstraintMaker *make) {
+        make.left.right.mas_equalTo(self.tableHeaderView);
+        make.top.mas_equalTo(self.albumView.mas_bottom);
+        make.height.mas_equalTo(self.courseViewHeight);
+    }];
+    self.courseScroll.contentSize = CGSizeMake(KPortraitWidth * 2, self.courseViewHeight - 59);
+    [self.courseScroll addSubview:self.liveCourseTable];
+    [self.liveCourseTable mas_makeConstraints:^(MASConstraintMaker *make) {
+        make.left.mas_equalTo(self.courseScroll);
+        make.top.bottom.mas_equalTo(self.courseView.courseContainer);
+        make.width.mas_equalTo(KPortraitWidth);
+    }];
+    [self.courseScroll addSubview:self.videoCourseTable];
+    [self.videoCourseTable mas_makeConstraints:^(MASConstraintMaker *make) {
+        make.left.mas_equalTo(_courseScroll.mas_left).offset(KPortraitWidth);
+        make.top.bottom.mas_equalTo(self.courseView.courseContainer);
+        make.width.mas_equalTo(KPortraitWidth);
+    }];
+    tableHeaderHeight += self.courseViewHeight;
+    
+    // 老师风采
+    [self.tableHeaderView addSubview:self.teacherView];
+    self.teachViewHeight = [self.teacherView getViewHeightWithSourceCount:10];
+    
+    [self.teacherView mas_makeConstraints:^(MASConstraintMaker *make) {
+        make.left.right.mas_equalTo(self.tableHeaderView);
+        make.top.mas_equalTo(self.courseView.mas_bottom);
+        make.height.mas_equalTo(self.teachViewHeight);
+    }];
+    tableHeaderHeight += self.teachViewHeight;
+    
+    [self.tableHeaderView addSubview:self.informationHeadView];
+    self.informationHeight = [HotInformationHeadView getViewHeight];
+    [self.informationHeadView mas_remakeConstraints:^(MASConstraintMaker *make) {
+        make.left.right.mas_equalTo(self.tableHeaderView);
+        make.top.mas_equalTo(self.teacherView.mas_bottom);
+        make.height.mas_equalTo(self.informationHeight);
+    }];
+    tableHeaderHeight += self.informationHeight;
+    self.tableHeaderView.frame = CGRectMake(0, 0, KPortraitWidth, tableHeaderHeight);
+}
+
+- (void)refreshTableHeadHeight {
+    CGFloat tableHeaderHeight = self.bannerViewHeight + self.buttonViewHeight + self.tipsViewHeight + self.albumViewHeight + self.courseViewHeight + self.teachViewHeight + self.informationHeight;
+    self.tableHeaderView.frame = CGRectMake(0, 0, KPortraitWidth, tableHeaderHeight);
+    [self.tableView reloadData];
 }
 
 - (void)requestData {
@@ -146,10 +255,49 @@
     // 栅栏函数
     [self requestCourseInfo];
     [self requestTeacherStyle];
+    [self requestHotAlbum];
+}
+
+- (void)requestHotAlbum {
+    [KSNetworkingManager HomeHotAlbumRequest:KS_POST page:1 rows:10 success:^(NSDictionary * _Nonnull dic) {
+        if ([dic integerValueForKey:@"code"] == 200 && [dic boolValueForKey:@"status"]) {
+            NSArray *sourceArray = [[dic dictionaryValueForKey:@"data"] arrayValueForKey:@"rows"];
+            NSMutableArray *albumArray = [NSMutableArray array];
+            for (NSDictionary *parm in sourceArray) {
+                HomeAlbumModel *model = [[HomeAlbumModel alloc] initWithDictionary:parm];
+                [albumArray addObject:model];
+            }
+            self.albumArray = [NSMutableArray arrayWithArray:albumArray];
+        }
+        else {
+            [self MBPShow:MESSAGEKEY];
+        }
+        [self refreshAlbumView];
+        
+    } faliure:^(NSError * _Nonnull error) {
+        
+    }];
+}
+
+- (void)refreshAlbumView {
+    if (self.albumArray.count) {
+        self.albumViewHeight = [HomeHotAlbumView getViewHeight];
+        self.albumView.hidden = NO;
+    }
+    else {
+        self.albumViewHeight = CGFLOAT_MIN;
+        self.albumView.hidden = YES;
+    }
+    [self.albumView mas_updateConstraints:^(MASConstraintMaker *make) {
+        make.height.mas_equalTo(self.albumViewHeight);
+    }];
+    [self.albumCollectionView reloadData];
+    [self refreshTableHeadHeight];
 }
 
 - (void)requestCourseInfo {
     [KSNetworkingManager homeQueryLiveAndVideo:KS_GET success:^(NSDictionary * _Nonnull dic) {
+        [self.tableView.mj_header endRefreshing];
         if ([dic integerValueForKey:@"code"] == 200 && [dic boolValueForKey:@"status"]) {
             NSDictionary *sourceDic = [dic dictionaryValueForKey:@"data"];
             NSArray *liveList = [sourceDic arrayValueForKey:@"liveList"];
@@ -171,11 +319,30 @@
         else {
             [self MBPShow:MESSAGEKEY];
         }
+        [self refreshCourseView];
     } faliure:^(NSError * _Nonnull error) {
-        
+        [self.tableView.mj_header endRefreshing];
     }];
 }
 
+- (void)refreshCourseView {
+    // 课程
+    if (self.liveCourseArray.count && self.videoCourseArray.count) {
+        self.courseCount = self.liveCourseArray.count >= self.videoCourseArray.count ? self.videoCourseArray.count : self.liveCourseArray.count;
+        // 根据课程返回数据显示高度
+        self.courseViewHeight = [self.courseView getViewHeightWithCount:self.courseCount];
+    }
+    else {
+        self.courseViewHeight = CGFLOAT_MIN;
+    }
+    [self.courseView mas_updateConstraints:^(MASConstraintMaker *make) {
+        make.height.mas_equalTo(self.courseViewHeight);
+    }];
+    
+    [self.liveCourseTable reloadData];
+    [self.videoCourseTable reloadData];
+    [self refreshTableHeadHeight];
+}
 
 - (void)requestUserInfo {
     [KSNetworkingManager queryStudentInfoRequest:KS_GET success:^(NSDictionary * _Nonnull dic) {
@@ -198,7 +365,7 @@
 - (void)requestTeacherStyle {
     
     [KSNetworkingManager homeQueryTeacherStyle:KS_POST page:1 rows:10 success:^(NSDictionary * _Nonnull dic) {
-        [self.tableView.mj_header endRefreshing];
+        
         if ([dic integerValueForKey:@"code"] == 200 && [dic boolValueForKey:@"status"]) {
             NSArray *sourceArray = [[dic dictionaryValueForKey:@"data"] arrayValueForKey:@"rows"];
             NSMutableArray *styleArray = [NSMutableArray array];
@@ -212,10 +379,26 @@
             [self MBPShow:MESSAGEKEY];
         }
         // 回调
-        [self refreshUIDisplay];
+        [self refreshTeachView];
     } faliure:^(NSError * _Nonnull error) {
-        [self.tableView.mj_header endRefreshing];
+        
+    }];
+}
+
+- (void)refreshTeachView {
+    if (self.teacherArray.count) {
+        self.teachViewHeight = [self.teacherView getViewHeightWithSourceCount:self.teacherArray.count];
+        self.teacherView.hidden = NO;
+    }
+    else {
+        self.teachViewHeight = CGFLOAT_MIN;
+        self.teacherView.hidden = YES;
+    }
+    [self.teacherView mas_updateConstraints:^(MASConstraintMaker *make) {
+        make.height.mas_equalTo(self.teachViewHeight);
     }];
+    [self.infoCollectionView reloadData];
+    [self refreshTableHeadHeight];
 }
 
 - (void)refreshNavView {
@@ -229,146 +412,6 @@
     self.navView.subjectName.text = subjectName;
 }
 
-- (void)refreshUIDisplay {
-    [self.tableHeaderView removeAllSubViews];
-    
-    CGFloat tableHeaderHeight = 0.0f;
-    
-    NSMutableArray *banner = [NSMutableArray array];
-    
-    for (NSInteger i = 0; i < 4; i++) {
-        HomeMessageModel *model = [[HomeMessageModel alloc] init];
-        [banner addObject:model];
-    }
-    self.bannerArray = [NSMutableArray arrayWithArray:banner];
-    
-    if (self.bannerArray.count) {
-        [self.tableHeaderView addSubview:self.bannerView];
-        CGFloat bannerHeight = [HomeBannerView getViewHeight];
-        tableHeaderHeight += bannerHeight;
-        [self.bannerView mas_remakeConstraints:^(MASConstraintMaker *make) {
-            make.left.right.mas_equalTo(self.tableHeaderView);
-            make.top.mas_equalTo(self.tableHeaderView.mas_top);
-            make.height.mas_equalTo(bannerHeight);
-        }];
-        [self refreshBannaerView];
-    }
-
-    NSMutableArray *buttonArr = [NSMutableArray array];
-    
-    for (NSInteger i = 0; i < 4; i++) {
-        HomeMessageModel *model = [[HomeMessageModel alloc] init];
-        [buttonArr addObject:model];
-    }
-    self.buttonArray = [NSMutableArray arrayWithArray:buttonArr];
-    
-    if (self.buttonArray.count) {
-        [self.tableHeaderView addSubview:self.buttonContainer];
-        CGFloat buttonViewHeight = [HomeButtonView getViewHeight];
-        [self.buttonContainer mas_remakeConstraints:^(MASConstraintMaker *make) {
-            make.left.right.mas_equalTo(self.tableHeaderView);
-            make.top.mas_equalTo(self.tableHeaderView.mas_top).offset(tableHeaderHeight);
-            make.height.mas_equalTo(buttonViewHeight);
-        }];
-        tableHeaderHeight += buttonViewHeight;
-        [self showButtonMessage];
-    }
-    
-    // 如果有最近课程
-    self.hasCourseTips = YES;
-    if (self.hasCourseTips) { // 课程提醒
-        [self.tableHeaderView addSubview:self.tipsCourseView];
-        CGFloat tipsViewHeight = [HomeCourseTipsView getViewHeight];
-        [self.tipsCourseView mas_remakeConstraints:^(MASConstraintMaker *make) {
-            make.left.right.mas_equalTo(self.tableHeaderView);
-            make.top.mas_equalTo(self.tableHeaderView.mas_top).offset(tableHeaderHeight);
-            make.height.mas_equalTo(tipsViewHeight);
-        }];
-        tableHeaderHeight += tipsViewHeight;
-        // 渲染页面
-    }
-    
-    NSMutableArray *albumArr = [NSMutableArray array];
-    for (NSInteger i = 0; i < 10; i++) {
-        HomeMessageModel *model = [[HomeMessageModel alloc] init];
-        [albumArr addObject:model];
-    }
-    self.albumArray = [NSMutableArray arrayWithArray:albumArr];
-    
-    if (self.albumArray.count) { // 热门专辑
-        [self.tableHeaderView addSubview:self.albumView];
-        CGFloat albumHeight = [HomeHotAlbumView getViewHeight];
-        [self.albumView mas_remakeConstraints:^(MASConstraintMaker *make) {
-            make.left.right.mas_equalTo(self.tableHeaderView);
-            make.top.mas_equalTo(self.tableHeaderView.mas_top).offset(tableHeaderHeight);
-            make.height.mas_equalTo(albumHeight);
-        }];
-        tableHeaderHeight += albumHeight;
-    }
-    
-    // 课程
-    if (self.liveCourseArray.count && self.videoCourseArray.count) {
-        self.courseCount = self.liveCourseArray.count >= self.videoCourseArray.count ? self.videoCourseArray.count : self.liveCourseArray.count;
-        [self.tableHeaderView addSubview:self.courseView];
-        // 根据课程返回数据显示高度
-        CGFloat courseViewHeight = [self.courseView getViewHeightWithCount:self.courseCount];
-        [self.courseView mas_remakeConstraints:^(MASConstraintMaker *make) {
-            make.left.right.mas_equalTo(self.tableHeaderView);
-            make.top.mas_equalTo(self.tableHeaderView.mas_top).offset(tableHeaderHeight);
-            make.height.mas_equalTo(courseViewHeight);
-        }];
-        [self.courseScroll removeAllSubViews];
-        self.courseScroll.contentSize = CGSizeMake(KPortraitWidth * 2, courseViewHeight - 59);
-        [self.courseScroll addSubview:self.liveCourseTable];
-        [self.liveCourseTable mas_makeConstraints:^(MASConstraintMaker *make) {
-            make.left.mas_equalTo(self.courseScroll);
-            make.top.bottom.mas_equalTo(self.courseView.courseContainer);
-            make.width.mas_equalTo(KPortraitWidth);
-        }];
-        [self.courseScroll addSubview:self.videoCourseTable];
-        [self.videoCourseTable mas_makeConstraints:^(MASConstraintMaker *make) {
-            make.left.mas_equalTo(_courseScroll.mas_left).offset(KPortraitWidth);
-            make.top.bottom.mas_equalTo(self.courseView.courseContainer);
-            make.width.mas_equalTo(KPortraitWidth);
-        }];
-        tableHeaderHeight += courseViewHeight;
-        [self.liveCourseTable reloadData];
-        [self.videoCourseTable reloadData];
-    }
-    if (self.teacherArray.count) {
-        [self.tableHeaderView addSubview:self.teacherView];
-        CGFloat teacherContentHeight = [self.teacherView getViewHeightWithSourceCount:self.teacherArray.count];
-        
-        [self.teacherView mas_remakeConstraints:^(MASConstraintMaker *make) {
-            make.left.right.mas_equalTo(self.tableHeaderView);
-            make.top.mas_equalTo(self.tableHeaderView.mas_top).offset(tableHeaderHeight);
-            make.height.mas_equalTo(teacherContentHeight);
-        }];
-        tableHeaderHeight += teacherContentHeight;
-    }
-    
-    [self.tableHeaderView addSubview:self.informationHeadView];
-    CGFloat informationHeadHeight = [HotInformationHeadView getViewHeight];
-    [self.informationHeadView mas_remakeConstraints:^(MASConstraintMaker *make) {
-        make.left.right.mas_equalTo(self.tableHeaderView);
-        make.top.mas_equalTo(self.tableHeaderView.mas_top).offset(tableHeaderHeight);
-        make.height.mas_equalTo(informationHeadHeight);
-    }];
-    tableHeaderHeight += informationHeadHeight;
-    
-    // test
-    NSMutableArray *sourceArray = [NSMutableArray array];
-    
-    for (NSInteger i = 0; i < 4; i++) {
-        HomeMessageModel *model = [[HomeMessageModel alloc] init];
-        [sourceArray addObject:model];
-    }
-    self.dataArray = [NSMutableArray arrayWithArray:sourceArray];
-    
-    self.tableHeaderView.frame = CGRectMake(0, 0, KPortraitWidth, tableHeaderHeight);
-    [self.tableView reloadData];
-}
-
 - (void)refreshBannaerView {
     if (self.bannerArray.count > 1) {
         self.bannerScroll.autoScrollInterval = 3.0f;
@@ -545,7 +588,9 @@
 
 - (__kindof UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath {
     if (collectionView == self.albumCollectionView) {
+        HomeAlbumModel *model = self.albumArray[indexPath.item];
         HomeHotAlbumCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:@"HomeHotAlbumCell" forIndexPath:indexPath];
+        [cell configWithAlbumModel:model];
         return cell;
     }
     else {
@@ -564,6 +609,8 @@
         return;
     }
     // 播放视频
+    [self playVideoWithUrl:videoUrl];
+    
 }
 
 - (void)collectionView:(UICollectionView *)collectionView didSelectItemAtIndexPath:(NSIndexPath *)indexPath {
@@ -578,7 +625,7 @@
 
 - (CGSize)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout *)collectionViewLayout sizeForItemAtIndexPath:(NSIndexPath *)indexPath {
     if (collectionView == self.albumCollectionView) {
-        return CGSizeMake(120, 140);
+        return CGSizeMake(110, 140);
     }
     else {
         return CGSizeMake((KPortraitWidth - 28 - 11) / 2.0f, 164);
@@ -602,7 +649,7 @@
         }];
     }
     else if (scrollView == self.courseScroll) {
-        NSLog(@"------");
+        
     }
 }
     
@@ -706,6 +753,7 @@
 }
 
 - (void)moreAlbumDetail {
+    return;
     KSBaseWKWebViewController *ctrl = [[KSBaseWKWebViewController alloc] init];
     ctrl.url = [NSString stringWithFormat:@"%@%@", WEBHOST, @""];
     [self.navigationController pushViewController:ctrl animated:YES];
@@ -979,6 +1027,58 @@
 }
 
 
+#pragma mark ------ WMPlayer
+- (void)playVideoWithUrl:(NSString *)fileUrl {
+    fileUrl = [fileUrl stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLQueryAllowedCharacterSet]];
+    _playerFrame = CGRectMake(0, iPhoneXSafeTopMargin, kScreenWidth, kScreenHeight - iPhoneXSafeTopMargin - iPhoneXSafeBottomMargin);
+    _wmPlayer = [[WMPlayer alloc] initWithFrame:_playerFrame];
+    WMPlayerModel *playModel = [[WMPlayerModel alloc] init];
+    playModel.videoURL = [NSURL URLWithString:fileUrl];
+    _wmPlayer.playerModel = playModel;
+    _wmPlayer.delegate = self;
+    _bgView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, kScreenWidth, kScreenHeight)];
+    _bgView.backgroundColor = [UIColor blackColor];
+    [[UIApplication sharedApplication].keyWindow addSubview:_bgView];
+    [[UIApplication sharedApplication].keyWindow addSubview:_wmPlayer];
+    [[UIApplication sharedApplication].keyWindow bringSubviewToFront:_wmPlayer];
+    
+    [_wmPlayer play];
+}
+
+- (void)wmplayer:(WMPlayer *)wmplayer clickedCloseButton:(UIButton *)backBtn {
+    [wmplayer removePlayer];
+    [_bgView removeFromSuperview];
+    [self setNeedsStatusBarAppearanceUpdate];
+}
+
+- (void)wmplayer:(WMPlayer *)wmplayer clickedFullScreenButton:(UIButton *)fullScreenBtn {
+    self.isRatation = !self.isRatation;
+    
+    if (self.isRatation) {
+        [wmplayer removeFromSuperview];
+        [UIView animateWithDuration:1.0f animations:^{
+            wmplayer.transform = CGAffineTransformMakeRotation(M_PI_2);
+            
+        } completion:^(BOOL finished) {
+            wmplayer.frame = CGRectMake(0, iPhoneXSafeTopMargin, kScreenWidth, kScreenHeight - iPhoneXSafeTopMargin - iPhoneXSafeBottomMargin);
+            [[UIApplication sharedApplication].keyWindow addSubview:wmplayer];
+            [[UIApplication sharedApplication].keyWindow bringSubviewToFront:wmplayer];
+        }];
+    }
+    else {
+        [wmplayer removeFromSuperview];
+        
+        [UIView animateWithDuration:1.0f animations:^{
+            //        复原
+            wmplayer.transform = CGAffineTransformIdentity;
+            
+        } completion:^(BOOL finished) {
+            wmplayer.frame = CGRectMake(0, iPhoneXSafeTopMargin, kScreenWidth, kScreenHeight - iPhoneXSafeTopMargin - iPhoneXSafeBottomMargin);
+            [[UIApplication sharedApplication].keyWindow addSubview:wmplayer];
+            [[UIApplication sharedApplication].keyWindow bringSubviewToFront:wmplayer];
+        }];
+    }
+}
 
 
 - (void)dealloc {

+ 35 - 0
KulexiuForStudent/KulexiuForStudent/Module/Home/Model/HomeAlbumModel.h

@@ -0,0 +1,35 @@
+//
+//  HomeAlbumModel.h
+//
+//  Created by Steven  on 2022/4/24
+//  Copyright (c) 2022 __MyCompanyName__. All rights reserved.
+//
+
+#import <Foundation/Foundation.h>
+
+
+
+@interface HomeAlbumModel : NSObject <NSCoding, NSCopying>
+
+@property (nonatomic, strong) NSString *internalBaseClassIdentifier;
+@property (nonatomic, assign) NSInteger albumFavoriteCount;
+@property (nonatomic, strong) NSString *topFlag;
+@property (nonatomic, strong) NSString *musicTagNames;
+@property (nonatomic, strong) NSString *updateBy;
+@property (nonatomic, strong) NSString *albumCoverUrl;
+@property (nonatomic, strong) NSString *albumTag;
+@property (nonatomic, assign) NSInteger musicSheetCount;
+@property (nonatomic, assign) NSInteger albumStatus;
+@property (nonatomic, strong) NSString *albumDesc;
+@property (nonatomic, strong) NSString *createBy;
+@property (nonatomic, strong) NSString *createTime;
+@property (nonatomic, strong) NSString *hotFlag;
+@property (nonatomic, assign) NSInteger sortNumber;
+@property (nonatomic, strong) NSString *albumName;
+@property (nonatomic, strong) NSString *updateTime;
+
++ (instancetype)modelObjectWithDictionary:(NSDictionary *)dict;
+- (instancetype)initWithDictionary:(NSDictionary *)dict;
+- (NSDictionary *)dictionaryRepresentation;
+
+@end

+ 204 - 0
KulexiuForStudent/KulexiuForStudent/Module/Home/Model/HomeAlbumModel.m

@@ -0,0 +1,204 @@
+//
+//  HomeAlbumModel.m
+//
+//  Created by Steven  on 2022/4/24
+//  Copyright (c) 2022 __MyCompanyName__. All rights reserved.
+//
+
+#import "HomeAlbumModel.h"
+
+
+NSString *const kHomeAlbumModelId = @"id";
+NSString *const kHomeAlbumModelAlbumFavoriteCount = @"albumFavoriteCount";
+NSString *const kHomeAlbumModelTopFlag = @"topFlag";
+NSString *const kHomeAlbumModelMusicTagNames = @"musicTagNames";
+NSString *const kHomeAlbumModelUpdateBy = @"updateBy";
+NSString *const kHomeAlbumModelAlbumCoverUrl = @"albumCoverUrl";
+NSString *const kHomeAlbumModelAlbumTag = @"albumTag";
+NSString *const kHomeAlbumModelMusicSheetCount = @"musicSheetCount";
+NSString *const kHomeAlbumModelAlbumStatus = @"albumStatus";
+NSString *const kHomeAlbumModelAlbumDesc = @"albumDesc";
+NSString *const kHomeAlbumModelCreateBy = @"createBy";
+NSString *const kHomeAlbumModelCreateTime = @"createTime";
+NSString *const kHomeAlbumModelHotFlag = @"hotFlag";
+NSString *const kHomeAlbumModelSortNumber = @"sortNumber";
+NSString *const kHomeAlbumModelAlbumName = @"albumName";
+NSString *const kHomeAlbumModelUpdateTime = @"updateTime";
+
+
+@interface HomeAlbumModel ()
+
+- (id)objectOrNilForKey:(id)aKey fromDictionary:(NSDictionary *)dict;
+
+@end
+
+@implementation HomeAlbumModel
+
+@synthesize internalBaseClassIdentifier = _internalBaseClassIdentifier;
+@synthesize albumFavoriteCount = _albumFavoriteCount;
+@synthesize topFlag = _topFlag;
+@synthesize musicTagNames = _musicTagNames;
+@synthesize updateBy = _updateBy;
+@synthesize albumCoverUrl = _albumCoverUrl;
+@synthesize albumTag = _albumTag;
+@synthesize musicSheetCount = _musicSheetCount;
+@synthesize albumStatus = _albumStatus;
+@synthesize albumDesc = _albumDesc;
+@synthesize createBy = _createBy;
+@synthesize createTime = _createTime;
+@synthesize hotFlag = _hotFlag;
+@synthesize sortNumber = _sortNumber;
+@synthesize albumName = _albumName;
+@synthesize updateTime = _updateTime;
+
+
++ (instancetype)modelObjectWithDictionary:(NSDictionary *)dict
+{
+    return [[self alloc] initWithDictionary:dict];
+}
+
+- (instancetype)initWithDictionary:(NSDictionary *)dict
+{
+    self = [super init];
+    
+    // This check serves to make sure that a non-NSDictionary object
+    // passed into the model class doesn't break the parsing.
+    if(self && [dict isKindOfClass:[NSDictionary class]]) {
+            self.internalBaseClassIdentifier = [self objectOrNilForKey:kHomeAlbumModelId fromDictionary:dict];
+            self.albumFavoriteCount = [[self objectOrNilForKey:kHomeAlbumModelAlbumFavoriteCount fromDictionary:dict] integerValue];
+            self.topFlag = [self objectOrNilForKey:kHomeAlbumModelTopFlag fromDictionary:dict];
+            self.musicTagNames = [self objectOrNilForKey:kHomeAlbumModelMusicTagNames fromDictionary:dict];
+            self.updateBy = [self objectOrNilForKey:kHomeAlbumModelUpdateBy fromDictionary:dict];
+            self.albumCoverUrl = [self objectOrNilForKey:kHomeAlbumModelAlbumCoverUrl fromDictionary:dict];
+            self.albumTag = [self objectOrNilForKey:kHomeAlbumModelAlbumTag fromDictionary:dict];
+            self.musicSheetCount = [[self objectOrNilForKey:kHomeAlbumModelMusicSheetCount fromDictionary:dict] integerValue];
+            self.albumStatus = [[self objectOrNilForKey:kHomeAlbumModelAlbumStatus fromDictionary:dict] integerValue];
+            self.albumDesc = [self objectOrNilForKey:kHomeAlbumModelAlbumDesc fromDictionary:dict];
+            self.createBy = [self objectOrNilForKey:kHomeAlbumModelCreateBy fromDictionary:dict];
+            self.createTime = [self objectOrNilForKey:kHomeAlbumModelCreateTime fromDictionary:dict];
+            self.hotFlag = [self objectOrNilForKey:kHomeAlbumModelHotFlag fromDictionary:dict];
+            self.sortNumber = [[self objectOrNilForKey:kHomeAlbumModelSortNumber fromDictionary:dict] integerValue];
+            self.albumName = [self objectOrNilForKey:kHomeAlbumModelAlbumName fromDictionary:dict];
+            self.updateTime = [self objectOrNilForKey:kHomeAlbumModelUpdateTime fromDictionary:dict];
+
+    }
+    
+    return self;
+    
+}
+
+- (NSDictionary *)dictionaryRepresentation
+{
+    NSMutableDictionary *mutableDict = [NSMutableDictionary dictionary];
+    [mutableDict setValue:self.internalBaseClassIdentifier forKey:kHomeAlbumModelId];
+    [mutableDict setValue:[NSNumber numberWithInteger:self.albumFavoriteCount] forKey:kHomeAlbumModelAlbumFavoriteCount];
+    [mutableDict setValue:self.topFlag forKey:kHomeAlbumModelTopFlag];
+    [mutableDict setValue:self.musicTagNames forKey:kHomeAlbumModelMusicTagNames];
+    [mutableDict setValue:self.updateBy forKey:kHomeAlbumModelUpdateBy];
+    [mutableDict setValue:self.albumCoverUrl forKey:kHomeAlbumModelAlbumCoverUrl];
+    [mutableDict setValue:self.albumTag forKey:kHomeAlbumModelAlbumTag];
+    [mutableDict setValue:[NSNumber numberWithInteger:self.musicSheetCount] forKey:kHomeAlbumModelMusicSheetCount];
+    [mutableDict setValue:[NSNumber numberWithInteger:self.albumStatus] forKey:kHomeAlbumModelAlbumStatus];
+    [mutableDict setValue:self.albumDesc forKey:kHomeAlbumModelAlbumDesc];
+    [mutableDict setValue:self.createBy forKey:kHomeAlbumModelCreateBy];
+    [mutableDict setValue:self.createTime forKey:kHomeAlbumModelCreateTime];
+    [mutableDict setValue:self.hotFlag forKey:kHomeAlbumModelHotFlag];
+    [mutableDict setValue:[NSNumber numberWithInteger:self.sortNumber] forKey:kHomeAlbumModelSortNumber];
+    [mutableDict setValue:self.albumName forKey:kHomeAlbumModelAlbumName];
+    [mutableDict setValue:self.updateTime forKey:kHomeAlbumModelUpdateTime];
+
+    return [NSDictionary dictionaryWithDictionary:mutableDict];
+}
+
+- (NSString *)description 
+{
+    return [NSString stringWithFormat:@"%@", [self dictionaryRepresentation]];
+}
+
+#pragma mark - Helper Method
+- (id)objectOrNilForKey:(id)aKey fromDictionary:(NSDictionary *)dict
+{
+    id object = [dict objectForKey:aKey];
+    if ([object isKindOfClass:[NSNumber class]]) {
+        NSNumber *number = object;
+        object = [number stringValue];
+    }
+    return [object isEqual:[NSNull null]] ? nil : object;
+}
+
+
+#pragma mark - NSCoding Methods
+
+- (id)initWithCoder:(NSCoder *)aDecoder
+{
+    self = [super init];
+
+    self.internalBaseClassIdentifier = [aDecoder decodeObjectForKey:kHomeAlbumModelId];
+    self.albumFavoriteCount = [aDecoder decodeIntegerForKey:kHomeAlbumModelAlbumFavoriteCount];
+    self.topFlag = [aDecoder decodeObjectForKey:kHomeAlbumModelTopFlag];
+    self.musicTagNames = [aDecoder decodeObjectForKey:kHomeAlbumModelMusicTagNames];
+    self.updateBy = [aDecoder decodeObjectForKey:kHomeAlbumModelUpdateBy];
+    self.albumCoverUrl = [aDecoder decodeObjectForKey:kHomeAlbumModelAlbumCoverUrl];
+    self.albumTag = [aDecoder decodeObjectForKey:kHomeAlbumModelAlbumTag];
+    self.musicSheetCount = [aDecoder decodeIntegerForKey:kHomeAlbumModelMusicSheetCount];
+    self.albumStatus = [aDecoder decodeIntegerForKey:kHomeAlbumModelAlbumStatus];
+    self.albumDesc = [aDecoder decodeObjectForKey:kHomeAlbumModelAlbumDesc];
+    self.createBy = [aDecoder decodeObjectForKey:kHomeAlbumModelCreateBy];
+    self.createTime = [aDecoder decodeObjectForKey:kHomeAlbumModelCreateTime];
+    self.hotFlag = [aDecoder decodeObjectForKey:kHomeAlbumModelHotFlag];
+    self.sortNumber = [aDecoder decodeIntegerForKey:kHomeAlbumModelSortNumber];
+    self.albumName = [aDecoder decodeObjectForKey:kHomeAlbumModelAlbumName];
+    self.updateTime = [aDecoder decodeObjectForKey:kHomeAlbumModelUpdateTime];
+    return self;
+}
+
+- (void)encodeWithCoder:(NSCoder *)aCoder
+{
+
+    [aCoder encodeObject:_internalBaseClassIdentifier forKey:kHomeAlbumModelId];
+    [aCoder encodeInteger:_albumFavoriteCount forKey:kHomeAlbumModelAlbumFavoriteCount];
+    [aCoder encodeObject:_topFlag forKey:kHomeAlbumModelTopFlag];
+    [aCoder encodeObject:_musicTagNames forKey:kHomeAlbumModelMusicTagNames];
+    [aCoder encodeObject:_updateBy forKey:kHomeAlbumModelUpdateBy];
+    [aCoder encodeObject:_albumCoverUrl forKey:kHomeAlbumModelAlbumCoverUrl];
+    [aCoder encodeObject:_albumTag forKey:kHomeAlbumModelAlbumTag];
+    [aCoder encodeInteger:_musicSheetCount forKey:kHomeAlbumModelMusicSheetCount];
+    [aCoder encodeInteger:_albumStatus forKey:kHomeAlbumModelAlbumStatus];
+    [aCoder encodeObject:_albumDesc forKey:kHomeAlbumModelAlbumDesc];
+    [aCoder encodeObject:_createBy forKey:kHomeAlbumModelCreateBy];
+    [aCoder encodeObject:_createTime forKey:kHomeAlbumModelCreateTime];
+    [aCoder encodeObject:_hotFlag forKey:kHomeAlbumModelHotFlag];
+    [aCoder encodeInteger:_sortNumber forKey:kHomeAlbumModelSortNumber];
+    [aCoder encodeObject:_albumName forKey:kHomeAlbumModelAlbumName];
+    [aCoder encodeObject:_updateTime forKey:kHomeAlbumModelUpdateTime];
+}
+
+- (id)copyWithZone:(NSZone *)zone
+{
+    HomeAlbumModel *copy = [[HomeAlbumModel alloc] init];
+    
+    if (copy) {
+
+        copy.internalBaseClassIdentifier = [self.internalBaseClassIdentifier copyWithZone:zone];
+        copy.albumFavoriteCount = self.albumFavoriteCount;
+        copy.topFlag = [self.topFlag copyWithZone:zone];
+        copy.musicTagNames = [self.musicTagNames copyWithZone:zone];
+        copy.updateBy = [self.updateBy copyWithZone:zone];
+        copy.albumCoverUrl = [self.albumCoverUrl copyWithZone:zone];
+        copy.albumTag = [self.albumTag copyWithZone:zone];
+        copy.musicSheetCount = self.musicSheetCount;
+        copy.albumStatus = self.albumStatus;
+        copy.albumDesc = [self.albumDesc copyWithZone:zone];
+        copy.createBy = [self.createBy copyWithZone:zone];
+        copy.createTime = [self.createTime copyWithZone:zone];
+        copy.hotFlag = [self.hotFlag copyWithZone:zone];
+        copy.sortNumber = self.sortNumber;
+        copy.albumName = [self.albumName copyWithZone:zone];
+        copy.updateTime = [self.updateTime copyWithZone:zone];
+    }
+    
+    return copy;
+}
+
+
+@end

+ 2 - 1
KulexiuForStudent/KulexiuForStudent/Module/Home/Model/HomeLiveGroupModel.h

@@ -18,8 +18,9 @@
 @property (nonatomic, strong) NSString *teacherId;
 @property (nonatomic, strong) NSString *teacherName;
 @property (nonatomic, strong) NSString *courseStartTime;
-@property (nonatomic, assign) double courseNum;
+@property (nonatomic, assign) NSInteger courseNum;
 @property (nonatomic, strong) NSString *courseGroupName;
+@property (nonatomic, assign) NSInteger buyCount;
 
 + (instancetype)modelObjectWithDictionary:(NSDictionary *)dict;
 - (instancetype)initWithDictionary:(NSDictionary *)dict;

+ 15 - 7
KulexiuForStudent/KulexiuForStudent/Module/Home/Model/HomeLiveGroupModel.m

@@ -17,7 +17,7 @@ NSString *const kHomeLiveGroupModelTeacherName = @"teacherName";
 NSString *const kHomeLiveGroupModelCourseStartTime = @"courseStartTime";
 NSString *const kHomeLiveGroupModelCourseNum = @"courseNum";
 NSString *const kHomeLiveGroupModelCourseGroupName = @"courseGroupName";
-
+NSString *const kHomeLiveGroupModelBuyCount= @"buyCount";
 
 @interface HomeLiveGroupModel ()
 
@@ -36,7 +36,7 @@ NSString *const kHomeLiveGroupModelCourseGroupName = @"courseGroupName";
 @synthesize courseStartTime = _courseStartTime;
 @synthesize courseNum = _courseNum;
 @synthesize courseGroupName = _courseGroupName;
-
+@synthesize buyCount = _buyCount;
 
 + (instancetype)modelObjectWithDictionary:(NSDictionary *)dict
 {
@@ -57,8 +57,9 @@ NSString *const kHomeLiveGroupModelCourseGroupName = @"courseGroupName";
             self.teacherId = [self objectOrNilForKey:kHomeLiveGroupModelTeacherId fromDictionary:dict];
             self.teacherName = [self objectOrNilForKey:kHomeLiveGroupModelTeacherName fromDictionary:dict];
             self.courseStartTime = [self objectOrNilForKey:kHomeLiveGroupModelCourseStartTime fromDictionary:dict];
-            self.courseNum = [[self objectOrNilForKey:kHomeLiveGroupModelCourseNum fromDictionary:dict] doubleValue];
+            self.courseNum = [[self objectOrNilForKey:kHomeLiveGroupModelCourseNum fromDictionary:dict] integerValue];
             self.courseGroupName = [self objectOrNilForKey:kHomeLiveGroupModelCourseGroupName fromDictionary:dict];
+            self.buyCount = [[self objectOrNilForKey:kHomeLiveGroupModelBuyCount fromDictionary:dict] integerValue];
 
     }
     
@@ -76,9 +77,9 @@ NSString *const kHomeLiveGroupModelCourseGroupName = @"courseGroupName";
     [mutableDict setValue:self.teacherId forKey:kHomeLiveGroupModelTeacherId];
     [mutableDict setValue:self.teacherName forKey:kHomeLiveGroupModelTeacherName];
     [mutableDict setValue:self.courseStartTime forKey:kHomeLiveGroupModelCourseStartTime];
-    [mutableDict setValue:[NSNumber numberWithDouble:self.courseNum] forKey:kHomeLiveGroupModelCourseNum];
+    [mutableDict setValue:[NSNumber numberWithInteger:self.courseNum] forKey:kHomeLiveGroupModelCourseNum];
     [mutableDict setValue:self.courseGroupName forKey:kHomeLiveGroupModelCourseGroupName];
-
+    [mutableDict setValue:[NSNumber numberWithInteger:self.buyCount] forKey:kHomeLiveGroupModelBuyCount];
     return [NSDictionary dictionaryWithDictionary:mutableDict];
 }
 
@@ -91,6 +92,10 @@ NSString *const kHomeLiveGroupModelCourseGroupName = @"courseGroupName";
 - (id)objectOrNilForKey:(id)aKey fromDictionary:(NSDictionary *)dict
 {
     id object = [dict objectForKey:aKey];
+    if ([object isKindOfClass:[NSNumber class]]) {
+        NSNumber *number = object;
+        object = [number stringValue];
+    }
     return [object isEqual:[NSNull null]] ? nil : object;
 }
 
@@ -108,8 +113,9 @@ NSString *const kHomeLiveGroupModelCourseGroupName = @"courseGroupName";
     self.teacherId = [aDecoder decodeObjectForKey:kHomeLiveGroupModelTeacherId];
     self.teacherName = [aDecoder decodeObjectForKey:kHomeLiveGroupModelTeacherName];
     self.courseStartTime = [aDecoder decodeObjectForKey:kHomeLiveGroupModelCourseStartTime];
-    self.courseNum = [aDecoder decodeDoubleForKey:kHomeLiveGroupModelCourseNum];
+    self.courseNum = [aDecoder decodeIntegerForKey:kHomeLiveGroupModelCourseNum];
     self.courseGroupName = [aDecoder decodeObjectForKey:kHomeLiveGroupModelCourseGroupName];
+    self.buyCount = [aDecoder decodeIntegerForKey:kHomeLiveGroupModelBuyCount];
     return self;
 }
 
@@ -123,8 +129,9 @@ NSString *const kHomeLiveGroupModelCourseGroupName = @"courseGroupName";
     [aCoder encodeObject:_teacherId forKey:kHomeLiveGroupModelTeacherId];
     [aCoder encodeObject:_teacherName forKey:kHomeLiveGroupModelTeacherName];
     [aCoder encodeObject:_courseStartTime forKey:kHomeLiveGroupModelCourseStartTime];
-    [aCoder encodeDouble:_courseNum forKey:kHomeLiveGroupModelCourseNum];
+    [aCoder encodeInteger:_courseNum forKey:kHomeLiveGroupModelCourseNum];
     [aCoder encodeObject:_courseGroupName forKey:kHomeLiveGroupModelCourseGroupName];
+    [aCoder encodeInteger:_buyCount forKey:kHomeLiveGroupModelBuyCount];
 }
 
 - (id)copyWithZone:(NSZone *)zone
@@ -142,6 +149,7 @@ NSString *const kHomeLiveGroupModelCourseGroupName = @"courseGroupName";
         copy.courseStartTime = [self.courseStartTime copyWithZone:zone];
         copy.courseNum = self.courseNum;
         copy.courseGroupName = [self.courseGroupName copyWithZone:zone];
+        copy.buyCount = self.buyCount;
     }
     
     return copy;

+ 2 - 1
KulexiuForStudent/KulexiuForStudent/Module/Home/Model/HomeVideoGroupModel.h

@@ -18,10 +18,11 @@
 @property (nonatomic, strong) NSString *teacherName;
 @property (nonatomic, strong) NSString *subjectId;
 @property (nonatomic, strong) NSString *subjectName;
-@property (nonatomic, assign) double lessonCount;
+@property (nonatomic, assign) NSInteger lessonCount;
 @property (nonatomic, strong) NSString *teacherId;
 @property (nonatomic, strong) NSString *videoGroupName;
 @property (nonatomic, strong) NSString *createTime;
+@property (nonatomic, assign) NSInteger buyCount;
 
 + (instancetype)modelObjectWithDictionary:(NSDictionary *)dict;
 - (instancetype)initWithDictionary:(NSDictionary *)dict;

+ 13 - 6
KulexiuForStudent/KulexiuForStudent/Module/Home/Model/HomeVideoGroupModel.m

@@ -19,7 +19,7 @@ NSString *const kHomeVideoGroupModelLessonCount = @"lessonCount";
 NSString *const kHomeVideoGroupModelTeacherId = @"teacherId";
 NSString *const kHomeVideoGroupModelVideoGroupName = @"videoGroupName";
 NSString *const kHomeVideoGroupModelCreateTime = @"createTime";
-
+NSString *const kHomeVideoGroupModelBuyCount = @"buyCount";
 
 @interface HomeVideoGroupModel ()
 
@@ -40,7 +40,7 @@ NSString *const kHomeVideoGroupModelCreateTime = @"createTime";
 @synthesize teacherId = _teacherId;
 @synthesize videoGroupName = _videoGroupName;
 @synthesize createTime = _createTime;
-
+@synthesize buyCount = _buyCount;
 
 + (instancetype)modelObjectWithDictionary:(NSDictionary *)dict
 {
@@ -61,11 +61,11 @@ NSString *const kHomeVideoGroupModelCreateTime = @"createTime";
             self.teacherName = [self objectOrNilForKey:kHomeVideoGroupModelTeacherName fromDictionary:dict];
             self.subjectId = [self objectOrNilForKey:kHomeVideoGroupModelSubjectId fromDictionary:dict];
             self.subjectName = [self objectOrNilForKey:kHomeVideoGroupModelSubjectName fromDictionary:dict];
-            self.lessonCount = [[self objectOrNilForKey:kHomeVideoGroupModelLessonCount fromDictionary:dict] doubleValue];
+            self.lessonCount = [[self objectOrNilForKey:kHomeVideoGroupModelLessonCount fromDictionary:dict] integerValue];
             self.teacherId = [self objectOrNilForKey:kHomeVideoGroupModelTeacherId fromDictionary:dict];
             self.videoGroupName = [self objectOrNilForKey:kHomeVideoGroupModelVideoGroupName fromDictionary:dict];
             self.createTime = [self objectOrNilForKey:kHomeVideoGroupModelCreateTime fromDictionary:dict];
-
+            self.buyCount = [[self objectOrNilForKey:kHomeVideoGroupModelBuyCount fromDictionary:dict] integerValue];
     }
     
     return self;
@@ -82,11 +82,11 @@ NSString *const kHomeVideoGroupModelCreateTime = @"createTime";
     [mutableDict setValue:self.teacherName forKey:kHomeVideoGroupModelTeacherName];
     [mutableDict setValue:self.subjectId forKey:kHomeVideoGroupModelSubjectId];
     [mutableDict setValue:self.subjectName forKey:kHomeVideoGroupModelSubjectName];
-    [mutableDict setValue:[NSNumber numberWithDouble:self.lessonCount] forKey:kHomeVideoGroupModelLessonCount];
+    [mutableDict setValue:[NSNumber numberWithInteger:self.lessonCount] forKey:kHomeVideoGroupModelLessonCount];
     [mutableDict setValue:self.teacherId forKey:kHomeVideoGroupModelTeacherId];
     [mutableDict setValue:self.videoGroupName forKey:kHomeVideoGroupModelVideoGroupName];
     [mutableDict setValue:self.createTime forKey:kHomeVideoGroupModelCreateTime];
-
+    [mutableDict setValue:[NSNumber numberWithInteger:self.buyCount] forKey:kHomeVideoGroupModelBuyCount];
     return [NSDictionary dictionaryWithDictionary:mutableDict];
 }
 
@@ -99,6 +99,10 @@ NSString *const kHomeVideoGroupModelCreateTime = @"createTime";
 - (id)objectOrNilForKey:(id)aKey fromDictionary:(NSDictionary *)dict
 {
     id object = [dict objectForKey:aKey];
+    if ([object isKindOfClass:[NSNumber class]]) {
+        NSNumber *number = object;
+        object = [number stringValue];
+    }
     return [object isEqual:[NSNull null]] ? nil : object;
 }
 
@@ -120,6 +124,7 @@ NSString *const kHomeVideoGroupModelCreateTime = @"createTime";
     self.teacherId = [aDecoder decodeObjectForKey:kHomeVideoGroupModelTeacherId];
     self.videoGroupName = [aDecoder decodeObjectForKey:kHomeVideoGroupModelVideoGroupName];
     self.createTime = [aDecoder decodeObjectForKey:kHomeVideoGroupModelCreateTime];
+    self.buyCount = [aDecoder decodeIntegerForKey:kHomeVideoGroupModelBuyCount];
     return self;
 }
 
@@ -137,6 +142,7 @@ NSString *const kHomeVideoGroupModelCreateTime = @"createTime";
     [aCoder encodeObject:_teacherId forKey:kHomeVideoGroupModelTeacherId];
     [aCoder encodeObject:_videoGroupName forKey:kHomeVideoGroupModelVideoGroupName];
     [aCoder encodeObject:_createTime forKey:kHomeVideoGroupModelCreateTime];
+    [aCoder encodeInteger:_buyCount forKey:kHomeVideoGroupModelBuyCount];
 }
 
 - (id)copyWithZone:(NSZone *)zone
@@ -156,6 +162,7 @@ NSString *const kHomeVideoGroupModelCreateTime = @"createTime";
         copy.teacherId = [self.teacherId copyWithZone:zone];
         copy.videoGroupName = [self.videoGroupName copyWithZone:zone];
         copy.createTime = [self.createTime copyWithZone:zone];
+        copy.buyCount = self.buyCount;
     }
     
     return copy;

+ 2 - 1
KulexiuForStudent/KulexiuForStudent/Module/Home/View/HomeHotAlbumCell.h

@@ -6,12 +6,13 @@
 //
 
 #import <UIKit/UIKit.h>
+#import "HomeAlbumModel.h"
 
 NS_ASSUME_NONNULL_BEGIN
 
 @interface HomeHotAlbumCell : UICollectionViewCell
 
-
+- (void)configWithAlbumModel:(HomeAlbumModel *)model;
 
 @end
 

+ 9 - 0
KulexiuForStudent/KulexiuForStudent/Module/Home/View/HomeHotAlbumCell.m

@@ -24,4 +24,13 @@
     // Initialization code
 }
 
+- (void)configWithAlbumModel:(HomeAlbumModel *)model {
+    [self.albumImage sd_setImageWithURL:[NSURL URLWithString:model.albumCoverUrl] placeholderImage:[UIImage imageNamed:@"video_placeholder"]];
+    self.albumNameLabel.text = [NSString returnNoNullStringWithString:model.albumName];
+    NSString *collectString = [NSString stringWithFormat:@"%zd人收藏",model.albumFavoriteCount];
+    NSMutableAttributedString *attr = [[NSMutableAttributedString alloc] initWithString:collectString attributes:@{NSForegroundColorAttributeName:HexRGB(0x63ffe1),NSFontAttributeName:[UIFont systemFontOfSize:11.0f weight:UIFontWeightMedium]}];
+    [attr addAttributes:@{NSForegroundColorAttributeName:[UIColor whiteColor]} range:[collectString rangeOfString:@"人收藏"]];
+    self.collectLabel.attributedText = attr;
+}
+
 @end

+ 6 - 6
KulexiuForStudent/KulexiuForStudent/Module/Home/View/HomeHotAlbumCell.xib

@@ -12,14 +12,14 @@
         <placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner"/>
         <placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/>
         <collectionViewCell opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" id="gTV-IL-0wX" customClass="HomeHotAlbumCell">
-            <rect key="frame" x="0.0" y="0.0" width="120" height="140"/>
+            <rect key="frame" x="0.0" y="0.0" width="110" height="140"/>
             <autoresizingMask key="autoresizingMask"/>
             <view key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center">
-                <rect key="frame" x="0.0" y="0.0" width="120" height="140"/>
+                <rect key="frame" x="0.0" y="0.0" width="110" height="140"/>
                 <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
                 <subviews>
                     <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="VLb-Eb-jdx">
-                        <rect key="frame" x="34" y="16" width="82" height="82"/>
+                        <rect key="frame" x="24" y="16" width="82" height="82"/>
                         <color key="backgroundColor" systemColor="systemBackgroundColor"/>
                         <constraints>
                             <constraint firstAttribute="height" constant="82" id="scg-Qi-Jfr"/>
@@ -32,14 +32,14 @@
                         </userDefinedRuntimeAttributes>
                     </view>
                     <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="video_placeholder" translatesAutoresizingMaskIntoConstraints="NO" id="mkp-8k-Rld">
-                        <rect key="frame" x="16" y="10" width="94" height="94"/>
+                        <rect key="frame" x="6" y="10" width="94" height="94"/>
                         <constraints>
                             <constraint firstAttribute="height" constant="94" id="OYN-0Q-mPG"/>
                             <constraint firstAttribute="width" constant="94" id="wU7-tF-QtE"/>
                         </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="1bh-Zm-ov0">
-                        <rect key="frame" x="16" y="114" width="100" height="20"/>
+                        <rect key="frame" x="6" y="114" width="100" height="20"/>
                         <constraints>
                             <constraint firstAttribute="height" constant="20" id="s4H-Kv-zgp"/>
                         </constraints>
@@ -48,7 +48,7 @@
                         <nil key="highlightedColor"/>
                     </label>
                     <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="xPp-Kr-NCd">
-                        <rect key="frame" x="28" y="76" width="70" height="20"/>
+                        <rect key="frame" x="18" y="76" width="70" height="20"/>
                         <subviews>
                             <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="365人收藏" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="HyK-tc-JYn">
                                 <rect key="frame" x="7" y="2" width="56" height="16"/>

+ 1 - 5
KulexiuForStudent/KulexiuForStudent/Module/Home/View/HomeHotCourseView.xib

@@ -4,7 +4,6 @@
     <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>
@@ -35,7 +34,7 @@
                 </button>
                 <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="JJx-GE-N6X">
                     <rect key="frame" x="83" y="14" width="1" height="14"/>
-                    <color key="backgroundColor" systemColor="systemBackgroundColor"/>
+                    <color key="backgroundColor" red="0.96862745098039216" green="0.97254901960784312" blue="0.97647058823529409" alpha="1" colorSpace="calibratedRGB"/>
                     <constraints>
                         <constraint firstAttribute="height" constant="14" id="99i-Ec-9Np"/>
                         <constraint firstAttribute="width" constant="1" id="CiS-a6-7Se"/>
@@ -138,8 +137,5 @@
     <resources>
         <image name="home_more" width="10" height="10"/>
         <image name="home_radainLine" width="20" height="7"/>
-        <systemColor name="systemBackgroundColor">
-            <color white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
-        </systemColor>
     </resources>
 </document>

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

@@ -38,8 +38,8 @@
     self.courseName.text = [NSString returnNoNullStringWithString:source.courseGroupName];
     self.teacherName.text = [NSString stringWithFormat:@"老师:%@",[NSString returnNoNullStringWithString:source.teacherName]];
     self.priceLabel.text = [NSString stringWithFormat:@"¥%.2f",source.courseGroupPrice];
-    self.courseCountLabel.text = [NSString stringWithFormat:@"%.0f课时",source.courseNum];
-//    self.descLabel.text = [NSString stringWithFormat:@"%.0f人已购买",source.courseNum];
+    self.courseCountLabel.text = [NSString stringWithFormat:@"%zd课时",source.courseNum];
+    self.descLabel.text = [NSString stringWithFormat:@"%zd人已购买",source.buyCount];
     // 时间
     if ([NSString isEmptyString:source.courseStartTime]) {
         self.courseBegin.text = @"";

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

@@ -36,8 +36,8 @@
     self.courseName.text = [NSString returnNoNullStringWithString:source.videoGroupName];
     self.teacherName.text = [NSString stringWithFormat:@"老师:%@",[NSString returnNoNullStringWithString:source.teacherName]];
     self.coursePrice.text = [NSString stringWithFormat:@"¥%.2f",source.lessonPrice];
-    self.courseCount.text = [NSString stringWithFormat:@"%.0f课时",source.lessonCount];
-    
+    self.courseCount.text = [NSString stringWithFormat:@"%zd课时",source.lessonCount];
+    self.descLabel.text = [NSString stringWithFormat:@"%zd人已购买",source.buyCount];
 }
 
 - (void)setSelected:(BOOL)selected animated:(BOOL)animated {

+ 8 - 6
KulexiuForStudent/KulexiuForStudent/Module/Home/View/TeacherShowCell.m

@@ -48,12 +48,14 @@
     self.descLabel.text = [NSString returnNoNullStringWithString:sourceModel.describe];
     [self.teacherAvatar sd_setImageWithURL:[NSURL URLWithString:sourceModel.avatar] placeholderImage:[UIImage imageNamed:USERDEFAULT_LOGO]];
     self.teacherNameLabel.text = [NSString returnNoNullStringWithString:sourceModel.username];
-    if (![NSString isEmptyString:sourceModel.browse] && ![sourceModel.browse isEqualToString:@"0"]) {
-        self.watchCount.text = [NSString stringWithFormat:@"%@已观看",sourceModel.browse];
-    }
-    else {
-        self.watchCount.text = @"";
-    }
+    self.watchCount.text = [NSString stringWithFormat:@"%@已观看",sourceModel.browse];
+    
+//    if (![NSString isEmptyString:sourceModel.browse] && ![sourceModel.browse isEqualToString:@"0"]) {
+//        self.watchCount.text = [NSString stringWithFormat:@"%@已观看",sourceModel.browse];
+//    }
+//    else {
+//        self.watchCount.text = @"";
+//    }
     NSInteger duration = [KSVideoHelper getVideoDuration:sourceModel.videoUrl];
     NSString *durationString = @"00:00";
     if (duration / 60 > 0) {

BIN
KulexiuForStudent/build/Debug-iphonesimulator/KulexiuForStudent.app/Info.plist


BIN
KulexiuForStudent/build/Debug-iphonesimulator/KulexiuForStudent.app/KulexiuForStudent


+ 7 - 7
KulexiuForStudent/build/Debug-iphonesimulator/KulexiuForStudent.app/_CodeSignature/CodeResources

@@ -1027,11 +1027,11 @@
 		</data>
 		<key>HomeHotAlbumCell.nib/objects-12.3+.nib</key>
 		<data>
-		wamc+z7N3ZDpPJ4FuQnQjKgvIsk=
+		OVCjgc//7UFV4qa4yzBv/AMsgCw=
 		</data>
 		<key>HomeHotAlbumCell.nib/runtime.nib</key>
 		<data>
-		LXt83ydY9mZ7HdufdR6sZRnu1GA=
+		FauplV0KEENFC6Cd/zf1OEZ1ubE=
 		</data>
 		<key>HomeHotAlbumView.nib</key>
 		<data>
@@ -1039,7 +1039,7 @@
 		</data>
 		<key>HomeHotCourseView.nib</key>
 		<data>
-		OJZSKPibKT2WLrBRlwbdYGCXirc=
+		iuPKZhPlsdDKaqCRzQ70OBOQmlQ=
 		</data>
 		<key>HomeInformationCell.nib</key>
 		<data>
@@ -1083,7 +1083,7 @@
 		</data>
 		<key>Info.plist</key>
 		<data>
-		Cgx4OKz55MdUuYJzAOS6oPMSJME=
+		jiUbrmG95pSXak7yXY6SRGS22xw=
 		</data>
 		<key>InstrumentChooseView.nib</key>
 		<data>
@@ -5178,14 +5178,14 @@
 		<dict>
 			<key>hash2</key>
 			<data>
-			6eDPPZexAJMfOSv8DnzpzFF84UKBar7xlzwGXLOvGb0=
+			BevtexkPTrriE24YME7NiCd5XP1Vda7tE3DDTE/MM38=
 			</data>
 		</dict>
 		<key>HomeHotAlbumCell.nib/runtime.nib</key>
 		<dict>
 			<key>hash2</key>
 			<data>
-			r+e8a3zp2sDmEezUBbH7ymMHU0k/GqJU910T5DU20/4=
+			l+uAesHAH1B27eEBqoC4Gwun1nVggMa2pxfelerYdVI=
 			</data>
 		</dict>
 		<key>HomeHotAlbumView.nib</key>
@@ -5199,7 +5199,7 @@
 		<dict>
 			<key>hash2</key>
 			<data>
-			fGAC4kcwW0u8ngO86BkXuh5GFB+cRzgdCeINdtKvskk=
+			oQ4eD61SubsDnR1JNhBwNt+Xzhsf3OOzTp2T9ID6oPY=
 			</data>
 		</dict>
 		<key>HomeInformationCell.nib</key>

BIN
KulexiuForStudent/build/KulexiuForStudent.build/Debug-iphonesimulator/KulexiuForStudent.build/KulexiuForStudent-project-headers.hmap


BIN
KulexiuForStudent/build/KulexiuForStudent.build/Debug-iphonesimulator/KulexiuForStudent.build/Objects-normal/x86_64/GroupNoticeModel.o


+ 6 - 1
KulexiuForStudent/build/KulexiuForStudent.build/Debug-iphonesimulator/KulexiuForStudent.build/Objects-normal/x86_64/HomeViewController.d

@@ -62,6 +62,7 @@ dependencies: \
   /Users/wangzhi/DayaWorkspace/Klx_student/KulexiuForStudent/KulexiuForStudent/Module/Home/View/KSHomeButton.h \
   /Users/wangzhi/DayaWorkspace/Klx_student/KulexiuForStudent/KulexiuForStudent/Module/Home/View/HomeHotAlbumView.h \
   /Users/wangzhi/DayaWorkspace/Klx_student/KulexiuForStudent/KulexiuForStudent/Module/Home/View/HomeHotAlbumCell.h \
+  /Users/wangzhi/DayaWorkspace/Klx_student/KulexiuForStudent/KulexiuForStudent/Module/Home/Model/HomeAlbumModel.h \
   /Users/wangzhi/DayaWorkspace/Klx_student/KulexiuForStudent/KulexiuForStudent/Module/Home/View/HomeHotCourseView.h \
   /Users/wangzhi/DayaWorkspace/Klx_student/KulexiuForStudent/KulexiuForStudent/Module/Home/View/HomeIntroduceView.h \
   /Users/wangzhi/DayaWorkspace/Klx_student/KulexiuForStudent/KulexiuForStudent/Module/Home/View/TeacherShowCell.h \
@@ -75,4 +76,8 @@ dependencies: \
   /Users/wangzhi/DayaWorkspace/Klx_student/KulexiuForStudent/KulexiuForStudent/Module/Home/View/HomeLiveCouseCell.h \
   /Users/wangzhi/DayaWorkspace/Klx_student/KulexiuForStudent/KulexiuForStudent/Module/Home/Model/HomeLiveGroupModel.h \
   /Users/wangzhi/DayaWorkspace/Klx_student/KulexiuForStudent/KulexiuForStudent/Module/Home/View/HomeVideoCourseCell.h \
-  /Users/wangzhi/DayaWorkspace/Klx_student/KulexiuForStudent/KulexiuForStudent/Module/Home/Model/HomeVideoGroupModel.h
+  /Users/wangzhi/DayaWorkspace/Klx_student/KulexiuForStudent/KulexiuForStudent/Module/Home/Model/HomeVideoGroupModel.h \
+  /Users/wangzhi/DayaWorkspace/Klx_student/KulexiuForStudent/KulexiuForStudent/Common/ThirdPart/WMPlayer/WMPlayer.h \
+  /Users/wangzhi/DayaWorkspace/Klx_student/KulexiuForStudent/KulexiuForStudent/Common/ThirdPart/WMPlayer/WMPlayerModel.h \
+  /Users/wangzhi/DayaWorkspace/Klx_student/KulexiuForStudent/KulexiuForStudent/Common/ThirdPart/WMPlayer/FastForwardView.h \
+  /Users/wangzhi/DayaWorkspace/Klx_student/KulexiuForStudent/KulexiuForStudent/Common/ThirdPart/WMPlayer/WMLightView.h

BIN
KulexiuForStudent/build/KulexiuForStudent.build/Debug-iphonesimulator/KulexiuForStudent.build/Objects-normal/x86_64/HomeViewController.dia


BIN
KulexiuForStudent/build/KulexiuForStudent.build/Debug-iphonesimulator/KulexiuForStudent.build/Objects-normal/x86_64/HomeViewController.o


+ 3 - 1
KulexiuForStudent/build/KulexiuForStudent.build/Debug-iphonesimulator/KulexiuForStudent.build/Objects-normal/x86_64/KSBaseWKWebViewController.d

@@ -58,4 +58,6 @@ dependencies: \
   /Users/wangzhi/DayaWorkspace/Klx_student/KulexiuForStudent/KulexiuForStudent/Common/Base/RecordCheckManager.h \
   /Users/wangzhi/DayaWorkspace/Klx_student/KulexiuForStudent/KulexiuForStudent/Common/Base/KSLocalWebViewController.h \
   /Users/wangzhi/DayaWorkspace/Klx_student/KulexiuForStudent/KulexiuForStudent/Common/Base/RCConnectionManager.h \
-  /Users/wangzhi/DayaWorkspace/Klx_student/KulexiuForStudent/KulexiuForStudent/Common/Base/KSAccompanyWebViewController.h
+  /Users/wangzhi/DayaWorkspace/Klx_student/KulexiuForStudent/KulexiuForStudent/Common/Base/KSAccompanyWebViewController.h \
+  /Users/wangzhi/DayaWorkspace/Klx_student/KulexiuForStudent/KulexiuForStudent/Module/Chat/Controller/KSChatConversationViewController.h \
+  /Users/wangzhi/DayaWorkspace/Klx_student/KulexiuForStudent/KulexiuForStudent/Common/Base/KSOrderManager.h

BIN
KulexiuForStudent/build/KulexiuForStudent.build/Debug-iphonesimulator/KulexiuForStudent.build/Objects-normal/x86_64/KSBaseWKWebViewController.dia


BIN
KulexiuForStudent/build/KulexiuForStudent.build/Debug-iphonesimulator/KulexiuForStudent.build/Objects-normal/x86_64/KSBaseWKWebViewController.o


BIN
KulexiuForStudent/build/KulexiuForStudent.build/Debug-iphonesimulator/KulexiuForStudent.build/Objects-normal/x86_64/KSNetworkingManager.o


+ 2 - 0
KulexiuForStudent/build/KulexiuForStudent.build/Debug-iphonesimulator/KulexiuForStudent.build/Objects-normal/x86_64/KulexiuForStudent.LinkFileList

@@ -190,6 +190,7 @@
 /Users/wangzhi/DayaWorkspace/Klx_student/KulexiuForStudent/build/KulexiuForStudent.build/Debug-iphonesimulator/KulexiuForStudent.build/Objects-normal/x86_64/GroupNoticeViewController.o
 /Users/wangzhi/DayaWorkspace/Klx_student/KulexiuForStudent/build/KulexiuForStudent.build/Debug-iphonesimulator/KulexiuForStudent.build/Objects-normal/x86_64/SubjectImageCell.o
 /Users/wangzhi/DayaWorkspace/Klx_student/KulexiuForStudent/build/KulexiuForStudent.build/Debug-iphonesimulator/KulexiuForStudent.build/Objects-normal/x86_64/ALCalendarDate.o
+/Users/wangzhi/DayaWorkspace/Klx_student/KulexiuForStudent/build/KulexiuForStudent.build/Debug-iphonesimulator/KulexiuForStudent.build/Objects-normal/x86_64/KSOrderManager.o
 /Users/wangzhi/DayaWorkspace/Klx_student/KulexiuForStudent/build/KulexiuForStudent.build/Debug-iphonesimulator/KulexiuForStudent.build/Objects-normal/x86_64/SCIndexViewConfiguration.o
 /Users/wangzhi/DayaWorkspace/Klx_student/KulexiuForStudent/build/KulexiuForStudent.build/Debug-iphonesimulator/KulexiuForStudent.build/Objects-normal/x86_64/LLFileManager.o
 /Users/wangzhi/DayaWorkspace/Klx_student/KulexiuForStudent/build/KulexiuForStudent.build/Debug-iphonesimulator/KulexiuForStudent.build/Objects-normal/x86_64/KSEnterLiveroomManager.o
@@ -309,6 +310,7 @@
 /Users/wangzhi/DayaWorkspace/Klx_student/KulexiuForStudent/build/KulexiuForStudent.build/Debug-iphonesimulator/KulexiuForStudent.build/Objects-normal/x86_64/DeviceMessage.o
 /Users/wangzhi/DayaWorkspace/Klx_student/KulexiuForStudent/build/KulexiuForStudent.build/Debug-iphonesimulator/KulexiuForStudent.build/Objects-normal/x86_64/HomeNavView.o
 /Users/wangzhi/DayaWorkspace/Klx_student/KulexiuForStudent/build/KulexiuForStudent.build/Debug-iphonesimulator/KulexiuForStudent.build/Objects-normal/x86_64/ALCalendarCollectionView.o
+/Users/wangzhi/DayaWorkspace/Klx_student/KulexiuForStudent/build/KulexiuForStudent.build/Debug-iphonesimulator/KulexiuForStudent.build/Objects-normal/x86_64/HomeAlbumModel.o
 /Users/wangzhi/DayaWorkspace/Klx_student/KulexiuForStudent/build/KulexiuForStudent.build/Debug-iphonesimulator/KulexiuForStudent.build/Objects-normal/x86_64/VoNetWorking.o
 /Users/wangzhi/DayaWorkspace/Klx_student/KulexiuForStudent/build/KulexiuForStudent.build/Debug-iphonesimulator/KulexiuForStudent.build/Objects-normal/x86_64/KSBaseViewController.o
 /Users/wangzhi/DayaWorkspace/Klx_student/KulexiuForStudent/build/KulexiuForStudent.build/Debug-iphonesimulator/KulexiuForStudent.build/Objects-normal/x86_64/GroupApplyChooseCell.o

BIN
KulexiuForStudent/build/KulexiuForStudent.build/Debug-iphonesimulator/KulexiuForStudent.build/Objects-normal/x86_64/KulexiuForStudent_dependency_info.dat


BIN
KulexiuForStudent/build/KulexiuForStudent.build/Debug-iphonesimulator/KulexiuForStudent.build/Objects-normal/x86_64/UIView+XIBView.dia


BIN
KulexiuForStudent/build/Pods.build/Debug-iphonesimulator/AFNetworking.build/AFNetworking-all-target-headers.hmap


BIN
KulexiuForStudent/build/Pods.build/Debug-iphonesimulator/CHIPageControl.build/CHIPageControl-all-non-framework-target-headers.hmap


BIN
KulexiuForStudent/build/Pods.build/Debug-iphonesimulator/CHIPageControl.build/CHIPageControl-all-target-headers.hmap


BIN
KulexiuForStudent/build/Pods.build/Debug-iphonesimulator/CHIPageControl.build/Objects-normal/x86_64/CHIPageControl-master.priors


+ 2 - 2
KulexiuForStudent/build/Pods.build/Debug-iphonesimulator/CHIPageControl.build/Objects-normal/x86_64/CHIPageControl-master.swiftdeps

@@ -1,7 +1,7 @@
 version: "Apple Swift version 5.6 (swiftlang-5.6.0.323.62 clang-1316.0.20.8)"
 options: "1df5a087573c1c3cd07e8076f6918d3928f13c31665350d2c288f48bd5050822"
-build_start_time: [1650780584, 13185977]
-build_end_time: [1650780584, 217118978]
+build_start_time: [1650789965, 754937171]
+build_end_time: [1650789965, 921732902]
 inputs:
   "/Users/wangzhi/DayaWorkspace/Klx_student/KulexiuForStudent/Pods/CHIPageControl/CHIPageControl/CHIPageControlAji.swift": [1649151994, 661623716]
   "/Users/wangzhi/DayaWorkspace/Klx_student/KulexiuForStudent/Pods/CHIPageControl/CHIPageControl/CHIPageControlAleppo.swift": [1649151994, 661175489]

BIN
KulexiuForStudent/build/Pods.build/Debug-iphonesimulator/IQKeyboardManager.build/IQKeyboardManager-all-non-framework-target-headers.hmap


BIN
KulexiuForStudent/build/Pods.build/Debug-iphonesimulator/IQKeyboardManager.build/IQKeyboardManager-all-target-headers.hmap


BIN
KulexiuForStudent/build/Pods.build/Debug-iphonesimulator/JXCategoryView.build/JXCategoryView-all-target-headers.hmap


BIN
KulexiuForStudent/build/Pods.build/Debug-iphonesimulator/JXPagingView.build/JXPagingView-all-non-framework-target-headers.hmap


BIN
KulexiuForStudent/build/Pods.build/Debug-iphonesimulator/JXPagingView.build/JXPagingView-all-target-headers.hmap


BIN
KulexiuForStudent/build/Pods.build/Debug-iphonesimulator/MBProgressHUD.build/MBProgressHUD-all-non-framework-target-headers.hmap


BIN
KulexiuForStudent/build/Pods.build/Debug-iphonesimulator/MBProgressHUD.build/MBProgressHUD-all-target-headers.hmap


BIN
KulexiuForStudent/build/Pods.build/Debug-iphonesimulator/MJExtension.build/MJExtension-all-target-headers.hmap


BIN
KulexiuForStudent/build/Pods.build/Debug-iphonesimulator/MJRefresh.build/MJRefresh-all-non-framework-target-headers.hmap


BIN
KulexiuForStudent/build/Pods.build/Debug-iphonesimulator/MJRefresh.build/MJRefresh-all-target-headers.hmap


BIN
KulexiuForStudent/build/Pods.build/Debug-iphonesimulator/Masonry.build/Masonry-all-target-headers.hmap


BIN
KulexiuForStudent/build/Pods.build/Debug-iphonesimulator/Pods-KulexiuForStudent.build/Pods_KulexiuForStudent-all-non-framework-target-headers.hmap


BIN
KulexiuForStudent/build/Pods.build/Debug-iphonesimulator/Pods-KulexiuForStudent.build/Pods_KulexiuForStudent-all-target-headers.hmap


BIN
KulexiuForStudent/build/Pods.build/Debug-iphonesimulator/RSKImageCropper.build/RSKImageCropper-all-target-headers.hmap


BIN
KulexiuForStudent/build/Pods.build/Debug-iphonesimulator/Reachability.build/Reachability-all-non-framework-target-headers.hmap


BIN
KulexiuForStudent/build/Pods.build/Debug-iphonesimulator/Reachability.build/Reachability-all-target-headers.hmap


BIN
KulexiuForStudent/build/Pods.build/Debug-iphonesimulator/SDWebImage.build/SDWebImage-all-target-headers.hmap


BIN
KulexiuForStudent/build/Pods.build/Debug-iphonesimulator/SSZipArchive.build/SSZipArchive-all-non-framework-target-headers.hmap


BIN
KulexiuForStudent/build/Pods.build/Debug-iphonesimulator/SSZipArchive.build/SSZipArchive-all-target-headers.hmap


BIN
KulexiuForStudent/build/Pods.build/Debug-iphonesimulator/SocketRocket.build/SocketRocket-all-non-framework-target-headers.hmap


BIN
KulexiuForStudent/build/Pods.build/Debug-iphonesimulator/SocketRocket.build/SocketRocket-all-target-headers.hmap


BIN
KulexiuForStudent/build/Pods.build/Debug-iphonesimulator/Whiteboard-Whiteboard.build/Whiteboard-all-target-headers.hmap


BIN
KulexiuForStudent/build/Pods.build/Debug-iphonesimulator/Whiteboard.build/Whiteboard-all-non-framework-target-headers.hmap


BIN
KulexiuForStudent/build/Pods.build/Debug-iphonesimulator/Whiteboard.build/Whiteboard-all-target-headers.hmap


BIN
KulexiuForStudent/build/Pods.build/Debug-iphonesimulator/YYModel.build/YYModel-all-target-headers.hmap


BIN
KulexiuForStudent/build/Pods.build/Debug-iphonesimulator/ZKCycleScrollView.build/ZKCycleScrollView-all-target-headers.hmap


BIN
KulexiuForStudent/build/Pods.build/Debug-iphonesimulator/dsBridge.build/dsBridge-all-target-headers.hmap


BIN
KulexiuForStudent/build/XCBuildData/BuildDescriptionCacheIndex-604c88e60e61e13155f665cce0707a51


BIN
KulexiuForStudent/build/XCBuildData/build.db