Преглед изворни кода

关注,点赞,收藏,不喜欢发送通知完成

南鑫林 пре 5 година
родитељ
комит
90cdfbc5a0

+ 36 - 0
RainbowPlanet/RainbowPlanet/Modules/CommunityModule/Community/ViewController/Follow/CommunityFollowViewController.swift

@@ -93,6 +93,42 @@ class CommunityFollowViewController: UIViewController {
 
 
         }
+        
+        observe = NotificationCenter.default.addObserver(forName: NSNotification.Name("unlikeApi"), object: nil, queue: OperationQueue.main) { [weak self] (notification) in
+            let followStatusModel = notification.object as? FollowStatusModel
+            if !(self?.communityFollowDataModels.isEmpty ?? true) {
+                for communityFollowDataModel in (self?.communityFollowDataModels)! {
+                    if communityFollowDataModel.relateData?.uid == followStatusModel?.uid {
+                        communityFollowDataModel.relateData?.isDislike = followStatusModel?.isFollowStatus
+                    }
+                }
+            }
+            self?.tableView.reloadData()
+        }
+        
+        observe = NotificationCenter.default.addObserver(forName: NSNotification.Name("islikeApi"), object: nil, queue: OperationQueue.main) { [weak self] (notification) in
+            let followStatusModel = notification.object as? FollowStatusModel
+            if !(self?.communityFollowDataModels.isEmpty ?? true) {
+                for communityFollowDataModel in (self?.communityFollowDataModels)! {
+                    if communityFollowDataModel.relateData?.uid == followStatusModel?.uid {
+                        communityFollowDataModel.relateData?.isLike = followStatusModel?.isFollowStatus
+                    }
+                }
+            }
+            self?.tableView.reloadData()
+        }
+        
+        observe = NotificationCenter.default.addObserver(forName: NSNotification.Name("isCollectApi"), object: nil, queue: OperationQueue.main) { [weak self] (notification) in
+            let followStatusModel = notification.object as? FollowStatusModel
+            if !(self?.communityFollowDataModels.isEmpty ?? true) {
+                for communityFollowDataModel in (self?.communityFollowDataModels)! {
+                    if communityFollowDataModel.relateData?.uid == followStatusModel?.uid {
+                        communityFollowDataModel.relateData?.isCollect = followStatusModel?.isFollowStatus
+                    }
+                }
+            }
+            self?.tableView.reloadData()
+        }
 
     }
     

+ 1 - 0
RainbowPlanet/RainbowPlanet/Modules/CommunityModule/Community/ViewController/Planet/CommunityPlanet/CommunityPlanetViewController.swift

@@ -55,6 +55,7 @@ class CommunityPlanetViewController: BaseJSWebViewController {
             }
         }
         
+        
     }
 }
 

+ 36 - 0
RainbowPlanet/RainbowPlanet/Modules/CommunityModule/Community/ViewController/Recommend/CommunityRecommnendViewController.swift

@@ -69,6 +69,42 @@ class CommunityRecommnendViewController: UIViewController {
             self?.tableView.reloadData()
         }
         
+        observe = NotificationCenter.default.addObserver(forName: NSNotification.Name("unlikeApi"), object: nil, queue: OperationQueue.main) { [weak self] (notification) in
+            let followStatusModel = notification.object as? FollowStatusModel
+            if !(self?.communityRecommendDataModels.isEmpty ?? true) {
+                for communityRecommendDataModel in (self?.communityRecommendDataModels)! {
+                    if communityRecommendDataModel.uid == followStatusModel?.uid {
+                        communityRecommendDataModel.isDislike = followStatusModel?.isFollowStatus
+                    }
+                }
+            }
+            self?.tableView.reloadData()
+        }
+        
+        observe = NotificationCenter.default.addObserver(forName: NSNotification.Name("islikeApi"), object: nil, queue: OperationQueue.main) { [weak self] (notification) in
+            let followStatusModel = notification.object as? FollowStatusModel
+            if !(self?.communityRecommendDataModels.isEmpty ?? true) {
+                for communityRecommendDataModel in (self?.communityRecommendDataModels)! {
+                    if communityRecommendDataModel.uid == followStatusModel?.uid {
+                        communityRecommendDataModel.isLike = followStatusModel?.isFollowStatus
+                    }
+                }
+            }
+            self?.tableView.reloadData()
+        }
+        
+        observe = NotificationCenter.default.addObserver(forName: NSNotification.Name("isCollectApi"), object: nil, queue: OperationQueue.main) { [weak self] (notification) in
+            let followStatusModel = notification.object as? FollowStatusModel
+            if !(self?.communityRecommendDataModels.isEmpty ?? true) {
+                for communityRecommendDataModel in (self?.communityRecommendDataModels)! {
+                    if communityRecommendDataModel.uid == followStatusModel?.uid {
+                        communityRecommendDataModel.isCollect = followStatusModel?.isFollowStatus
+                    }
+                }
+            }
+            self?.tableView.reloadData()
+        }
+        
         
     }
     

+ 35 - 0
RainbowPlanet/RainbowPlanet/Modules/CommunityModule/CommunityFeaturedTopics/ViewController/CommunityFeaturedTopicsViewController.swift

@@ -200,6 +200,41 @@ class CommunityFeaturedTopicsViewController: BaseViewController {
             }
             self?.tableView.reloadData()
         }
+        observe = NotificationCenter.default.addObserver(forName: NSNotification.Name("unlikeApi"), object: nil, queue: OperationQueue.main) { [weak self] (notification) in
+            let followStatusModel = notification.object as? FollowStatusModel
+            if !(self?.communityRecommendDataModels.isEmpty ?? true) {
+                for communityRecommendDataModel in (self?.communityRecommendDataModels)! {
+                    if communityRecommendDataModel.uid == followStatusModel?.uid {
+                        communityRecommendDataModel.isDislike = followStatusModel?.isFollowStatus
+                    }
+                }
+            }
+            self?.tableView.reloadData()
+        }
+        
+        observe = NotificationCenter.default.addObserver(forName: NSNotification.Name("islikeApi"), object: nil, queue: OperationQueue.main) { [weak self] (notification) in
+            let followStatusModel = notification.object as? FollowStatusModel
+            if !(self?.communityRecommendDataModels.isEmpty ?? true) {
+                for communityRecommendDataModel in (self?.communityRecommendDataModels)! {
+                    if communityRecommendDataModel.uid == followStatusModel?.uid {
+                        communityRecommendDataModel.isLike = followStatusModel?.isFollowStatus
+                    }
+                }
+            }
+            self?.tableView.reloadData()
+        }
+        
+        observe = NotificationCenter.default.addObserver(forName: NSNotification.Name("isCollectApi"), object: nil, queue: OperationQueue.main) { [weak self] (notification) in
+            let followStatusModel = notification.object as? FollowStatusModel
+            if !(self?.communityRecommendDataModels.isEmpty ?? true) {
+                for communityRecommendDataModel in (self?.communityRecommendDataModels)! {
+                    if communityRecommendDataModel.uid == followStatusModel?.uid {
+                        communityRecommendDataModel.isCollect = followStatusModel?.isFollowStatus
+                    }
+                }
+            }
+            self?.tableView.reloadData()
+        }
     }
     
     /// 显示键盘

+ 29 - 0
RainbowPlanet/RainbowPlanet/Modules/CommunityModule/CommunityRecommendDetail/Controller/CommunityRecommendController.swift

@@ -214,6 +214,35 @@ class CommunityRecommendController: BaseViewController {
                 self?.tableView.reloadData()
             }
         }
+        observe = NotificationCenter.default.addObserver(forName: NSNotification.Name("unlikeApi"), object: nil, queue: OperationQueue.main) { [weak self] (notification) in
+            let followStatusModel = notification.object as? FollowStatusModel
+            if self?.communityPostDetailModel?.uid == followStatusModel?.uid {
+                self?.communityPostDetailModel?.isDislike = followStatusModel?.isFollowStatus
+                self?.communityPostDetailTableViewHeaderView.communityPostDetailModel = self?.communityPostDetailModel
+                self?.tableView.reloadData()
+            }
+            self?.tableView.reloadData()
+        }
+        
+        observe = NotificationCenter.default.addObserver(forName: NSNotification.Name("islikeApi"), object: nil, queue: OperationQueue.main) { [weak self] (notification) in
+            let followStatusModel = notification.object as? FollowStatusModel
+            if self?.communityPostDetailModel?.uid == followStatusModel?.uid {
+                self?.communityPostDetailModel?.isDislike = followStatusModel?.isFollowStatus
+                self?.commentView.communityPostDetailModel = self?.communityPostDetailModel
+                self?.tableView.reloadData()
+            }
+            self?.tableView.reloadData()
+        }
+        
+        observe = NotificationCenter.default.addObserver(forName: NSNotification.Name("isCollectApi"), object: nil, queue: OperationQueue.main) { [weak self] (notification) in
+            let followStatusModel = notification.object as? FollowStatusModel
+            if self?.communityPostDetailModel?.uid == followStatusModel?.uid {
+                self?.communityPostDetailModel?.isCollect = followStatusModel?.isFollowStatus
+                self?.commentView.communityPostDetailModel = self?.communityPostDetailModel
+                self?.tableView.reloadData()
+            }
+            self?.tableView.reloadData()
+        }
     }
     
     /// 显示键盘

+ 63 - 6
RainbowPlanet/RainbowPlanet/ViewModel/Virus/VirusViewModel.swift

@@ -39,6 +39,10 @@ extension VirusViewModel {
         
         SwiftMoyaNetWorkServiceVirus.shared().virueRecordAddApi(virueRecordAddParameterModel: virueRecordAddParameterModel, completion: {(data) -> (Void) in
             if communityRecommendDataModel.isDislike == 0 {
+                let followStatusModel = FollowStatusModel()
+                followStatusModel.uid = communityRecommendDataModel.uid!
+                followStatusModel.isFollowStatus = 1
+                NotificationCenter.default.post(name: NSNotification.Name(rawValue: "unlikeApi"), object: followStatusModel)
                 completion(1)
             }
         })
@@ -54,8 +58,8 @@ extension VirusViewModel {
             
             AlertSheetView.sheetDislike(dislike: 0, y: y) {
                 [weak self] (view:CardContentUserDisLikeView) in
-                self?.virueRecordAddApiLike(communityRecommendDataModel: communityRecommendDataModel, completion: { (isFollow) in
-                    communityRecommendDataModel.isDislike = isFollow
+                self?.virueRecordAddApiLike(communityRecommendDataModel: communityRecommendDataModel, completion: { (isDislike) in
+                    communityRecommendDataModel.isDislike = isDislike
                     tableView.reloadData()
                 })
             }
@@ -94,11 +98,17 @@ extension VirusViewModel {
         virueRecordAddParameterModel.actionId = "\(communityRecommendDataModel.id!)"
         
         SwiftMoyaNetWorkServiceVirus.shared().virueRecordAddApi(virueRecordAddParameterModel: virueRecordAddParameterModel, completion: {(data) -> (Void) in
+            let followStatusModel = FollowStatusModel()
+            followStatusModel.uid = communityRecommendDataModel.uid!
             if communityRecommendDataModel.isLike == 0 {
+                followStatusModel.isFollowStatus = 1
                 completion(1)
             }else {
+                followStatusModel.isFollowStatus = 0
                 completion(0)
             }
+            NotificationCenter.default.post(name: NSNotification.Name(rawValue: "isLikeApi"), object: followStatusModel)
+
         })
     }
     
@@ -149,11 +159,17 @@ extension VirusViewModel {
         virueRecordAddParameterModel.targetId = "\((UserModel.shared().getModel()?.uid)!)"
         
         SwiftMoyaNetWorkServiceVirus.shared().virueRecordAddApi(virueRecordAddParameterModel: virueRecordAddParameterModel, completion: {(data) -> (Void) in
+            let followStatusModel = FollowStatusModel()
+            followStatusModel.uid = communityRecommendDataModel.uid
             if communityRecommendDataModel.isCollect == 0 {
+                followStatusModel.isFollowStatus = 1
+
                 completion(1)
             }else {
+                followStatusModel.isFollowStatus = 0
                 completion(0)
             }
+            NotificationCenter.default.post(name: NSNotification.Name(rawValue: "isCollectApi"), object: followStatusModel)
         })
     }
     
@@ -198,6 +214,10 @@ extension VirusViewModel {
         
         SwiftMoyaNetWorkServiceVirus.shared().virueRecordAddApi(virueRecordAddParameterModel: virueRecordAddParameterModel, completion: {(data) -> (Void) in
             if communityFollowDataModel.relateData?.isDislike == 0 {
+                let followStatusModel = FollowStatusModel()
+                followStatusModel.uid = communityFollowDataModel.relateData?.uid!
+                followStatusModel.isFollowStatus = 1
+                NotificationCenter.default.post(name: NSNotification.Name(rawValue: "unlikeApi"), object: followStatusModel)
                 completion(1)
             }
         })
@@ -254,11 +274,17 @@ extension VirusViewModel {
         virueRecordAddParameterModel.actionId = "\(communityFollowDataModel.relateData?.id ?? 0)"
         
         SwiftMoyaNetWorkServiceVirus.shared().virueRecordAddApi(virueRecordAddParameterModel: virueRecordAddParameterModel, completion: {(data) -> (Void) in
+            let followStatusModel = FollowStatusModel()
+            followStatusModel.uid = communityFollowDataModel.relateData?.uid!
             if communityFollowDataModel.relateData?.isLike == 0 {
+                followStatusModel.isFollowStatus = 1
                 completion(1)
             }else {
+                followStatusModel.isFollowStatus = 0
                 completion(0)
             }
+            NotificationCenter.default.post(name: NSNotification.Name(rawValue: "isLikeApi"), object: followStatusModel)
+
         })
     }
     
@@ -308,11 +334,16 @@ extension VirusViewModel {
         virueRecordAddParameterModel.actionId = "\(communityFollowDataModel.relateData?.id! ?? 0)"
         
         SwiftMoyaNetWorkServiceVirus.shared().virueRecordAddApi(virueRecordAddParameterModel: virueRecordAddParameterModel, completion: {(data) -> (Void) in
+            let followStatusModel = FollowStatusModel()
+            followStatusModel.uid = communityFollowDataModel.relateData?.uid
             if communityFollowDataModel.relateData?.isCollect == 0 {
+                followStatusModel.isFollowStatus = 1
                 completion(1)
             }else {
+                followStatusModel.isFollowStatus = 0
                 completion(0)
             }
+            NotificationCenter.default.post(name: NSNotification.Name(rawValue: "isCollectApi"), object: followStatusModel)
         })
     }
     
@@ -359,11 +390,16 @@ extension VirusViewModel {
         virueRecordAddParameterModel.actionId = "\(communityVideoItemModel.id!)"
         
         SwiftMoyaNetWorkServiceVirus.shared().virueRecordAddApi(virueRecordAddParameterModel: virueRecordAddParameterModel, completion: {(data) -> (Void) in
+            let followStatusModel = FollowStatusModel()
+            followStatusModel.uid = communityVideoItemModel.uid!
             if communityVideoItemModel.isLike == 0 {
+                followStatusModel.isFollowStatus = 1
                 completion(1)
             }else {
+                followStatusModel.isFollowStatus = 0
                 completion(0)
             }
+            NotificationCenter.default.post(name: NSNotification.Name(rawValue: "isLikeApi"), object: followStatusModel)
         })
     }
     
@@ -413,11 +449,18 @@ extension VirusViewModel {
         virueRecordAddParameterModel.targetId = "\((UserModel.shared().getModel()?.uid)!)"
         
         SwiftMoyaNetWorkServiceVirus.shared().virueRecordAddApi(virueRecordAddParameterModel: virueRecordAddParameterModel, completion: {(data) -> (Void) in
+            let followStatusModel = FollowStatusModel()
+            followStatusModel.uid = communityVideoItemModel.uid
             if communityVideoItemModel.isCollect == 0 {
+                followStatusModel.isFollowStatus = 1
+
                 completion(1)
             }else {
+                followStatusModel.isFollowStatus = 0
                 completion(0)
             }
+            NotificationCenter.default.post(name: NSNotification.Name(rawValue: "isCollectApi"), object: followStatusModel)
+
         })
     }
     
@@ -594,15 +637,21 @@ extension VirusViewModel {
         virueRecordAddParameterModel.actionId = "\(communityPostDetailModel?.id ?? 0)"
         
         SwiftMoyaNetWorkServiceVirus.shared().virueRecordAddApi(virueRecordAddParameterModel: virueRecordAddParameterModel, completion: {(data) -> (Void) in
+            let followStatusModel = FollowStatusModel()
+            followStatusModel.uid = communityPostDetailModel?.uid
             if communityPostDetailModel?.isLike == 0 {
+                followStatusModel.isFollowStatus = 1
+
                 communityPostDetailModel?.isLike = 1
                 communityPostDetailModel?.praiseCount = 1 + (communityPostDetailModel?.praiseCount ?? 0)
-                commentView?.communityPostDetailModel = communityPostDetailModel
             }else {
                 communityPostDetailModel?.isLike = 0
+                followStatusModel.isFollowStatus = 0
                 communityPostDetailModel?.praiseCount = -1 + (communityPostDetailModel?.praiseCount ?? 0)
-                commentView?.communityPostDetailModel = communityPostDetailModel
             }
+            commentView?.communityPostDetailModel = communityPostDetailModel
+            NotificationCenter.default.post(name: NSNotification.Name(rawValue: "isLikeApi"), object: followStatusModel)
+
         })
     }
     
@@ -634,16 +683,24 @@ extension VirusViewModel {
         virueRecordAddParameterModel.targetId = "\((UserModel.shared().getModel()?.uid)!)"
         
         SwiftMoyaNetWorkServiceVirus.shared().virueRecordAddApi(virueRecordAddParameterModel: virueRecordAddParameterModel, completion: {(data) -> (Void) in
+            
+            let followStatusModel = FollowStatusModel()
+            followStatusModel.uid = communityPostDetailModel?.uid
+
             if communityPostDetailModel?.isCollect == 0 {
                 communityPostDetailModel?.isCollect = 1
                 communityPostDetailModel?.collectCount = 1 + (communityPostDetailModel?.collectCount ?? 0)
-                commentView?.communityPostDetailModel = communityPostDetailModel
+                followStatusModel.isFollowStatus = 1
 
             }else {
                 communityPostDetailModel?.isCollect = 0
                 communityPostDetailModel?.collectCount = -1 + (communityPostDetailModel?.collectCount ?? 0)
-                commentView?.communityPostDetailModel = communityPostDetailModel
+                followStatusModel.isFollowStatus = 0
             }
+            commentView?.communityPostDetailModel = communityPostDetailModel
+            NotificationCenter.default.post(name: NSNotification.Name(rawValue: "isCollectApi"), object: followStatusModel)
+
+
         })
     }
 }