南鑫林 před 5 roky
rodič
revize
9b372de602

+ 23 - 2
RainbowPlanet/RainbowPlanet/Model/CommunityModel/CommunityCircleModel.swift

@@ -9,7 +9,7 @@ import ObjectMapper
 class CommunityCircleModel : NSObject, Mappable{
 
     var answerCount : Int?
-	var chatroom : CommunityCircleFunctionsModel?
+	var chatroom : CommunityCircleChatroomFunctionsModel?
 	var id : Int?
 	var image : String?
 	var isJoin : Int?
@@ -48,7 +48,7 @@ class CommunityCircleModel : NSObject, Mappable{
 
 class CommunityCircleFunctionsModel : NSObject, Mappable{
     
-    var extra : String?
+    var extra : Int?
     var isOpen : Int?
     
     
@@ -67,3 +67,24 @@ class CommunityCircleFunctionsModel : NSObject, Mappable{
     
 }
 
+class CommunityCircleChatroomFunctionsModel : NSObject, Mappable{
+    
+    var extra : String?
+    var isOpen : Int?
+    
+    
+    class func newInstance(map: Map) -> Mappable?{
+        return CommunityCircleChatroomFunctionsModel()
+    }
+    required init?(map: Map){}
+    private override init(){}
+    
+    func mapping(map: Map)
+    {
+        extra <- map["extra"]
+        isOpen <- map["is_open"]
+        
+    }
+    
+}
+

+ 70 - 32
RainbowPlanet/RainbowPlanet/Modules/CircleModule/Circle/View/CircleHeaderView/CircleHeaderView.swift

@@ -98,13 +98,23 @@ class CircleHeaderView: BaseView {
     
     override func setupData() {
         chatRootButton.rx.tap.subscribe(onNext: { [weak self] (_) in
-            if self?.communityCircleModel?.isBlack == 1 {
-                SwiftProgressHUD.shared().showText("您在本圈子内的权限受限")
+            if UserModel.isTokenNil() { //是否登录
+                kAppDelegate.setLogin()
             }else {
-                if self?.communityCircleModel?.chatroom?.isOpen == 1 {
-                    self?.userChatroomValidRoomApi()
-                }else {
-                    SwiftProgressHUD.shared().showText("这个圈子没有聊天室哦~")
+                if self?.communityCircleModel?.isJoin == 0 { //是否加入圈子
+                    SwiftProgressHUD.shared().showText("您还没有加入圈子哦,\n请您先加入圈子")
+                }else if self?.communityCircleModel?.isJoin == 1 {
+                    
+                    if self?.communityCircleModel?.isBlack == 1 { //是否黑名单
+                        SwiftProgressHUD.shared().showText("您在本圈子内的权限受限")
+                    }else {
+                        if self?.communityCircleModel?.chatroom?.isOpen == 1 { //聊天室是否打开
+                            self?.userChatroomValidRoomApi()
+                        }else {
+                            SwiftProgressHUD.shared().showText("这个圈子没有聊天室哦~")
+                        }
+                    }
+                   
                 }
             }
             
@@ -114,27 +124,37 @@ class CircleHeaderView: BaseView {
             if self?.circleButton.isSelected ?? false { //退出圈子
                 self?.communityCircleJoinDeleteApi()
             }else { //加入圈子
-                // 是否答题
-                if self?.communityCircleModel?.joinLimit == 0 { //不需要
-                   self?.communityCircleJoinPostApi()
-                } else if self?.communityCircleModel?.joinLimit == 1 { //需要
-                    if self?.communityCircleModel?.answerCount == 0 {
-                        SwiftProgressHUD.shared().showText("今天答题次数已用完,\n请明天再加入哦~")
+                if UserModel.isTokenNil() {
+                    kAppDelegate.setLogin()
+                }else {
+                    
+                    if self?.communityCircleModel?.isBlack == 1 { //是否黑名单
+                        SwiftProgressHUD.shared().showText("您在本圈子内的权限受限")
                     }else {
-                        let vc = CircleQuestionsAnswersViewController()
-                        vc.circleId = self?.communityCircleModel?.id ?? 0
-                        vc.joinFail = {
-                            [weak self] answerCount in
-                            self?.communityCircleModel?.answerCount = answerCount
+                        // 是否答题
+                        if self?.communityCircleModel?.joinLimit == 0 { //不需要
+                            self?.communityCircleJoinPostApi()
+                        } else if self?.communityCircleModel?.joinLimit == 1 { //需要
+                            if self?.communityCircleModel?.answerCount == 0 {
+                                SwiftProgressHUD.shared().showText("今天答题次数已用完,\n请明天再加入哦~")
+                            }else {
+                                let vc = CircleQuestionsAnswersViewController()
+                                vc.circleId = self?.communityCircleModel?.id ?? 0
+                                vc.joinFail = {
+                                    [weak self] answerCount in
+                                    self?.communityCircleModel?.answerCount = answerCount
+                                }
+                                vc.joinSuccess = {
+                                    [weak self] in
+                                    self?.joinSuccess()
+                                }
+                                UIViewController.topMost?.navigationController?.pushViewController(vc, animated: true)
+                            }
+                            
                         }
-                        vc.joinSuccess = {
-                            [weak self] in
-                            self?.joinSuccess()
-                        }
-                        UIViewController.topMost?.navigationController?.pushViewController(vc, animated: true)
                     }
-
                 }
+                
             }
         }).disposed(by: disposeBag)
         
@@ -271,8 +291,8 @@ class CircleHeaderView: BaseView {
             bgImageView.kf.setImage(with: kURLImage(name: communityCircleModel?.image ?? "default_pic"), placeholder: kImage(name: "default_pic"))
             titleLabel.text = communityCircleModel?.name
             avatarImageView.kf.setImage(with: kURLImage(name: communityCircleModel?.image ?? "default_avatar"), placeholder: kImage(name: "default_avatar"))
-            memberNumberLabel.text = "  \(communityCircleModel?.members?.extra ?? "")"
-            albumNumberLabel.text = "  \(communityCircleModel?.pictures?.extra ?? "")"
+            memberNumberLabel.text = "  \(communityCircleModel?.members?.extra ?? 0)"
+            albumNumberLabel.text = "  \(communityCircleModel?.pictures?.extra ?? 0)"
             
             if communityCircleModel?.notice == nil ||  communityCircleModel?.notice == "" {
                 bottomView.isHidden = true
@@ -317,16 +337,16 @@ class CircleHeaderView: BaseView {
         self.circleButton.isSelected = true
         self.communityCircleModel?.isJoin = 1
         SwiftProgressHUD.shared().showText("加入圈子成功")
-        self.communityCircleModel?.members?.extra = "\(Int(self.communityCircleModel?.members?.extra ?? "0")! + 1)"
-        self.memberNumberLabel.text = self.communityCircleModel?.members?.extra
+        self.communityCircleModel?.members?.extra = (self.communityCircleModel?.members?.extra ?? 0) + 1
+        self.memberNumberLabel.text = "\(self.communityCircleModel?.members?.extra ?? 0)"
     }
     /// 退出圈子
     func dropOutSuccess() {
         self.circleButton.isSelected = false
         self.communityCircleModel?.isJoin = 0
         SwiftProgressHUD.shared().showText("退出圈子成功")
-        self.communityCircleModel?.members?.extra = "\(Int(self.communityCircleModel?.members?.extra ?? "1")! - 1)"
-        self.memberNumberLabel.text = self.communityCircleModel?.members?.extra
+        self.communityCircleModel?.members?.extra = (self.communityCircleModel?.members?.extra ?? 1) - 1
+        self.memberNumberLabel.text = "\(self.communityCircleModel?.members?.extra ?? 0)"
         
     }
     
@@ -340,9 +360,27 @@ class CircleHeaderView: BaseView {
     
     /// 相册
     @objc func circleAlbumAction() {
-        let vc = CircleAlbumViewController()
-        vc.circleId = self.communityCircleModel?.id ?? 0
-        UIViewController.topMost?.navigationController?.pushViewController(vc, animated: true)
+        
+        if UserModel.isTokenNil() { //是否登录
+            kAppDelegate.setLogin()
+        }else {
+            if self.communityCircleModel?.isJoin == 0 { //是否加入圈子
+                SwiftProgressHUD.shared().showText("您还没有加入圈子哦,\n请您先加入圈子")
+            }else if self.communityCircleModel?.isJoin == 1 {
+                if self.communityCircleModel?.isBlack == 1 { //是否黑名单
+                    SwiftProgressHUD.shared().showText("您在本圈子内的权限受限")
+                }else {
+                    if self.communityCircleModel?.pictures?.isOpen == 1 { //圈子是否打开
+                        let vc = CircleAlbumViewController()
+                        vc.circleId = self.communityCircleModel?.id ?? 0
+                        UIViewController.topMost?.navigationController?.pushViewController(vc, animated: true)
+                    }else {
+                        SwiftProgressHUD.shared().showText("您在本圈子内的权限受限")
+                    }
+                }
+            }
+        }
+        
     }
     
     func scrollViewDidScroll(contentOffsetY: CGFloat) {

+ 44 - 3
RainbowPlanet/RainbowPlanet/Modules/CircleModule/Circle/View/CircleLeavingMessageView/Cell/CircleLeavingMessageCommentTopStepTableViewCell.swift

@@ -74,10 +74,37 @@ class CircleLeavingMessageCommentTopStepTableViewCell: UITableViewCell {
     
     func setupData() {
         topButton.rx.tap.subscribe(onNext: {[weak self] in
-            self?.communityCircleMessageAction(action:1)
+            if UserModel.isTokenNil() { //是否登录
+                kAppDelegate.setLogin()
+            }else {
+                if self?.communityCircleModel?.isJoin == 0 { //是否加入圈子
+                    SwiftProgressHUD.shared().showText("您还没有加入圈子哦,\n请您先加入圈子")
+                }else if self?.communityCircleModel?.isJoin == 1 {
+                    
+                    if self?.communityCircleModel?.isBlack == 1 { //是否黑名单
+                        SwiftProgressHUD.shared().showText("您在本圈子内的权限受限")
+                    }else {
+                        self?.communityCircleMessageAction(action:1)
+                    }
+                }
+            }
+            
         }).disposed(by: disposeBag)
         stepButton.rx.tap.subscribe(onNext: {[weak self] in
-            self?.communityCircleMessageAction(action:-1)
+            if UserModel.isTokenNil() { //是否登录
+                kAppDelegate.setLogin()
+            }else {
+                if self?.communityCircleModel?.isJoin == 0 { //是否加入圈子
+                    SwiftProgressHUD.shared().showText("您还没有加入圈子哦,\n请您先加入圈子")
+                }else if self?.communityCircleModel?.isJoin == 1 {
+                    
+                    if self?.communityCircleModel?.isBlack == 1 { //是否黑名单
+                        SwiftProgressHUD.shared().showText("您在本圈子内的权限受限")
+                    }else {
+                        self?.communityCircleMessageAction(action:-1)
+                    }
+                }
+            }
         }).disposed(by: disposeBag)
     }
     
@@ -110,6 +137,7 @@ class CircleLeavingMessageCommentTopStepTableViewCell: UITableViewCell {
         return stepButton
     }()
     
+    var communityCircleModel : CommunityCircleModel?
     var communityCircleMessageModel: CommunityCircleMessageModel? {
         didSet {
             action()
@@ -146,7 +174,20 @@ class CircleLeavingMessageCommentTopStepTableViewCell: UITableViewCell {
     
     // 评论
     @objc func commentAction() {
-        showKeyBoardCommentView()
+        if UserModel.isTokenNil() { //是否登录
+            kAppDelegate.setLogin()
+        }else {
+            if self.communityCircleModel?.isJoin == 0 { //是否加入圈子
+                SwiftProgressHUD.shared().showText("您还没有加入圈子哦,\n请您先加入圈子")
+            }else if self.communityCircleModel?.isJoin == 1 {
+                if self.communityCircleModel?.isBlack == 1 { //是否黑名单
+                    SwiftProgressHUD.shared().showText("您在本圈子内的权限受限")
+                }else {
+                    self.showKeyBoardCommentView()
+                }
+            }
+
+        }
     }
     
     /// 显示键盘

+ 2 - 0
RainbowPlanet/RainbowPlanet/Modules/CircleModule/Circle/View/CircleLeavingMessageView/CircleLeavingMessageView.swift

@@ -20,6 +20,7 @@ class CircleLeavingMessageView: BaseView {
     weak var observe : NSObjectProtocol?
     var listViewDidScrollCallback: ((UIScrollView) -> ())?
     var circleId : Int?
+    var communityCircleModel : CommunityCircleModel?
     var communityCircleMessageModels = Array<CommunityCircleMessageModel>()
     
     override func setupViews() {
@@ -128,6 +129,7 @@ extension CircleLeavingMessageView : UITableViewDelegate,UITableViewDataSource {
         //评论 顶踩
         case 3:
             let cell = CircleLeavingMessageCommentTopStepTableViewCell.cellWith(tableView: tableView, indexPath: indexPath)
+            cell.communityCircleModel = communityCircleModel
             cell.communityCircleMessageModel = communityCircleMessageModel
             cell.commentCloSure = {
                 var indexPath = indexPath

+ 40 - 8
RainbowPlanet/RainbowPlanet/Modules/CircleModule/Circle/ViewController/CircleViewController.swift

@@ -68,16 +68,39 @@ class CircleViewController: BaseViewController {
     override func setupData() {
         navigationBar.onClickRightButton = {
             [weak self] in
-            let vc = CircleShareContentViewController()
-            vc.imgUrl = self?.communityCircleModel?.image
-            vc.circleNameStr = self?.communityCircleModel?.name ?? ""
-            self?.navigationController?.pushViewController(vc, animated: true)
+            if UserModel.isTokenNil() {
+                kAppDelegate.setLogin()
+            }else {
+                let vc = CircleShareContentViewController()
+                vc.imgUrl = self?.communityCircleModel?.image
+                vc.circleNameStr = self?.communityCircleModel?.name ?? ""
+                self?.navigationController?.pushViewController(vc, animated: true)
+            }
         }
         plusButton.rx.tap.subscribe(onNext: {[weak self] (_) in
-            let vc = CirclePublishMessageViewController()
-            vc.circleId = self?.communityCircleModel?.id
-            vc.maxImageCount = 3
-            self?.navigationController?.pushViewController(vc, animated: true)
+            
+            if UserModel.isTokenNil() { //是否登录
+                kAppDelegate.setLogin()
+            }else {
+                if self?.communityCircleModel?.isJoin == 0 { //是否加入圈子
+                    SwiftProgressHUD.shared().showText("您还没有加入圈子哦,\n请您先加入圈子")
+                }else if self?.communityCircleModel?.isJoin == 1 {
+                    
+                    if self?.communityCircleModel?.isBlack == 1 { //是否黑名单
+                        SwiftProgressHUD.shared().showText("您在本圈子内的权限受限")
+                    }else {
+                        let vc = CirclePublishMessageViewController()
+                        vc.circleId = self?.communityCircleModel?.id
+                        vc.maxImageCount = 3
+                        vc.reloadClosure = {
+                            [weak self] in
+                            self?.reloadCircleLeavingMessageView()
+                        }
+                        self?.navigationController?.pushViewController(vc, animated: true)
+                    }
+                }
+            }
+            
         }).disposed(by: disposeBag)
         loadCircleData()
     }
@@ -166,6 +189,14 @@ class CircleViewController: BaseViewController {
         return plusButton
     }()
     
+    func reloadCircleLeavingMessageView() {
+        self.segmentedView.selectItemAt(index: 1)
+        self.segmentedView.defaultSelectedIndex = 1
+        self.segmentedDataSource.reloadData(selectedIndex: 1)
+        self.pagingView.listContainerView.defaultSelectedIndex = 1
+        self.pagingView.listContainerView.reloadData()
+    }
+    
     //1.初始化JXSegmentedView
     lazy var segmentedView: JXSegmentedView = {
         let segmentedView = JXSegmentedView(frame: CGRect(x: 0, y: 0, width: UIScreen.main.bounds.size.width, height: CGFloat(JXHeightForHeaderInSection)))
@@ -284,6 +315,7 @@ extension CircleViewController : JXPagingViewDelegate {
         default:
             let view = CircleLeavingMessageView()
             view.circleId = circleId
+            view.communityCircleModel = communityCircleModel
             return view
         }
     }

+ 2 - 1
RainbowPlanet/RainbowPlanet/Modules/CircleModule/CircleAlbum/View/CircleAlbumHeaderView.swift

@@ -54,6 +54,7 @@ class CircleAlbumHeaderView: BaseView {
     
     /// 上传图片
     func uploadPhotos() {
+        SwiftProgressHUD.shared().showWait("正在上传中...")
         var images = Array<UIImage>()
         for phAsset in selectedAssets {
             images.append(phAsset.fullResolutionImage!)
@@ -69,12 +70,12 @@ class CircleAlbumHeaderView: BaseView {
     }
     
     /// 上传到后端
-    
     typealias UploadSuccessClosure = () -> Void
     var uploadSuccessClosure : UploadSuccessClosure?
     func communityCirclePicturePostApi() {
         SwiftMoyaNetWorkServiceCommunity.shared().communityCirclePicturePostApi(circleId: circleId ?? 0, imgs: self.imgUrlsStr) { [weak self] (_) -> (Void) in
             if let uploadSuccessClosure = self?.uploadSuccessClosure {
+                SwiftProgressHUD.shared().hide()
                 uploadSuccessClosure()
             }
         }

+ 8 - 0
RainbowPlanet/RainbowPlanet/Modules/CircleModule/CirclePublishMessage/ViewController/CirclePublishMessageViewController.swift

@@ -53,6 +53,7 @@ class CirclePublishMessageViewController: BaseViewController {
     
     override func setupData() {
         publishButton.rx.tap.subscribe(onNext: {[weak self] (_) in
+            SwiftProgressHUD.shared().showWait("正在上传中...")
             if self?.selectedAssets.count == 0 {
                 self?.communityCircleMessagePostApi()
             }else {
@@ -111,8 +112,15 @@ class CirclePublishMessageViewController: BaseViewController {
        
     }
     
+    typealias ReloadClosure = () -> Void
+    var reloadClosure :ReloadClosure?
+    
     func communityCircleMessagePostApi() {
         SwiftMoyaNetWorkServiceCommunity.shared().communityCircleMessagePostApi(circleId: circleId ?? 0, content: content ,imgs: imgUrlsStr) { [weak self] _ in
+            SwiftProgressHUD.shared().hide()
+            if let reloadClosure = self?.reloadClosure {
+                reloadClosure()
+            }
             self?.navigationController?.popViewController(animated: true)
         }
     }

+ 2 - 0
RainbowPlanet/RainbowPlanet/Service/SwiftMoyaService/SwiftMoyaServiceManger/SwiftMoyaNetWorkManager/SwiftMoyaNetWorkManager.swift

@@ -440,7 +440,9 @@ extension PrimitiveSequence where TraitType == SingleTrait, ElementType == Respo
 extension PrimitiveSequence {
     
     func showFailInfo(rootModel:RootModel) {
+        SwiftProgressHUD.shared().hide()
         SwiftProgressHUD.shared().showText(rootModel.msg ?? "信息有误!!!")
+       
     }
     
     func log(response:Response,json:JSON) {

+ 16 - 17
RainbowPlanet/RainbowPlanet/Tools/SwiftProgressHUD/SwiftProgressHUD.swift

@@ -14,7 +14,7 @@ import UIKit
 
     private override init() {} // 私有化init方法
 
-    private lazy var hud: MBProgressHUD = {
+    lazy var hud: MBProgressHUD = {
         let hud = MBProgressHUD.showAdded(to: viewToShow(), animated: true)
         return hud
     }()
@@ -40,21 +40,20 @@ import UIKit
         return _sharedInstance
     }
 
-//    /// 显示等待消息
-//    ///
-//    /// - Parameter title: 加载提示语
-//    func showWait(_ title: String = "") {
-//        hide()
-//        let hud = MBProgressHUD.showAdded(to: viewToShow(), animated: true)
-//        hud.show(animated: true)
-//        hud.detailsLabel.text = title
-//        hud.bezelView.style = .solidColor
-//        hud.bezelView.backgroundColor = UIColor.clear
-//        hud.mode = MBProgressHUDMode.indeterminate
-//        hud.removeFromSuperViewOnHide = true
-//        self.hud = hud
-//    }
-//
+    /// 显示等待消息
+    ///
+    /// - Parameter title: 加载提示语
+    func showWait(_ title: String = "") {
+        hide()
+        let hud = MBProgressHUD.showAdded(to: viewToShow(), animated: true)
+        hud.show(animated: true)
+        hud.detailsLabel.text = title
+        hud.bezelView.style = .blur
+        hud.mode = MBProgressHUDMode.indeterminate
+        hud.removeFromSuperViewOnHide = true
+        self.hud = hud
+    }
+    
     /// 显示等待消息 view
     ///
     /// - Parameter title: 加载提示语
@@ -154,7 +153,7 @@ import UIKit
 
     /// 隐藏
     func hide(){
-        hud.hide(animated: true, afterDelay: TimeInterval(afterDelay))
+        hud.hide(animated: true, afterDelay: TimeInterval(0))
     }
 
 }