jsonwang 4 роки тому
батько
коміт
6a65edb431

+ 4 - 0
MusicVideoPlus/MusicVideoPlus/Classes/Modules/Home/MVHomeController.swift

@@ -101,6 +101,10 @@ class MVHomeController: MVBaseController {
          
             itemList.append(model)
         }
+        
+        MVHomeViewModel.getHomeHotVideos {[weak self] hotVideos, _ in
+            BFLog(message: "hotVideos count is :\(hotVideos.count)")
+        }
     }
 
     func addLayout() {

+ 18 - 0
MusicVideoPlus/MusicVideoPlus/Classes/Modules/Home/Models/MVHotVideoModel.swift

@@ -0,0 +1,18 @@
+//
+//  MVHotVideoModel.swift
+//  MusicVideoPlus
+//
+//  Created by ak on 2021/6/4.
+//
+
+import Foundation
+import BFFramework
+class MVHotVideoModel: NSObject {
+    
+    //分类 ID
+    var categoryId:Int = 0
+    //分类名
+    var categoryName:String = ""
+    //分类下所有推荐视频
+    var videos:Array = Array<PQVideoListModel>.init()
+}

+ 39 - 40
MusicVideoPlus/MusicVideoPlus/Classes/Modules/Home/ViewModels/MVHomeViewModel.swift

@@ -10,7 +10,7 @@ import ObjectMapper
 import RealmSwift
 import BFFramework
 
-class PQVideoEditViewModel: NSObject {
+class MVHomeViewModel: NSObject {
   
     /// 获取首界面
     /// - Parameters:
@@ -23,46 +23,45 @@ class PQVideoEditViewModel: NSObject {
     ///   - layoutType: 页面排版方式 1:单列,2:双列
     ///   - lastTimestamp: 最后一条记录的时间戳
     /// - Returns: <#description#>
-    class func  getHomeHotVideos(type: Int = 1, targetUid: Int, pageSize: Int = 10, pageNo: Int, currentVideoId _: Int = 0, sortField _: Int = 1, layoutType _: Int = 2, lastTimestamp: Int, completeHander: @escaping (_ listData: [PQVideoListModel]?, _ videoList: [[PQVideoListModel]]?, _ msg: String?) -> Void) {
+    class func  getHomeHotVideos(completeHander: @escaping (_ hotVideos: Array<MVHotVideoModel>, _ msg: String?) -> Void) {
         var url: String = PQENVUtil.shared.longvideoapi
-        if type == 1 {
-            url = url + latelyByCollectionIdUrl
-        } else {
-            url = url + hotByCollectionIdUrl
-        }
-        var params: [String: Any] = ["targetUid": targetUid, "pageSize": pageSize, "sortField": type]
-        if type == 1 {
-            params["lastTimestamp"] = lastTimestamp
-        } else {
-            params["pageNo"] = pageNo
+        
+        url = url + "rhythmapp/homepage/getAllVideos"
+  
+        SWNetRequest.postRequestData(url: url, parames: nil) { response, _, error, _ in
+            
+            DispatchQueue.global().async {
+
+                var hotVideos:Array = Array<MVHotVideoModel>.init()
+                if !(response is NSNull), response != nil {
+                    let tempArr = response as! [[String: Any]]
+                    for item in tempArr {
+                        
+                        let hotVideoModel:MVHotVideoModel = MVHotVideoModel.init()
+                        hotVideoModel.categoryId = item["categoryId"] as? Int ?? 0
+                        hotVideoModel.categoryName = item["categoryName"]  as? String ?? ""
+                        
+                        let videos = item["videos"] as! [[String: Any]]
+                        for video in videos {
+                            let tempModel = PQVideoListModel(jsonDict: video)
+                            hotVideoModel.videos.append(tempModel)
+                          
+                        }
+                        hotVideos.append(hotVideoModel)
+
+                     
+                    }
+                    DispatchQueue.main.async {
+
+                        completeHander(hotVideos, nil)
+                    }
+                } else {
+                    DispatchQueue.main.async {
+
+                        completeHander(hotVideos, error?.msg)
+                    }
+                }
+            }
         }
-//        SWNetRequest.postRequestData(url: url, parames: params) { response, _, error, _ in
-//
-//            DispatchQueue.global().async {
-//
-//                var listData = Array<PQVideoListModel>.init()
-//                var videoList = Array<[PQVideoListModel]>.init()
-//
-//                if !(response is NSNull), response != nil {
-//                    let tempArr = response as! [[String: Any]]
-//                    for item in tempArr {
-//                        let tempModel = PQVideoListModel(jsonDict: item)
-//                        listData.append(tempModel)
-//                        if tempModel.auditStatus == 5, tempModel.transcodeStatus == 3 {
-//                            videoList.append([tempModel])
-//                        }
-//                    }
-//                    DispatchQueue.main.async {
-//
-//                        completeHander(listData, videoList, nil)
-//                    }
-//                } else {
-//                    DispatchQueue.main.async {
-//
-//                        completeHander(listData, videoList, error?.msg)
-//                    }
-//                }
-//            }
-//        }
     }
 }