CNLiveHomePageViewModel.swift 6.32 KB
//
//  CNLiveHomePageViewModel.swift
//  metaCode
//
//  Created by zx on 2024/1/8.
//

import Foundation
import CNLiveRequestBastKit

class CNLiveHomePageViewModel:NSObject{
    
    /// 获取首页原生页面数据
    static func requestGetHomePageConfigList( resultBlock: @escaping downSlideResultBlock) {
        let param = NSMutableDictionary()
        CNLiveNetworking.setAllowRequestDefaultArgument(true)
        CNLiveNetworking.setupShowDataResult(false)
        CNLiveNetworking.requestNetwork(with: .GET, urlString: APPBaseMCUrl+"/commonApi/homePageConfigList", param: param as! [String : String], cacheType: .networkOnly) { task, result, error in
            hiddenLoading()
            if (error == nil) {
                let resp = result as! NSDictionary
                let errorCode = "\(resp["errorCode"] ?? "0")"
                if (errorCode == "0") {
                    let dataDic = resp["data"] as! Dictionary<String, Any>
                    let dataMdl = newDictionaryToModel(dataDic, CNLiveHomePageModel.self)
                    
                    resultBlock(dataMdl,.success)
                }
                else{
                    resultBlock(NSNull(),.failed)
                }
            }
        }
    }
    /// 获取首页我的专辑收藏数据
    static func requestGetHomePage(resultBlock: @escaping downSlideResultBlock) {
        let param = NSMutableDictionary()
        param.setValue(UserInfoManager.shared.userInfo.uid, forKey: "sid")
        param.setValue("1", forKey: "page")
        param.setValue("50", forKey: "pageSize")

        CNLiveNetworking.setAllowRequestDefaultArgument(true)
        CNLiveNetworking.setupShowDataResult(false)
        CNLiveNetworking.requestNetwork(with: .GET, urlString: APPBaseCMSUrl+"/contentApi/myAlbum", param: param as! [String : String], cacheType: .networkOnly) { task, result, error in
            hiddenLoading()
            if (error == nil) {
                let resp = result as! NSDictionary
                let errorCode = "\(resp["errorCode"] ?? "0")"
                if (errorCode == "0") {
                    let dataDic = resp["data"] as! Dictionary<String, Any>
                    let dataMdl = newDictionaryToModel(dataDic, CNLiveHomePageModel.self)
                    
                    resultBlock(dataMdl,.success)
                }
                else{
                    resultBlock(NSNull(),.failed)
                }
            }
        }
    }
    /// 获取首页-全部专辑列表
    static func getBlockContents(blockId:String,resultBlock: @escaping downSlideResultBlock) {
        let param = NSMutableDictionary()
        param.setValue(blockId, forKey: "blockId")
        CNLiveNetworking.setAllowRequestDefaultArgument(true)
        CNLiveNetworking.setupShowDataResult(false)
        CNLiveNetworking.requestNetwork(with: .GET, urlString: APPBaseCMSUrl+"/contentApi/getBlockContents", param: param as! [String : String], cacheType: .networkOnly) { task, result, error in
            hiddenLoading()
            if (error == nil) {
                let resp = result as! NSDictionary
                let errorCode = "\(resp["errorCode"] ?? "0")"
                if (errorCode == "0") {
                    let dataDic = resp["data"] as! Dictionary<String, Any>
                    let dataList = dataDic["list"] as! Array<Any>
                    var listArr = Array<Any>()
                    for listDic in dataList{
                        let dataMdl = newDictionaryToModel(listDic as! [String : Any], CNLiveAlbumModel.self)
                        listArr.append(dataMdl)
                    }
                    
                    resultBlock(listArr,.success)
                }
                else{
                    resultBlock(NSNull(),.failed)
                }
            }
        }
    }
    
    /// 获取首页-专辑详情简介
    static func getAlbumMsg(aid:String,resultBlock: @escaping downSlideResultBlock) {
        let param = NSMutableDictionary()
        param.setValue(aid, forKey: "aid")
        param.setValue(UserInfoManager.shared.userInfo.uid, forKey: "sid")

        CNLiveNetworking.setAllowRequestDefaultArgument(true)
        CNLiveNetworking.setupShowDataResult(false)
        CNLiveNetworking.requestNetwork(with: .GET, urlString: APPBaseCMSUrl+"/contentApi/getAlbumMsg", param: param as! [String : String], cacheType: .networkOnly) { task, result, error in
            hiddenLoading()
            if (error == nil) {
                let resp = result as! NSDictionary
                let errorCode = "\(resp["errorCode"] ?? "0")"
                if (errorCode == "0") {
                    let dataDic = resp["data"] as! Dictionary<String, Any>
                    let dataMdl = newDictionaryToModel(dataDic, CNLiveAlbumMsgModel.self)
                    
                    resultBlock(dataMdl,.success)
                }
                else{
                    resultBlock(NSNull(),.failed)
                }
            }
        }
    }
    
    /// 获取首页-专辑视频列表详情
    static func getAlbumList(aid:String,resultBlock: @escaping downSlideResultBlock) {
        let param = NSMutableDictionary()
        param.setValue(aid, forKey: "aid")
        param.setValue(UserInfoManager.shared.userInfo.uid, forKey: "sid")

        CNLiveNetworking.setAllowRequestDefaultArgument(true)
        CNLiveNetworking.setupShowDataResult(false)
        CNLiveNetworking.requestNetwork(with: .GET, urlString: APPBaseCMSUrl+"/ugcApi/albumList", param: param as! [String : String], cacheType: .networkOnly) { task, result, error in
            hiddenLoading()
            if (error == nil) {
                let resp = result as! NSDictionary
                let errorCode = "\(resp["errorCode"] ?? "0")"
                if (errorCode == "0") {
                    let dataDic = resp["data"] as! Dictionary<String, Any>
                    let dataList = dataDic["list"] as! Array<Any>
                    var listArr = Array<Any>()
                    for listDic in dataList{
                        let dataMdl = newDictionaryToModel(listDic as! [String : Any], CNLiveAlbumListModel.self)
                        listArr.append(dataMdl)
                    }
                    
                    resultBlock(listArr,.success)
                }
                else{
                    resultBlock(NSNull(),.failed)
                }
            }
        }
    }
}