Explorar o código

Merge branch 'feature/jeremy' into develop

# Conflicts:
#	RainbowPlanet/RainbowPlanet/Macro/ColorMacro.swift
南鑫林 %!s(int64=5) %!d(string=hai) anos
pai
achega
f846a15ee7
Modificáronse 52 ficheiros con 799 adicións e 17 borrados
  1. 20 0
      RainbowPlanet/RainbowPlanet.xcodeproj/project.pbxproj
  2. 4 4
      RainbowPlanet/RainbowPlanet/Macro/ColorMacro.swift
  3. 105 2
      RainbowPlanet/RainbowPlanet/Modules/CommunityModule/Community/View/Cell/CardContent/Action/CardContentActionTableViewCell.swift
  4. 43 2
      RainbowPlanet/RainbowPlanet/Modules/CommunityModule/Community/View/Cell/CardContent/Comment/CardContentCommnetTableViewCell.swift
  5. 60 0
      RainbowPlanet/RainbowPlanet/Modules/CommunityModule/Community/View/Cell/CardContent/CommentList/CardContentCommentListContentTableViewCell.swift
  6. 35 0
      RainbowPlanet/RainbowPlanet/Modules/CommunityModule/Community/View/Cell/CardContent/CommentList/CardContentCommentListFooterView.swift
  7. 137 0
      RainbowPlanet/RainbowPlanet/Modules/CommunityModule/Community/View/Cell/CardContent/CommentList/CardContentCommentListTableViewCell.swift
  8. 0 1
      RainbowPlanet/RainbowPlanet/Modules/CommunityModule/Community/View/Cell/CardContent/TitleContent/CardContentTitleTableViewCell.swift
  9. 1 1
      RainbowPlanet/RainbowPlanet/Modules/CommunityModule/Community/View/CommunityNavigationBarView.swift
  10. 124 7
      RainbowPlanet/RainbowPlanet/Modules/CommunityModule/Community/ViewController/CommunityListViewController.swift
  11. 0 0
      RainbowPlanet/RainbowPlanet/Supporting Files/Assets.xcassets/DefaultPage/logo.imageset/Contents.json
  12. BIN=BIN
      RainbowPlanet/RainbowPlanet/Supporting Files/Assets.xcassets/DefaultPage/logo.imageset/logo@2x.png
  13. BIN=BIN
      RainbowPlanet/RainbowPlanet/Supporting Files/Assets.xcassets/DefaultPage/logo.imageset/logo@3x.png
  14. 22 0
      RainbowPlanet/RainbowPlanet/Supporting Files/Assets.xcassets/NavigationBarIcons/navbar_bean_org.imageset/Contents.json
  15. BIN=BIN
      RainbowPlanet/RainbowPlanet/Supporting Files/Assets.xcassets/NavigationBarIcons/navbar_bean_org.imageset/navbar_bean_org@2x.png
  16. BIN=BIN
      RainbowPlanet/RainbowPlanet/Supporting Files/Assets.xcassets/NavigationBarIcons/navbar_bean_org.imageset/navbar_bean_org@3x.png
  17. BIN=BIN
      RainbowPlanet/RainbowPlanet/Supporting Files/Assets.xcassets/logo.imageset/logo@2x.png
  18. BIN=BIN
      RainbowPlanet/RainbowPlanet/Supporting Files/Assets.xcassets/logo.imageset/logo@3x.png
  19. 22 0
      RainbowPlanet/RainbowPlanet/Supporting Files/CommunityModule.xcassets/btn_collect_black.imageset/Contents.json
  20. BIN=BIN
      RainbowPlanet/RainbowPlanet/Supporting Files/CommunityModule.xcassets/btn_collect_black.imageset/btn_collect_black@2x.png
  21. BIN=BIN
      RainbowPlanet/RainbowPlanet/Supporting Files/CommunityModule.xcassets/btn_collect_black.imageset/btn_collect_black@3x.png
  22. 22 0
      RainbowPlanet/RainbowPlanet/Supporting Files/CommunityModule.xcassets/btn_collect_gray.imageset/Contents.json
  23. BIN=BIN
      RainbowPlanet/RainbowPlanet/Supporting Files/CommunityModule.xcassets/btn_collect_gray.imageset/btn_collect_gray@2x.png
  24. BIN=BIN
      RainbowPlanet/RainbowPlanet/Supporting Files/CommunityModule.xcassets/btn_collect_gray.imageset/btn_collect_gray@3x.png
  25. 22 0
      RainbowPlanet/RainbowPlanet/Supporting Files/CommunityModule.xcassets/btn_collect_pre.imageset/Contents.json
  26. BIN=BIN
      RainbowPlanet/RainbowPlanet/Supporting Files/CommunityModule.xcassets/btn_collect_pre.imageset/btn_collect_pre@2x.png
  27. BIN=BIN
      RainbowPlanet/RainbowPlanet/Supporting Files/CommunityModule.xcassets/btn_collect_pre.imageset/btn_collect_pre@3x.png
  28. 22 0
      RainbowPlanet/RainbowPlanet/Supporting Files/CommunityModule.xcassets/btn_praise.imageset/Contents.json
  29. BIN=BIN
      RainbowPlanet/RainbowPlanet/Supporting Files/CommunityModule.xcassets/btn_praise.imageset/btn_praise@2x.png
  30. BIN=BIN
      RainbowPlanet/RainbowPlanet/Supporting Files/CommunityModule.xcassets/btn_praise.imageset/btn_praise@3x.png
  31. 22 0
      RainbowPlanet/RainbowPlanet/Supporting Files/CommunityModule.xcassets/btn_praise_black.imageset/Contents.json
  32. BIN=BIN
      RainbowPlanet/RainbowPlanet/Supporting Files/CommunityModule.xcassets/btn_praise_black.imageset/btn_praise_black@2x.png
  33. BIN=BIN
      RainbowPlanet/RainbowPlanet/Supporting Files/CommunityModule.xcassets/btn_praise_black.imageset/btn_praise_black@3x.png
  34. 22 0
      RainbowPlanet/RainbowPlanet/Supporting Files/CommunityModule.xcassets/btn_praise_gray.imageset/Contents.json
  35. BIN=BIN
      RainbowPlanet/RainbowPlanet/Supporting Files/CommunityModule.xcassets/btn_praise_gray.imageset/btn_praise_gray@2x.png
  36. BIN=BIN
      RainbowPlanet/RainbowPlanet/Supporting Files/CommunityModule.xcassets/btn_praise_gray.imageset/btn_praise_gray@3x.png
  37. 22 0
      RainbowPlanet/RainbowPlanet/Supporting Files/CommunityModule.xcassets/btn_praise_pre.imageset/Contents.json
  38. BIN=BIN
      RainbowPlanet/RainbowPlanet/Supporting Files/CommunityModule.xcassets/btn_praise_pre.imageset/btn_praise_pre@2x.png
  39. BIN=BIN
      RainbowPlanet/RainbowPlanet/Supporting Files/CommunityModule.xcassets/btn_praise_pre.imageset/btn_praise_pre@3x.png
  40. 22 0
      RainbowPlanet/RainbowPlanet/Supporting Files/CommunityModule.xcassets/btn_praise_pre_36px.imageset/Contents.json
  41. BIN=BIN
      RainbowPlanet/RainbowPlanet/Supporting Files/CommunityModule.xcassets/btn_praise_pre_36px.imageset/btn_praise_pre_36px@2x.png
  42. BIN=BIN
      RainbowPlanet/RainbowPlanet/Supporting Files/CommunityModule.xcassets/btn_praise_pre_36px.imageset/btn_praise_pre_36px@3x.png
  43. 22 0
      RainbowPlanet/RainbowPlanet/Supporting Files/CommunityModule.xcassets/btn_share_gray.imageset/Contents.json
  44. BIN=BIN
      RainbowPlanet/RainbowPlanet/Supporting Files/CommunityModule.xcassets/btn_share_gray.imageset/btn_share_gray@2x.png
  45. BIN=BIN
      RainbowPlanet/RainbowPlanet/Supporting Files/CommunityModule.xcassets/btn_share_gray.imageset/btn_share_gray@3x.png
  46. 22 0
      RainbowPlanet/RainbowPlanet/Supporting Files/CommunityModule.xcassets/ico_bean_org.imageset/Contents.json
  47. BIN=BIN
      RainbowPlanet/RainbowPlanet/Supporting Files/CommunityModule.xcassets/ico_bean_org.imageset/ico_bean_org@2x.png
  48. BIN=BIN
      RainbowPlanet/RainbowPlanet/Supporting Files/CommunityModule.xcassets/ico_bean_org.imageset/ico_bean_org@3x.png
  49. 6 0
      RainbowPlanet/RainbowPlanet/Supporting Files/MessageModule.xcassets/Contents.json
  50. 22 0
      RainbowPlanet/RainbowPlanet/Supporting Files/MessageModule.xcassets/message_logo.imageset/Contents.json
  51. BIN=BIN
      RainbowPlanet/RainbowPlanet/Supporting Files/MessageModule.xcassets/message_logo.imageset/message_logo@2x.png
  52. BIN=BIN
      RainbowPlanet/RainbowPlanet/Supporting Files/MessageModule.xcassets/message_logo.imageset/message_logo@3x.png

+ 20 - 0
RainbowPlanet/RainbowPlanet.xcodeproj/project.pbxproj

@@ -275,6 +275,9 @@
 		A7BF202B22B396F300396DB3 /* CardContentTitleTableViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = A7BF202922B396F300396DB3 /* CardContentTitleTableViewCell.swift */; };
 		A7BF202B22B396F300396DB3 /* CardContentTitleTableViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = A7BF202922B396F300396DB3 /* CardContentTitleTableViewCell.swift */; };
 		A7BF203122B47CC000396DB3 /* CardContentCommnetTableViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = A7BF203022B47CC000396DB3 /* CardContentCommnetTableViewCell.swift */; };
 		A7BF203122B47CC000396DB3 /* CardContentCommnetTableViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = A7BF203022B47CC000396DB3 /* CardContentCommnetTableViewCell.swift */; };
 		A7BF203422B47E8600396DB3 /* CardContentActionTableViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = A7BF203322B47E8600396DB3 /* CardContentActionTableViewCell.swift */; };
 		A7BF203422B47E8600396DB3 /* CardContentActionTableViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = A7BF203322B47E8600396DB3 /* CardContentActionTableViewCell.swift */; };
+		A7C0FDE722B4A38500BC1E86 /* CardContentCommentListTableViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = A7C0FDE622B4A38500BC1E86 /* CardContentCommentListTableViewCell.swift */; };
+		A7C0FDE922B4BC5600BC1E86 /* CardContentCommentListContentTableViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = A7C0FDE822B4BC5600BC1E86 /* CardContentCommentListContentTableViewCell.swift */; };
+		A7C0FDEB22B4C6C300BC1E86 /* CardContentCommentListFooterView.swift in Sources */ = {isa = PBXBuildFile; fileRef = A7C0FDEA22B4C6C300BC1E86 /* CardContentCommentListFooterView.swift */; };
 		A7C3DD1A226422BF00FA262E /* SwiftMoyaServiceSMSApi.swift in Sources */ = {isa = PBXBuildFile; fileRef = A7C3DD19226422BF00FA262E /* SwiftMoyaServiceSMSApi.swift */; };
 		A7C3DD1A226422BF00FA262E /* SwiftMoyaServiceSMSApi.swift in Sources */ = {isa = PBXBuildFile; fileRef = A7C3DD19226422BF00FA262E /* SwiftMoyaServiceSMSApi.swift */; };
 		A7C3DD1C226422D200FA262E /* SwiftMoyaNetWorkServiceSMS.swift in Sources */ = {isa = PBXBuildFile; fileRef = A7C3DD1B226422D200FA262E /* SwiftMoyaNetWorkServiceSMS.swift */; };
 		A7C3DD1C226422D200FA262E /* SwiftMoyaNetWorkServiceSMS.swift in Sources */ = {isa = PBXBuildFile; fileRef = A7C3DD1B226422D200FA262E /* SwiftMoyaNetWorkServiceSMS.swift */; };
 		A7CC74D4226FF1AA003C4F38 /* MineView.swift in Sources */ = {isa = PBXBuildFile; fileRef = A7CC74D3226FF1AA003C4F38 /* MineView.swift */; };
 		A7CC74D4226FF1AA003C4F38 /* MineView.swift in Sources */ = {isa = PBXBuildFile; fileRef = A7CC74D3226FF1AA003C4F38 /* MineView.swift */; };
@@ -754,6 +757,9 @@
 		A7BF202922B396F300396DB3 /* CardContentTitleTableViewCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CardContentTitleTableViewCell.swift; sourceTree = "<group>"; };
 		A7BF202922B396F300396DB3 /* CardContentTitleTableViewCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CardContentTitleTableViewCell.swift; sourceTree = "<group>"; };
 		A7BF203022B47CC000396DB3 /* CardContentCommnetTableViewCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CardContentCommnetTableViewCell.swift; sourceTree = "<group>"; };
 		A7BF203022B47CC000396DB3 /* CardContentCommnetTableViewCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CardContentCommnetTableViewCell.swift; sourceTree = "<group>"; };
 		A7BF203322B47E8600396DB3 /* CardContentActionTableViewCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CardContentActionTableViewCell.swift; sourceTree = "<group>"; };
 		A7BF203322B47E8600396DB3 /* CardContentActionTableViewCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CardContentActionTableViewCell.swift; sourceTree = "<group>"; };
+		A7C0FDE622B4A38500BC1E86 /* CardContentCommentListTableViewCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CardContentCommentListTableViewCell.swift; sourceTree = "<group>"; };
+		A7C0FDE822B4BC5600BC1E86 /* CardContentCommentListContentTableViewCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CardContentCommentListContentTableViewCell.swift; sourceTree = "<group>"; };
+		A7C0FDEA22B4C6C300BC1E86 /* CardContentCommentListFooterView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CardContentCommentListFooterView.swift; sourceTree = "<group>"; };
 		A7C3DD19226422BF00FA262E /* SwiftMoyaServiceSMSApi.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SwiftMoyaServiceSMSApi.swift; sourceTree = "<group>"; };
 		A7C3DD19226422BF00FA262E /* SwiftMoyaServiceSMSApi.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SwiftMoyaServiceSMSApi.swift; sourceTree = "<group>"; };
 		A7C3DD1B226422D200FA262E /* SwiftMoyaNetWorkServiceSMS.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SwiftMoyaNetWorkServiceSMS.swift; sourceTree = "<group>"; };
 		A7C3DD1B226422D200FA262E /* SwiftMoyaNetWorkServiceSMS.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SwiftMoyaNetWorkServiceSMS.swift; sourceTree = "<group>"; };
 		A7CC74D3226FF1AA003C4F38 /* MineView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MineView.swift; sourceTree = "<group>"; };
 		A7CC74D3226FF1AA003C4F38 /* MineView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MineView.swift; sourceTree = "<group>"; };
@@ -2770,6 +2776,16 @@
 			path = Action;
 			path = Action;
 			sourceTree = "<group>";
 			sourceTree = "<group>";
 		};
 		};
+		A7C0FDE522B4A36F00BC1E86 /* CommentList */ = {
+			isa = PBXGroup;
+			children = (
+				A7C0FDE622B4A38500BC1E86 /* CardContentCommentListTableViewCell.swift */,
+				A7C0FDE822B4BC5600BC1E86 /* CardContentCommentListContentTableViewCell.swift */,
+				A7C0FDEA22B4C6C300BC1E86 /* CardContentCommentListFooterView.swift */,
+			);
+			path = CommentList;
+			sourceTree = "<group>";
+		};
 		A7C3DD182264229900FA262E /* SwiftMoyaServiceSMS */ = {
 		A7C3DD182264229900FA262E /* SwiftMoyaServiceSMS */ = {
 			isa = PBXGroup;
 			isa = PBXGroup;
 			children = (
 			children = (
@@ -3054,6 +3070,7 @@
 		A7F2D6D522B1ED100093000B /* CardContent */ = {
 		A7F2D6D522B1ED100093000B /* CardContent */ = {
 			isa = PBXGroup;
 			isa = PBXGroup;
 			children = (
 			children = (
+				A7C0FDE522B4A36F00BC1E86 /* CommentList */,
 				A7BF203222B47D6200396DB3 /* Action */,
 				A7BF203222B47D6200396DB3 /* Action */,
 				A7BF202F22B47CA000396DB3 /* Comment */,
 				A7BF202F22B47CA000396DB3 /* Comment */,
 				A7BF202822B396D100396DB3 /* TitleContent */,
 				A7BF202822B396D100396DB3 /* TitleContent */,
@@ -4066,6 +4083,7 @@
 				BDEF7793228575A800ED0AC0 /* CommonPayCell.swift in Sources */,
 				BDEF7793228575A800ED0AC0 /* CommonPayCell.swift in Sources */,
 				A70B2C75228920BA00B2449F /* ProductDetailSkuSectionHeaerCollectionReusableView.swift in Sources */,
 				A70B2C75228920BA00B2449F /* ProductDetailSkuSectionHeaerCollectionReusableView.swift in Sources */,
 				A7DF50D822A4FAFC00998908 /* ProductDetailEvaluationImageCollectionViewCell.swift in Sources */,
 				A7DF50D822A4FAFC00998908 /* ProductDetailEvaluationImageCollectionViewCell.swift in Sources */,
+				A7C0FDE922B4BC5600BC1E86 /* CardContentCommentListContentTableViewCell.swift in Sources */,
 				A72843FC224DB6B800F82F30 /* SwiftMoyaServiceUserApi.swift in Sources */,
 				A72843FC224DB6B800F82F30 /* SwiftMoyaServiceUserApi.swift in Sources */,
 				A7931DF122AF4C9100297D0A /* BaseIrregularityBasicContentView.swift in Sources */,
 				A7931DF122AF4C9100297D0A /* BaseIrregularityBasicContentView.swift in Sources */,
 				A7931DEF22AF4C9100297D0A /* BaseBasicContentView.swift in Sources */,
 				A7931DEF22AF4C9100297D0A /* BaseBasicContentView.swift in Sources */,
@@ -4193,6 +4211,7 @@
 				A71AF0BC226F099B001730FE /* ProductHBigTableViewCell.swift in Sources */,
 				A71AF0BC226F099B001730FE /* ProductHBigTableViewCell.swift in Sources */,
 				BD108C9622A60C2100837DAB /* HGImagePickerCell.swift in Sources */,
 				BD108C9622A60C2100837DAB /* HGImagePickerCell.swift in Sources */,
 				A7A98E3C228036D7005306E9 /* ShoppingMallCategoryCollectionViewCell.swift in Sources */,
 				A7A98E3C228036D7005306E9 /* ShoppingMallCategoryCollectionViewCell.swift in Sources */,
+				A7C0FDEB22B4C6C300BC1E86 /* CardContentCommentListFooterView.swift in Sources */,
 				BD3AA45822AE63EC00EF4F20 /* MessageMainViewController.swift in Sources */,
 				BD3AA45822AE63EC00EF4F20 /* MessageMainViewController.swift in Sources */,
 				BD12204922AF99B90051C7C2 /* MessageFollowNotiController.swift in Sources */,
 				BD12204922AF99B90051C7C2 /* MessageFollowNotiController.swift in Sources */,
 				A71AF0AA226EDDF5001730FE /* SearchView.swift in Sources */,
 				A71AF0AA226EDDF5001730FE /* SearchView.swift in Sources */,
@@ -4268,6 +4287,7 @@
 				BD20F1CB2283C12000677D8E /* ShoppingCartListNoneItemCell.swift in Sources */,
 				BD20F1CB2283C12000677D8E /* ShoppingCartListNoneItemCell.swift in Sources */,
 				A7B4E756228281620012914A /* ShoppingMallSlidingLeftRightBgCollectionViewCell.swift in Sources */,
 				A7B4E756228281620012914A /* ShoppingMallSlidingLeftRightBgCollectionViewCell.swift in Sources */,
 				BD1FC18122B08D7A00D55081 /* CommunityMyFollowTopicCell.swift in Sources */,
 				BD1FC18122B08D7A00D55081 /* CommunityMyFollowTopicCell.swift in Sources */,
+				A7C0FDE722B4A38500BC1E86 /* CardContentCommentListTableViewCell.swift in Sources */,
 				A757C92E22744ACE00226355 /* AddressManagerListModel.swift in Sources */,
 				A757C92E22744ACE00226355 /* AddressManagerListModel.swift in Sources */,
 				BDAA40F9228E9ADA00CF841D /* OrderApplyRefundReasonCell.swift in Sources */,
 				BDAA40F9228E9ADA00CF841D /* OrderApplyRefundReasonCell.swift in Sources */,
 				A7274C59228EE636000E3A07 /* LBXScanNetAnimation.swift in Sources */,
 				A7274C59228EE636000E3A07 /* LBXScanNetAnimation.swift in Sources */,

+ 4 - 4
RainbowPlanet/RainbowPlanet/Macro/ColorMacro.swift

@@ -70,14 +70,14 @@ let kffeae5Color = UIColor(hexString: "ffeae5")
 
 
 let kf82323Color = UIColor(hexString: "f82323")
 let kf82323Color = UIColor(hexString: "f82323")
 
 
-let kf1f1f1Color = UIColor(hexString: "f1f1f1")
-
 let kf7f7f9Color = UIColor(hexString: "f7f7f9")
 let kf7f7f9Color = UIColor(hexString: "f7f7f9")
 
 
 let kf7f7faColor = UIColor(hexString: "f7f7fa")
 let kf7f7faColor = UIColor(hexString: "f7f7fa")
 
 
 let kf7f8faColor = UIColor(hexString: "f7f8fa")
 let kf7f8faColor = UIColor(hexString: "f7f8fa")
 
 
+let kf1f1f1Color = UIColor(hexString: "f1f1f1")
+
 let kf2f2f2Color = UIColor(hexString: "f2f2f2")
 let kf2f2f2Color = UIColor(hexString: "f2f2f2")
 
 
 let kf3f3f3Color = UIColor(hexString: "f3f3f3")
 let kf3f3f3Color = UIColor(hexString: "f3f3f3")
@@ -130,8 +130,8 @@ let kfff8efColor = UIColor(hexString: "fff8ef")
 
 
 let kebebebColor = UIColor(hexString: "ebebeb")
 let kebebebColor = UIColor(hexString: "ebebeb")
 
 
-let k262626Color = UIColor(hexString: "262626")
-
 let kfff8ecColor = UIColor(hexString: "fff8ec")
 let kfff8ecColor = UIColor(hexString: "fff8ec")
 
 
 let k62cc74Color = UIColor(hexString: "62cc74")
 let k62cc74Color = UIColor(hexString: "62cc74")
+
+let kFFF8ECColor = UIColor(hexString: "FFF8EC")

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

@@ -7,9 +7,12 @@
 //
 //
 
 
 import UIKit
 import UIKit
+import RxSwift
 
 
 class CardContentActionTableViewCell: UITableViewCell {
 class CardContentActionTableViewCell: UITableViewCell {
-
+    
+    let disposeBag = DisposeBag()
+    
     class func cellWith(tableView:UITableView,indexPath:IndexPath) -> CardContentActionTableViewCell {
     class func cellWith(tableView:UITableView,indexPath:IndexPath) -> CardContentActionTableViewCell {
         let ID = "CardContentActionTableViewCell"
         let ID = "CardContentActionTableViewCell"
         tableView.register(CardContentActionTableViewCell.self, forCellReuseIdentifier: ID)
         tableView.register(CardContentActionTableViewCell.self, forCellReuseIdentifier: ID)
@@ -36,16 +39,116 @@ class CardContentActionTableViewCell: UITableViewCell {
     //MRAK: - 设置View
     //MRAK: - 设置View
     private func setupViews() {
     private func setupViews() {
         self.selectionStyle = .none
         self.selectionStyle = .none
+        addSubview(skittlesBgView)
+        skittlesBgView.addSubview(skittlesButton)
+        addSubview(shareButton)
+        addSubview(collectButton)
+        addSubview(praiseButton)
+        addSubview(lineLabel)
     }
     }
     
     
     private func setupLayouts() {
     private func setupLayouts() {
+        
+        skittlesButton.snp.makeConstraints { (make) in
+            make.centerY.equalToSuperview()
+            make.left.equalToSuperview().offset(10)
+        }
+        skittlesButton.layoutButton(edgeInsetsStyle: ButtonEdgeInsetsStyle.left, imageTitleSpace: 5)
+        skittlesBgView.snp.remakeConstraints { (make) in
+            make.centerY.equalToSuperview()
+            make.left.equalTo(14)
+            make.right.equalTo(skittlesButton).offset(10)
+            make.height.equalTo(24)
+        }
+        shareButton.snp.makeConstraints { (make) in
+            make.centerY.equalToSuperview()
+            make.right.equalTo(-17)
+            make.size.equalTo(16)
+        }
+        collectButton.snp.makeConstraints { (make) in
+            make.centerY.equalToSuperview()
+            make.right.equalTo(shareButton.snp_left).offset(-24)
+            make.size.equalTo(21)
+        }
+        praiseButton.snp.makeConstraints { (make) in
+            make.centerY.equalToSuperview()
+            make.right.equalTo(collectButton.snp_left).offset(-21)
+        }
+        praiseButton.layoutButton(edgeInsetsStyle: ButtonEdgeInsetsStyle.left, imageTitleSpace: 7)
+        lineLabel.snp.makeConstraints { (make) in
+            make.bottom.equalToSuperview()
+            make.left.equalTo(14)
+            make.right.equalTo(-14)
+            make.height.equalTo(1)
+        }
+
     }
     }
     
     
+    private lazy var skittlesBgView: UIView = {
+        let skittlesBgView = UIView()
+        skittlesBgView.backgroundColor = kFFF8ECColor
+        skittlesBgView.cornerRadius = 12
+        skittlesBgView.masksToBounds = true
+        return skittlesBgView
+    }()
+    
     private lazy var skittlesButton: UIButton = {
     private lazy var skittlesButton: UIButton = {
         let skittlesButton = UIButton(type: UIButton.ButtonType.custom)
         let skittlesButton = UIButton(type: UIButton.ButtonType.custom)
-        skittlesButton.setImage(kImage(name: ""), for: UIControl.State.normal)
+        skittlesButton.setImage(kImage(name: "ico_bean_org"), for: .normal)
+        skittlesButton.setTitle("666彩虹豆待收获", for: .normal)
+        skittlesButton.setTitleColor(kFFA42FColor, for: .normal)
+        skittlesButton.titleLabel?.font = kRegularFont13
+        skittlesButton.isEnabled = false
         return skittlesButton
         return skittlesButton
     }()
     }()
     
     
+    private lazy var shareButton: UIButton = {
+        let shareButton = UIButton(type: UIButton.ButtonType.custom)
+        shareButton.setImage(kImage(name: "btn_share_gray"), for: .normal)
+        shareButton.rx.tap.subscribe(onNext: {(data) in
+            
+        }).disposed(by: disposeBag)
+        return shareButton
+    }()
+    
+    
+
+    typealias CollectClosureName = (UIButton) -> Bool
+    var collectClosureName : CollectClosureName?
+    private lazy var collectButton: UIButton = {
+        let collectButton = UIButton(type: UIButton.ButtonType.custom)
+        collectButton.setImage(kImage(name: "btn_collect_gray"), for: .normal)
+        collectButton.setImage(kImage(name: "btn_collect_pre"), for: .selected)
+        collectButton.rx.tap.subscribe(onNext: {
+            [weak self] (data) in
+            if let collectClosureName = self?.collectClosureName {
+                 collectButton.isSelected = collectClosureName(collectButton)
+            }
+        }).disposed(by: disposeBag)
+        return collectButton
+    }()
+    
+    typealias PraiseClosureName = (UIButton) -> Bool
+    var praiseClosureName : PraiseClosureName?
+    private lazy var praiseButton: UIButton = {
+        let praiseButton = UIButton(type: UIButton.ButtonType.custom)
+        praiseButton.setImage(kImage(name: "btn_praise_gray"), for: .normal)
+        praiseButton.setImage(kImage(name: "btn_praise_pre"), for: .selected)
+        praiseButton.setTitle("268", for: .normal)
+        praiseButton.setTitleColor(k666666Color, for: .normal)
+        praiseButton.titleLabel?.font = kRegularFont12
+        praiseButton.rx.tap.subscribe(onNext: {
+            [weak self] (data) in
+            if let praiseClosureName = self?.praiseClosureName {
+                praiseButton.isSelected = praiseClosureName(praiseButton)
+            }
+        }).disposed(by: disposeBag)
+        return praiseButton
+    }()
 
 
+    private lazy var lineLabel: UILabel = {
+        let lineLabel = UILabel()
+        lineLabel.backgroundColor = kf1f1f1Color
+        return lineLabel
+    }()
 }
 }

+ 43 - 2
RainbowPlanet/RainbowPlanet/Modules/CommunityModule/Community/View/Cell/CardContent/Comment/CardContentCommnetTableViewCell.swift

@@ -7,10 +7,13 @@
 //
 //
 
 
 import UIKit
 import UIKit
+import RxSwift
 
 
 class CardContentCommnetTableViewCell: UITableViewCell {
 class CardContentCommnetTableViewCell: UITableViewCell {
 
 
-    class func cellWith(tableView:UITableView,indexPath:IndexPath) -> UITableViewCell {
+    let disposeBag = DisposeBag()
+    
+    class func cellWith(tableView:UITableView,indexPath:IndexPath) -> CardContentCommnetTableViewCell {
         let ID = "CardContentCommnetTableViewCell"
         let ID = "CardContentCommnetTableViewCell"
         tableView.register(CardContentCommnetTableViewCell.self, forCellReuseIdentifier: ID)
         tableView.register(CardContentCommnetTableViewCell.self, forCellReuseIdentifier: ID)
         let cell : CardContentCommnetTableViewCell = tableView.dequeueReusableCell(withIdentifier: ID, for: indexPath) as! CardContentCommnetTableViewCell
         let cell : CardContentCommnetTableViewCell = tableView.dequeueReusableCell(withIdentifier: ID, for: indexPath) as! CardContentCommnetTableViewCell
@@ -36,11 +39,49 @@ class CardContentCommnetTableViewCell: UITableViewCell {
     //MRAK: - 设置View
     //MRAK: - 设置View
     private func setupViews() {
     private func setupViews() {
         self.selectionStyle = .none
         self.selectionStyle = .none
+        addSubview(avatarButton)
+        addSubview(addCommnetButton)
     }
     }
     
     
     private func setupLayouts() {
     private func setupLayouts() {
+        avatarButton.snp_makeConstraints { (make) in
+            make.top.equalTo(20)
+            make.left.equalTo(14)
+            make.size.equalTo(28)
+        }
+        addCommnetButton.snp_makeConstraints { (make) in
+            make.centerY.equalTo(avatarButton)
+            make.height.equalTo(avatarButton)
+            make.left.equalTo(avatarButton.snp_right).offset(10)
+        }
     }
     }
     
     
+    private lazy var avatarButton: UIButton = {
+        let avatarButton = UIButton()
+        avatarButton.setImage(kImage(name: "pic_preload"), for: UIControl.State.normal)
+        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
+    }()
+    
+    typealias AddCommnetClosureName = () -> Void
+    var addCommnetClosureName : AddCommnetClosureName?
+    private lazy var addCommnetButton: UIButton = {
+        let addCommnetButton = UIButton()
+        addCommnetButton.setTitle("添加评论...", for: UIControl.State.normal)
+        addCommnetButton.setTitleColor(k999999Color, for: UIControl.State.normal)
+        addCommnetButton.titleLabel?.font = kRegularFont14
+        addCommnetButton.rx.tap.subscribe(onNext: {
+            [weak self] (data) in
+            if let addCommnetClosureName = self?.addCommnetClosureName {
+                addCommnetClosureName()
+            }
+        }).disposed(by: disposeBag)
+        return addCommnetButton
+    }()
     
     
-
 }
 }

+ 60 - 0
RainbowPlanet/RainbowPlanet/Modules/CommunityModule/Community/View/Cell/CardContent/CommentList/CardContentCommentListContentTableViewCell.swift

@@ -0,0 +1,60 @@
+//
+//  CommentListContentTableViewCell.swift
+//  RainbowPlanet
+//
+//  Created by 南鑫林 on 2019/6/15.
+//  Copyright © 2019 RainbowPlanet. All rights reserved.
+//
+
+import UIKit
+
+class CardContentCommentListContentTableViewCell: UITableViewCell {
+
+    class func cellWith(tableView:UITableView,indexPath:IndexPath) -> UITableViewCell {
+        let ID = "CardContentCommentListContentTableViewCell"
+        tableView.register(CardContentCommentListContentTableViewCell.self, forCellReuseIdentifier: ID)
+        let cell : CardContentCommentListContentTableViewCell = tableView.dequeueReusableCell(withIdentifier: ID, for: indexPath) as! CardContentCommentListContentTableViewCell
+        cell.indexPath = indexPath
+        return cell
+    }
+    
+    override init(style: UITableViewCell.CellStyle, reuseIdentifier: String?) {
+        super.init(style: style, reuseIdentifier: reuseIdentifier)
+        setupViews()
+        setupLayouts()
+    }
+    
+    required init?(coder aDecoder: NSCoder) {
+        fatalError("init(coder:) has not been implemented")
+    }
+    
+    var indexPath: IndexPath? {
+        didSet {
+            
+        }
+    }
+    //MRAK: - 设置View
+    private func setupViews() {
+        self.selectionStyle = .none
+        addSubview(commentLabel)
+    }
+    
+    private func setupLayouts() {
+        commentLabel.snp_makeConstraints { (make) in
+            make.top.equalToSuperview()
+            make.left.equalTo(14)
+            make.right.equalTo(-14)
+            make.bottom.equalToSuperview().offset(-4)
+        }
+    }
+    
+    private lazy var commentLabel: UILabel = {
+        let commentLabel = UILabel()
+        commentLabel.text = "Monster:😁厨艺真的很厉害啊,照片拍的也很好看,鸡蛋看着好新鲜"
+        commentLabel.numberOfLines = 0
+        commentLabel.textColor = k333333Color
+        commentLabel.font = kRegularFont14
+        return commentLabel
+    }()
+
+}

+ 35 - 0
RainbowPlanet/RainbowPlanet/Modules/CommunityModule/Community/View/Cell/CardContent/CommentList/CardContentCommentListFooterView.swift

@@ -0,0 +1,35 @@
+//
+//  CardContentCommentListFooterView.swift
+//  RainbowPlanet
+//
+//  Created by 南鑫林 on 2019/6/15.
+//  Copyright © 2019 RainbowPlanet. All rights reserved.
+//
+
+import UIKit
+
+class CardContentCommentListFooterView: BaseView {
+
+    //MRAK: - 设置View
+    override func setupViews() {
+        addSubview(allCommentLabel)
+    }
+    
+    override func setupLayouts() {
+        allCommentLabel.snp_makeConstraints { (make) in
+            make.top.equalToSuperview().offset(9)
+            make.left.equalTo(14)
+            make.right.equalTo(-14)
+            make.bottom.equalToSuperview()
+        }
+    }
+    
+    private lazy var allCommentLabel: UILabel = {
+        let allCommentLabel = UILabel()
+        allCommentLabel.text = "共300条评论"
+        allCommentLabel.textColor = k999999Color
+        allCommentLabel.font = kRegularFont13
+        return allCommentLabel
+    }()
+
+}

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

@@ -0,0 +1,137 @@
+//
+//  CommentListTableViewCell.swift
+//  RainbowPlanet
+//
+//  Created by 南鑫林 on 2019/6/15.
+//  Copyright © 2019 RainbowPlanet. All rights reserved.
+//
+
+import UIKit
+
+class CardContentCommentListTableViewCell: UITableViewCell {
+    
+    var cellHeightsDictionary = Dictionary<IndexPath, Any>()
+
+    class func cellWith(tableView:UITableView,indexPath:IndexPath) -> CardContentCommentListTableViewCell {
+        let ID = "CardContentCommentListTableViewCell"
+        tableView.register(CardContentCommentListTableViewCell.self, forCellReuseIdentifier: ID)
+        let cell : CardContentCommentListTableViewCell = tableView.dequeueReusableCell(withIdentifier: ID, for: indexPath) as! CardContentCommentListTableViewCell
+        cell.indexPath = indexPath
+        return cell
+    }
+    
+    override init(style: UITableViewCell.CellStyle, reuseIdentifier: String?) {
+        super.init(style: style, reuseIdentifier: reuseIdentifier)
+        setupViews()
+        setupLayouts()
+    }
+    
+    required init?(coder aDecoder: NSCoder) {
+        fatalError("init(coder:) has not been implemented")
+    }
+    
+    var indexPath: IndexPath? {
+        didSet {
+            
+        }
+    }
+    //MRAK: - 设置View
+    private func setupViews() {
+        self.selectionStyle = .none
+        addSubview(tableView)
+    }
+    
+    private func setupLayouts() {
+        tableView.snp_makeConstraints { (make) in
+            make.edges.equalToSuperview()
+        }
+    }
+    
+    private lazy var tableView: UITableView = {
+        let tableView = UITableView(frame: CGRect.zero, style: UITableView.Style.grouped)
+        tableView.separatorStyle = .none
+        tableView.backgroundColor = .white
+        tableView.tableHeaderView = headerView
+        tableView.tableFooterView = footerView
+        tableView.dataSource = self
+        tableView.delegate = self
+        return tableView
+    }()
+    
+    private lazy var headerView: UIView = {
+        let headerView = UIView(frame: CGRect(x: 0, y: 0, width: kScreenWidth, height: 18))
+        headerView.backgroundColor = .white
+        return headerView
+    }()
+    
+    private lazy var footerView: CardContentCommentListFooterView = {
+        let footerView = CardContentCommentListFooterView(frame: CGRect(x: 0, y: 0, width: kScreenWidth, height: 30))
+        footerView.backgroundColor = .white
+        return footerView
+    }()
+    
+    func reloadData() {
+        //collectionView重新加载数据
+        self.tableView.reloadData()
+        //更新collectionView的高度约束
+        let contentSize = self.tableView.contentSize
+        tableView.snp.remakeConstraints { (make) in
+            make.top.left.right.equalToSuperview()
+            make.height.equalTo(contentSize.height)
+//            make.bottom.lessThanOrEqualToSuperview()
+        }
+        
+    }
+}
+
+extension CardContentCommentListTableViewCell : UITableViewDelegate,UITableViewDataSource {
+    func numberOfSections(in tableView: UITableView) -> Int {
+        return 1
+    }
+    
+    func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
+        return 2
+    }
+    
+    func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
+        let cell = CardContentCommentListContentTableViewCell.cellWith(tableView: tableView, indexPath: indexPath)
+        return cell
+    }
+    
+    func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
+        
+    }
+    
+    func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
+        return UITableView.automaticDimension
+    }
+    
+    func tableView(_ tableView: UITableView, willDisplay cell: UITableViewCell, forRowAt indexPath: IndexPath) {
+        cellHeightsDictionary.updateValue(cell.frame.size.height, forKey: indexPath)
+    }
+    
+    func tableView(_ tableView: UITableView, estimatedHeightForRowAt indexPath: IndexPath) -> CGFloat {
+        let height = cellHeightsDictionary[indexPath]
+        if let height = height  {
+            return height as! CGFloat
+        }
+        return UITableView.automaticDimension
+    }
+    
+    func tableView(_ tableView: UITableView, heightForHeaderInSection section: Int) -> CGFloat {
+        return 0
+    }
+    
+    func tableView(_ tableView: UITableView, heightForFooterInSection section: Int) -> CGFloat {
+        return 0
+    }
+    
+    func tableView(_ tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? {
+        return nil
+        
+    }
+    
+    func tableView(_ tableView: UITableView, viewForFooterInSection section: Int) -> UIView? {
+        return nil
+    }
+}

+ 0 - 1
RainbowPlanet/RainbowPlanet/Modules/CommunityModule/Community/View/Cell/CardContent/TitleContent/CardContentTitleTableViewCell.swift

@@ -7,7 +7,6 @@
 //
 //
 
 
 import UIKit
 import UIKit
-import UITableView_FDTemplateLayoutCell
 
 
 enum CardContentTitleTableViewCellType {
 enum CardContentTitleTableViewCellType {
     case noTitleMoreThan
     case noTitleMoreThan

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

@@ -66,7 +66,7 @@ class CommunityNavigationBarView: BaseView {
     
     
     lazy var rightButton: UIButton = {
     lazy var rightButton: UIButton = {
         let rightButton = UIButton(type: UIButton.ButtonType.custom)
         let rightButton = UIButton(type: UIButton.ButtonType.custom)
-        rightButton.setImage(kImage(name: "navbar_class"), for: UIControl.State.normal)
+        rightButton.setImage(kImage(name: "navbar_bean_org"), for: UIControl.State.normal)
         rightButton.setTitle("999", for: UIControl.State.normal)
         rightButton.setTitle("999", for: UIControl.State.normal)
         rightButton.setTitleColor(kFFA42FColor, for: UIControl.State.normal)
         rightButton.setTitleColor(kFFA42FColor, for: UIControl.State.normal)
         rightButton.titleLabel?.font = kMediumFont16
         rightButton.titleLabel?.font = kMediumFont16

+ 124 - 7
RainbowPlanet/RainbowPlanet/Modules/CommunityModule/Community/ViewController/CommunityListViewController.swift

@@ -21,8 +21,6 @@ class CommunityListViewController: UIViewController {
     
     
     var communityListVCType : CommunityListVCType!
     var communityListVCType : CommunityListVCType!
     var cellHeightsDictionary = Dictionary<IndexPath, Any>()
     var cellHeightsDictionary = Dictionary<IndexPath, Any>()
-    var cellHeightsFooterDictionary = Dictionary<Int, Any>()
-    var cellHeightsHeaderDictionary = Dictionary<Int, Any>()
     
     
     override func viewDidLoad() {
     override func viewDidLoad() {
         super.viewDidLoad()
         super.viewDidLoad()
@@ -72,9 +70,6 @@ class CommunityListViewController: UIViewController {
         tableView.backgroundColor = kf7f8faColor
         tableView.backgroundColor = kf7f8faColor
         tableView.dataSource = self
         tableView.dataSource = self
         tableView.delegate = self
         tableView.delegate = self
-//        tableView.estimatedRowHeight = 0
-//        tableView.estimatedSectionHeaderHeight = 0
-//        tableView.estimatedSectionFooterHeight = 0
         return tableView
         return tableView
     }()
     }()
     
     
@@ -106,7 +101,7 @@ extension CommunityListViewController : UITableViewDelegate,UITableViewDataSourc
         switch communityListVCType {
         switch communityListVCType {
         case .follow?:
         case .follow?:
             if section >= 8 {
             if section >= 8 {
-                return 3
+                return 6
             }else {
             }else {
                 return 1
                 return 1
             }
             }
@@ -189,6 +184,31 @@ extension CommunityListViewController : UITableViewDelegate,UITableViewDataSourc
                     let cell = CardContentTitleTableViewCell.cellWith(tableView: tableView, indexPath: indexPath)
                     let cell = CardContentTitleTableViewCell.cellWith(tableView: tableView, indexPath: indexPath)
                     cell.cardContentTitleTableViewCellType = .noTitleMoreThan
                     cell.cardContentTitleTableViewCellType = .noTitleMoreThan
                     return cell
                     return cell
+                case 3:
+                    let cell = CardContentActionTableViewCell.cellWith(tableView: tableView, indexPath: indexPath)
+                    cell.collectClosureName = {
+                        (button:UIButton) -> Bool in
+                        return !button.isSelected
+                    }
+                    cell.praiseClosureName = {
+                        (button:UIButton) -> Bool in
+                        return !button.isSelected
+
+                    }
+                    
+                    return cell
+                case 4:
+                    let cell = CardContentCommentListTableViewCell.cellWith(tableView: tableView, indexPath: indexPath)
+                    cell.frame = tableView.bounds
+                    cell.layoutIfNeeded()
+                    cell.reloadData()
+                    return cell
+                case 5:
+                    let cell = CardContentCommnetTableViewCell.cellWith(tableView: tableView, indexPath: indexPath)
+                    cell.addCommnetClosureName = {
+                        
+                    }
+                    return cell
                 default:
                 default:
                     return UITableViewCell()
                     return UITableViewCell()
                 }
                 }
@@ -210,6 +230,31 @@ extension CommunityListViewController : UITableViewDelegate,UITableViewDataSourc
                     let cell = CardContentTitleTableViewCell.cellWith(tableView: tableView, indexPath: indexPath)
                     let cell = CardContentTitleTableViewCell.cellWith(tableView: tableView, indexPath: indexPath)
                     cell.cardContentTitleTableViewCellType = .noTitleNoMoreThan
                     cell.cardContentTitleTableViewCellType = .noTitleNoMoreThan
                     return cell
                     return cell
+                case 3:
+                    let cell = CardContentActionTableViewCell.cellWith(tableView: tableView, indexPath: indexPath)
+                    cell.collectClosureName = {
+                        (button:UIButton) -> Bool in
+                        return !button.isSelected
+                    }
+                    cell.praiseClosureName = {
+                        (button:UIButton) -> Bool in
+                        return !button.isSelected
+
+                    }
+                    
+                    return cell
+                case 4:
+                    let cell = CardContentCommentListTableViewCell.cellWith(tableView: tableView, indexPath: indexPath)
+                    cell.frame = tableView.bounds
+                    cell.layoutIfNeeded()
+                    cell.reloadData()
+                    return cell
+                case 5:
+                    let cell = CardContentCommnetTableViewCell.cellWith(tableView: tableView, indexPath: indexPath)
+                    cell.addCommnetClosureName = {
+                        
+                    }
+                    return cell
                 default:
                 default:
                     return UITableViewCell()
                     return UITableViewCell()
                 }
                 }
@@ -231,6 +276,31 @@ extension CommunityListViewController : UITableViewDelegate,UITableViewDataSourc
                     let cell = CardContentTitleTableViewCell.cellWith(tableView: tableView, indexPath: indexPath)
                     let cell = CardContentTitleTableViewCell.cellWith(tableView: tableView, indexPath: indexPath)
                     cell.cardContentTitleTableViewCellType = .titleMoreThan
                     cell.cardContentTitleTableViewCellType = .titleMoreThan
 
 
+                    return cell
+                case 3:
+                    let cell = CardContentActionTableViewCell.cellWith(tableView: tableView, indexPath: indexPath)
+                    cell.collectClosureName = {
+                        (button:UIButton) -> Bool in
+                        return !button.isSelected
+                    }
+                    cell.praiseClosureName = {
+                        (button:UIButton) -> Bool in
+                        return !button.isSelected
+
+                    }
+                    
+                    return cell
+                case 4:
+                    let cell = CardContentCommentListTableViewCell.cellWith(tableView: tableView, indexPath: indexPath)
+                    cell.frame = tableView.bounds
+                    cell.layoutIfNeeded()
+                    cell.reloadData()
+                    return cell
+                case 5:
+                    let cell = CardContentCommnetTableViewCell.cellWith(tableView: tableView, indexPath: indexPath)
+                    cell.addCommnetClosureName = {
+                        
+                    }
                     return cell
                     return cell
                 default:
                 default:
                     return UITableViewCell()
                     return UITableViewCell()
@@ -253,6 +323,30 @@ extension CommunityListViewController : UITableViewDelegate,UITableViewDataSourc
                     let cell = CardContentTitleTableViewCell.cellWith(tableView: tableView, indexPath: indexPath)
                     let cell = CardContentTitleTableViewCell.cellWith(tableView: tableView, indexPath: indexPath)
                     cell.cardContentTitleTableViewCellType = .titleNoMoreThan
                     cell.cardContentTitleTableViewCellType = .titleNoMoreThan
                     return cell
                     return cell
+                case 3:
+                    let cell = CardContentActionTableViewCell.cellWith(tableView: tableView, indexPath: indexPath)
+                    cell.collectClosureName = {
+                        (button:UIButton) -> Bool in
+                        return !button.isSelected
+                    }
+                    cell.praiseClosureName = {
+                        (button:UIButton) -> Bool in
+                        return !button.isSelected
+                    }
+                    
+                    return cell
+                case 4:
+                    let cell = CardContentCommentListTableViewCell.cellWith(tableView: tableView, indexPath: indexPath)
+                    cell.frame = tableView.frame
+                    cell.layoutIfNeeded()
+                    cell.reloadData()
+                    return cell
+                case 5:
+                    let cell = CardContentCommnetTableViewCell.cellWith(tableView: tableView, indexPath: indexPath)
+                    cell.addCommnetClosureName = {
+                        
+                    }
+                    return cell
                 default:
                 default:
                     return UITableViewCell()
                     return UITableViewCell()
                 }
                 }
@@ -296,6 +390,12 @@ extension CommunityListViewController : UITableViewDelegate,UITableViewDataSourc
                     return 80
                     return 80
                 case 2:
                 case 2:
                     return UITableView.automaticDimension
                     return UITableView.automaticDimension
+                case 3:
+                    return 54
+                case 4:
+                    return UITableView.automaticDimension
+                case 5:
+                    return 74
                 default:
                 default:
                     return 0
                     return 0
                 }
                 }
@@ -305,6 +405,12 @@ extension CommunityListViewController : UITableViewDelegate,UITableViewDataSourc
                     return 80
                     return 80
                 case 2:
                 case 2:
                     return UITableView.automaticDimension
                     return UITableView.automaticDimension
+                case 3:
+                    return 54
+                case 4:
+                    return UITableView.automaticDimension
+                case 5:
+                    return 74
                 default:
                 default:
                     return 0
                     return 0
                 }
                 }
@@ -314,6 +420,12 @@ extension CommunityListViewController : UITableViewDelegate,UITableViewDataSourc
                     return 80
                     return 80
                 case 2:
                 case 2:
                     return UITableView.automaticDimension
                     return UITableView.automaticDimension
+                case 3:
+                    return 54
+                case 4:
+                    return UITableView.automaticDimension
+                case 5:
+                    return 74
                 default:
                 default:
                     return 0
                     return 0
                 }
                 }
@@ -323,6 +435,12 @@ extension CommunityListViewController : UITableViewDelegate,UITableViewDataSourc
                     return 80
                     return 80
                 case 2:
                 case 2:
                     return UITableView.automaticDimension
                     return UITableView.automaticDimension
+                case 3:
+                    return 54
+                case 4:
+                    return UITableView.automaticDimension
+                case 5:
+                    return 74
                 default:
                 default:
                     return 0
                     return 0
                 }
                 }
@@ -420,7 +538,6 @@ extension CommunityListViewController : UITableViewDelegate,UITableViewDataSourc
 //        }
 //        }
 //        return 0
 //        return 0
 //    }
 //    }
-
     
     
     
     
     func tableView(_ tableView: UITableView, viewForFooterInSection section: Int) -> UIView? {
     func tableView(_ tableView: UITableView, viewForFooterInSection section: Int) -> UIView? {

RainbowPlanet/RainbowPlanet/Supporting Files/Assets.xcassets/logo.imageset/Contents.json → RainbowPlanet/RainbowPlanet/Supporting Files/Assets.xcassets/DefaultPage/logo.imageset/Contents.json


BIN=BIN
RainbowPlanet/RainbowPlanet/Supporting Files/Assets.xcassets/DefaultPage/logo.imageset/logo@2x.png


BIN=BIN
RainbowPlanet/RainbowPlanet/Supporting Files/Assets.xcassets/DefaultPage/logo.imageset/logo@3x.png


+ 22 - 0
RainbowPlanet/RainbowPlanet/Supporting Files/Assets.xcassets/NavigationBarIcons/navbar_bean_org.imageset/Contents.json

@@ -0,0 +1,22 @@
+{
+  "images" : [
+    {
+      "idiom" : "universal",
+      "scale" : "1x"
+    },
+    {
+      "idiom" : "universal",
+      "filename" : "navbar_bean_org@2x.png",
+      "scale" : "2x"
+    },
+    {
+      "idiom" : "universal",
+      "filename" : "navbar_bean_org@3x.png",
+      "scale" : "3x"
+    }
+  ],
+  "info" : {
+    "version" : 1,
+    "author" : "xcode"
+  }
+}

BIN=BIN
RainbowPlanet/RainbowPlanet/Supporting Files/Assets.xcassets/NavigationBarIcons/navbar_bean_org.imageset/navbar_bean_org@2x.png


BIN=BIN
RainbowPlanet/RainbowPlanet/Supporting Files/Assets.xcassets/NavigationBarIcons/navbar_bean_org.imageset/navbar_bean_org@3x.png


BIN=BIN
RainbowPlanet/RainbowPlanet/Supporting Files/Assets.xcassets/logo.imageset/logo@2x.png


BIN=BIN
RainbowPlanet/RainbowPlanet/Supporting Files/Assets.xcassets/logo.imageset/logo@3x.png


+ 22 - 0
RainbowPlanet/RainbowPlanet/Supporting Files/CommunityModule.xcassets/btn_collect_black.imageset/Contents.json

@@ -0,0 +1,22 @@
+{
+  "images" : [
+    {
+      "idiom" : "universal",
+      "scale" : "1x"
+    },
+    {
+      "idiom" : "universal",
+      "filename" : "btn_collect_black@2x.png",
+      "scale" : "2x"
+    },
+    {
+      "idiom" : "universal",
+      "filename" : "btn_collect_black@3x.png",
+      "scale" : "3x"
+    }
+  ],
+  "info" : {
+    "version" : 1,
+    "author" : "xcode"
+  }
+}

BIN=BIN
RainbowPlanet/RainbowPlanet/Supporting Files/CommunityModule.xcassets/btn_collect_black.imageset/btn_collect_black@2x.png


BIN=BIN
RainbowPlanet/RainbowPlanet/Supporting Files/CommunityModule.xcassets/btn_collect_black.imageset/btn_collect_black@3x.png


+ 22 - 0
RainbowPlanet/RainbowPlanet/Supporting Files/CommunityModule.xcassets/btn_collect_gray.imageset/Contents.json

@@ -0,0 +1,22 @@
+{
+  "images" : [
+    {
+      "idiom" : "universal",
+      "scale" : "1x"
+    },
+    {
+      "idiom" : "universal",
+      "filename" : "btn_collect_gray@2x.png",
+      "scale" : "2x"
+    },
+    {
+      "idiom" : "universal",
+      "filename" : "btn_collect_gray@3x.png",
+      "scale" : "3x"
+    }
+  ],
+  "info" : {
+    "version" : 1,
+    "author" : "xcode"
+  }
+}

BIN=BIN
RainbowPlanet/RainbowPlanet/Supporting Files/CommunityModule.xcassets/btn_collect_gray.imageset/btn_collect_gray@2x.png


BIN=BIN
RainbowPlanet/RainbowPlanet/Supporting Files/CommunityModule.xcassets/btn_collect_gray.imageset/btn_collect_gray@3x.png


+ 22 - 0
RainbowPlanet/RainbowPlanet/Supporting Files/CommunityModule.xcassets/btn_collect_pre.imageset/Contents.json

@@ -0,0 +1,22 @@
+{
+  "images" : [
+    {
+      "idiom" : "universal",
+      "scale" : "1x"
+    },
+    {
+      "idiom" : "universal",
+      "filename" : "btn_collect_pre@2x.png",
+      "scale" : "2x"
+    },
+    {
+      "idiom" : "universal",
+      "filename" : "btn_collect_pre@3x.png",
+      "scale" : "3x"
+    }
+  ],
+  "info" : {
+    "version" : 1,
+    "author" : "xcode"
+  }
+}

BIN=BIN
RainbowPlanet/RainbowPlanet/Supporting Files/CommunityModule.xcassets/btn_collect_pre.imageset/btn_collect_pre@2x.png


BIN=BIN
RainbowPlanet/RainbowPlanet/Supporting Files/CommunityModule.xcassets/btn_collect_pre.imageset/btn_collect_pre@3x.png


+ 22 - 0
RainbowPlanet/RainbowPlanet/Supporting Files/CommunityModule.xcassets/btn_praise.imageset/Contents.json

@@ -0,0 +1,22 @@
+{
+  "images" : [
+    {
+      "idiom" : "universal",
+      "scale" : "1x"
+    },
+    {
+      "idiom" : "universal",
+      "filename" : "btn_praise@2x.png",
+      "scale" : "2x"
+    },
+    {
+      "idiom" : "universal",
+      "filename" : "btn_praise@3x.png",
+      "scale" : "3x"
+    }
+  ],
+  "info" : {
+    "version" : 1,
+    "author" : "xcode"
+  }
+}

BIN=BIN
RainbowPlanet/RainbowPlanet/Supporting Files/CommunityModule.xcassets/btn_praise.imageset/btn_praise@2x.png


BIN=BIN
RainbowPlanet/RainbowPlanet/Supporting Files/CommunityModule.xcassets/btn_praise.imageset/btn_praise@3x.png


+ 22 - 0
RainbowPlanet/RainbowPlanet/Supporting Files/CommunityModule.xcassets/btn_praise_black.imageset/Contents.json

@@ -0,0 +1,22 @@
+{
+  "images" : [
+    {
+      "idiom" : "universal",
+      "scale" : "1x"
+    },
+    {
+      "idiom" : "universal",
+      "filename" : "btn_praise_black@2x.png",
+      "scale" : "2x"
+    },
+    {
+      "idiom" : "universal",
+      "filename" : "btn_praise_black@3x.png",
+      "scale" : "3x"
+    }
+  ],
+  "info" : {
+    "version" : 1,
+    "author" : "xcode"
+  }
+}

BIN=BIN
RainbowPlanet/RainbowPlanet/Supporting Files/CommunityModule.xcassets/btn_praise_black.imageset/btn_praise_black@2x.png


BIN=BIN
RainbowPlanet/RainbowPlanet/Supporting Files/CommunityModule.xcassets/btn_praise_black.imageset/btn_praise_black@3x.png


+ 22 - 0
RainbowPlanet/RainbowPlanet/Supporting Files/CommunityModule.xcassets/btn_praise_gray.imageset/Contents.json

@@ -0,0 +1,22 @@
+{
+  "images" : [
+    {
+      "idiom" : "universal",
+      "scale" : "1x"
+    },
+    {
+      "idiom" : "universal",
+      "filename" : "btn_praise_gray@2x.png",
+      "scale" : "2x"
+    },
+    {
+      "idiom" : "universal",
+      "filename" : "btn_praise_gray@3x.png",
+      "scale" : "3x"
+    }
+  ],
+  "info" : {
+    "version" : 1,
+    "author" : "xcode"
+  }
+}

BIN=BIN
RainbowPlanet/RainbowPlanet/Supporting Files/CommunityModule.xcassets/btn_praise_gray.imageset/btn_praise_gray@2x.png


BIN=BIN
RainbowPlanet/RainbowPlanet/Supporting Files/CommunityModule.xcassets/btn_praise_gray.imageset/btn_praise_gray@3x.png


+ 22 - 0
RainbowPlanet/RainbowPlanet/Supporting Files/CommunityModule.xcassets/btn_praise_pre.imageset/Contents.json

@@ -0,0 +1,22 @@
+{
+  "images" : [
+    {
+      "idiom" : "universal",
+      "scale" : "1x"
+    },
+    {
+      "idiom" : "universal",
+      "filename" : "btn_praise_pre@2x.png",
+      "scale" : "2x"
+    },
+    {
+      "idiom" : "universal",
+      "filename" : "btn_praise_pre@3x.png",
+      "scale" : "3x"
+    }
+  ],
+  "info" : {
+    "version" : 1,
+    "author" : "xcode"
+  }
+}

BIN=BIN
RainbowPlanet/RainbowPlanet/Supporting Files/CommunityModule.xcassets/btn_praise_pre.imageset/btn_praise_pre@2x.png


BIN=BIN
RainbowPlanet/RainbowPlanet/Supporting Files/CommunityModule.xcassets/btn_praise_pre.imageset/btn_praise_pre@3x.png


+ 22 - 0
RainbowPlanet/RainbowPlanet/Supporting Files/CommunityModule.xcassets/btn_praise_pre_36px.imageset/Contents.json

@@ -0,0 +1,22 @@
+{
+  "images" : [
+    {
+      "idiom" : "universal",
+      "scale" : "1x"
+    },
+    {
+      "idiom" : "universal",
+      "filename" : "btn_praise_pre_36px@2x.png",
+      "scale" : "2x"
+    },
+    {
+      "idiom" : "universal",
+      "filename" : "btn_praise_pre_36px@3x.png",
+      "scale" : "3x"
+    }
+  ],
+  "info" : {
+    "version" : 1,
+    "author" : "xcode"
+  }
+}

BIN=BIN
RainbowPlanet/RainbowPlanet/Supporting Files/CommunityModule.xcassets/btn_praise_pre_36px.imageset/btn_praise_pre_36px@2x.png


BIN=BIN
RainbowPlanet/RainbowPlanet/Supporting Files/CommunityModule.xcassets/btn_praise_pre_36px.imageset/btn_praise_pre_36px@3x.png


+ 22 - 0
RainbowPlanet/RainbowPlanet/Supporting Files/CommunityModule.xcassets/btn_share_gray.imageset/Contents.json

@@ -0,0 +1,22 @@
+{
+  "images" : [
+    {
+      "idiom" : "universal",
+      "scale" : "1x"
+    },
+    {
+      "idiom" : "universal",
+      "filename" : "btn_share_gray@2x.png",
+      "scale" : "2x"
+    },
+    {
+      "idiom" : "universal",
+      "filename" : "btn_share_gray@3x.png",
+      "scale" : "3x"
+    }
+  ],
+  "info" : {
+    "version" : 1,
+    "author" : "xcode"
+  }
+}

BIN=BIN
RainbowPlanet/RainbowPlanet/Supporting Files/CommunityModule.xcassets/btn_share_gray.imageset/btn_share_gray@2x.png


BIN=BIN
RainbowPlanet/RainbowPlanet/Supporting Files/CommunityModule.xcassets/btn_share_gray.imageset/btn_share_gray@3x.png


+ 22 - 0
RainbowPlanet/RainbowPlanet/Supporting Files/CommunityModule.xcassets/ico_bean_org.imageset/Contents.json

@@ -0,0 +1,22 @@
+{
+  "images" : [
+    {
+      "idiom" : "universal",
+      "scale" : "1x"
+    },
+    {
+      "idiom" : "universal",
+      "filename" : "ico_bean_org@2x.png",
+      "scale" : "2x"
+    },
+    {
+      "idiom" : "universal",
+      "filename" : "ico_bean_org@3x.png",
+      "scale" : "3x"
+    }
+  ],
+  "info" : {
+    "version" : 1,
+    "author" : "xcode"
+  }
+}

BIN=BIN
RainbowPlanet/RainbowPlanet/Supporting Files/CommunityModule.xcassets/ico_bean_org.imageset/ico_bean_org@2x.png


BIN=BIN
RainbowPlanet/RainbowPlanet/Supporting Files/CommunityModule.xcassets/ico_bean_org.imageset/ico_bean_org@3x.png


+ 6 - 0
RainbowPlanet/RainbowPlanet/Supporting Files/MessageModule.xcassets/Contents.json

@@ -0,0 +1,6 @@
+{
+  "info" : {
+    "version" : 1,
+    "author" : "xcode"
+  }
+}

+ 22 - 0
RainbowPlanet/RainbowPlanet/Supporting Files/MessageModule.xcassets/message_logo.imageset/Contents.json

@@ -0,0 +1,22 @@
+{
+  "images" : [
+    {
+      "idiom" : "universal",
+      "scale" : "1x"
+    },
+    {
+      "idiom" : "universal",
+      "filename" : "message_logo@2x.png",
+      "scale" : "2x"
+    },
+    {
+      "idiom" : "universal",
+      "filename" : "message_logo@3x.png",
+      "scale" : "3x"
+    }
+  ],
+  "info" : {
+    "version" : 1,
+    "author" : "xcode"
+  }
+}

BIN=BIN
RainbowPlanet/RainbowPlanet/Supporting Files/MessageModule.xcassets/message_logo.imageset/message_logo@2x.png


BIN=BIN
RainbowPlanet/RainbowPlanet/Supporting Files/MessageModule.xcassets/message_logo.imageset/message_logo@3x.png