Chris 5 anos atrás
pai
commit
339d4835ef

+ 21 - 222
RainbowPlanet/RainbowPlanet/Modules/PublishModule/PublishEditController/Controller/PublishEditController.swift

@@ -58,32 +58,12 @@ class PublishEditController: BaseViewController {
         
         // imageUrlArray每次进入页面需置空
         imageUrlArray = []
-        rightButton.isEnabled = false
-        rightButton.backgroundColor = kd8d8d8Color
-        
-        if mediaType == .video {
-            subLabel.text = "视频正在上传中(0/1)..."
-            communityVideoUploadAuthApi()
-            print("----上传视频")
-        }
-        if mediaType == .image {
-            subLabel.text = "图片正在上传中(0/\(imageArr?.count ?? 0))..."
-            uploadAllImages(totalTimes: 0)
-        }
+//        rightButton.backgroundColor = kd8d8d8Color
+        rightButton.backgroundColor = k62CC74Color
     }
     
     override func viewWillAppear(_ animated: Bool) {
         
-//        let serialQueue = DispatchQueue(label: "serial_queue")
-//        serialQueue.async {
-//            print("----startUpLoad\n----\(Thread.current)")
-//            self.uploadAllImages(totalTimes: 0)
-//        }
-        
-//        DispatchQueue.main.async {
-//            print("----startUpLoad\n----\(Thread.current)")
-//            self.uploadAllImages(totalTimes: 0)
-//        }
     }
     
     override func setupViews() {
@@ -97,7 +77,7 @@ class PublishEditController: BaseViewController {
                 
             }, confirmBlock: {
                 (popupView, index, string) in
-                NotificationCenter.default.post(name: NSNotification.Name(rawValue: "DismissFromPublishEditVc"), object: nil)
+                self?.navigationController?.dismiss(animated: true, completion: nil)
             })
         }
         
@@ -109,28 +89,9 @@ class PublishEditController: BaseViewController {
             make.height.equalTo(26)
         }
         
-        view.addSubview(progressBackView)
-        progressBackView.addSubview(progressView)
-        progressBackView.addSubview(subLabel)
-        
-        progressBackView.snp.makeConstraints { (make) in
-            make.top.equalToSuperview().offset(kNavBarTotalHeight)
-            make.left.right.equalToSuperview()
-            make.height.equalTo(38)
-        }
-        progressView.snp.makeConstraints { (make) in
-            make.top.left.right.equalToSuperview()
-            make.height.equalTo(3)
-        }
-        subLabel.snp.makeConstraints { (make) in
-            make.left.equalTo(14)
-            make.centerY.equalToSuperview()
-            make.height.equalTo(20)
-        }
-        
         view.addSubview(tableView)
         tableView.snp.makeConstraints { (make) in
-            make.top.equalTo(progressBackView.snp_bottom)
+            make.top.equalTo(kNavBarTotalHeight)
             make.left.right.bottom.equalToSuperview()
         }
     }
@@ -156,36 +117,16 @@ class PublishEditController: BaseViewController {
         rightButton.setTitle("发布", for: UIControl.State.normal)
         rightButton.setTitleColor(kffffffColor, for: UIControl.State.normal)
         rightButton.titleLabel?.font = kMediumFont13
-        rightButton.cornerRadius = 16
+        rightButton.cornerRadius = 13
         rightButton.masksToBounds = true
         rightButton.rx.tap.subscribe(onNext: { [weak self] (data) in
-            self?.communityPublishApi()
+            
+            self?.checkPublishStatus()
+            
         }).disposed(by: disposeBag)
         return rightButton
     }()
     
-    private lazy var progressBackView: UIView = {
-        let progressBackView = UIView()
-        progressBackView.backgroundColor = kffffffColor
-        return progressBackView
-    }()
-    
-    private lazy var progressView: UIProgressView = {
-        let progressView = UIProgressView(progressViewStyle: .default)
-        progressView.setProgress(0, animated: false)
-        progressView.progressTintColor = k62CC74Color //进度颜色
-        progressView.trackTintColor = kd8d8d8Color //剩余进度颜色
-        return progressView
-    }()
-    
-    private lazy var subLabel: UILabel = {
-        let subLabel = UILabel()
-        subLabel.textColor = k333333Color
-        subLabel.font = kRegularFont14
-        subLabel.textAlignment = .left
-        return subLabel
-    }()
-    
 }
 
 // MARK: - tableView dataSource && delegate
@@ -317,45 +258,7 @@ extension PublishEditController : UITableViewDelegate, UITableViewDataSource {
 // MARK: - 逻辑处理
 extension PublishEditController {
     
-    func uploadAllImages(totalTimes: Int) {
-        
-        var curTimes: Int = totalTimes
-        
-        print("-----StartUpload,totalTimes == \(totalTimes)")
-        SwiftMoyaNetWorkServiceConfig.shared().configUploadSingleImgWithoutHudApi(imageArray: [self.imageArr![totalTimes]]) {
-            [weak self] (imgUrl) -> (Void) in
-            let urlStr: String = imgUrl as! String
-            self?.imageUrlArray.append(urlStr)
-            if curTimes == 0 {
-                // 设置主图
-                self?.majorImageUrl = urlStr
-            }
-            
-            print("-----FinishUpload,Times == \(curTimes)")
-            curTimes += 1
-            // 更新进度
-            DispatchQueue.main.async {
-                print("----\(Thread.current)")
-                self?.progressView.setProgress(Float(curTimes/(self?.imageArr!.count)!), animated: true)
-            }
-            if curTimes == self?.imageArr!.count {
-                self?.subLabel.text = "图片上传成功!"
-            } else {
-                self?.subLabel.text = "图片正在上传中(\(curTimes)/\(self?.imageArr?.count ?? 0))..."
-            }
-            
-            if curTimes < self?.imageArr?.count ?? 0 {
-                self?.uploadAllImages(totalTimes: curTimes)
-            } else {
-                self?.rightButton.isEnabled = true
-                self?.rightButton.backgroundColor = k62CC74Color
-            }
-        }
-    }
-    
-    // 发布Api
-    func communityPublishApi() {
-        
+    func checkPublishStatus() {
         if pubTitle.count > 20 {
             SwiftProgressHUD.shared().showText("标题最多输入20个字符")
             return
@@ -371,128 +274,24 @@ extension PublishEditController {
             return
         }
         
-        var typeStr: String = ""
-        if mediaType == .image {
-            typeStr = "image"
-        } else {
-            typeStr = "video"
-        }
-        
-        let topicJsonStr = JSON(selTopicIdArr).description
-        let imgsJsonStr = JSON(imageUrlArray).description
+        PublishUploadManager.shared().setPublishParas(self.selTopicIdArr, self.pubTitle, self.pubContent, self.locationStr)
         
-        print("----mediaType == \(typeStr)\n----pubTitle = \(pubTitle)\n----topicJsonStr == \(topicJsonStr)\n----imgsJsonStr == \(imgsJsonStr)")
-        
-        SwiftMoyaNetWorkServiceCommunity.shared().communityPublishApi(type: typeStr, img: majorImageUrl ?? "", topic_ids: topicJsonStr, video: paraVideo, title: pubTitle, content: pubContent, location: locationStr, imgs: imgsJsonStr) {
-            [weak self] (communityPublishModel) -> (Void) in
-            let communityPublishModel = communityPublishModel as? CommunityPublishModel
-            self?.publishSuccessAction(communityPublishModel!)
-        }
-    }
-    
-    func publishSuccessAction(_ pubModel: CommunityPublishModel) {
-        var typeStr: String = ""
-        if mediaType == .image {
-            typeStr = "image"
-        } else {
-            typeStr = "video"
-        }
-        
-        
-        VirusViewModel.shared.publishVirueRecordAddApi(postId: pubModel.postId, postType: typeStr, title: pubTitle, content: pubContent, postCover: majorImageUrl)
-        
-        
-        let sucVc = PublishSuccessController()
-        sucVc.postId   = pubModel.postId
-        sucVc.bean     = pubModel.bean
-        sucVc.H5UrlStr = pubModel.h5url
-        sucVc.imgUrl   = majorImageUrl
-        sucVc.titleStr = pubTitle
-        sucVc.contentStr = pubContent
-        // 暂给已选首个
-        sucVc.topicStr = selTopicModelArr[0].name ?? ""
-        
-        let userMdl = UserModel.shared().getModel()
-        sucVc.nameStr = userMdl?.username
-        sucVc.avatarStr = userMdl?.avatarurl
-        sucVc.uid = userMdl?.uid
-        sucVc.type = typeStr
-        
-        self.navigationController?.pushViewController(sucVc, animated: true)
-    }
-    
-}
-
-// MARK: - 视频相关处理
-extension PublishEditController: AlivcShortVideoUploadManagerDelegate {
-    
-    // 获取上传地址和凭证
-    func communityVideoUploadAuthApi() {
-        
-        var vTitle: String = ""
-        if videoPath.count > 20 {
-            vTitle = String(videoPath.suffix(20))
-        } else {
-            vTitle = videoPath
-        }
-        SwiftMoyaNetWorkServiceCommunity.shared().communityVideoUploadAuthApi(title: vTitle, filename: vTitle, cover_url: coverImagePath) {
-            [weak self] (communityVideoAuthModel) -> (Void) in
-            let communityVideoAuthModel = communityVideoAuthModel as? CommunityVideoAuthModel
-            self?.paraVideo = communityVideoAuthModel?.videoId ?? ""
-            self?.startUploadVideo(communityVideoAuthModel!)
-        }
-        
-    }
-    
-    // 上传视频
-    func startUploadVideo(_ authModel: CommunityVideoAuthModel) {
-        let info = AliyunUploadSVideoInfo()
-        uploadManager = AlivcShortVideoUploadManager.shared()
-        uploadManager?.setCoverImagePath(coverImagePath, videoInfo: info, videoPath: videoPath)
-        uploadManager?.managerDelegate = self
-        uploadManager?.uploadAddress = authModel.uploadAddress
-        uploadManager?.videoId = authModel.videoId
-        uploadManager?.uploadAuth = authModel.uploadAuth
-        uploadManager?.startUpload()
-    }
-    
-    // 上传进度回调
-    func uploadManager(_ manager: AlivcShortVideoUploadManager!, updateProgress progress: CGFloat) {
-        print("\n--------progress == \(progress)")
-        DispatchQueue.main.async(execute: {
-            self.progressView.progress = Float(progress)
-        })
-    }
-    
-    // 上传状态回调
-    func uploadManager(_ manager: AlivcShortVideoUploadManager!, uploadStatusChangedTo newStatus: AlivcUploadStatus) {
-        switch newStatus {
-        case AlivcUploadStatus.failure:
-            DispatchQueue.main.async(execute: {
-                self.subLabel.text = "上传失败!"
-                SwiftProgressHUD.shared().showText("上传失败!")
-            })
+        if self.mediaType == .video {
             
-        case AlivcUploadStatus.success:
-            // 上传封面图
-            self.uploadVideoCoverImage()
+            PublishUploadManager.shared().setVideoPath(self.mediaType, self.videoPath, self.coverImagePath, self.videoImage!)
+//            PublishUploadManager.shared().communityVideoUploadAuthApi()
             
-        default:
-            break
+            print("----上传视频")
         }
-    }
-    
-    // 上传视频封面图
-    func uploadVideoCoverImage() {
-        SwiftMoyaNetWorkServiceConfig.shared().configUploadSingleImgWithoutHudApi(imageArray: [videoImage!]) {
-            [weak self] (imgUrl) -> (Void) in
-            // 设置主图
-            self?.majorImageUrl = imgUrl as? String
+        if self.mediaType == .image {
+            PublishUploadManager.shared().setImagesPath(self.imageArr!)
+//            PublishUploadManager.shared().uploadAllImages(totalTimes: 0)
             
-            self?.subLabel.text = "上传成功!"
-            self?.rightButton.isEnabled = true
-            self?.rightButton.backgroundColor = k62CC74Color
         }
+        
+        self.navigationController?.dismiss(animated: true, completion: {
+            NotificationCenter.default.post(name: NSNotification.Name(rawValue: "DismissFromPublishEditVc"), object: nil)
+        })
     }
     
 }

+ 2 - 2
RainbowPlanet/RainbowPlanet/Modules/PublishModule/PublishManager/PublishUploadManager.swift

@@ -183,7 +183,7 @@ extension PublishUploadManager {
     }
     
     // 发布Api
-    func communityPublishApi() {
+    private func communityPublishApi() {
         
         var typeStr: String = ""
         if mediaType == .image {
@@ -204,7 +204,7 @@ extension PublishUploadManager {
         }
     }
     
-    func publishSuccessAction(_ pubModel: CommunityPublishModel) {
+    private func publishSuccessAction(_ pubModel: CommunityPublishModel) {
         var typeStr: String = ""
         if mediaType == .image {
             typeStr = "image"

+ 1 - 1
RainbowPlanet/RainbowPlanet/Modules/PublishModule/PublishSuccess/PublishSuccessController.swift

@@ -41,7 +41,7 @@ class PublishSuccessController: BaseViewController {
         navigationBar.titleLabelColor = kffffffColor
         navigationBar.wr_setLeftButton(image: kImage(name: "navbar_back_white")!)
         navigationBar.onClickLeftButton = {
-           NotificationCenter.default.post(name: NSNotification.Name(rawValue: "DismissFromPublishEditVc"), object: nil)
+            self.navigationController?.dismiss(animated: true, completion: nil)
         }
         
         view.addSubview(shareCommunityContentView)

+ 0 - 11
RainbowPlanet/RainbowPlanet/Modules/PublishModule/PublishViewController.swift

@@ -11,13 +11,6 @@ import JXSegmentedView
 
 class PublishViewController: BaseViewController {
     
-    deinit {
-        if observe != nil {
-            NotificationCenter.default.removeObserver(observe!)
-        }
-    }
-    weak var observe : NSObjectProtocol?
-    
     // 视频选择页参数配置类
     var mediaConfig: AliyunMediaConfig {
         //默认配置
@@ -50,10 +43,6 @@ class PublishViewController: BaseViewController {
         setupViews()
         setupLayouts()
         setupData()
-                
-        observe = NotificationCenter.default.addObserver(forName: NSNotification.Name("DismissFromPublishEditVc"), object: nil, queue: OperationQueue.main) {[weak self] (notification) in
-            self?.dismiss(animated: true, completion: nil)
-        }
     }
     
     override func setupViews() {