Sfoglia il codice sorgente

剩余 关注feed,接口没有对上,彩虹豆接口有问题,查看全部跳哪.个人中心接口发布,收藏,分享对不上,注册virus

南鑫林 5 anni fa
parent
commit
47f9abf268
24 ha cambiato i file con 227 aggiunte e 93 eliminazioni
  1. 2 2
      RainbowPlanet/RainbowPlanet/Model/CommunityModel/CommunityRecommendFeedModel.swift
  2. 1 1
      RainbowPlanet/RainbowPlanet/Model/CommunityModel/CommunityTopicDetailModel.swift
  3. 2 0
      RainbowPlanet/RainbowPlanet/Model/UserModel/TotalBeanModel.swift
  4. 2 2
      RainbowPlanet/RainbowPlanet/Modules/CommunityModule/Community/View/Cell/CardContent/Action/CardContentActionTableViewCell.swift
  5. 1 12
      RainbowPlanet/RainbowPlanet/Modules/CommunityModule/Community/View/Cell/CardContent/Comment/CardContentCommnetTableViewCell.swift
  6. 1 1
      RainbowPlanet/RainbowPlanet/Modules/CommunityModule/Community/View/Cell/CardContent/CommentList/CardContentCommentListTableViewCell.swift
  7. 1 1
      RainbowPlanet/RainbowPlanet/Modules/CommunityModule/Community/View/Cell/FollowStatus/CommunityFollowStatusTableViewCell.swift
  8. 2 1
      RainbowPlanet/RainbowPlanet/Modules/CommunityModule/Community/View/Cell/PopularVideo/PopularVideoTableViewCell.swift
  9. 1 1
      RainbowPlanet/RainbowPlanet/Modules/CommunityModule/Community/View/Cell/RecommendFollow/CommunityRecommendFollowTableViewCell.swift
  10. 2 2
      RainbowPlanet/RainbowPlanet/Modules/CommunityModule/Community/View/CommunityNavigationBarView.swift
  11. 0 1
      RainbowPlanet/RainbowPlanet/Modules/CommunityModule/Community/ViewController/Follow/CommunityFollowViewController.swift
  12. 9 8
      RainbowPlanet/RainbowPlanet/Modules/CommunityModule/Community/ViewController/Main/CommunityViewController.swift
  13. 46 3
      RainbowPlanet/RainbowPlanet/Modules/CommunityModule/Community/ViewController/Recommend/CommunityRecommnendViewController.swift
  14. 1 1
      RainbowPlanet/RainbowPlanet/Modules/CommunityModule/CommunityFeaturedTopics/View/CommunityFeaturedTopicsHeaderView.swift
  15. 49 3
      RainbowPlanet/RainbowPlanet/Modules/CommunityModule/CommunityFeaturedTopics/ViewController/CommunityFeaturedTopicsViewController.swift
  16. 5 2
      RainbowPlanet/RainbowPlanet/Modules/CommunityModule/CommunityFindFriends/ViewController/CommunityFindFriendsViewController.swift
  17. 3 2
      RainbowPlanet/RainbowPlanet/Modules/CommunityModule/CommunityRecommendDetail/Controller/CommunityRecommendController.swift
  18. 1 1
      RainbowPlanet/RainbowPlanet/Modules/CommunityModule/CommunityRecommendDetail/View/RecommendBottomCommentView.swift
  19. 12 3
      RainbowPlanet/RainbowPlanet/Modules/CommunityModule/CommunityRecommendDetail/View/RecommendSimilarCell.swift
  20. 2 0
      RainbowPlanet/RainbowPlanet/Modules/MineModule/PersonalCenter/OtherPersonalCenter/ViewController/OtherPersonalCenterViewController.swift
  21. 2 6
      RainbowPlanet/RainbowPlanet/Modules/MineModule/PersonalCenter/PersonalCenterView/PersonViewUserAndOtherHeaderView.swift
  22. 17 1
      RainbowPlanet/RainbowPlanet/Modules/SearchModule/SearchContentList/View/SearchContentListCollectionCell.swift
  23. 9 0
      RainbowPlanet/RainbowPlanet/Modules/SearchModule/SearchResult/ViewController/SearchResultViewController.swift
  24. 56 39
      RainbowPlanet/RainbowPlanet/ViewModel/Virus/VirusViewModel.swift

+ 2 - 2
RainbowPlanet/RainbowPlanet/Model/CommunityModel/CommunityRecommendFeedModel.swift

@@ -100,7 +100,7 @@ class CommunityRecommendTypeDataModel : NSObject, Mappable{
     
     // banner
     var image : String?
-    var linkContentId : String?
+    var linkContentId : Int?
     var postType : String?
     var type : Int?
     
@@ -190,7 +190,7 @@ class CommunityRecommendCommentModel : NSObject , Mappable{
         return CommunityRecommendCommentModel()
     }
     required init?(map: Map){}
-    private override init(){}
+    override init(){}
     
     func mapping(map: Map)
     {

+ 1 - 1
RainbowPlanet/RainbowPlanet/Model/CommunityModel/CommunityTopicDetailModel.swift

@@ -8,7 +8,7 @@ import ObjectMapper
 
 class CommunityTopicDetailModel : NSObject, Mappable{
 
-	var followCount : Int?
+	var followCount : String?
 	var id : Int?
 	var img : String?
 	var isFollow : Int?

+ 2 - 0
RainbowPlanet/RainbowPlanet/Model/UserModel/TotalBeanModel.swift

@@ -9,6 +9,7 @@ import ObjectMapper
 class TotalBeanModel : NSObject, Mappable{
 
 	var totalBean : Int?
+    var todayBean : Int?
 
 	class func newInstance(map: Map) -> Mappable?{
 		return TotalBeanModel()
@@ -19,6 +20,7 @@ class TotalBeanModel : NSObject, Mappable{
 	func mapping(map: Map)
 	{
 		totalBean <- map["total_bean"]
+        todayBean <- map["today_bean"]
 		
 	}
 }

+ 2 - 2
RainbowPlanet/RainbowPlanet/Modules/CommunityModule/Community/View/Cell/CardContent/Action/CardContentActionTableViewCell.swift

@@ -67,8 +67,8 @@ class CardContentActionTableViewCell: UITableViewCell {
         }
         collectButton.snp.makeConstraints { (make) in
             make.centerY.equalToSuperview()
-            make.right.equalTo(shareButton.snp_left).offset(-24)
-            make.size.equalTo(21)
+            make.right.equalTo(shareButton.snp_left).offset(-21)
+            make.size.equalTo(22)
         }
         praiseButton.snp.makeConstraints { (make) in
             make.centerY.equalToSuperview()

+ 1 - 12
RainbowPlanet/RainbowPlanet/Modules/CommunityModule/Community/View/Cell/CardContent/Comment/CardContentCommnetTableViewCell.swift

@@ -58,13 +58,9 @@ class CardContentCommnetTableViewCell: UITableViewCell {
     
     private lazy var avatarButton: UIButton = {
         let avatarButton = UIButton()
-        avatarButton.setImage(kImage(name: "default_avatar"), for: UIControl.State.normal)
+        avatarButton.kf.setImage(with: kURLImage(name: UserModel.shared().getModel()?.avatarurl ?? ""), for: UIControl.State.normal, placeholder: kImage(name: "default_avatar"))
         avatarButton.cornerRadius = 14
         avatarButton.masksToBounds = true
-        avatarButton.rx.tap.subscribe(onNext: {
-            [weak self] (data) in
-            NotificationCenter.default.post(name: NSNotification.Name(rawValue: "CommunityUser"), object: nil)
-        }).disposed(by: disposeBag)
         return avatarButton
     }()
     
@@ -83,12 +79,5 @@ class CardContentCommnetTableViewCell: UITableViewCell {
         }).disposed(by: disposeBag)
         return addCommnetButton
     }()
-    
-    var loadAvatar : Bool? {
-        didSet {
-            avatarButton.kf.setImage(with: kURLImage(name: UserModel.shared().getModel()?.avatarurl ?? ""), for: UIControl.State.normal, placeholder: kImage(name: "default_avatar"))
-
-        }
-    }
 
 }

+ 1 - 1
RainbowPlanet/RainbowPlanet/Modules/CommunityModule/Community/View/Cell/CardContent/CommentList/CardContentCommentListTableViewCell.swift

@@ -124,7 +124,7 @@ extension CardContentCommentListTableViewCell : UITableViewDelegate,UITableViewD
             return communityFollowDataModel?.relateData?.postComment?.isEmpty ?? true ? 0 : communityFollowDataModel?.relateData?.postComment?.count ?? 0
 
         }else {
-            return communityRecommendDataModel?.comment?.isEmpty ?? true ? 0 : communityRecommendDataModel?.comment?.count ?? 0
+            return communityRecommendDataModel?.comment?.isEmpty ?? true ? 0 : communityRecommendDataModel?.comment?.prefix(2).count ?? 0
 
         }
     }

+ 1 - 1
RainbowPlanet/RainbowPlanet/Modules/CommunityModule/Community/View/Cell/FollowStatus/CommunityFollowStatusTableViewCell.swift

@@ -312,7 +312,7 @@ class CommunityFollowStatusTableViewCell: UITableViewCell {
             case .follow?:
                 timeStatusLabel.text = "\(communityFollowDataModel?.createdAt ?? "") 关注了"
                 avatarOtherButton.kf.setImage(with: kURLImage(name: communityFollowDataModel?.relateData?.avatar ?? ""), for: UIControl.State.normal , placeholder: kImage(name: "default_avatar"))
-                titleButton.setTitle(communityFollowDataModel?.relateData?.username, for: UIControl.State.normal)
+                titleOtherButton.setTitle(communityFollowDataModel?.relateData?.username, for: UIControl.State.normal)
                 followType = FollowType(rawValue: communityFollowDataModel?.relateData?.isFollow ?? 0)
                 oneCardView.isHidden = false
                 twoCardView.isHidden = true

+ 2 - 1
RainbowPlanet/RainbowPlanet/Modules/CommunityModule/Community/View/Cell/PopularVideo/PopularVideoTableViewCell.swift

@@ -88,7 +88,8 @@ extension PopularVideoTableViewCell: UICollectionViewDelegateFlowLayout,UICollec
     }
     
     func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) {
-        
+        let communityRecommendTypeDataModel = communityRecommendTypeDataModels?[indexPath.row]
+        NotificationCenter.default.post(name: NSNotification.Name("CommunityContentVideoClosure"), object: communityRecommendTypeDataModel?.id)
     }
     
     func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize {

+ 1 - 1
RainbowPlanet/RainbowPlanet/Modules/CommunityModule/Community/View/Cell/RecommendFollow/CommunityRecommendFollowTableViewCell.swift

@@ -143,7 +143,7 @@ extension CommunityRecommendFollowTableViewCell: UICollectionViewDelegateFlowLay
     
     func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) {
         if type == .recommend {
-            NotificationCenter.default.post(name: NSNotification.Name(rawValue: "CommunityUser"), object: communityRecommendTypeDataModels?[indexPath.row].id)
+            NotificationCenter.default.post(name: NSNotification.Name(rawValue: "CommunityUser"), object: communityRecommendTypeDataModels?[indexPath.row].uid)
 
         }else {
             NotificationCenter.default.post(name: NSNotification.Name(rawValue: "CommunityUser"), object: cmsMemberModels?[indexPath.row].uid)

+ 2 - 2
RainbowPlanet/RainbowPlanet/Modules/CommunityModule/Community/View/CommunityNavigationBarView.swift

@@ -136,7 +136,7 @@ extension CommunityNavigationBarView {
     func userMemberGetTotalBeanApi() {
         SwiftMoyaNetWorkServiceUser.shared().userMemberGetTotalBeanApi(completion: { [weak self] (totalBeanModel) -> (Void) in
             let totalBeanModel = totalBeanModel as? TotalBeanModel
-            self?.scrollNumberLabel.change(to: NSNumber(integerLiteral: totalBeanModel?.totalBean ?? 0) , animated: true)
+            self?.scrollNumberLabel.change(to: NSNumber(integerLiteral: totalBeanModel?.todayBean ?? 0) , animated: true)
             self?.scrollNumberLabel.snp_remakeConstraints { (make) in
                 make.centerY.equalToSuperview()
                 make.size.equalTo((self?.scrollNumberLabel.frame.size)!)
@@ -148,7 +148,7 @@ extension CommunityNavigationBarView {
         Observable<Int>.interval(120, scheduler: MainScheduler.instance).subscribe(onNext: { _ in
             SwiftMoyaNetWorkServiceUser.shared().userMemberGetTotalBeanApi(completion: { [weak self] (totalBeanModel) -> (Void) in
                 let totalBeanModel = totalBeanModel as? TotalBeanModel
-                self?.scrollNumberLabel.change(to: NSNumber(integerLiteral: totalBeanModel?.totalBean ?? 0) , animated: true)
+                self?.scrollNumberLabel.change(to: NSNumber(integerLiteral: totalBeanModel?.todayBean ?? 0) , animated: true)
                 self?.scrollNumberLabel.snp_remakeConstraints { (make) in
                     make.centerY.equalToSuperview()
                     make.size.equalTo((self?.scrollNumberLabel.frame.size)!)

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

@@ -273,7 +273,6 @@ extension CommunityFollowViewController : UITableViewDelegate,UITableViewDataSou
         //评论
         case 5:
             let cell = CardContentCommnetTableViewCell.cellWith(tableView: tableView, indexPath: indexPath)
-            cell.loadAvatar = true
             cell.addCommnetClosureName = {
                 
             }

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

@@ -126,37 +126,40 @@ class CommunityViewController: BaseViewController {
                 switch postType {
                 case .image?:
                     let vc = CommunityRecommendController()
-                    vc.id = Int(communityRecommendTypeDataModel?.linkContentId ?? "0") ?? 0
+                    vc.id = communityRecommendTypeDataModel?.linkContentId ?? 0
                     self?.navigationController?.pushViewController(vc, animated: true)
                     break
                 case .html?:
                     let vc = CommunityRecommendController()
-                    vc.id = Int(communityRecommendTypeDataModel?.linkContentId ?? "0") ?? 0
+                    vc.id = communityRecommendTypeDataModel?.linkContentId ?? 0
                     self?.navigationController?.pushViewController(vc, animated: true)
                     break
                 case .video?:
+                    let vc = CommunityVideoListController()
+                    vc.contentId = communityRecommendTypeDataModel?.linkContentId ?? 0
+                    self?.navigationController?.pushViewController(vc, animated: true)
                     break
                 default:
                     break
                 }
                 break
             case .user?: //找朋友
-                if Int(communityRecommendTypeDataModel?.linkContentId ?? "0") ?? 0 != UserModel.shared().getModel()?.uid {
+                if communityRecommendTypeDataModel?.linkContentId ?? 0 != UserModel.shared().getModel()?.uid {
                     let vc = OtherPersonalCenterViewController()
-                    vc.uid = Int(communityRecommendTypeDataModel?.linkContentId ?? "0") ?? 0
+                    vc.uid = communityRecommendTypeDataModel?.linkContentId ?? 0
                     self?.navigationController?.pushViewController(vc, animated: true)
                 }
                 
                 break
             case .activity?: //活动
-                let url = kH5ActivityUrl + "id=\(communityRecommendTypeDataModel?.linkContentId ?? "")"
+                let url = kH5ActivityUrl + "id=\(communityRecommendTypeDataModel?.linkContentId ?? 0)"
                 let vc = H5CommonViewController()
                 vc.URLString = url
                 self?.navigationController?.pushViewController(vc, animated: true)
                 break
             case .topic?: //话题
                 let vc = CommunityFeaturedTopicsViewController()
-                vc.id = Int(communityRecommendTypeDataModel?.linkContentId ?? "0") ?? 0
+                vc.id = communityRecommendTypeDataModel?.linkContentId ?? 0
                 self?.navigationController?.pushViewController(vc, animated: true)
                 break
             default:
@@ -314,7 +317,5 @@ extension CommunityViewController :JXSegmentedListContainerViewDataSource {
             let vc = CommunityPlanetViewController()
             return vc
         }
-        
-        
     }
 }

+ 46 - 3
RainbowPlanet/RainbowPlanet/Modules/CommunityModule/Community/ViewController/Recommend/CommunityRecommnendViewController.swift

@@ -13,6 +13,8 @@ class CommunityRecommnendViewController: UIViewController {
     
     var cellHeightsDictionary = Dictionary<IndexPath, Any>()
     var communityRecommendDataModels = Array<CommunityRecommendDataModel>()
+    /// 评论需要的模型
+    var communityRecommendDataModel : CommunityRecommendDataModel?
     
     override func viewDidLoad() {
         super.viewDidLoad()
@@ -27,6 +29,7 @@ class CommunityRecommnendViewController: UIViewController {
         let emptyView = DIYEmptyView.empty(with: kImage(name: "default_page_data"), titleStr: nil, detailStr: "当前暂无数据")
         emptyView!.contentViewY = kScaleValue(value: 182)
         tableView.ly_emptyView = emptyView
+        view.addSubview(commentInputView)
     }
     
     func setupLayouts() {
@@ -37,6 +40,11 @@ class CommunityRecommnendViewController: UIViewController {
         tableView.reloadData()
     }
     
+    lazy var commentInputView: CommentInputView = {
+        let commentInputView = CommentInputView(isHidden: true)
+        return commentInputView
+    }()
+    
     func setupData() {
         //下拉刷新
         tableView.addHeaderWithHeader(withBeginRefresh: true, animation: false) {
@@ -47,6 +55,10 @@ class CommunityRecommnendViewController: UIViewController {
             [weak self] (page) in
             self?.communityPostSuggestApi(page:page)
         }
+        commentInputView.commentInputViewClosure = {
+            [weak self] text in
+            self?.communityPostCommentApi(text: text)
+        }
     }
     
     private lazy var tableView: UITableView = {
@@ -93,6 +105,37 @@ extension CommunityRecommnendViewController {
             }
         }
     }
+    
+    /// 评论
+    func communityPostCommentApi(text:String) {
+        let communityCustomCommnetModel = CommunityCustomCommnetModel()
+        communityCustomCommnetModel.postId = communityRecommendDataModel?.id ?? 0
+        communityCustomCommnetModel.content = text
+        
+        SwiftMoyaNetWorkServiceCommunity.shared().communityPostCommentApi(communityCustomCommnetModel: communityCustomCommnetModel) {
+            [weak self] (communityPostCommentIdModel) -> (Void) in
+            
+            let communityPostCommentIdModel = communityPostCommentIdModel as? CommunityPostCommentIdModel
+            
+            let communityRecommendCommentModel = CommunityRecommendCommentModel()
+            communityRecommendCommentModel.content = text
+            communityRecommendCommentModel.id = communityPostCommentIdModel?.id
+            communityRecommendCommentModel.username = UserModel.shared().getModel()?.username
+            
+            if  self?.communityRecommendDataModel?.comment?.isEmpty ?? true {
+                self?.communityRecommendDataModel?.comment = Array<CommunityRecommendCommentModel>()
+            }
+            
+            self?.communityRecommendDataModel?.comment?.insert(communityRecommendCommentModel, at: 0)
+            
+            VirusViewModel.shared.comment(communityRecommendDataModel:  self?.communityRecommendDataModel, id: communityPostCommentIdModel?.id ?? 0)
+            let count = self?.communityRecommendDataModel?.commentCount ?? 0 + 1
+            self?.communityRecommendDataModel?.commentCount = count
+            self?.tableView.reloadData()
+            self?.commentInputView.sendSuccess()
+            
+        }
+    }
 
 }
 
@@ -201,10 +244,10 @@ extension CommunityRecommnendViewController : UITableViewDelegate,UITableViewDat
             //评论
             case 5:
                 let cell = CardContentCommnetTableViewCell.cellWith(tableView: tableView, indexPath: indexPath)
-                cell.loadAvatar = true
-
                 cell.addCommnetClosureName = {
-                    
+                    [weak self] in
+                    self?.communityRecommendDataModel = self?.communityRecommendDataModels[indexPath.section]
+                    self?.commentInputView.inputTextView.becomeFirstResponder()
                 }
                 return cell
             default:

+ 1 - 1
RainbowPlanet/RainbowPlanet/Modules/CommunityModule/CommunityFeaturedTopics/View/CommunityFeaturedTopicsHeaderView.swift

@@ -96,7 +96,7 @@ class CommunityFeaturedTopicsHeaderView: BaseView {
     
     var communityTopicDetailModel : CommunityTopicDetailModel? {
         didSet {
-            numberPeopleLabel.text = "\(communityTopicDetailModel?.followCount ?? 0)位彩虹居民参与此话题"
+            numberPeopleLabel.text = "\(communityTopicDetailModel?.followCount ?? "0")位彩虹居民参与此话题"
             topicLabel.text = communityTopicDetailModel?.name
             isFollow()
         }

+ 49 - 3
RainbowPlanet/RainbowPlanet/Modules/CommunityModule/CommunityFeaturedTopics/ViewController/CommunityFeaturedTopicsViewController.swift

@@ -15,6 +15,9 @@ class CommunityFeaturedTopicsViewController: BaseViewController {
     var communityRecommendDataModels = Array<CommunityRecommendDataModel>()
     var communityTopicDetailModel : CommunityTopicDetailModel?
     
+    /// 评论需要的模型
+    var communityRecommendDataModel : CommunityRecommendDataModel?
+    
     override func viewDidLoad() {
         super.viewDidLoad()
         setupViews()
@@ -29,11 +32,13 @@ class CommunityFeaturedTopicsViewController: BaseViewController {
     }
     
     override func setupViews() {
+        view.backgroundColor = UIColor.white
         view.addSubview(bgImageView)
         view.addSubview(bgView)
         view.addSubview(tableView)
         view.insertSubview(navigationBar, aboveSubview: tableView)
         setnavigationBar()
+        view.addSubview(commentInputView)
     }
     
     
@@ -59,7 +64,8 @@ class CommunityFeaturedTopicsViewController: BaseViewController {
             make.height.equalTo(kScreenWidth)
         }
         bgView.snp.makeConstraints { (make) in
-            make.edges.equalToSuperview()
+            make.top.left.right.equalToSuperview()
+            make.height.equalTo(kScreenWidth)
         }
         tableView.snp.makeConstraints { (make) in
             make.top.left.right.bottom.equalToSuperview()
@@ -149,6 +155,11 @@ class CommunityFeaturedTopicsViewController: BaseViewController {
         return navigationBgView
     }()
     
+    lazy var commentInputView: CommentInputView = {
+        let commentInputView = CommentInputView(isHidden: true)
+        return commentInputView
+    }()
+    
     
     override func setupData() {
         communityPostTopicApi(page: 1)
@@ -176,6 +187,10 @@ class CommunityFeaturedTopicsViewController: BaseViewController {
             let vc = CommunityMyFollowTopicController()
             self?.navigationController?.pushViewController(vc, animated: true)
         }
+        commentInputView.commentInputViewClosure = {
+            [weak self] text in
+            self?.communityPostCommentApi(text: text)
+        }
     }
     
 }
@@ -254,6 +269,36 @@ extension CommunityFeaturedTopicsViewController {
         }
     }
     
+    /// 评论
+    func communityPostCommentApi(text:String) {
+        let communityCustomCommnetModel = CommunityCustomCommnetModel()
+        communityCustomCommnetModel.postId = communityRecommendDataModel?.id ?? 0
+        communityCustomCommnetModel.content = text
+        SwiftMoyaNetWorkServiceCommunity.shared().communityPostCommentApi(communityCustomCommnetModel: communityCustomCommnetModel) {
+            [weak self] (communityPostCommentIdModel) -> (Void) in
+            
+            let communityPostCommentIdModel = communityPostCommentIdModel as? CommunityPostCommentIdModel
+            
+            let communityRecommendCommentModel = CommunityRecommendCommentModel()
+            communityRecommendCommentModel.content = text
+            communityRecommendCommentModel.id = communityPostCommentIdModel?.id
+            communityRecommendCommentModel.username = UserModel.shared().getModel()?.username
+            
+            if  self?.communityRecommendDataModel?.comment?.isEmpty ?? true {
+                self?.communityRecommendDataModel?.comment = Array<CommunityRecommendCommentModel>()
+            }
+            
+            self?.communityRecommendDataModel?.comment?.insert(communityRecommendCommentModel, at: 0)
+            
+            VirusViewModel.shared.comment(communityRecommendDataModel:  self?.communityRecommendDataModel, id: communityPostCommentIdModel?.id ?? 0)
+            let count = self?.communityRecommendDataModel?.commentCount ?? 0 + 1
+            self?.communityRecommendDataModel?.commentCount = count
+            self?.tableView.reloadData()
+            self?.commentInputView.sendSuccess()
+            
+        }
+    }
+    
 }
 
 extension CommunityFeaturedTopicsViewController : UITableViewDelegate,UITableViewDataSource {
@@ -316,9 +361,10 @@ extension CommunityFeaturedTopicsViewController : UITableViewDelegate,UITableVie
         //评论
         case 5:
             let cell = CardContentCommnetTableViewCell.cellWith(tableView: tableView, indexPath: indexPath)
-            cell.loadAvatar = true
             cell.addCommnetClosureName = {
-                
+                [weak self] in
+                self?.communityRecommendDataModel = self?.communityRecommendDataModels[indexPath.section]
+                self?.commentInputView.inputTextView.becomeFirstResponder()
             }
             return cell
         default:

+ 5 - 2
RainbowPlanet/RainbowPlanet/Modules/CommunityModule/CommunityFindFriends/ViewController/CommunityFindFriendsViewController.swift

@@ -57,6 +57,9 @@ class CommunityFindFriendsViewController: BaseViewController {
         tableView.rowHeight = 81
         tableView.dataSource = self
         tableView.delegate = self
+        tableView.estimatedRowHeight = 0
+        tableView.estimatedSectionHeaderHeight = 0
+        tableView.estimatedSectionFooterHeight = 0
         return tableView
     }()
     
@@ -112,12 +115,12 @@ extension CommunityFindFriendsViewController: UITableViewDataSource, UITableView
             if cell.cmsMemberModel?.followStatus == 0 { //加关注
                 self?.userFollow(followUid: cell.cmsMemberModel?.uid ?? 0, completion: { (isFollow) -> Void in
                     cell.cmsMemberModel?.followStatus = isFollow
-                    self?.tableView.reloadRows(at: [indexPath], with: UITableView.RowAnimation.none)
+                    self?.tableView.reloadData()
                 })
             }else { //取消关注
                 self?.userCancelFollow(followUid: cell.cmsMemberModel?.uid ?? 0, completion: { (isFollow) -> Void in
                     cell.cmsMemberModel?.followStatus = isFollow
-                    self?.tableView.reloadRows(at: [indexPath], with: UITableView.RowAnimation.none)
+                    self?.tableView.reloadData()
                 })
             }
         }

+ 3 - 2
RainbowPlanet/RainbowPlanet/Modules/CommunityModule/CommunityRecommendDetail/Controller/CommunityRecommendController.swift

@@ -51,6 +51,7 @@ class CommunityRecommendController: BaseViewController {
         view.addSubview(tableView)
         view.addSubview(commentInputView)
         view.addSubview(sharedButton)
+
     }
     
     override func setupLayouts() {
@@ -192,9 +193,9 @@ class CommunityRecommendController: BaseViewController {
                 self?.communityPostCommentModel = nil
                 self?.commentInputView.inputTextView.becomeFirstResponder()
             case BottomClickType.typeLike:
-                VirusViewModel.shared.virueRecordAddApiPraise(communityPostDetailModel: (self?.communityPostDetailModel)!,commentView: (self?.commentView)!)
+                VirusViewModel.shared.virueRecordAddApiPraise(communityPostDetailModel: self?.communityPostDetailModel,commentView: (self?.commentView)!)
             case BottomClickType.typeCollect:
-                VirusViewModel.shared.virueRecordAddApiCollection(communityPostDetailModel: (self?.communityPostDetailModel)!,commentView: (self?.commentView)!)
+                VirusViewModel.shared.virueRecordAddApiCollection(communityPostDetailModel: self?.communityPostDetailModel,commentView: (self?.commentView)!)
             }
         }
     }

+ 1 - 1
RainbowPlanet/RainbowPlanet/Modules/CommunityModule/CommunityRecommendDetail/View/RecommendBottomCommentView.swift

@@ -159,7 +159,7 @@ class RecommendBottomCommentView: BaseView {
             }
             likeBtn.layoutButton(edgeInsetsStyle: ButtonEdgeInsetsStyle.left, imageTitleSpace: 5)
             
-            collectBtn.setTitle("\(communityPostDetailModel?.commentCount ?? 0)", for: UIControl.State.normal)
+            collectBtn.setTitle("\(communityPostDetailModel?.collectCount ?? 0)", for: UIControl.State.normal)
             if communityPostDetailModel?.isCollect == 1 {
                 collectBtn.isSelected = true
             }else {

+ 12 - 3
RainbowPlanet/RainbowPlanet/Modules/CommunityModule/CommunityRecommendDetail/View/RecommendSimilarCell.swift

@@ -148,9 +148,18 @@ extension RecommendSimilarCell: UICollectionViewDelegateFlowLayout,UICollectionV
     
     func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) {
         let communityPostDataModel = communityPostDataModels?[indexPath.row]
-        let vc = CommunityRecommendController()
-        vc.id = communityPostDataModel?.id ?? 0
-        findViewController().navigationController?.pushViewController(vc, animated: true)
+        
+        if PostType(rawValue: communityPostDataModel?.type ?? "image") == .image || PostType(rawValue: communityPostDataModel?.type ?? "html") == .html {
+            let vc = CommunityRecommendController()
+            vc.id = communityPostDataModel?.id ?? 0
+            findViewController().navigationController?.pushViewController(vc, animated: true)
+        }else {
+            let vc = CommunityVideoListController()
+            vc.contentId = communityPostDataModel?.id ?? 0
+             findViewController().navigationController?.pushViewController(vc, animated: true)
+        }
+        
+        
     }
     
 }

+ 2 - 0
RainbowPlanet/RainbowPlanet/Modules/MineModule/PersonalCenter/OtherPersonalCenter/ViewController/OtherPersonalCenterViewController.swift

@@ -91,6 +91,8 @@ class OtherPersonalCenterViewController: BaseViewController {
     lazy var avatarButton: UIButton = {
         let avatarButton = UIButton(type: UIButton.ButtonType.custom)
         avatarButton.setImage(kImage(name: "default_avatar"), for: UIControl.State.normal)
+        avatarButton.cornerRadius = 10
+        avatarButton.masksToBounds = true
         avatarButton.alpha = 0
         return avatarButton
     }()

+ 2 - 6
RainbowPlanet/RainbowPlanet/Modules/MineModule/PersonalCenter/PersonalCenterView/PersonViewUserAndOtherHeaderView.swift

@@ -124,15 +124,13 @@ class PersonViewUserAndOtherHeaderView: BaseView {
             let vc = MyFollowAndFanViewController()
             vc.myfollowAndFanType = .follow
             vc.userDetailModel = self?.userDetailModel
-            let currentVC = followNumberButton.findViewController() as? BaseViewController
             if self?.personViewUserAndOtherHeaderViewType == .user {
 
                 vc.navigationBar.title = "我的关注"
             }else {
-                let vc = MyFollowAndFanViewController()
                 vc.navigationBar.title = "TA关注"
             }
-            currentVC?.navigationController?.pushViewController(vc, animated: true)
+            self?.findViewController().navigationController?.pushViewController(vc, animated: true)
             
         }).disposed(by: disposeBag)
         return followNumberButton
@@ -148,14 +146,12 @@ class PersonViewUserAndOtherHeaderView: BaseView {
             let vc = MyFollowAndFanViewController()
             vc.myfollowAndFanType = .fan
             vc.userDetailModel = self?.userDetailModel
-            let currentVC = fanNumberButton.findViewController() as? BaseViewController
             if self?.personViewUserAndOtherHeaderViewType == .user {
                 vc.navigationBar.title = "我的粉丝"
             }else {
-                let vc = MyFollowAndFanViewController()
                 vc.navigationBar.title = "TA粉丝"
             }
-            currentVC?.navigationController?.pushViewController(vc, animated: true)
+            self?.findViewController().navigationController?.pushViewController(vc, animated: true)
         }).disposed(by: disposeBag)
         return fanNumberButton
     }()

+ 17 - 1
RainbowPlanet/RainbowPlanet/Modules/SearchModule/SearchContentList/View/SearchContentListCollectionCell.swift

@@ -60,6 +60,7 @@ class SearchContentListCollectionCell: UICollectionViewCell {
         addSubview(avatarButton)
         addSubview(nameButton)
         addSubview(likeBtn)
+        contentImageView.addSubview(pauseImageView)
     }
     
     private func setupLayouts() {
@@ -87,6 +88,10 @@ class SearchContentListCollectionCell: UICollectionViewCell {
             make.height.equalTo(18)
         }
         likeBtn.layoutButton(edgeInsetsStyle: ButtonEdgeInsetsStyle.left, imageTitleSpace: 5)
+        pauseImageView.snp_makeConstraints { (make) in
+            make.center.equalToSuperview()
+        }
+        
     }
     
     private lazy var contentImageView: UIImageView = {
@@ -151,6 +156,12 @@ class SearchContentListCollectionCell: UICollectionViewCell {
         return likeBtn
     }()
     
+    private lazy var pauseImageView: UIImageView = {
+        let pauseImageView = UIImageView.init(image: kImage(name: "btn_pause"))
+        pauseImageView.isUserInteractionEnabled = true
+        return pauseImageView
+    }()
+    
     var communityPostDataModel : CommunityPostDataModel? {
         didSet {
             contentImageView.kf.setImage(with: kURLImage(name: communityPostDataModel?.img ?? ""), placeholder: kImage(name: "pic_preload"))
@@ -177,7 +188,12 @@ class SearchContentListCollectionCell: UICollectionViewCell {
             }
             likeBtn.layoutButton(edgeInsetsStyle: ButtonEdgeInsetsStyle.left, imageTitleSpace: 5)
             nameButton.setTitle(communityPostDataModel?.username, for: UIControl.State.normal)
-
+            if PostType(rawValue: communityPostDataModel?.type ?? "video") == .video  {
+                pauseImageView.isHidden = false
+            }else {
+                pauseImageView.isHidden = true
+            }
+            
         }
     }
 }

+ 9 - 0
RainbowPlanet/RainbowPlanet/Modules/SearchModule/SearchResult/ViewController/SearchResultViewController.swift

@@ -100,6 +100,15 @@ class SearchResultViewController: BaseViewController {
         observe = NotificationCenter.default.addObserver(forName: NSNotification.Name("SearchContentList"), object: nil, queue: OperationQueue.main) {
             [weak self] (notification) in
             let communityPostDataModel = notification.object as! CommunityPostDataModel
+            if PostType(rawValue: communityPostDataModel.type ?? "image") == .image || PostType(rawValue: communityPostDataModel.type ?? "html") == .html {
+                let vc = CommunityRecommendController()
+                vc.id = communityPostDataModel.id ?? 0
+                self?.navigationController?.pushViewController(vc, animated: true)
+            }else {
+                let vc = CommunityVideoListController()
+                vc.contentId = communityPostDataModel.id ?? 0
+                self?.navigationController?.pushViewController(vc, animated: true)
+            }
         }
     }
     

+ 56 - 39
RainbowPlanet/RainbowPlanet/ViewModel/Virus/VirusViewModel.swift

@@ -465,6 +465,28 @@ extension VirusViewModel {
         })
     }
     
+    func comment(communityRecommendDataModel:CommunityRecommendDataModel? = nil,id:Int) {
+        let virueRecordAddParameterModel = VirueRecordAddParameterModel()
+        virueRecordAddParameterModel.behaviorId = (ConfigModel.shared.object()?.virus?.publish ?? "")
+        virueRecordAddParameterModel.behaviorFlag = BehaviorFlagType.publish.rawValue
+        
+        virueRecordAddParameterModel.postId = communityRecommendDataModel?.id
+        virueRecordAddParameterModel.postAuthorUid = "\(communityRecommendDataModel?.uid ?? 0)"
+        if communityRecommendDataModel?.title == nil ||  communityRecommendDataModel?.title == "" {
+            virueRecordAddParameterModel.postDesc = String(describing: communityRecommendDataModel?.content!.prefix(20))
+        }else {
+            virueRecordAddParameterModel.postDesc = communityRecommendDataModel?.title
+        }
+        virueRecordAddParameterModel.postType = communityRecommendDataModel?.type
+        virueRecordAddParameterModel.postCover = communityRecommendDataModel?.img
+        virueRecordAddParameterModel.targetId = "\((UserModel.shared().getModel()?.uid)!)"
+        
+        virueRecordAddParameterModel.actionId = "\(id)"
+        
+        SwiftMoyaNetWorkServiceVirus.shared().virueRecordAddApi(virueRecordAddParameterModel: virueRecordAddParameterModel, completion: {(data) -> (Void) in
+        })
+    }
+    
 }
 
 // MARK: - 阅读
@@ -500,37 +522,35 @@ extension VirusViewModel {
     /// - Parameters:
     ///   - communityVideoItemModel: 帖子模型
     ///   - completion: 回调
-    func virueRecordAddApiPraise(communityPostDetailModel:CommunityPostDetailModel,commentView: RecommendBottomCommentView) {
+    func virueRecordAddApiPraise(communityPostDetailModel:CommunityPostDetailModel? = nil,commentView: RecommendBottomCommentView? = nil) {
         let virueRecordAddParameterModel = VirueRecordAddParameterModel()
         virueRecordAddParameterModel.behaviorId = (ConfigModel.shared.object()?.virus?.like ?? "")
         virueRecordAddParameterModel.behaviorFlag = BehaviorFlagType.like.rawValue
-        if communityPostDetailModel.isLike == 0 {
+        if communityPostDetailModel?.isLike == 0 {
             virueRecordAddParameterModel.behaviorValue = 1
         }else {
             virueRecordAddParameterModel.behaviorValue = 0
         }
-        virueRecordAddParameterModel.postId = communityPostDetailModel.id
-        virueRecordAddParameterModel.postAuthorUid = "\(communityPostDetailModel.uid!)"
-        if communityPostDetailModel.title == nil ||  communityPostDetailModel.title == "" {
-            virueRecordAddParameterModel.postDesc = String(describing: communityPostDetailModel.content!.prefix(20))
+        virueRecordAddParameterModel.postId = communityPostDetailModel?.id
+        virueRecordAddParameterModel.postAuthorUid = "\(communityPostDetailModel?.uid ?? 0)"
+        if communityPostDetailModel?.title == nil ||  communityPostDetailModel?.title == "" {
+            virueRecordAddParameterModel.postDesc = String(describing: communityPostDetailModel?.content?.prefix(20))
         }else {
-            virueRecordAddParameterModel.postDesc = communityPostDetailModel.title
+            virueRecordAddParameterModel.postDesc = communityPostDetailModel?.title
         }
-        virueRecordAddParameterModel.postType = communityPostDetailModel.type
-        virueRecordAddParameterModel.postCover = communityPostDetailModel.img
-        virueRecordAddParameterModel.actionId = "\(communityPostDetailModel.id!)"
+        virueRecordAddParameterModel.postType = communityPostDetailModel?.type
+        virueRecordAddParameterModel.postCover = communityPostDetailModel?.img
+        virueRecordAddParameterModel.actionId = "\(communityPostDetailModel?.id ?? 0)"
         
         SwiftMoyaNetWorkServiceVirus.shared().virueRecordAddApi(virueRecordAddParameterModel: virueRecordAddParameterModel, completion: {(data) -> (Void) in
-            let count = communityPostDetailModel.praiseCount
-            if communityPostDetailModel.isLike == 0 {
-                communityPostDetailModel.isLike = 1
-                communityPostDetailModel.praiseCount = count ?? 0 + 1
-                commentView.communityPostDetailModel = communityPostDetailModel
+            if communityPostDetailModel?.isLike == 0 {
+                communityPostDetailModel?.isLike = 1
+                communityPostDetailModel?.praiseCount = 1 + (communityPostDetailModel?.praiseCount ?? 0)
+                commentView?.communityPostDetailModel = communityPostDetailModel
             }else {
-               communityPostDetailModel.isLike = 0
-                communityPostDetailModel.isLike = 1
-                communityPostDetailModel.praiseCount = count ?? 0 - 1
-                commentView.communityPostDetailModel = communityPostDetailModel
+                communityPostDetailModel?.isLike = 0
+                communityPostDetailModel?.praiseCount = -1 + (communityPostDetailModel?.praiseCount ?? 0)
+                commentView?.communityPostDetailModel = communityPostDetailModel
             }
         })
     }
@@ -541,40 +561,37 @@ extension VirusViewModel {
     /// - Parameters:
     ///   - communityVideoItemModel: 帖子模型
     ///   - completion: 回调
-    func virueRecordAddApiCollection(communityPostDetailModel:CommunityPostDetailModel,commentView: RecommendBottomCommentView) {
+    func virueRecordAddApiCollection(communityPostDetailModel:CommunityPostDetailModel? = nil,commentView: RecommendBottomCommentView? = nil) {
         let virueRecordAddParameterModel = VirueRecordAddParameterModel()
         virueRecordAddParameterModel.behaviorId = (ConfigModel.shared.object()?.virus?.collect ?? "")
         virueRecordAddParameterModel.behaviorFlag = BehaviorFlagType.collect.rawValue
-        if communityPostDetailModel.isCollect == 0 {
+        if communityPostDetailModel?.isCollect == 0 {
             virueRecordAddParameterModel.behaviorValue = 1
         }else {
             virueRecordAddParameterModel.behaviorValue = 0
         }
-        virueRecordAddParameterModel.postId = communityPostDetailModel.id
-        virueRecordAddParameterModel.postAuthorUid = "\(communityPostDetailModel.uid!)"
-        if communityPostDetailModel.title == nil ||  communityPostDetailModel.title == "" {
-            virueRecordAddParameterModel.postDesc = String(describing: communityPostDetailModel.content!.prefix(20))
+        virueRecordAddParameterModel.postId = communityPostDetailModel?.id
+        virueRecordAddParameterModel.postAuthorUid = "\(communityPostDetailModel?.uid ?? 0)"
+        if communityPostDetailModel?.title == nil ||  communityPostDetailModel?.title == "" {
+            virueRecordAddParameterModel.postDesc = String(describing: communityPostDetailModel?.content!.prefix(20))
         }else {
-            virueRecordAddParameterModel.postDesc = communityPostDetailModel.title
+            virueRecordAddParameterModel.postDesc = communityPostDetailModel?.title
         }
-        virueRecordAddParameterModel.postType = communityPostDetailModel.type
-        virueRecordAddParameterModel.postCover = communityPostDetailModel.img
-        virueRecordAddParameterModel.actionId = "\(communityPostDetailModel.id!)"
+        virueRecordAddParameterModel.postType = communityPostDetailModel?.type
+        virueRecordAddParameterModel.postCover = communityPostDetailModel?.img
+        virueRecordAddParameterModel.actionId = "\(communityPostDetailModel?.id ?? 0)"
         virueRecordAddParameterModel.targetId = "\((UserModel.shared().getModel()?.uid)!)"
         
         SwiftMoyaNetWorkServiceVirus.shared().virueRecordAddApi(virueRecordAddParameterModel: virueRecordAddParameterModel, completion: {(data) -> (Void) in
-            let count = communityPostDetailModel.commentCount
-            if communityPostDetailModel.isCollect == 0 {
-                communityPostDetailModel.isCollect = 1
-                communityPostDetailModel.commentCount = count ?? 0 + 1
-                commentView.communityPostDetailModel = communityPostDetailModel
+            if communityPostDetailModel?.isCollect == 0 {
+                communityPostDetailModel?.isCollect = 1
+                communityPostDetailModel?.collectCount = 1 + (communityPostDetailModel?.collectCount ?? 0)
+                commentView?.communityPostDetailModel = communityPostDetailModel
 
             }else {
-                communityPostDetailModel.isCollect = 0
-                communityPostDetailModel.isCollect = 1
-                communityPostDetailModel.commentCount = count ?? 0 - 1
-                commentView.communityPostDetailModel = communityPostDetailModel
-
+                communityPostDetailModel?.isCollect = 0
+                communityPostDetailModel?.collectCount = -1 + (communityPostDetailModel?.collectCount ?? 0)
+                commentView?.communityPostDetailModel = communityPostDetailModel
             }
         })
     }