Explorar o código

Merge branch 'develop' into feature/jeremy

南鑫林 %!s(int64=5) %!d(string=hai) anos
pai
achega
bb8476995c

+ 1 - 0
RainbowPlanet/RainbowPlanet/Macro/RainbowPlanet-Bridging-Header.h

@@ -75,6 +75,7 @@
 #import "AliyunCompositionInfo.h"
 #import "AVAsset+VideoInfo.h"
 #import "AliyunMediator.h"
+#import "AliyunPathManager.h"
 
 
 #endif /* RainbowPlanet_Bridging_Header_h */

+ 1 - 1
RainbowPlanet/RainbowPlanet/Modules/CommunityModule/Community/ViewController/Main/CommunityViewController.swift

@@ -238,7 +238,7 @@ class CommunityViewController: BaseViewController {
                 PublishUploadManager.shared().communityVideoUploadAuthApi()
             } else {
                PublishUploadManager.shared().progressView = progressView
-                PublishUploadManager.shared().uploadAllImages(totalTimes: 0)
+                PublishUploadManager.shared().communityImageUploadAuth(totalTimes: 0)
             }
             
         }

+ 31 - 18
RainbowPlanet/RainbowPlanet/Modules/PublishModule/AliyunVideo/AlivcShortVideo/ShortVideoFile/Common/Model/AlivcShortVideoUploadManager.m

@@ -77,7 +77,11 @@ static AliyunVodPublishManager *_uploadManager = nil;
 }
 
 - (BOOL)haveUploadSource {
-    if (_coverImagePath && _videoInfo) {
+    // FIXME: 图片Path为必须,上传纯图片时视频info可为空(July.24)
+//    if (_coverImagePath && _videoInfo) {
+//        return YES;
+//    }
+    if (_coverImagePath) {
         return YES;
     }
     return NO;
@@ -179,25 +183,17 @@ static AliyunVodPublishManager *_uploadManager = nil;
 #pragma mark - AliyunIVodUploadCallback
 
 - (void)publishManagerUploadSuccess:(AliyunVodPublishManager *)manager {
-    NSLog(@"upload success");
+    NSLog(@"----upload success");
     if (manager.uploadState == AliyunVodUploadImage) {
-        [self startUploadVideo];
-    }else {
-        NSLog(@"upload success vid:%@, imageurl:%@", self.videoId, self.coverImageUrl);
-        _newStatus = AlivcUploadStatusSuccess;
-        if (_managerDelegate &&
-            [_managerDelegate respondsToSelector:@selector(uploadManager:
-                                                           uploadStatusChangedTo:)]) {
-            [_managerDelegate uploadManager:self
-                      uploadStatusChangedTo:AlivcUploadStatusSuccess];
-        }
-        if (_managerDelegate && [_managerDelegate respondsToSelector:@selector(uploadManager:succesWithVid:coverImageUrl:)]) {
-            [_managerDelegate uploadManager:self succesWithVid:self.videoId coverImageUrl:self.coverImageUrl];
+        if (_videoInfo != nil) {
+            // 上传视频流程
+            [self startUploadVideo];
+        } else {
+            // 上传图片流程
+            [self publishSuccessActions];
         }
-        _videoInfo = nil;
-        _coverImagePath = nil;
-        _managerDelegate = nil;
-        _coverImageUrl = nil;
+    }else {
+        [self publishSuccessActions];
     }
 }
 
@@ -249,5 +245,22 @@ static AliyunVodPublishManager *_uploadManager = nil;
     NSLog(@"上传继续重试");
 }
 
+- (void)publishSuccessActions {
+    NSLog(@"upload success vid:%@, imageurl:%@", self.videoId, self.coverImageUrl);
+    _newStatus = AlivcUploadStatusSuccess;
+    if (_managerDelegate &&
+        [_managerDelegate respondsToSelector:@selector(uploadManager:
+                                                       uploadStatusChangedTo:)]) {
+        [_managerDelegate uploadManager:self
+                  uploadStatusChangedTo:AlivcUploadStatusSuccess];
+    }
+    if (_managerDelegate && [_managerDelegate respondsToSelector:@selector(uploadManager:succesWithVid:coverImageUrl:)]) {
+        [_managerDelegate uploadManager:self succesWithVid:self.videoId coverImageUrl:self.coverImageUrl];
+    }
+    _videoInfo = nil;
+    _coverImagePath = nil;
+    _managerDelegate = nil;
+    _coverImageUrl = nil;
+}
 
 @end

+ 8 - 0
RainbowPlanet/RainbowPlanet/Modules/PublishModule/PublishAddAddress/PublishAddAddressController.swift

@@ -36,6 +36,14 @@ class PublishAddAddressController: BaseViewController {
         }
     }
     
+    override func viewWillAppear(_ animated: Bool) {
+         navigationController?.interactivePopGestureRecognizer?.isEnabled = false
+    }
+    
+    override func viewWillDisappear(_ animated: Bool) {
+        navigationController?.interactivePopGestureRecognizer?.isEnabled = true
+    }
+    
     override func setupViews() {
         navigationBar.wr_setLeftButton(title: "", titleColor: UIColor.clear)
         navigationBar.onClickLeftButton = nil

+ 8 - 0
RainbowPlanet/RainbowPlanet/Modules/PublishModule/PublishAddTopic/Controller/PublishAddTopicController.swift

@@ -32,6 +32,14 @@ class PublishAddTopicController: BaseViewController {
         setupData()
     }
     
+    override func viewWillAppear(_ animated: Bool) {
+        navigationController?.interactivePopGestureRecognizer?.isEnabled = false
+    }
+    
+    override func viewWillDisappear(_ animated: Bool) {
+        navigationController?.interactivePopGestureRecognizer?.isEnabled = true
+    }
+    
     override func setupViews() {
         self.view.backgroundColor = kffffffColor
         

+ 23 - 1
RainbowPlanet/RainbowPlanet/Modules/PublishModule/PublishEditController/Controller/PublishEditController.swift

@@ -30,6 +30,7 @@ class PublishEditController: BaseViewController {
     }
     
     var imageArr: Array<UIImage>?
+    var imageAssetUrl: Array<String>?
     
     // 选中的话题
     var selTopicModelArr: Array<CommunityTopicDataModel> = []
@@ -279,7 +280,7 @@ extension PublishEditController {
             PublishUploadManager.shared().setVideoPath(self.mediaType, self.videoPath, self.coverImagePath, self.videoImage!)
         }
         if self.mediaType == .image {
-            PublishUploadManager.shared().setImagesPath(self.imageArr!)
+            self.writePhotosToFileAndSetPath()
         }
         
         self.navigationController?.dismiss(animated: true, completion: {
@@ -288,6 +289,27 @@ extension PublishEditController {
         })
     }
     
+    // 写入沙盒并设置沙盒路径
+    func writePhotosToFileAndSetPath() {
+        self.imageAssetUrl! = []
+        
+        for image in self.imageArr! {
+            let taskPath: String = (AliyunPathManager.compositionRootDir()?.appending(AliyunPathManager.randomString()))!
+            let imagePath: String = taskPath.appending("image.png")
+            let imgData: Data? = UIImage.pngData(image)()
+            do {
+                try imgData?.write(to: URL(fileURLWithPath: imagePath))
+            }
+            catch {
+                print("存入失败")
+            }
+            
+            self.imageAssetUrl!.append(imagePath)
+        }
+        
+        PublishUploadManager.shared().setImagesPath(self.imageArr!, self.imageAssetUrl!)
+    }
+    
     // 改变发布按钮颜色
     func checkPublishButtonStatus() {
         if pubContent.count == 0 || selTopicIdArr.count == 0 {

+ 131 - 73
RainbowPlanet/RainbowPlanet/Modules/PublishModule/PublishManager/PublishUploadManager.swift

@@ -31,6 +31,7 @@ class PublishUploadManager: NSObject {
     
     // 图片上传参数
     var imageArr: Array<UIImage>?
+    var imageAssetUrlArr: Array<String>?
     
     // 发布参数
     var selTopicIdArr: Array<String> = []
@@ -45,16 +46,21 @@ class PublishUploadManager: NSObject {
     // 发布图片のUrlArray
     var imageUrlArray: Array<String> = []
     
-    var uploadManager: AlivcShortVideoUploadManager?
+    // 记录当前是否发布完成
+    var isPublishFinished: Bool = true
+    // 图片上传时当前循环次数
+    var curTimes: Int = 0
+    // 是否正在上传视频封面
+    var isUploadingVideoCover: Bool = false
     
+    var uploadManager: AlivcShortVideoUploadManager?
     
     var progressView: PublishUploadProgressView?
-    // 记录当前是否发布完成
-    var isPublishFinished: Bool = true
 }
 
+
 // MARK: - 视频上传流程
-extension PublishUploadManager: AlivcShortVideoUploadManagerDelegate {
+extension PublishUploadManager {
     
     // 设置视频上传参数
     func setVideoPath(_ mediaType: PublishMediaType, _ videoPath: String, _ coverImagePath: String, _ videoImage: UIImage) {
@@ -62,9 +68,11 @@ extension PublishUploadManager: AlivcShortVideoUploadManagerDelegate {
         self.videoPath = videoPath
         self.coverImagePath = coverImagePath
         self.videoImage = videoImage
+        // 新发布时还原管理类内部的变量
+        self.isUploadingVideoCover = false
     }
     
-    // 获取上传地址和凭证
+    // 获取上传地址和凭证(视频)
     func communityVideoUploadAuthApi() {
         isPublishFinished = false
         
@@ -80,7 +88,6 @@ extension PublishUploadManager: AlivcShortVideoUploadManagerDelegate {
             self?.paraVideo = communityVideoAuthModel?.videoId ?? ""
             self?.startUploadVideo(communityVideoAuthModel!)
         }
-        
     }
     
     // 上传视频
@@ -95,102 +102,152 @@ extension PublishUploadManager: AlivcShortVideoUploadManagerDelegate {
         uploadManager?.startUpload()
     }
     
-    // 上传进度回调
-    func uploadManager(_ manager: AlivcShortVideoUploadManager!, updateProgress progress: CGFloat) {
-        NXLLog("\n--------uploadProgress == \(progress)")
-
-        DispatchQueue.main.async(execute: {
-//            self.progressView.progress = Float(progress)
-            self.progressView?.uploadProgress = Float(progress)
-        })
-    }
-    
-    // 上传状态回调
-    func uploadManager(_ manager: AlivcShortVideoUploadManager!, uploadStatusChangedTo newStatus: AlivcUploadStatus) {
-        switch newStatus {
-        case AlivcUploadStatus.failure:
-            DispatchQueue.main.async(execute: {
-                SwiftProgressHUD.shared().showText("上传失败!")
-            })
+    // 获取上传地址和凭证(图片)
+    func videoCoverImageUploadAuth() {
+        SwiftMoyaNetWorkServiceCommunity.shared().communityImageUploadAuth {
+            [weak self] (communityImageAuthModel) -> (Void) in
+            let communityImageAuthModel = communityImageAuthModel as? CommunityImageAuthModel
             
-        case AlivcUploadStatus.success:
-            // 上传封面图
-            self.uploadVideoCoverImage()
+            let imgWidth  = Int(self?.videoImage!.size.width ?? 0)
+            let imgHeight = Int(self?.videoImage!.size.height ?? 0)
+            let urlStr = String(format: "%@?%ld_%ld", communityImageAuthModel?.imageURL ?? "", imgWidth, imgHeight)
+            // 设置主图
+            self?.majorImageUrl = urlStr
             
-        default:
-            break
+            self?.uploadVideoCoverImage(communityImageAuthModel!)
         }
     }
     
     // 上传视频封面图
-    func uploadVideoCoverImage() {
-        SwiftMoyaNetWorkServiceConfig.shared().configUploadSingleImgWithoutHudApi(imageArray: [videoImage!]) {
-            [weak self] (imgUrl) -> (Void) in
-            // 设置主图
-            self?.majorImageUrl = imgUrl as? String
-            
-            NXLLog("------视频上传成功,去发布")
-            self?.progressView?.curUploadStatus = .success
-            self?.communityPublishApi()
-        }
+    func uploadVideoCoverImage(_ authModel: CommunityImageAuthModel) {
+        self.isUploadingVideoCover = true
+        
+        uploadManager = AlivcShortVideoUploadManager.shared()
+        uploadManager?.setCoverImagePath(coverImagePath, videoInfo: nil, videoPath: "")
+        uploadManager?.managerDelegate = self
+        uploadManager?.uploadAddress = authModel.uploadAddress
+        uploadManager?.uploadAuth = authModel.uploadAuth
+        uploadManager?.startUpload()
     }
     
 }
 
+
 // MARK: - 图片上传流程
 extension PublishUploadManager {
     
     // 设置图片上传参数
-    func setImagesPath(_ imageArr: Array<UIImage>) {
+    func setImagesPath(_ imageArr: Array<UIImage>, _ imageUrlArr: Array<String>) {
         self.imageArr = imageArr
-        // 新发布时置空管理类内部的imageUrl数组
+        self.imageAssetUrlArr = imageUrlArr
+        // 新发布时置空管理类内部的imageUrl数组及循环次数
         self.imageUrlArray = []
+        self.curTimes = 0
     }
     
-    // 上传图片
-    func uploadAllImages(totalTimes: Int) {
+    // 获取上传地址和凭证(图片)
+    func communityImageUploadAuth(totalTimes: Int) {
         isPublishFinished = false
         
-        var curTimes: Int = totalTimes
-        
-        NXLLog("-----StartUpload,totalTimes == \(totalTimes)")
-        SwiftMoyaNetWorkServiceConfig.shared().configUploadSingleImgWithoutHudApi(imageArray: [self.imageArr![totalTimes]]) {
-            [weak self] (imgUrl) -> (Void) in
-            let urlStr: String = imgUrl as! String
-            
-//            let curImage: UIImage = self!.imageArr![totalTimes]
-//            let imgWidth  = curImage.size.width
-//            let imgHeight = curImage.size.height
-//            urlStr = String(format: "%@?%f_%f", urlStr, imgWidth, imgHeight)
+        SwiftMoyaNetWorkServiceCommunity.shared().communityImageUploadAuth {
+            [weak self] (communityImageAuthModel) -> (Void) in
+            let communityImageAuthModel = communityImageAuthModel as? CommunityImageAuthModel
             
+            let curImage: UIImage = self?.imageArr![totalTimes] ?? UIImage()
+            let imgWidth  = Int(curImage.size.width)
+            let imgHeight = Int(curImage.size.height)
+            let urlStr = String(format: "%@?%ld_%ld", communityImageAuthModel?.imageURL ?? "", imgWidth, imgHeight)
             self?.imageUrlArray.append(urlStr)
-            if curTimes == 0 {
-                // 设置主图
-                self?.majorImageUrl = urlStr
-            }
             
-            NXLLog("-----FinishUpload,Times == \(curTimes)")
-            curTimes += 1
-            // 更新进度
-            DispatchQueue.main.async {
-                NXLLog("----\(Thread.current)")
-                NXLLog("----uploadProgress == \(Float(curTimes)/Float((self?.imageArr!.count)!))")
-                
-                self?.progressView?.uploadProgress = Float(curTimes/(self?.imageArr!.count)!)
-                
-            }
-            
-            if curTimes < self?.imageArr?.count ?? 0 {
-                self?.uploadAllImages(totalTimes: curTimes)
+            self?.startUploadImage(communityImageAuthModel!, totalTimes)
+        }
+    }
+    
+    // 上传图片
+    func startUploadImage(_ authModel: CommunityImageAuthModel, _ totalTimes: Int) {
+        self.curTimes = totalTimes
+        
+        let info = AliyunUploadSVideoInfo()
+        uploadManager = AlivcShortVideoUploadManager.shared()
+        uploadManager?.setCoverImagePath(self.imageAssetUrlArr?[totalTimes], videoInfo: nil, videoPath: "")
+        uploadManager?.managerDelegate = self
+        uploadManager?.uploadAddress = authModel.uploadAddress
+        uploadManager?.uploadAuth = authModel.uploadAuth
+        uploadManager?.startUpload()
+    }
+    
+}
+
+// MARK: - 上传过程监听
+extension PublishUploadManager: AlivcShortVideoUploadManagerDelegate {
+    
+    // 上传进度回调
+    func uploadManager(_ manager: AlivcShortVideoUploadManager!, updateProgress progress: CGFloat) {
+        NXLLog("-------------------上传进度回调 - progress == \(progress)")
+        DispatchQueue.main.async(execute: {
+            if self.mediaType == .image {
+                NXLLog("\n--------\(self.curTimes) uploadProgress == \(progress)")
             } else {
-                NXLLog("------图片上传成功,去发布")
-                self?.progressView?.curUploadStatus = .success
-                self?.communityPublishApi()
+                self.progressView?.uploadProgress = Float(progress)
             }
+        })
+    }
+    
+    // 上传状态回调
+    func uploadManager(_ manager: AlivcShortVideoUploadManager!, uploadStatusChangedTo newStatus: AlivcUploadStatus) {
+        switch newStatus {
+        case AlivcUploadStatus.failure:
+            DispatchQueue.main.async(execute: {
+                SwiftProgressHUD.shared().showText("上传失败!")
+                print("----------上传失败!")
+                self.isPublishFinished = true
+            })
+            
+        case AlivcUploadStatus.success:
+            DispatchQueue.main.async(execute: {
+                if self.mediaType == .image {
+                    // 图片上传流程
+                    self.curTimes += 1
+                    
+                    // 更新进度
+                    NXLLog("----uploadProgress == \(Float(self.curTimes)/Float(self.imageArr!.count))")
+                    self.progressView?.uploadProgress = Float(self.curTimes/self.imageArr!.count)
+                    
+                    if self.curTimes < self.imageArr?.count ?? 0 {
+                        // 继续上传
+                        self.communityImageUploadAuth(totalTimes: self.curTimes)
+                    } else {
+                        // 图片上传成功,去发布
+                        // 设置主图
+                        self.majorImageUrl = self.imageUrlArray[0]
+                        self.progressView?.curUploadStatus = .success
+                        self.communityPublishApi()
+                    }
+                    
+                } else {
+                    // 视频上传流程
+                    if self.isUploadingVideoCover {
+                        // 上传封面图の返回
+                        self.isUploadingVideoCover = false
+                        
+                        // 视频上传成功,去发布
+                        self.progressView?.curUploadStatus = .success
+                        self.communityPublishApi()
+                        
+                    } else {
+                        // 上传视频の返回
+                        self.videoCoverImageUploadAuth()
+                    }
+                }
+            })
+            
+        default:
+            break
         }
     }
 }
 
+
 // MARK: - 发布流程
 extension PublishUploadManager {
     
@@ -237,6 +294,7 @@ extension PublishUploadManager {
         isPublishFinished = true
         progressView?.hide()
         progressView?.attachedView?.isHidden = true
+        
 //        progressView?.curUploadStatus = UploadStatus.failure
     }
 }

+ 16 - 6
RainbowPlanet/RainbowPlanet/Modules/PublishModule/PublishMediaPicker/Controller/KSMediaPickerController.swift

@@ -31,7 +31,7 @@ open class KSMediaPickerController: UIViewController, UICollectionViewDelegate,
     typealias CropClosure = (_ vItemMdl: KSMediaPickerItemModel) -> Void
     var cropClosure: CropClosure?
     
-    typealias PubImgClosure = (_ selectedAssetArray: Array<UIImage>) -> Void
+    typealias PubImgClosure = (_ selectedAssetArray: Array<UIImage>, _ selectedImageUrlArray: Array<String>) -> Void
     var pubImgClosure: PubImgClosure?
     
     @objc public enum mediaType : Int {
@@ -178,16 +178,26 @@ open class KSMediaPickerController: UIViewController, UICollectionViewDelegate,
             
         } else {
             var imageArray: Array<UIImage> = []
-            for selItem in _selectedAssetArray {
+            var imageUrlArray: Array<String> = []
+            for (index, selItem) in _selectedAssetArray.enumerated() {
                 let itemModel = selItem as! KSMediaPickerItemModel
+                // 添加选中image
                 let image: UIImage = itemModel.thumb ?? UIImage()
                 imageArray.append(image)
+                // 添加选中imageのUrl
+                PHImageManager.default().requestImageData(for: itemModel.asset, options: nil) { (_, _, _, info) in
+                    let imageUrl: String = "\(info!["PHImageFileURLKey"] as! NSURL)"
+                    imageUrlArray.append(imageUrl)
+                    
+                    if index == self._selectedAssetArray.count-1 {
+                        if let pubImgClosure = self.pubImgClosure {
+                            (self.view as! KSMediaPickerView).previewView.videoPause()
+                            pubImgClosure(imageArray, imageUrlArray)
+                        }
+                    }
+                }
             }
             
-            if let pubImgClosure = self.pubImgClosure {
-                (view as! KSMediaPickerView).previewView.videoPause()
-                pubImgClosure(imageArray)
-            }
         }
     }
     

+ 29 - 7
RainbowPlanet/RainbowPlanet/Modules/PublishModule/PublishTakePhoto/PublishConfirmPhotoController.swift

@@ -18,9 +18,12 @@ class PublishConfirmPhotoController: BaseViewController {
         }
     }
     
-    typealias PubImgClosure = (_ selectedAssetArray: Array<UIImage>) -> Void
+    typealias PubImgClosure = (_ selectedAssetArray: Array<UIImage>, _ selectedImageUrlArray: Array<String>) -> Void
     var pubImgClosure: PubImgClosure?
     
+    //存放照片资源的标志符
+    var localId: String?
+    
     override func viewDidLoad() {
         super.viewDidLoad()
         setupViews()
@@ -76,7 +79,10 @@ class PublishConfirmPhotoController: BaseViewController {
         usePhotoBtn.titleLabel?.font = kMediumFont15
         usePhotoBtn.rx.tap.subscribe(onNext: { [weak self] (data) in
             PHPhotoLibrary.shared().performChanges({
-                _ = PHAssetChangeRequest.creationRequestForAsset(from: self!.photoImg!)
+                let result = PHAssetChangeRequest.creationRequestForAsset(from: self!.photoImg!)
+                let assetPlaceholder = result.placeholderForCreatedAsset
+                //保存标志符
+                self?.localId = assetPlaceholder?.localIdentifier
                 
             }, completionHandler: { (success, error) in
                     // 写入相册成功后,回到主线程进行流程
@@ -86,12 +92,28 @@ class PublishConfirmPhotoController: BaseViewController {
                             return
                         }
                         
-                        self?.dismiss(animated: false, completion: nil)
-                        // 保存成功,跳转至发布
-                        let imageArr: Array<UIImage> = [self!.photoImg!]
-                        if let pubImgClosure = self?.pubImgClosure {
-                            pubImgClosure(imageArr)
+                        // 通过标志符获取对应的资源
+                        let assetResult = PHAsset.fetchAssets(
+                            withLocalIdentifiers: [self?.localId ?? ""], options: nil)
+                        let asset = assetResult[0]
+                        let options = PHContentEditingInputRequestOptions()
+                        options.canHandleAdjustmentData = {(adjustmeta: PHAdjustmentData)
+                            -> Bool in
+                            return true
                         }
+                        //获取保存的图片路径
+                        asset.requestContentEditingInput(with: options, completionHandler: {
+                            (contentEditingInput:PHContentEditingInput?, info: [AnyHashable : Any]) in
+                            let urlStrArr = ["\(contentEditingInput!.fullSizeImageURL!)"]
+                            
+                            let imageArr: Array<UIImage> = [self!.photoImg!]
+                            if let pubImgClosure = self?.pubImgClosure {
+                                pubImgClosure(imageArr, urlStrArr)
+                            }
+                        })
+                        
+                        // 保存成功,跳转至发布
+                        self?.dismiss(animated: false, completion: nil)
                     }
             })
             

+ 3 - 3
RainbowPlanet/RainbowPlanet/Modules/PublishModule/PublishTakePhoto/PublishTakePhotoController.swift

@@ -22,7 +22,7 @@ class PublishTakePhotoController: BaseViewController {
     typealias DismissClosure = () -> Void
     var dismissClosure: DismissClosure?
     
-    typealias PubImgTransClosure = (_ selectedAssetArray: Array<UIImage>) -> Void
+    typealias PubImgTransClosure = (_ selectedAssetArray: Array<UIImage>, _ selectedImageUrlArray: Array<String>) -> Void
     var pubImgTransClosure: PubImgTransClosure?
     
     var curFlashType : FlashType! = .close
@@ -160,9 +160,9 @@ class PublishTakePhotoController: BaseViewController {
         let confirmVc = PublishConfirmPhotoController()
         confirmVc.photoImg = image
         confirmVc.pubImgClosure = {
-            [weak self] (imageArray) in
+            [weak self] (imageArray, imageUrlArray) in
             if let pubImgTransClosure = self?.pubImgTransClosure {
-                pubImgTransClosure(imageArray)
+                pubImgTransClosure(imageArray, imageUrlArray)
             }
         }
         self.present(confirmVc, animated: true, completion: nil)

+ 4 - 2
RainbowPlanet/RainbowPlanet/Modules/PublishModule/PublishViewController.swift

@@ -206,9 +206,10 @@ extension PublishViewController :JXSegmentedListContainerViewDataSource {
                 self?.getAvUrlAssetAndCrop(vItemModel)
             }
             mediaVc.pubImgClosure = {
-                [weak self] (imageArray) in
+                [weak self] (imageArray, imageUrlArray) in
                 let pubVc = PublishEditController()
                 pubVc.imageArr = imageArray
+                pubVc.imageAssetUrl = imageUrlArray
                 self?.navigationController?.pushViewController(pubVc, animated: true)
             }
             return mediaVc
@@ -253,9 +254,10 @@ extension PublishViewController :JXSegmentedListContainerViewDataSource {
                 self?.dismiss(animated: true, completion: nil)
             }
             photoVc.pubImgTransClosure = {
-                [weak self] (imageArray) in                
+                [weak self] (imageArray, imageUrlArray) in
                 let pubVc = PublishEditController()
                 pubVc.imageArr = imageArray
+                pubVc.imageAssetUrl = imageUrlArray
                 self?.navigationController?.pushViewController(pubVc, animated: true)
             }
             return photoVc