Forráskód Böngészése

Merge branch 'develop' into feature/jeremy

南鑫林 5 éve
szülő
commit
62cf70c36f
17 módosított fájl, 1425 hozzáadás és 156 törlés
  1. 116 4
      RainbowPlanet/RainbowPlanet.xcodeproj/project.pbxproj
  2. 2 0
      RainbowPlanet/RainbowPlanet/Macro/ColorMacro.swift
  3. 1 0
      RainbowPlanet/RainbowPlanet/Macro/FontMacro.swift
  4. 71 0
      RainbowPlanet/RainbowPlanet/Modules/MessageModule/MessageComment/MessageCommentController.swift
  5. 134 0
      RainbowPlanet/RainbowPlanet/Modules/MessageModule/MessageComment/MessageCommentTableCell.swift
  6. 71 0
      RainbowPlanet/RainbowPlanet/Modules/MessageModule/MessageFollowNoti/MessageFollowNotiController.swift
  7. 132 0
      RainbowPlanet/RainbowPlanet/Modules/MessageModule/MessageFollowNoti/MessageFollowNotiTableCell.swift
  8. 87 0
      RainbowPlanet/RainbowPlanet/Modules/MessageModule/MessageMain/View/MessageMainItemView.swift
  9. 0 123
      RainbowPlanet/RainbowPlanet/Modules/MessageModule/MessageMain/View/MessageMainView.swift
  10. 32 20
      RainbowPlanet/RainbowPlanet/Modules/MessageModule/MessageMain/View/MessagePlanetTableCell.swift
  11. 133 9
      RainbowPlanet/RainbowPlanet/Modules/MessageModule/MessageMain/ViewController/MessageMainViewController.swift
  12. 75 0
      RainbowPlanet/RainbowPlanet/Modules/MessageModule/MessagePlanetActivity/Controller/MessagePlanetActivityController.swift
  13. 139 0
      RainbowPlanet/RainbowPlanet/Modules/MessageModule/MessagePlanetActivity/View/MessageActivityTableCell.swift
  14. 69 0
      RainbowPlanet/RainbowPlanet/Modules/MessageModule/MessagePlanetNotification/Controller/MessagePlanetNotiController.swift
  15. 158 0
      RainbowPlanet/RainbowPlanet/Modules/MessageModule/MessagePlanetNotification/View/MessagePlanetNotiTableCell.swift
  16. 71 0
      RainbowPlanet/RainbowPlanet/Modules/MessageModule/MessagePlanetThumb/MessageThumbController.swift
  17. 134 0
      RainbowPlanet/RainbowPlanet/Modules/MessageModule/MessagePlanetThumb/MessageThumbTableCell.swift

+ 116 - 4
RainbowPlanet/RainbowPlanet.xcodeproj/project.pbxproj

@@ -347,6 +347,17 @@
 		BD108C9722A60C2100837DAB /* HGImagePickerController.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD108C9222A60C2100837DAB /* HGImagePickerController.swift */; };
 		BD108C9A22A60C3300837DAB /* HGImage.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = BD108C9822A60C3200837DAB /* HGImage.xcassets */; };
 		BD108C9B22A60C3300837DAB /* HGImage.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = BD108C9922A60C3300837DAB /* HGImage.storyboard */; };
+		BD12203122AF4A010051C7C2 /* MessageMainItemView.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD12203022AF4A010051C7C2 /* MessageMainItemView.swift */; };
+		BD12203622AF807C0051C7C2 /* MessagePlanetActivityController.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD12203522AF807C0051C7C2 /* MessagePlanetActivityController.swift */; };
+		BD12203A22AF80AD0051C7C2 /* MessageActivityTableCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD12203922AF80AD0051C7C2 /* MessageActivityTableCell.swift */; };
+		BD12203F22AF8E190051C7C2 /* MessagePlanetNotiController.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD12203E22AF8E190051C7C2 /* MessagePlanetNotiController.swift */; };
+		BD12204122AF8E320051C7C2 /* MessagePlanetNotiTableCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD12204022AF8E320051C7C2 /* MessagePlanetNotiTableCell.swift */; };
+		BD12204422AF996E0051C7C2 /* MessageCommentController.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD12204322AF996E0051C7C2 /* MessageCommentController.swift */; };
+		BD12204622AF997E0051C7C2 /* MessageCommentTableCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD12204522AF997E0051C7C2 /* MessageCommentTableCell.swift */; };
+		BD12204922AF99B90051C7C2 /* MessageFollowNotiController.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD12204822AF99B90051C7C2 /* MessageFollowNotiController.swift */; };
+		BD12204B22AF99C80051C7C2 /* MessageFollowNotiTableCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD12204A22AF99C80051C7C2 /* MessageFollowNotiTableCell.swift */; };
+		BD12204E22AFB07E0051C7C2 /* MessageThumbController.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD12204D22AFB07E0051C7C2 /* MessageThumbController.swift */; };
+		BD12205022AFB08B0051C7C2 /* MessageThumbTableCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD12204F22AFB08B0051C7C2 /* MessageThumbTableCell.swift */; };
 		BD1DC6C5228CFD0B00B89C57 /* SwiftMoyaNetWorkServiceOrder.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD1DC6C3228CFD0B00B89C57 /* SwiftMoyaNetWorkServiceOrder.swift */; };
 		BD1DC6C6228CFD0B00B89C57 /* SwiftMoyaServiceOrderApi.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD1DC6C4228CFD0B00B89C57 /* SwiftMoyaServiceOrderApi.swift */; };
 		BD1DC6C9228D005000B89C57 /* OrderCreateParameterModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD1DC6C8228D005000B89C57 /* OrderCreateParameterModel.swift */; };
@@ -361,7 +372,6 @@
 		BD29A92E228F99780018CFC3 /* OrderCommentParameterModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD29A92D228F99780018CFC3 /* OrderCommentParameterModel.swift */; };
 		BD3474F522857B85000908C5 /* CommonPayHeader.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD3474F422857B85000908C5 /* CommonPayHeader.swift */; };
 		BD3AA45822AE63EC00EF4F20 /* MessageMainViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD3AA45722AE63EC00EF4F20 /* MessageMainViewController.swift */; };
-		BD3AA45B22AE64F000EF4F20 /* MessageMainView.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD3AA45A22AE64F000EF4F20 /* MessageMainView.swift */; };
 		BD3AA45F22AE6F2500EF4F20 /* MessagePlanetTableCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD3AA45E22AE6F2500EF4F20 /* MessagePlanetTableCell.swift */; };
 		BD6EDF48229007EA009A20FE /* OrderApplyRefundModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD6EDF47229007EA009A20FE /* OrderApplyRefundModel.swift */; };
 		BD7AB83622841A8B0030646A /* ShoppingCartPayOrderItemCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD7AB83522841A8B0030646A /* ShoppingCartPayOrderItemCell.swift */; };
@@ -778,6 +788,17 @@
 		BD108C9222A60C2100837DAB /* HGImagePickerController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = HGImagePickerController.swift; sourceTree = "<group>"; };
 		BD108C9822A60C3200837DAB /* HGImage.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = HGImage.xcassets; sourceTree = "<group>"; };
 		BD108C9922A60C3300837DAB /* HGImage.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; path = HGImage.storyboard; sourceTree = "<group>"; };
+		BD12203022AF4A010051C7C2 /* MessageMainItemView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MessageMainItemView.swift; sourceTree = "<group>"; };
+		BD12203522AF807C0051C7C2 /* MessagePlanetActivityController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MessagePlanetActivityController.swift; sourceTree = "<group>"; };
+		BD12203922AF80AD0051C7C2 /* MessageActivityTableCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MessageActivityTableCell.swift; sourceTree = "<group>"; };
+		BD12203E22AF8E190051C7C2 /* MessagePlanetNotiController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MessagePlanetNotiController.swift; sourceTree = "<group>"; };
+		BD12204022AF8E320051C7C2 /* MessagePlanetNotiTableCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MessagePlanetNotiTableCell.swift; sourceTree = "<group>"; };
+		BD12204322AF996E0051C7C2 /* MessageCommentController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MessageCommentController.swift; sourceTree = "<group>"; };
+		BD12204522AF997E0051C7C2 /* MessageCommentTableCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MessageCommentTableCell.swift; sourceTree = "<group>"; };
+		BD12204822AF99B90051C7C2 /* MessageFollowNotiController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MessageFollowNotiController.swift; sourceTree = "<group>"; };
+		BD12204A22AF99C80051C7C2 /* MessageFollowNotiTableCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MessageFollowNotiTableCell.swift; sourceTree = "<group>"; };
+		BD12204D22AFB07E0051C7C2 /* MessageThumbController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MessageThumbController.swift; sourceTree = "<group>"; };
+		BD12204F22AFB08B0051C7C2 /* MessageThumbTableCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MessageThumbTableCell.swift; sourceTree = "<group>"; };
 		BD1DC6C3228CFD0B00B89C57 /* SwiftMoyaNetWorkServiceOrder.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SwiftMoyaNetWorkServiceOrder.swift; sourceTree = "<group>"; };
 		BD1DC6C4228CFD0B00B89C57 /* SwiftMoyaServiceOrderApi.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SwiftMoyaServiceOrderApi.swift; sourceTree = "<group>"; };
 		BD1DC6C8228D005000B89C57 /* OrderCreateParameterModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = OrderCreateParameterModel.swift; sourceTree = "<group>"; };
@@ -792,7 +813,6 @@
 		BD29A92D228F99780018CFC3 /* OrderCommentParameterModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = OrderCommentParameterModel.swift; sourceTree = "<group>"; };
 		BD3474F422857B85000908C5 /* CommonPayHeader.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CommonPayHeader.swift; sourceTree = "<group>"; };
 		BD3AA45722AE63EC00EF4F20 /* MessageMainViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MessageMainViewController.swift; sourceTree = "<group>"; };
-		BD3AA45A22AE64F000EF4F20 /* MessageMainView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MessageMainView.swift; sourceTree = "<group>"; };
 		BD3AA45E22AE6F2500EF4F20 /* MessagePlanetTableCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MessagePlanetTableCell.swift; sourceTree = "<group>"; };
 		BD6EDF47229007EA009A20FE /* OrderApplyRefundModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = OrderApplyRefundModel.swift; sourceTree = "<group>"; };
 		BD7AB83522841A8B0030646A /* ShoppingCartPayOrderItemCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ShoppingCartPayOrderItemCell.swift; sourceTree = "<group>"; };
@@ -3025,6 +3045,83 @@
 			path = HGImagePicker;
 			sourceTree = "<group>";
 		};
+		BD12203222AF803A0051C7C2 /* MessagePlanetActivity */ = {
+			isa = PBXGroup;
+			children = (
+				BD12203422AF80610051C7C2 /* View */,
+				BD12203322AF805A0051C7C2 /* Controller */,
+			);
+			path = MessagePlanetActivity;
+			sourceTree = "<group>";
+		};
+		BD12203322AF805A0051C7C2 /* Controller */ = {
+			isa = PBXGroup;
+			children = (
+				BD12203522AF807C0051C7C2 /* MessagePlanetActivityController.swift */,
+			);
+			path = Controller;
+			sourceTree = "<group>";
+		};
+		BD12203422AF80610051C7C2 /* View */ = {
+			isa = PBXGroup;
+			children = (
+				BD12203922AF80AD0051C7C2 /* MessageActivityTableCell.swift */,
+			);
+			path = View;
+			sourceTree = "<group>";
+		};
+		BD12203B22AF8DCA0051C7C2 /* MessagePlanetNotification */ = {
+			isa = PBXGroup;
+			children = (
+				BD12203D22AF8DF10051C7C2 /* View */,
+				BD12203C22AF8DE90051C7C2 /* Controller */,
+			);
+			path = MessagePlanetNotification;
+			sourceTree = "<group>";
+		};
+		BD12203C22AF8DE90051C7C2 /* Controller */ = {
+			isa = PBXGroup;
+			children = (
+				BD12203E22AF8E190051C7C2 /* MessagePlanetNotiController.swift */,
+			);
+			path = Controller;
+			sourceTree = "<group>";
+		};
+		BD12203D22AF8DF10051C7C2 /* View */ = {
+			isa = PBXGroup;
+			children = (
+				BD12204022AF8E320051C7C2 /* MessagePlanetNotiTableCell.swift */,
+			);
+			path = View;
+			sourceTree = "<group>";
+		};
+		BD12204222AF99520051C7C2 /* MessageComment */ = {
+			isa = PBXGroup;
+			children = (
+				BD12204322AF996E0051C7C2 /* MessageCommentController.swift */,
+				BD12204522AF997E0051C7C2 /* MessageCommentTableCell.swift */,
+			);
+			path = MessageComment;
+			sourceTree = "<group>";
+		};
+		BD12204722AF999C0051C7C2 /* MessageFollowNoti */ = {
+			isa = PBXGroup;
+			children = (
+				BD12204822AF99B90051C7C2 /* MessageFollowNotiController.swift */,
+				BD12204A22AF99C80051C7C2 /* MessageFollowNotiTableCell.swift */,
+			);
+			path = MessageFollowNoti;
+			sourceTree = "<group>";
+		};
+		BD12204C22AFB02B0051C7C2 /* MessagePlanetThumb */ = {
+			isa = PBXGroup;
+			children = (
+				BD12204D22AFB07E0051C7C2 /* MessageThumbController.swift */,
+				BD12204F22AFB08B0051C7C2 /* MessageThumbTableCell.swift */,
+			);
+			path = MessagePlanetThumb;
+			sourceTree = "<group>";
+		};
 		BD1DC6C2228CFD0B00B89C57 /* SwiftMoyaServiceOrder */ = {
 			isa = PBXGroup;
 			children = (
@@ -3109,6 +3206,11 @@
 			isa = PBXGroup;
 			children = (
 				BD3AA45522AE63A200EF4F20 /* MessageMain */,
+				BD12203222AF803A0051C7C2 /* MessagePlanetActivity */,
+				BD12203B22AF8DCA0051C7C2 /* MessagePlanetNotification */,
+				BD12204222AF99520051C7C2 /* MessageComment */,
+				BD12204C22AFB02B0051C7C2 /* MessagePlanetThumb */,
+				BD12204722AF999C0051C7C2 /* MessageFollowNoti */,
 			);
 			path = MessageModule;
 			sourceTree = "<group>";
@@ -3133,8 +3235,8 @@
 		BD3AA45922AE63FB00EF4F20 /* View */ = {
 			isa = PBXGroup;
 			children = (
-				BD3AA45A22AE64F000EF4F20 /* MessageMainView.swift */,
 				BD3AA45E22AE6F2500EF4F20 /* MessagePlanetTableCell.swift */,
+				BD12203022AF4A010051C7C2 /* MessageMainItemView.swift */,
 			);
 			path = View;
 			sourceTree = "<group>";
@@ -3541,6 +3643,7 @@
 				BDF47D7E22827C3F00941AB9 /* ProductSlidingTopBottomCollectionViewCell.swift in Sources */,
 				BD108C9522A60C2100837DAB /* HGImageCollectionViewCell.swift in Sources */,
 				A7FF1589228C854900A85748 /* OrderDetailBottomView.swift in Sources */,
+				BD12203122AF4A010051C7C2 /* MessageMainItemView.swift in Sources */,
 				BD1DC6C5228CFD0B00B89C57 /* SwiftMoyaNetWorkServiceOrder.swift in Sources */,
 				BD7AB83D228438020030646A /* OrderPayExpressInfoShowCell.swift in Sources */,
 				A72A72C422321DE000B21995 /* Extension+CAGradientLayer.swift in Sources */,
@@ -3563,6 +3666,7 @@
 				A7CC74DC2270352F003C4F38 /* MineOrderCollectionViewCell.swift in Sources */,
 				BDD4FB1222840597006FE833 /* ShoppingCartPayOrderController.swift in Sources */,
 				BD3AA45F22AE6F2500EF4F20 /* MessagePlanetTableCell.swift in Sources */,
+				BD12203A22AF80AD0051C7C2 /* MessageActivityTableCell.swift in Sources */,
 				A7284404224DBFBD00F82F30 /* UserModel.swift in Sources */,
 				A7CC74D822700359003C4F38 /* MineTableViewHeaderView.swift in Sources */,
 				A7931E1122AF989B00297D0A /* TopicSelectionViewController.swift in Sources */,
@@ -3617,6 +3721,7 @@
 				BDAA40FD228E9CD600CF841D /* OrderApplyRefundPhoneCell.swift in Sources */,
 				A71AA51F22729F35008FF1A5 /* AuthorizationSwift.swift in Sources */,
 				A7A98E3622802AD7005306E9 /* ShoppingMallBannerFSPagerViewCell.swift in Sources */,
+				BD12204E22AFB07E0051C7C2 /* MessageThumbController.swift in Sources */,
 				A7824AFD2271EAC900ABA381 /* SelfMentionContactsListTableViewCell.swift in Sources */,
 				BD7AB83F228438290030646A /* OrderPayExpressAddInfoCell.swift in Sources */,
 				A7DF50DF22A5590200998908 /* BrowsePicturesViewController.swift in Sources */,
@@ -3650,6 +3755,7 @@
 				A7274C5B228EE636000E3A07 /* LBXScanViewController.swift in Sources */,
 				A7FF1566228C6DF200A85748 /* OrderShopAndStatusTableViewCell.swift in Sources */,
 				A7A98E332280272A005306E9 /* ShoppingMallBannerTableViewCell.swift in Sources */,
+				BD12204622AF997E0051C7C2 /* MessageCommentTableCell.swift in Sources */,
 				BDF862AA228E43A4000DEF84 /* OrderCommentTableViewCell.swift in Sources */,
 				A7B4E754228278320012914A /* ShoppingMallFloorTableViewCell.swift in Sources */,
 				BD3474F522857B85000908C5 /* CommonPayHeader.swift in Sources */,
@@ -3682,6 +3788,7 @@
 				A70B843422911AF600882BC5 /* ProductDetailView.swift in Sources */,
 				A7FF1598228D092A00A85748 /* OrderListModel.swift in Sources */,
 				A7FF157D228C837100A85748 /* OrderDetailStatusTableViewCell.swift in Sources */,
+				BD12204B22AF99C80051C7C2 /* MessageFollowNotiTableCell.swift in Sources */,
 				A7A98E41228046C5005306E9 /* ShoppingMallSepcialTableViewCell.swift in Sources */,
 				A70B2C5E22886F4D00B2449F /* ShopViewTableViewCell.swift in Sources */,
 				A7CC753A2271B98B003C4F38 /* AddressManagerAddTableViewCell.swift in Sources */,
@@ -3734,6 +3841,7 @@
 				BDF8629C228E4125000DEF84 /* OrderCommentController.swift in Sources */,
 				A7B4E75A228289BB0012914A /* ProductFloorCenterHeaderCollectionReusableView.swift in Sources */,
 				A71901752275F71F00104A50 /* BaiduToCityModel.swift in Sources */,
+				BD12203F22AF8E190051C7C2 /* MessagePlanetNotiController.swift in Sources */,
 				A7BB685922696B9200AB07A2 /* SelfRecommendationCollectionViewCell.swift in Sources */,
 				A7636AC822682BAF00374F9E /* LocationView.swift in Sources */,
 				A738D205225AF90D00EEE860 /* WeChatpayOrderModel.swift in Sources */,
@@ -3759,6 +3867,7 @@
 				A7931E0322AF827600297D0A /* ESTabBarItemBadgeView.swift in Sources */,
 				A70B2C5522885AF500B2449F /* ShareCollectionViewCell.swift in Sources */,
 				A7A98E3A2280312C005306E9 /* ShoppingMallCategoryTableViewCell.swift in Sources */,
+				BD12203622AF807C0051C7C2 /* MessagePlanetActivityController.swift in Sources */,
 				A7778CAB2244B12500C7C47A /* CountDownManager.swift in Sources */,
 				A775CBFE2237493600EBDCF8 /* ShoppingMallNavigationBarView.swift in Sources */,
 				A71AA5212272E527008FF1A5 /* Extension+UINavigationController.swift in Sources */,
@@ -3783,6 +3892,7 @@
 				BD108C9622A60C2100837DAB /* HGImagePickerCell.swift in Sources */,
 				A7A98E3C228036D7005306E9 /* ShoppingMallCategoryCollectionViewCell.swift in Sources */,
 				BD3AA45822AE63EC00EF4F20 /* MessageMainViewController.swift in Sources */,
+				BD12204922AF99B90051C7C2 /* MessageFollowNotiController.swift in Sources */,
 				A71AF0AA226EDDF5001730FE /* SearchView.swift in Sources */,
 				A7FF1583228C843700A85748 /* OrderDetailExpressSelfMentionTableViewCell.swift in Sources */,
 				A7A98E0E227EC0C6005306E9 /* CategoryTableViewCell.swift in Sources */,
@@ -3829,6 +3939,7 @@
 				A72A726722321DBD00B21995 /* LocationModel.swift in Sources */,
 				A7A98E10227EC531005306E9 /* ProductHSmallTableViewCell.swift in Sources */,
 				A7A98DFD227E84F4005306E9 /* SwiftMoyaServiceProductApi.swift in Sources */,
+				BD12205022AFB08B0051C7C2 /* MessageThumbTableCell.swift in Sources */,
 				A739121B229F75F50033177E /* JXPagingView.swift in Sources */,
 				BD7AB8452284398A0030646A /* OrderPaySelfPickAddInfoCell.swift in Sources */,
 				A72A72D222321E2700B21995 /* Common.swift in Sources */,
@@ -3836,8 +3947,8 @@
 				BDEF7791228571DC00ED0AC0 /* CommonPayView.swift in Sources */,
 				A71AF0A6226EDDC8001730FE /* SearchViewController.swift in Sources */,
 				BD20F1CF2283CE2300677D8E /* OrderFinishPayView.swift in Sources */,
-				BD3AA45B22AE64F000EF4F20 /* MessageMainView.swift in Sources */,
 				A7A98E4322804851005306E9 /* ShoppingMallSepcialFlowLayout.swift in Sources */,
+				BD12204122AF8E320051C7C2 /* MessagePlanetNotiTableCell.swift in Sources */,
 				A79057062276EA3D0037F823 /* OpenCityListModel.swift in Sources */,
 				BD7AB838228420310030646A /* ShoppingCartPayOrderHeader.swift in Sources */,
 				A7824B002271F0DD00ABA381 /* EditSelfMentionContactsViewController.swift in Sources */,
@@ -3863,6 +3974,7 @@
 				A72A72B922321DE000B21995 /* Extension+Array.swift in Sources */,
 				A70B2C492288416F00B2449F /* ProductDetailHotSellCollectionViewCell.swift in Sources */,
 				A71901692275464000104A50 /* ProvinceCityAreaView.swift in Sources */,
+				BD12204422AF996E0051C7C2 /* MessageCommentController.swift in Sources */,
 				A7778CDD2246121500C7C47A /* PhoneCountryAreaListMdoel.swift in Sources */,
 				A72A733522325A4B00B21995 /* AppDelegate+HandleOpen.swift in Sources */,
 				A7FF156E228C6EAE00A85748 /* OrderDeliveryModeTableViewCell.swift in Sources */,

+ 2 - 0
RainbowPlanet/RainbowPlanet/Macro/ColorMacro.swift

@@ -126,3 +126,5 @@ let kccccccColor = UIColor(hexString: "cccccc")
 let kfafafaColor = UIColor(hexString: "fafafa")
 
 let kfff8efColor = UIColor(hexString: "fff8ef")
+
+let kebebebColor = UIColor(hexString: "ebebeb")

+ 1 - 0
RainbowPlanet/RainbowPlanet/Macro/FontMacro.swift

@@ -41,6 +41,7 @@ let kMediumFont27 = UIFont(name: "PingFang-SC-Medium", size: 27)
 let kMediumFont30 = UIFont(name: "PingFang-SC-Medium", size: 30)
 let kMediumFont35 = UIFont(name: "PingFang-SC-Medium", size: 35)
 
+let kRegularFont9  = UIFont(name: "PingFang-SC-Regular", size: 9)
 let kRegularFont10 = UIFont(name: "PingFang-SC-Regular", size: 10)
 let kRegularFont11 = UIFont(name: "PingFang-SC-Regular", size: 11)
 let kRegularFont12 = UIFont(name: "PingFang-SC-Regular", size: 12)

+ 71 - 0
RainbowPlanet/RainbowPlanet/Modules/MessageModule/MessageComment/MessageCommentController.swift

@@ -0,0 +1,71 @@
+//
+//  MessageCommentController.swift
+//  RainbowPlanet
+//
+//  Created by Christopher on 2019/6/11.
+//  Copyright © 2019 RainbowPlanet. All rights reserved.
+//
+
+import UIKit
+
+class MessageCommentController: BaseViewController {
+    
+    override func viewDidLoad() {
+        super.viewDidLoad()
+        setupViews()
+        setupLayouts()
+        
+    }
+    
+    override func setupViews() {
+        navigationBar.title = "评论与@"
+        view.backgroundColor = kf7f8faColor
+        
+        view.addSubview(tableView)
+    }
+    
+    override func setupLayouts() {
+        tableView.snp.makeConstraints { (make) in
+            make.top.equalToSuperview().offset(kNavBarTotalHeight)
+            make.left.right.bottom.equalTo(0)
+        }
+    }
+    
+    override func setupData() {
+        
+    }
+    
+    lazy var tableView: UITableView = {
+        let tableView = UITableView(frame: CGRect.zero, style: UITableView.Style.grouped)
+        tableView.separatorStyle = .none
+        tableView.backgroundColor = kf7f8faColor
+        tableView.dataSource = self
+        tableView.delegate = self
+        tableView.estimatedRowHeight = 100
+        tableView.estimatedSectionFooterHeight = 0.000001
+        tableView.estimatedSectionHeaderHeight = 0.000001
+        return tableView
+    }()
+}
+
+// MARK: - tableView dataSource && delegate
+extension MessageCommentController: UITableViewDataSource, UITableViewDelegate {
+    
+    func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
+        return 3
+    }
+    
+    func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
+        let cell = MessageCommentTableCell.cellWith(tableView: tableView, indexPath: indexPath)        
+        return cell
+    }
+    
+    func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
+        return UITableView.automaticDimension
+    }
+    
+    func tableView(_ tableView: UITableView, heightForHeaderInSection section: Int) -> CGFloat {
+        return 10
+    }
+    
+}

+ 134 - 0
RainbowPlanet/RainbowPlanet/Modules/MessageModule/MessageComment/MessageCommentTableCell.swift

@@ -0,0 +1,134 @@
+//
+//  MessageCommentTableCell.swift
+//  RainbowPlanet
+//
+//  Created by Christopher on 2019/6/11.
+//  Copyright © 2019 RainbowPlanet. All rights reserved.
+//
+
+import UIKit
+
+class MessageCommentTableCell: UITableViewCell {
+    
+    class func cellWith(tableView:UITableView,indexPath:IndexPath) -> MessageCommentTableCell {
+        let ID = "MessageCommentTableCell"
+        tableView.register(MessageCommentTableCell.self, forCellReuseIdentifier: ID)
+        let cell : MessageCommentTableCell = tableView.dequeueReusableCell(withIdentifier: ID, for: indexPath) as! MessageCommentTableCell
+        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
+        backgroundColor = kffffffColor
+        
+        addSubview(typeImageView)
+        addSubview(contentImageView)
+        addSubview(titleLabel)
+        addSubview(contentLabel)
+        addSubview(timeLabel)
+        addSubview(sepView)
+    }
+    
+    private func setupLayouts() {
+        typeImageView.snp.makeConstraints { (make) in
+            make.top.equalTo(16)
+            make.left.equalTo(14)
+            make.size.equalTo(24)
+        }
+        contentImageView.snp.makeConstraints { (make) in
+            make.top.equalTo(16)
+            make.right.equalTo(-14)
+            make.size.equalTo(60)
+        }
+        titleLabel.snp.makeConstraints { (make) in
+            make.top.equalTo(16)
+            make.left.equalTo(typeImageView.snp_right).offset(16)
+            make.right.equalTo(contentImageView.snp_left).offset(-16)
+            make.height.equalTo(20)
+        }
+        contentLabel.snp.makeConstraints { (make) in
+            make.top.equalTo(titleLabel.snp_bottom).offset(8)
+            make.left.equalTo(titleLabel.snp_left)
+            make.right.equalTo(titleLabel.snp_right)
+        }
+        timeLabel.snp.makeConstraints { (make) in
+            make.top.equalTo(contentLabel.snp_bottom).offset(8)
+            make.left.equalTo(titleLabel.snp_left)
+            make.height.equalTo(17)
+        }
+        sepView.snp.makeConstraints { (make) in
+            make.top.equalTo(timeLabel.snp_bottom).offset(16)
+            make.right.equalToSuperview()
+            make.left.equalToSuperview().offset(54)
+            make.height.equalTo(1)
+            make.bottom.equalToSuperview()
+        }
+    }
+    
+    lazy var typeImageView : UIImageView = {
+        let typeImageView = UIImageView()
+        typeImageView.image = kImage(name: "page05")
+        return typeImageView
+    }()
+    
+    private lazy var titleLabel: UILabel = {
+        let titleLabel = UILabel()
+        titleLabel.text = "xxx恢复了xxx"
+        titleLabel.textColor = k333333Color
+        titleLabel.font = kBoldFont14
+        titleLabel.textAlignment = .left
+        return titleLabel
+    }()
+    
+    private lazy var contentLabel: UILabel = {
+        let subLabel = UILabel()
+        subLabel.text = "”大师果然厉害,不愧是牛逼之人“"
+        subLabel.textColor = k999999Color
+        subLabel.font = kRegularFont13
+        subLabel.textAlignment = .left
+        subLabel.numberOfLines = 0
+        return subLabel
+    }()
+    
+    private lazy var timeLabel: UILabel = {
+        let timeLabel = UILabel()
+        timeLabel.text = "10分钟前"
+        timeLabel.textColor = kbbbbbbColor
+        timeLabel.font = kRegularFont12
+        timeLabel.textAlignment = .left
+        return timeLabel
+    }()
+    
+    lazy var contentImageView : UIImageView = {
+        let contentImageView = UIImageView()
+        contentImageView.image = kImage(name: "page05")
+        contentImageView.cornerRadius = 4
+        contentImageView.masksToBounds = true
+        return contentImageView
+    }()
+    
+    private lazy var sepView: UIView = {
+        let sepView = UIView()
+        sepView.backgroundColor = kf5f5f5Color
+        return sepView
+    }()
+    
+}

+ 71 - 0
RainbowPlanet/RainbowPlanet/Modules/MessageModule/MessageFollowNoti/MessageFollowNotiController.swift

@@ -0,0 +1,71 @@
+//
+//  MessageFollowNotiController.swift
+//  RainbowPlanet
+//
+//  Created by Christopher on 2019/6/11.
+//  Copyright © 2019 RainbowPlanet. All rights reserved.
+//
+
+import UIKit
+
+class MessageFollowNotiController: BaseViewController {
+    
+    override func viewDidLoad() {
+        super.viewDidLoad()
+        setupViews()
+        setupLayouts()
+        
+    }
+    
+    override func setupViews() {
+        navigationBar.title = "关注通知"
+        view.backgroundColor = kf7f8faColor
+        
+        view.addSubview(tableView)
+    }
+    
+    override func setupLayouts() {
+        tableView.snp.makeConstraints { (make) in
+            make.top.equalToSuperview().offset(kNavBarTotalHeight)
+            make.left.right.bottom.equalTo(0)
+        }
+    }
+    
+    override func setupData() {
+        
+    }
+    
+    lazy var tableView: UITableView = {
+        let tableView = UITableView(frame: CGRect.zero, style: UITableView.Style.grouped)
+        tableView.separatorStyle = .none
+        tableView.backgroundColor = kf7f8faColor
+        tableView.dataSource = self
+        tableView.delegate = self
+        tableView.estimatedRowHeight = 100
+        tableView.estimatedSectionFooterHeight = 0.000001
+        tableView.estimatedSectionHeaderHeight = 0.000001
+        return tableView
+    }()
+}
+
+// MARK: - tableView dataSource && delegate
+extension MessageFollowNotiController: UITableViewDataSource, UITableViewDelegate {
+    
+    func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
+        return 4
+    }
+    
+    func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
+        let cell = MessageFollowNotiTableCell.cellWith(tableView: tableView, indexPath: indexPath)
+        return cell
+    }
+    
+    func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
+        return UITableView.automaticDimension
+    }
+    
+    func tableView(_ tableView: UITableView, heightForHeaderInSection section: Int) -> CGFloat {
+        return 10
+    }
+    
+}

+ 132 - 0
RainbowPlanet/RainbowPlanet/Modules/MessageModule/MessageFollowNoti/MessageFollowNotiTableCell.swift

@@ -0,0 +1,132 @@
+//
+//  MessageFollowNotiTableCell.swift
+//  RainbowPlanet
+//
+//  Created by Christopher on 2019/6/11.
+//  Copyright © 2019 RainbowPlanet. All rights reserved.
+//
+
+import UIKit
+
+class MessageFollowNotiTableCell: UITableViewCell {
+    
+    class func cellWith(tableView:UITableView,indexPath:IndexPath) -> MessageFollowNotiTableCell {
+        let ID = "MessageFollowNotiTableCell"
+        tableView.register(MessageFollowNotiTableCell.self, forCellReuseIdentifier: ID)
+        let cell : MessageFollowNotiTableCell = tableView.dequeueReusableCell(withIdentifier: ID, for: indexPath) as! MessageFollowNotiTableCell
+        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
+        backgroundColor = kffffffColor
+        
+        addSubview(typeImageView)
+        addSubview(contentImageView)
+        addSubview(titleLabel)
+        addSubview(contentLabel)
+        addSubview(timeLabel)
+        addSubview(sepView)
+    }
+    
+    private func setupLayouts() {
+        typeImageView.snp.makeConstraints { (make) in
+            make.top.equalTo(16)
+            make.left.equalTo(14)
+            make.size.equalTo(24)
+        }
+        contentImageView.snp.makeConstraints { (make) in
+            make.top.equalTo(16)
+            make.right.equalTo(-14)
+            make.size.equalTo(44)
+        }
+        titleLabel.snp.makeConstraints { (make) in
+            make.top.equalTo(16)
+            make.left.equalTo(typeImageView.snp_right).offset(16)
+            make.right.equalTo(contentImageView.snp_left).offset(-16)
+            make.height.equalTo(20)
+        }
+        contentLabel.snp.makeConstraints { (make) in
+            make.top.equalTo(titleLabel.snp_bottom).offset(8)
+            make.left.equalTo(titleLabel.snp_left)
+            make.right.equalTo(titleLabel.snp_right)
+        }
+        timeLabel.snp.makeConstraints { (make) in
+            make.top.equalTo(contentLabel.snp_bottom).offset(8)
+            make.left.equalTo(titleLabel.snp_left)
+            make.height.equalTo(17)
+        }
+        sepView.snp.makeConstraints { (make) in
+            make.top.equalTo(timeLabel.snp_bottom).offset(16)
+            make.right.equalToSuperview()
+            make.left.equalToSuperview().offset(54)
+            make.height.equalTo(1)
+            make.bottom.equalToSuperview()
+        }
+    }
+    
+    lazy var typeImageView : UIImageView = {
+        let typeImageView = UIImageView()
+        typeImageView.image = kImage(name: "page05")
+        return typeImageView
+    }()
+    
+    private lazy var titleLabel: UILabel = {
+        let titleLabel = UILabel()
+        titleLabel.text = "xxx关注了你"
+        titleLabel.textColor = k333333Color
+        titleLabel.font = kBoldFont14
+        titleLabel.textAlignment = .left
+        return titleLabel
+    }()
+    
+    private lazy var contentLabel: UILabel = {
+        let subLabel = UILabel()
+        subLabel.text = "你们的爱好相似度高于90%,快去回个粉吧!"
+        subLabel.textColor = k999999Color
+        subLabel.font = kRegularFont13
+        subLabel.textAlignment = .left
+        subLabel.numberOfLines = 0
+        return subLabel
+    }()
+    
+    private lazy var timeLabel: UILabel = {
+        let timeLabel = UILabel()
+        timeLabel.text = "5月20日"
+        timeLabel.textColor = kbbbbbbColor
+        timeLabel.font = kRegularFont12
+        timeLabel.textAlignment = .left
+        return timeLabel
+    }()
+    
+    lazy var contentImageView : UIImageView = {
+        let contentImageView = UIImageView()
+        contentImageView.image = kImage(name: "page05")
+        return contentImageView
+    }()
+    
+    private lazy var sepView: UIView = {
+        let sepView = UIView()
+        sepView.backgroundColor = kf5f5f5Color
+        return sepView
+    }()
+    
+}

+ 87 - 0
RainbowPlanet/RainbowPlanet/Modules/MessageModule/MessageMain/View/MessageMainItemView.swift

@@ -0,0 +1,87 @@
+//
+//  MessageMainItemView.swift
+//  RainbowPlanet
+//
+//  Created by Christopher on 2019/6/11.
+//  Copyright © 2019 RainbowPlanet. All rights reserved.
+//  消息首页头部Item
+
+import UIKit
+
+enum ItemViewType {
+    case comment
+    case thumb
+    case followNoti
+}
+
+class MessageMainItemView: BaseView {
+    
+    typealias MsgClickClosure = () -> Void
+    var msgClickClosure : MsgClickClosure?
+    
+    var itemViewType :ItemViewType? {
+        didSet {
+            switch itemViewType {
+            case .comment?:
+                titleLabel.text = "评论和@"
+                iconImageView.image = kImage(name: "page05")
+                break
+            case .thumb?:
+                titleLabel.text = "赞与互动"
+                iconImageView.image = kImage(name: "page05")
+                break
+            case .followNoti?:
+                titleLabel.text = "关注通知"
+                iconImageView.image = kImage(name: "page05")
+                break
+            default:
+                break
+            }
+        }
+    }
+    
+    override func setupViews() {
+        addSubview(iconImageView)
+        addSubview(titleLabel)
+        addSubview(itemButton)
+    }
+    
+    override func setupLayouts() {
+        iconImageView.snp.makeConstraints { (make) in
+            make.top.equalToSuperview()
+            make.centerX.equalToSuperview()
+            make.size.equalTo(40)
+        }
+        titleLabel.snp.makeConstraints { (make) in
+            make.top.equalTo(iconImageView.snp_bottom).offset(4)
+            make.centerX.equalToSuperview()
+            make.height.equalTo(20)
+        }
+        itemButton.snp.makeConstraints { (make) in
+            make.edges.equalToSuperview()
+        }
+    }
+    
+    lazy var iconImageView : UIImageView = {
+        let iconImageView = UIImageView()
+        return iconImageView
+    }()
+    
+    private lazy var titleLabel: UILabel = {
+        let titleLabel = UILabel()
+        titleLabel.textColor = k333333Color
+        titleLabel.font = kBoldFont14
+        return titleLabel
+    }()
+    
+    private lazy var itemButton: UIButton = {
+        let itemButton = UIButton(type: UIButton.ButtonType.custom)
+        itemButton.rx.tap.subscribe(onNext: { [weak self] (data) in
+            if let msgClickClosure = self?.msgClickClosure {
+                msgClickClosure()
+            }
+        }).disposed(by: disposeBag)
+        return itemButton
+    }()
+    
+}

+ 0 - 123
RainbowPlanet/RainbowPlanet/Modules/MessageModule/MessageMain/View/MessageMainView.swift

@@ -1,123 +0,0 @@
-//
-//  MessageMainView.swift
-//  RainbowPlanet
-//
-//  Created by Christopher on 2019/6/10.
-//  Copyright © 2019 RainbowPlanet. All rights reserved.
-//
-
-import UIKit
-
-class MessageMainView: BaseView {
-    
-    typealias CommitOrderBlock = () -> Void
-    var commitOrderBlock : CommitOrderBlock?
-    
-    
-    override func setupViews() {
-        self.backgroundColor = kf7f8faColor
-        
-        addSubview(topView)
-        addSubview(tableView)
-    }
-    
-    override func setupLayouts() {
-        
-        topView.snp.makeConstraints { (make) in
-            make.top.left.right.equalToSuperview().offset(0)
-            make.height.equalTo(104)
-        }
-        
-        tableView.snp.makeConstraints { (make) in
-            make.top.equalTo(topView.snp_bottom).offset(10)
-            make.left.right.equalTo(0)
-            make.bottom.equalToSuperview()
-        }
-    }
-    
-    private lazy var topView: UIView = {
-        let topView = UIView()
-        topView.backgroundColor = UIColor.white
-        return topView
-    }()
-    
-    lazy var tableView: UITableView = {
-        let tableView = UITableView(frame: CGRect.zero, style: UITableView.Style.grouped)
-        tableView.separatorStyle = .none
-        tableView.backgroundColor = kf7f8faColor
-        tableView.dataSource = self
-        tableView.delegate = self
-        tableView.isScrollEnabled = false
-        tableView.estimatedRowHeight = 70
-        tableView.estimatedSectionFooterHeight = 0.000001
-        tableView.estimatedSectionHeaderHeight = 0.000001
-        return tableView
-    }()
-    
-    
-    
-    
-    private lazy var accountBtn: UIButton = {
-        let accountBtn = UIButton(type: UIButton.ButtonType.custom)
-        accountBtn.backgroundColor = kFFA42FColor
-        accountBtn.setTitle("提交订单", for: UIControl.State.normal)
-        accountBtn.setTitleColor(kffffffColor, for: UIControl.State.normal)
-        accountBtn.titleLabel?.font = kScaleRegularFont15
-        accountBtn.cornerRadius = 18
-        accountBtn.masksToBounds = true
-        accountBtn.rx.tap.subscribe(onNext: { [weak self] (data) in
-            if let commitOrderBlock = self?.commitOrderBlock {
-                commitOrderBlock()
-            }
-        }).disposed(by: disposeBag)
-        return accountBtn
-    }()
-    
-    private lazy var prePriceLabel: UILabel = {
-        let prePriceLabel = UILabel()
-        prePriceLabel.text = "合计"
-        prePriceLabel.textColor = k333333Color
-        prePriceLabel.font = kScaleRegularFont16
-        return prePriceLabel
-    }()
-    
-}
-
-// MARK: - tableView dataSource && delegate
-extension MessageMainView : UITableViewDelegate, UITableViewDataSource {
-    
-    func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
-        return 2
-    }
-    
-    func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
-        switch indexPath.row {
-        case 0:
-            // 星球通知
-            return UITableViewCell()
-        case 1:
-            // 星球活动
-            return UITableViewCell()
-        default:
-            return UITableViewCell()
-        }
-    }
-    
-    func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
-        return 70
-    }
-    
-    func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
-        switch indexPath.row {
-        case 0:
-            // 星球通知
-            print("点击--星球通知")
-        case 1:
-            // 星球活动
-            print("点击--星球活动")
-        default:
-            return
-        }
-    }
-
-}

+ 32 - 20
RainbowPlanet/RainbowPlanet/Modules/MessageModule/MessageMain/View/MessagePlanetTableCell.swift

@@ -10,6 +10,21 @@ import UIKit
 
 class MessagePlanetTableCell: UITableViewCell {
     
+    var cellRow: Int? {
+        didSet{
+            switch self.cellRow {
+            case 0:
+                iconImageView.image = kImage(name: "page05")
+                titleLabel.text = "星球通知"
+            case 1:
+                iconImageView.image = kImage(name: "page05")
+                titleLabel.text = "星球活动"
+            default:
+                return
+            }
+        }
+    }
+    
     class func cellWith(tableView:UITableView,indexPath:IndexPath) -> MessagePlanetTableCell {
         let ID = "MessagePlanetTableCell"
         tableView.register(MessagePlanetTableCell.self, forCellReuseIdentifier: ID)
@@ -55,55 +70,52 @@ class MessagePlanetTableCell: UITableViewCell {
         titleLabel.snp.makeConstraints { (make) in
             make.top.equalTo(12)
             make.left.equalTo(iconImageView.snp_right).offset(8)
-            make.left.equalToSuperview().offset(30)
-            make.right.equalToSuperview().offset(-30)
+            make.width.equalTo(67)
+            make.height.equalTo(23)
         }
         
         subLabel.snp.makeConstraints { (make) in
-            make.top.equalTo(iconImageView.snp.bottom).offset(16)
-            make.centerX.equalToSuperview()
-            make.left.equalToSuperview().offset(30)
+            make.top.equalTo(titleLabel.snp.bottom).offset(4)
+            make.left.equalTo(titleLabel.snp_left)
             make.right.equalToSuperview().offset(-30)
+            make.height.equalTo(19)
         }
         
         timeLabel.snp.makeConstraints { (make) in
-            make.top.equalTo(iconImageView.snp.bottom).offset(16)
-            make.centerX.equalToSuperview()
-            make.left.equalToSuperview().offset(30)
-            make.right.equalToSuperview().offset(-30)
+            make.top.equalToSuperview().offset(17)
+            make.right.equalToSuperview().offset(-14)
+            make.height.equalTo(13)
         }
         
     }
     
     lazy var iconImageView : UIImageView = {
         let iconImageView = UIImageView()
-        iconImageView.image = kImage(name: "page05")
         return iconImageView
     }()
     
     private lazy var titleLabel: UILabel = {
         let titleLabel = UILabel()
-        titleLabel.text = "购物车内无商品"
         titleLabel.textColor = k333333Color
-        titleLabel.font = kRegularFont14
-        titleLabel.textAlignment = .center
+        titleLabel.font = kRegularFont16
+        titleLabel.textAlignment = .left
         return titleLabel
     }()
     
     private lazy var subLabel: UILabel = {
         let subLabel = UILabel()
-        subLabel.text = "购物车内无商品"
-        subLabel.textColor = k333333Color
-        subLabel.font = kRegularFont14
-        subLabel.textAlignment = .center
+        subLabel.text = "我就是一个消息用来测一测"
+        subLabel.textColor = k999999Color
+        subLabel.font = kRegularFont12
+        subLabel.textAlignment = .left
         return subLabel
     }()
     
     private lazy var timeLabel: UILabel = {
         let timeLabel = UILabel()
-        timeLabel.text = "购物车内无商品"
-        timeLabel.textColor = k333333Color
-        timeLabel.font = kRegularFont14
+        timeLabel.text = "15:00"
+        timeLabel.textColor = k999999Color
+        timeLabel.font = kRegularFont9
         timeLabel.textAlignment = .center
         return timeLabel
     }()

+ 133 - 9
RainbowPlanet/RainbowPlanet/Modules/MessageModule/MessageMain/ViewController/MessageMainViewController.swift

@@ -19,14 +19,41 @@ class MessageMainViewController: BaseViewController {
     
     override func setupViews() {
         navigationBar.title = "消息"
-        view.addSubview(messageMainView)
+        view.backgroundColor = kf7f8faColor
+        
+        view.addSubview(topView)
+        view.addSubview(tableView)
+        
+        topView.addSubview(commentItemView)
+        topView.addSubview(thumbItemView)
+        topView.addSubview(notiItemView)
     }
     
     override func setupLayouts() {
-        messageMainView.snp.makeConstraints { (make) in
-            make.left.right.equalToSuperview()
-            make.top.equalTo(kNavBarTotalHeight)
-            make.height.equalTo(kScreenHeight - kNavBarTotalHeight - kTabBarTotalHeight)
+        topView.snp.makeConstraints { (make) in
+            make.top.equalToSuperview().offset(kNavBarTotalHeight + 1)
+            make.left.right.equalToSuperview().offset(0)
+            make.height.equalTo(104)
+        }
+        tableView.snp.makeConstraints { (make) in
+            make.top.equalTo(topView.snp_bottom).offset(10)
+            make.left.right.equalTo(0)
+            make.bottom.equalToSuperview()
+        }
+        commentItemView.snp.makeConstraints { (make) in
+            make.top.equalTo(20)
+            make.left.equalTo(34)
+            make.size.equalTo(64)
+        }
+        thumbItemView.snp.makeConstraints { (make) in
+            make.top.equalTo(20)
+            make.centerX.equalToSuperview()
+            make.size.equalTo(64)
+        }
+        notiItemView.snp.makeConstraints { (make) in
+            make.top.equalTo(20)
+            make.right.equalTo(-34)
+            make.size.equalTo(64)
         }
     }
     
@@ -34,10 +61,107 @@ class MessageMainViewController: BaseViewController {
         
     }
     
-    private lazy var messageMainView: MessageMainView = {
-        let messageMainView = MessageMainView()
-        
-        return messageMainView
+    
+    private lazy var topView: UIView = {
+        let topView = UIView()
+        topView.backgroundColor = UIColor.white
+        return topView
+    }()
+    
+    lazy var tableView: UITableView = {
+        let tableView = UITableView(frame: CGRect.zero, style: UITableView.Style.grouped)
+        tableView.separatorStyle = .none
+        tableView.backgroundColor = kf7f8faColor
+        tableView.dataSource = self
+        tableView.delegate = self
+        tableView.isScrollEnabled = false
+        tableView.estimatedRowHeight = 70
+        tableView.estimatedSectionFooterHeight = 0.000001
+        tableView.estimatedSectionHeaderHeight = 0.000001
+        return tableView
+    }()
+    
+    private lazy var commentItemView: MessageMainItemView = {
+        let itemView = MessageMainItemView()
+        itemView.itemViewType = ItemViewType.comment
+        itemView.msgClickClosure = {
+            [weak self] () in
+            let vc = MessageCommentController()
+            self?.navigationController?.pushViewController(vc, animated: true)
+        }
+        return itemView
+    }()
+    
+    private lazy var thumbItemView: MessageMainItemView = {
+        let itemView = MessageMainItemView()
+        itemView.itemViewType = ItemViewType.thumb
+        itemView.msgClickClosure = {
+            [weak self] () in
+            let vc = MessageThumbController()
+            self?.navigationController?.pushViewController(vc, animated: true)
+        }
+        return itemView
+    }()
+    
+    private lazy var notiItemView: MessageMainItemView = {
+        let itemView = MessageMainItemView()
+        itemView.itemViewType = ItemViewType.followNoti
+        itemView.msgClickClosure = {
+            [weak self] () in
+            let vc = MessageFollowNotiController()
+            self?.navigationController?.pushViewController(vc, animated: true)
+        }
+        return itemView
     }()
     
 }
+
+// MARK: - tableView dataSource && delegate
+extension MessageMainViewController: UITableViewDataSource, UITableViewDelegate {
+    
+    func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
+        return 2
+    }
+    
+    func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
+        switch indexPath.row {
+        case 0:
+            // 星球通知
+            let cell = MessagePlanetTableCell.cellWith(tableView: tableView, indexPath: indexPath)
+            cell.cellRow = 0
+            return cell
+        case 1:
+            // 星球活动
+            let cell = MessagePlanetTableCell.cellWith(tableView: tableView, indexPath: indexPath)
+            cell.cellRow = 1
+            return cell
+        default:
+            return UITableViewCell()
+        }
+    }
+    
+    func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
+        return 70
+    }
+    
+    func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
+        switch indexPath.row {
+        case 0:
+            // 星球通知
+            print("点击--星球通知")
+            let vc = MessagePlanetNotiController()
+            self.navigationController?.pushViewController(vc, animated: true)
+        case 1:
+            // 星球活动
+            let vc = MessagePlanetActivityController()
+            self.navigationController?.pushViewController(vc, animated: true)
+        default:
+            return
+        }
+    }
+    
+    func tableView(_ tableView: UITableView, heightForHeaderInSection section: Int) -> CGFloat {
+        return 0
+    }
+    
+}

+ 75 - 0
RainbowPlanet/RainbowPlanet/Modules/MessageModule/MessagePlanetActivity/Controller/MessagePlanetActivityController.swift

@@ -0,0 +1,75 @@
+//
+//  MessagePlanetActivityController.swift
+//  RainbowPlanet
+//
+//  Created by Christopher on 2019/6/11.
+//  Copyright © 2019 RainbowPlanet. All rights reserved.
+//
+
+import UIKit
+
+class MessagePlanetActivityController: BaseViewController {
+    
+    override func viewDidLoad() {
+        super.viewDidLoad()
+        setupViews()
+        setupLayouts()
+        
+    }
+    
+    override func setupViews() {
+        navigationBar.title = "星球活动"
+        view.backgroundColor = kf7f8faColor
+        
+        view.addSubview(tableView)
+    }
+    
+    override func setupLayouts() {
+        tableView.snp.makeConstraints { (make) in
+            make.top.equalToSuperview().offset(kNavBarTotalHeight)
+            make.left.right.bottom.equalTo(0)
+        }        
+    }
+    
+    override func setupData() {
+        
+    }
+    
+    lazy var tableView: UITableView = {
+        let tableView = UITableView(frame: CGRect.zero, style: UITableView.Style.grouped)
+        tableView.separatorStyle = .none
+        tableView.backgroundColor = kf7f8faColor
+        tableView.dataSource = self
+        tableView.delegate = self
+        tableView.estimatedRowHeight = 200
+        tableView.estimatedSectionFooterHeight = 0.000001
+        tableView.estimatedSectionHeaderHeight = 0.000001
+        return tableView
+    }()
+}
+
+// MARK: - tableView dataSource && delegate
+extension MessagePlanetActivityController: UITableViewDataSource, UITableViewDelegate {
+    
+    func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
+        return 3
+    }
+    
+    func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
+        let cell = MessageActivityTableCell.cellWith(tableView: tableView, indexPath: indexPath)
+        cell.activityClosure = {
+            [weak self] in
+            print("点击了--\(indexPath.row)")
+        }
+        return cell
+    }
+    
+    func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
+        return 212
+    }
+    
+    func tableView(_ tableView: UITableView, heightForHeaderInSection section: Int) -> CGFloat {
+        return 0
+    }
+    
+}

+ 139 - 0
RainbowPlanet/RainbowPlanet/Modules/MessageModule/MessagePlanetActivity/View/MessageActivityTableCell.swift

@@ -0,0 +1,139 @@
+//
+//  MessageActivityTableCell.swift
+//  RainbowPlanet
+//
+//  Created by Christopher on 2019/6/11.
+//  Copyright © 2019 RainbowPlanet. All rights reserved.
+//  星球活动のCell
+
+import UIKit
+import RxSwift
+import RxCocoa
+
+class MessageActivityTableCell: UITableViewCell {
+    
+    let disposeBag = DisposeBag()
+    
+    typealias ActivityClosure = () -> Void
+    var activityClosure : ActivityClosure?
+    
+    class func cellWith(tableView:UITableView,indexPath:IndexPath) -> MessageActivityTableCell {
+        let ID = "MessageActivityTableCell"
+        tableView.register(MessageActivityTableCell.self, forCellReuseIdentifier: ID)
+        let cell : MessageActivityTableCell = tableView.dequeueReusableCell(withIdentifier: ID, for: indexPath) as! MessageActivityTableCell
+        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
+        backgroundColor = kf7f8faColor
+        
+        addSubview(timeLabel)
+        addSubview(activityView)
+        activityView.addSubview(actImageView)
+        activityView.addSubview(titleLabel)
+        activityView.addSubview(subLabel)
+        activityView.addSubview(itemButton)
+    }
+    
+    private func setupLayouts() {
+        timeLabel.snp.makeConstraints { (make) in
+            make.top.equalTo(16)
+            make.centerX.equalToSuperview()
+            make.width.equalTo(90)
+            make.height.equalTo(20)
+        }
+        activityView.snp.makeConstraints { (make) in
+            make.top.equalTo(timeLabel.snp_bottom).offset(16)
+            make.left.equalTo(23)
+            make.right.equalTo(-23)
+            make.height.equalTo(160)
+        }
+        actImageView.snp.makeConstraints { (make) in
+            make.edges.equalToSuperview()
+        }
+        titleLabel.snp.makeConstraints { (make) in
+            make.top.equalTo(103)
+            make.left.equalTo(14)
+            make.right.equalTo(-14)
+            make.height.equalTo(21)
+        }
+        subLabel.snp.makeConstraints { (make) in
+            make.top.equalTo(titleLabel.snp_bottom).offset(6)
+            make.left.equalTo(titleLabel.snp_left)
+            make.right.equalTo(titleLabel.snp_right)
+            make.height.equalTo(17)
+        }
+        itemButton.snp.makeConstraints { (make) in
+            make.edges.equalToSuperview()
+        }
+    }
+    
+    private lazy var timeLabel: UILabel = {
+        let timeLabel = UILabel()
+        timeLabel.backgroundColor = kRGBAColor(r: 0/255.0, g: 0/255.0, b: 0/255.0, a: 0.1)
+        timeLabel.text = "05-16 20:03"
+        timeLabel.textColor = kffffffColor
+        timeLabel.font = kRegularFont12
+        timeLabel.textAlignment = .center
+        return timeLabel
+    }()
+    
+    private lazy var activityView: UIView = {
+        let activityView = UIView()
+        return activityView
+    }()
+    
+    lazy var actImageView : UIImageView = {
+        let actImageView = UIImageView()
+        actImageView.image = kImage(name: "page05")
+        return actImageView
+    }()
+    
+    private lazy var titleLabel: UILabel = {
+        let titleLabel = UILabel()
+        titleLabel.text = "我就是一个用来测一测的Title"
+        titleLabel.textColor = kffffffColor
+        titleLabel.font = kRegularFont15
+        titleLabel.textAlignment = .left
+        return titleLabel
+    }()
+    
+    private lazy var subLabel: UILabel = {
+        let subLabel = UILabel()
+        subLabel.text = "活动时间:2019/5/19~2019/5/20"
+        subLabel.textColor = kffffffColor
+        subLabel.font = kRegularFont12
+        subLabel.textAlignment = .left
+        return subLabel
+    }()
+    
+    private lazy var itemButton: UIButton = {
+        let itemButton = UIButton(type: UIButton.ButtonType.custom)
+        itemButton.rx.tap.subscribe(onNext: { [weak self] (data) in
+            if let activityClosure = self?.activityClosure {
+                activityClosure()
+            }            
+        }).disposed(by: disposeBag)
+        return itemButton
+    }()
+    
+}

+ 69 - 0
RainbowPlanet/RainbowPlanet/Modules/MessageModule/MessagePlanetNotification/Controller/MessagePlanetNotiController.swift

@@ -0,0 +1,69 @@
+//
+//  MessagePlanetNotiController.swift
+//  RainbowPlanet
+//
+//  Created by Christopher on 2019/6/11.
+//  Copyright © 2019 RainbowPlanet. All rights reserved.
+//
+
+class MessagePlanetNotiController: BaseViewController {
+    
+    override func viewDidLoad() {
+        super.viewDidLoad()
+        setupViews()
+        setupLayouts()
+        
+    }
+    
+    override func setupViews() {
+        navigationBar.title = "星球活动"
+        view.backgroundColor = kf7f8faColor
+        
+        view.addSubview(tableView)
+    }
+    
+    override func setupLayouts() {
+        tableView.snp.makeConstraints { (make) in
+            make.top.equalToSuperview().offset(kNavBarTotalHeight)
+            make.left.right.bottom.equalTo(0)
+        }
+    }
+    
+    override func setupData() {
+        
+    }
+    
+    lazy var tableView: UITableView = {
+        let tableView = UITableView(frame: CGRect.zero, style: UITableView.Style.grouped)
+        tableView.separatorStyle = .none
+        tableView.backgroundColor = kf7f8faColor
+        tableView.dataSource = self
+        tableView.delegate = self
+        tableView.estimatedRowHeight = 200
+        tableView.estimatedSectionFooterHeight = 0.000001
+        tableView.estimatedSectionHeaderHeight = 0.000001
+        return tableView
+    }()
+}
+
+// MARK: - tableView dataSource && delegate
+extension MessagePlanetNotiController: UITableViewDataSource, UITableViewDelegate {
+    
+    func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
+        return 2
+    }
+    
+    func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
+        let cell = MessagePlanetNotiTableCell.cellWith(tableView: tableView, indexPath: indexPath)
+        return cell
+    }
+    
+    func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
+        return UITableView.automaticDimension
+    }
+    
+    func tableView(_ tableView: UITableView, heightForHeaderInSection section: Int) -> CGFloat {
+        return 0
+    }
+    
+}

A különbségek nem kerülnek megjelenítésre, a fájl túl nagy
+ 158 - 0
RainbowPlanet/RainbowPlanet/Modules/MessageModule/MessagePlanetNotification/View/MessagePlanetNotiTableCell.swift


+ 71 - 0
RainbowPlanet/RainbowPlanet/Modules/MessageModule/MessagePlanetThumb/MessageThumbController.swift

@@ -0,0 +1,71 @@
+//
+//  MessageThumbController.swift
+//  RainbowPlanet
+//
+//  Created by Christopher on 2019/6/11.
+//  Copyright © 2019 RainbowPlanet. All rights reserved.
+//
+
+import UIKit
+
+class MessageThumbController: BaseViewController {
+    
+    override func viewDidLoad() {
+        super.viewDidLoad()
+        setupViews()
+        setupLayouts()
+        
+    }
+    
+    override func setupViews() {
+        navigationBar.title = "赞与互动"
+        view.backgroundColor = kf7f8faColor
+        
+        view.addSubview(tableView)
+    }
+    
+    override func setupLayouts() {
+        tableView.snp.makeConstraints { (make) in
+            make.top.equalToSuperview().offset(kNavBarTotalHeight)
+            make.left.right.bottom.equalTo(0)
+        }
+    }
+    
+    override func setupData() {
+        
+    }
+    
+    lazy var tableView: UITableView = {
+        let tableView = UITableView(frame: CGRect.zero, style: UITableView.Style.grouped)
+        tableView.separatorStyle = .none
+        tableView.backgroundColor = kf7f8faColor
+        tableView.dataSource = self
+        tableView.delegate = self
+        tableView.estimatedRowHeight = 100
+        tableView.estimatedSectionFooterHeight = 0.000001
+        tableView.estimatedSectionHeaderHeight = 0.000001
+        return tableView
+    }()
+}
+
+// MARK: - tableView dataSource && delegate
+extension MessageThumbController: UITableViewDataSource, UITableViewDelegate {
+    
+    func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
+        return 2
+    }
+    
+    func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
+        let cell = MessageThumbTableCell.cellWith(tableView: tableView, indexPath: indexPath)
+        return cell
+    }
+    
+    func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
+        return UITableView.automaticDimension
+    }
+    
+    func tableView(_ tableView: UITableView, heightForHeaderInSection section: Int) -> CGFloat {
+        return 10
+    }
+    
+}

+ 134 - 0
RainbowPlanet/RainbowPlanet/Modules/MessageModule/MessagePlanetThumb/MessageThumbTableCell.swift

@@ -0,0 +1,134 @@
+//
+//  MessageThumbTableCell.swift
+//  RainbowPlanet
+//
+//  Created by Christopher on 2019/6/11.
+//  Copyright © 2019 RainbowPlanet. All rights reserved.
+//
+
+import UIKit
+
+class MessageThumbTableCell: UITableViewCell {
+    
+    class func cellWith(tableView:UITableView,indexPath:IndexPath) -> MessageThumbTableCell {
+        let ID = "MessageThumbTableCell"
+        tableView.register(MessageThumbTableCell.self, forCellReuseIdentifier: ID)
+        let cell : MessageThumbTableCell = tableView.dequeueReusableCell(withIdentifier: ID, for: indexPath) as! MessageThumbTableCell
+        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
+        backgroundColor = kffffffColor
+        
+        addSubview(typeImageView)
+        addSubview(contentImageView)
+        addSubview(titleLabel)
+        addSubview(contentLabel)
+        addSubview(timeLabel)
+        addSubview(sepView)
+    }
+    
+    private func setupLayouts() {
+        typeImageView.snp.makeConstraints { (make) in
+            make.top.equalTo(16)
+            make.left.equalTo(14)
+            make.size.equalTo(24)
+        }
+        contentImageView.snp.makeConstraints { (make) in
+            make.top.equalTo(16)
+            make.right.equalTo(-14)
+            make.size.equalTo(60)
+        }
+        titleLabel.snp.makeConstraints { (make) in
+            make.top.equalTo(16)
+            make.left.equalTo(typeImageView.snp_right).offset(16)
+            make.right.equalTo(contentImageView.snp_left).offset(-16)
+            make.height.equalTo(20)
+        }
+        contentLabel.snp.makeConstraints { (make) in
+            make.top.equalTo(titleLabel.snp_bottom).offset(8)
+            make.left.equalTo(titleLabel.snp_left)
+            make.right.equalTo(titleLabel.snp_right)
+        }
+        timeLabel.snp.makeConstraints { (make) in
+            make.top.equalTo(contentLabel.snp_bottom).offset(8)
+            make.left.equalTo(titleLabel.snp_left)
+            make.height.equalTo(17)
+        }
+        sepView.snp.makeConstraints { (make) in
+            make.top.equalTo(timeLabel.snp_bottom).offset(16)
+            make.right.equalToSuperview()
+            make.left.equalToSuperview().offset(54)
+            make.height.equalTo(1)
+            make.bottom.equalToSuperview()
+        }
+    }
+    
+    lazy var typeImageView : UIImageView = {
+        let typeImageView = UIImageView()
+        typeImageView.image = kImage(name: "page05")
+        return typeImageView
+    }()
+    
+    private lazy var titleLabel: UILabel = {
+        let titleLabel = UILabel()
+        titleLabel.text = "xxx赞了你的内容"
+        titleLabel.textColor = k333333Color
+        titleLabel.font = kBoldFont14
+        titleLabel.textAlignment = .left
+        return titleLabel
+    }()
+    
+    private lazy var contentLabel: UILabel = {
+        let subLabel = UILabel()
+        subLabel.text = "那是春的感觉,并非只在复苏的田野"
+        subLabel.textColor = k999999Color
+        subLabel.font = kRegularFont13
+        subLabel.textAlignment = .left
+        subLabel.numberOfLines = 0
+        return subLabel
+    }()
+    
+    private lazy var timeLabel: UILabel = {
+        let timeLabel = UILabel()
+        timeLabel.text = "5月20日"
+        timeLabel.textColor = kbbbbbbColor
+        timeLabel.font = kRegularFont12
+        timeLabel.textAlignment = .left
+        return timeLabel
+    }()
+    
+    lazy var contentImageView : UIImageView = {
+        let contentImageView = UIImageView()
+        contentImageView.image = kImage(name: "page05")
+        contentImageView.cornerRadius = 4
+        contentImageView.masksToBounds = true
+        return contentImageView
+    }()
+    
+    private lazy var sepView: UIView = {
+        let sepView = UIView()
+        sepView.backgroundColor = kf5f5f5Color
+        return sepView
+    }()
+    
+}