CNLiveDownSlideTool.swift 5.96 KB
//
//  CNLiveDownSlideTool.swift
//  metaCode
//
//  Created by zx on 2023/10/25.
//  跳转

import Foundation
import CNLiveShareToolKit

class CNLiveDownSlideTool:NSObject{
    class func pushWebVCWithContentsMdl(model:String,contentId:String,pid:String,shareUrl:String,thirdUrl:String,title:String,s_to:String,trailerId:String,controller:UIViewController?){//contentMdl:CNLiveDownSlideContentsModel
        
        if (model == kCNDownSlideContentsModelModel1) {
            
            let queryItem = URLQueryItem(name: "contentId", value: contentId)
            let queryItem1 = URLQueryItem(name: "videoId", value: pid)
            let urlComponents = NSURLComponents(string: shareUrl)!
            urlComponents.queryItems = [queryItem, queryItem1]
            let regURL = urlComponents.url
            let webVC = CNWebViewController()
            webVC.url = regURL
            if controller != nil{
                controller!.navigationController?.pushViewController(webVC, animated: pushAnimated)
            }else{
                navigationViewController().visibleViewController?.navigationController?.pushViewController(webVC, animated: pushAnimated)
            }
        }else if (model == kCNDownSlideContentsModelModel2){
            
            let queryItem = URLQueryItem(name: "contentId", value: contentId)
            let queryItem1 = URLQueryItem(name: "activityId", value: pid)
            let queryItem2 = URLQueryItem(name: "pid", value: pid)
            let queryItem3 = URLQueryItem(name: "trailerId", value: trailerId)
            let urlComponents = NSURLComponents(string: shareUrl)!
            urlComponents.queryItems = [queryItem, queryItem1, queryItem2, queryItem3]
            let regURL = urlComponents.url
            let webVC = CNWebViewController()
            webVC.url = regURL
            if controller != nil{
                controller!.navigationController?.pushViewController(webVC, animated: pushAnimated)
            }else{
                navigationViewController().visibleViewController?.navigationController?.pushViewController(webVC, animated: pushAnimated)
            }
        }else if (model == kCNDownSlideContentsModelModel3) || (model == kCNDownSlideContentsModelModel4){
            let webVC = CNWebViewController()
//            webVC.url = URL(string: "http://wjjh5.cnlive.com/cnBlockMore.html?channelName=yjzg&pageId=&isShowTitle=true&blockType=28&contentType=13&title=%E5%9B%AD%E9%95%BF%E8%AF%BE%E7%A8%8B&pageName=&moreUrl=https%3A%2F%2Fcmsapi.cnlive.com%2FcontentApi%2FgetBlockContents%3FblockId%3D12165")//"https://managemall.cnlive.com/html/mall/1/#/pages/main/goodsList/goodsList?scene=app")
            webVC.url = URL(string: thirdUrl)
            if controller != nil{
                controller!.navigationController?.pushViewController(webVC, animated: pushAnimated)
            }else{
                navigationViewController().visibleViewController?.navigationController?.pushViewController(webVC, animated: pushAnimated)
            }
        }else if (model == kCNDownSlideContentsModelModelAlbum){
            
            let urlString = "http://wjjh5.cnlive.com/cnYmAlbumVideoList.html"
            let queryItem = URLQueryItem(name: "aid", value: contentId)
            let queryItem1 = URLQueryItem(name: "title", value: title)
            let urlComponents = NSURLComponents(string: urlString)
            urlComponents!.queryItems = [queryItem, queryItem1]
            let regURL = urlComponents?.url
            let webVC = CNWebViewController()
            webVC.url = regURL
            if controller != nil{
                controller!.navigationController?.pushViewController(webVC, animated: pushAnimated)
            }else{
                navigationViewController().visibleViewController?.navigationController?.pushViewController(webVC, animated: pushAnimated)
            }
        }else if (model == kCNDownSlideContentsModelModelAlbum_video){
            let urlString = "http://wjjh5.cnlive.com/cnYjzgAlbumVideo.html"
            let queryItem = URLQueryItem(name: "aid", value: contentId)
            let queryItem1 = URLQueryItem(name: "title", value: title)
            let queryItem2 = URLQueryItem(name: "channelName", value: "yjzg")
            let queryItem3 = URLQueryItem(name: "isShowTitle", value: "true")
            let queryItem4 = URLQueryItem(name: "isWjjReport", value: "true")
            let urlComponents = NSURLComponents(string: urlString)
            urlComponents!.queryItems = [queryItem, queryItem1,queryItem2,queryItem3,queryItem4]
            let regURL = urlComponents?.url
            let webVC = CNWebViewController()
            webVC.url = regURL
            if controller != nil{
                controller!.navigationController?.pushViewController(webVC, animated: pushAnimated)
            }else{
                navigationViewController().visibleViewController?.navigationController?.pushViewController(webVC, animated: pushAnimated)
            }
        }else if (model == kCNDownSlideContentsModelModelAlbum_ugc){
            
            //短剧-跳转短剧播放页
            navigationViewController().visibleViewController?.navigationController?.pushViewController(CNLiveShortVideoViewController(aid: contentId), animated: pushAnimated)
        }else if model == kCNDownSlideContentsModelModelServing{
            //跳转微信小程序
            if let data = s_to.data(using: .utf8) {
                do {
                    let jsonResult = try JSONSerialization.jsonObject(with: data, options: []) as? [String: Any]
                    let miniAppId = jsonResult!["id"] as! String
                    let miniPath = jsonResult!["path"] as! String
                    CNLiveShareImageManager.pushWeChatMiniProgrem(withMiniAppId: miniAppId, path: miniPath, extMsg: "", extDic: [:])
                    
                } catch {
                    print("JSON 解析错误")
                }
            } else {
                print("无法将字符串转换为数据")
            }
        }else{
            return
        }
    }
}