aeline
2020-06-08 2e83b7adc1bdb0f0b54a87b97a725099729a4ab5
no message
3个文件已删除
4 文件已重命名
81个文件已修改
3 文件已复制
24个文件已添加
5556 ■■■■ 已修改文件
MIduo.xcodeproj/project.pbxproj 140 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
MIduo.xcworkspace/xcuserdata/lrj.xcuserdatad/UserInterfaceState.xcuserstate 补丁 | 查看 | 原始文档 | blame | 历史
MIduo.xcworkspace/xcuserdata/lrj.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist 189 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
MIduo/AppDelegate.m 170 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
MIduo/Assets.xcassets/AppIcon.appiconset/Contents.json 82 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
MIduo/Assets.xcassets/AppIcon.appiconset/icon-1024.png 补丁 | 查看 | 原始文档 | blame | 历史
MIduo/Assets.xcassets/AppIcon.appiconset/icon-20@2x.png 补丁 | 查看 | 原始文档 | blame | 历史
MIduo/Assets.xcassets/AppIcon.appiconset/icon-20@3x.png 补丁 | 查看 | 原始文档 | blame | 历史
MIduo/Assets.xcassets/AppIcon.appiconset/icon-29.png 补丁 | 查看 | 原始文档 | blame | 历史
MIduo/Assets.xcassets/AppIcon.appiconset/icon-29@2x.png 补丁 | 查看 | 原始文档 | blame | 历史
MIduo/Assets.xcassets/AppIcon.appiconset/icon-29@3x.png 补丁 | 查看 | 原始文档 | blame | 历史
MIduo/Assets.xcassets/AppIcon.appiconset/icon-40@2x.png 补丁 | 查看 | 原始文档 | blame | 历史
MIduo/Assets.xcassets/AppIcon.appiconset/icon-40@3x.png 补丁 | 查看 | 原始文档 | blame | 历史
MIduo/Assets.xcassets/AppIcon.appiconset/icon-57.png 补丁 | 查看 | 原始文档 | blame | 历史
MIduo/Assets.xcassets/AppIcon.appiconset/icon-57@2x.png 补丁 | 查看 | 原始文档 | blame | 历史
MIduo/Assets.xcassets/AppIcon.appiconset/icon-60@2x.png 补丁 | 查看 | 原始文档 | blame | 历史
MIduo/Assets.xcassets/AppIcon.appiconset/icon-60@3x.png 补丁 | 查看 | 原始文档 | blame | 历史
MIduo/Assets.xcassets/LaunchImage.launchimage/Contents.json 146 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
MIduo/Assets.xcassets/LaunchImage.launchimage/启动图1125x2436@2x.png 补丁 | 查看 | 原始文档 | blame | 历史
MIduo/Assets.xcassets/LaunchImage.launchimage/启动图1242x2208@2x.png 补丁 | 查看 | 原始文档 | blame | 历史
MIduo/Assets.xcassets/LaunchImage.launchimage/启动图640x1136@2x.png 补丁 | 查看 | 原始文档 | blame | 历史
MIduo/Assets.xcassets/LaunchImage.launchimage/启动图750x1334@2x.png 补丁 | 查看 | 原始文档 | blame | 历史
MIduo/Assets.xcassets/导航/splash_logo.imageset/Contents.json 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
MIduo/Assets.xcassets/导航/splash_logo.imageset/splash_logo@2x.png 补丁 | 查看 | 原始文档 | blame | 历史
MIduo/Assets.xcassets/导航/splash_logo.imageset/splash_logo@3x.png 补丁 | 查看 | 原始文档 | blame | 历史
MIduo/Assets.xcassets/导航/splash_ps.imageset/Contents.json 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
MIduo/Assets.xcassets/导航/splash_ps.imageset/splash_ps.png 补丁 | 查看 | 原始文档 | blame | 历史
MIduo/Assets.xcassets/导航/splash_s.imageset/Contents.json 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
MIduo/Assets.xcassets/导航/splash_s.imageset/splash_s.png 补丁 | 查看 | 原始文档 | blame | 历史
MIduo/Assets.xcassets/导航/splash_x.imageset/Contents.json 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
MIduo/Assets.xcassets/导航/splash_x.imageset/splash_x.png 补丁 | 查看 | 原始文档 | blame | 历史
MIduo/Assets.xcassets/新订单申诉/order_complaint_sn.imageset/Contents.json 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
MIduo/Assets.xcassets/新订单申诉/order_complaint_sn.imageset/order_complaint_sn@2x.png 补丁 | 查看 | 原始文档 | blame | 历史
MIduo/Assets.xcassets/新订单申诉/order_complaint_sn.imageset/order_complaint_sn@3x.png 补丁 | 查看 | 原始文档 | blame | 历史
MIduo/Assets.xcassets/新订单申诉/order_complaint_wph.imageset/Contents.json 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
MIduo/Assets.xcassets/新订单申诉/order_complaint_wph.imageset/order_complaint_wph@2x.png 补丁 | 查看 | 原始文档 | blame | 历史
MIduo/Assets.xcassets/新订单申诉/order_complaint_wph.imageset/order_complaint_wph@3x.png 补丁 | 查看 | 原始文档 | blame | 历史
MIduo/Info.plist 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
MIduo/数据/ALWebView/ShonpingShareViewController.h 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
MIduo/数据/ALWebView/ShonpingShareViewController.m 89 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
MIduo/数据/Category/UIViewController+ControllerValue.m 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
MIduo/数据/Common.h 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
MIduo/数据/YTHsharedManger.h 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
MIduo/数据/lib/LXAlertView/SJNoNetwork.m 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
MIduo/数据/lib/LaunchIntroduction/LaunchIntroductionView.h 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
MIduo/界面/动态/发圈/Cell/HairBandsMultipleCell.h 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
MIduo/界面/动态/发圈/Cell/HairBandsMultipleCell.m 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
MIduo/界面/动态/发圈/HotltermListController.m 41 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
MIduo/界面/动态/发圈/Model/HairBandsMultipleModel.h 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
MIduo/界面/商品详情/GoodDeTrViewController.m 76 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
MIduo/界面/商品详情/GoodsDetailFooterView/GoodsDetailFooterView.h 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
MIduo/界面/商品详情/GoodsDetailFooterView/GoodsDetailFooterView.m 112 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
MIduo/界面/商品详情/GoodsHeaderTableViewCell.h 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
MIduo/界面/商品详情/GoodsHeaderTableViewCell.m 40 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
MIduo/界面/商品详情/JD/Cell/GoosStoreInfoView.h 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
MIduo/界面/商品详情/JD/Cell/GoosStoreInfoView.m 113 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
MIduo/界面/商品详情/JD/Cell/JDGoodsHeaderTableViewCell.h 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
MIduo/界面/商品详情/JD/Cell/JDGoodsHeaderTableViewCell.m 47 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
MIduo/界面/商品详情/JD/Cell/JDGoodsInfoCell.h 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
MIduo/界面/商品详情/JD/Cell/JDGoodsInfoCell.m 38 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
MIduo/界面/商品详情/JD/JDGoodsDetailController.m 136 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
MIduo/界面/商品详情/PDD/PDDGoodsDetailController.m 109 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
MIduo/界面/商品详情/SN/SNGoodsDetailController.m 100 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
MIduo/界面/商品详情/SN/SNGoodsListController.h 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
MIduo/界面/商品详情/SN/SNGoodsListController.m 582 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
MIduo/界面/商品详情/SN/SNGoodsListShowController.h 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
MIduo/界面/商品详情/SN/SNGoodsListShowController.m 327 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
MIduo/界面/商品详情/WPH/Cell/WPHGoodsdetailInfoCell.m 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
MIduo/界面/商品详情/WPH/WPHGoodsDetailController.m 118 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
MIduo/界面/商品详情/WPH/WPHGoodsListController.h 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
MIduo/界面/商品详情/WPH/WPHGoodsListController.m 584 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
MIduo/界面/商品详情/WPH/WPHGoodsListShowController.h 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
MIduo/界面/商品详情/WPH/WPHGoodsListShowController.m 330 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
MIduo/界面/我的/Balance/View/BalanceShCell.m 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
MIduo/界面/我的/Balance/View/Model/MoneyStatisticModel.h 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
MIduo/界面/我的/BonusStatisticsDetail/Model/BonusorderModel.h 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
MIduo/界面/我的/BonusStatisticsDetail/View/EstimateTotalBonusHeaderView.m 65 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
MIduo/界面/我的/Collection/View/CollectionCell.m 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
MIduo/界面/我的/Complain/ComplainViewController.m 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
MIduo/界面/我的/Complain/OrderComplainMainController.m 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
MIduo/界面/我的/Complain/View/ComplainView.m 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
MIduo/界面/我的/Complain/View/OrderComplainRecordCell.m 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
MIduo/界面/我的/FootprintsViewCell.m 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
MIduo/界面/我的/MineCell/APPUpdateView/AppUpdateView.h 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
MIduo/界面/我的/MineCell/APPUpdateView/AppUpdateView.m 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
MIduo/界面/我的/MineCell/NewMineView/MineUpgradeMemberView.h 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
MIduo/界面/我的/MineCell/NewMineView/MineUpgradeMemberView.m 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
MIduo/界面/我的/MyTeam/TeamDetail/TaemInvitationController.m 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
MIduo/界面/我的/MyTeam/View/NewTeamInvitationView.m 34 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
MIduo/界面/我的/NewMineController.m 29 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
MIduo/界面/我的/Order/NewOrderViewController.m 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
MIduo/界面/我的/Order/cell/NewOrderTopCell.h 29 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
MIduo/界面/我的/Order/cell/NewOrderTopCell.m 296 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
MIduo/界面/我的/Order/cell/NewOrderTopCell.xib 99 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
MIduo/界面/我的/Order/cell/OrderTitleCell.h 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
MIduo/界面/我的/Order/cell/OrderTitleCell.m 310 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
MIduo/界面/我的/Order/model/NewOrderModel.h 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
MIduo/界面/我的/Order/view/FiltrateView/OrdFitCollView.m 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
MIduo/界面/我的/Order/view/OrderFiltrateView.xib 26 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
MIduo/界面/我的/Order/统计/View/OrderStatisticalBotView.m 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
MIduo/界面/我的/Order/订单搜索/OrdSResultController.m 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
MIduo/界面/搜索/SearchDetailConditionView.m 86 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
MIduo/界面/搜索/SearchDetailController.m 164 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
MIduo/界面/搜索/SearchDetailFilterSNView.h 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
MIduo/界面/搜索/SearchDetailFilterSNView.m 105 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
MIduo/界面/搜索/SearchDetailFilterWPHView.m 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
MIduo/界面/搜索/SearchGoodsGuideCell.m 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
MIduo/界面/搜索/searchViewController.m 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
MIduo/界面/邀请/商品分享/NewGoodsShareController.m 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
MIduo/界面/首页/HomeManage.h 13 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
MIduo/界面/首页/HomeManage.m 26 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
MIduo/界面/首页/NEWHomeViewController.m 107 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
MIduo/界面/首页/ThirdClassificationCell.m 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
MIduo/界面/首页/View/GuessLikeUrlPopView.m 95 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Pods/Pods.xcodeproj/xcuserdata/lrj.xcuserdatad/xcschemes/xcschememanagement.plist 54 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
MIduo.xcodeproj/project.pbxproj
@@ -40,6 +40,11 @@
        0D2B2C71247E1C30003F27AE /* SNGoodsDetailController.m in Sources */ = {isa = PBXBuildFile; fileRef = 0D2B2C70247E1C30003F27AE /* SNGoodsDetailController.m */; };
        0D2B2C742480B2E3003F27AE /* WPHTransformView.m in Sources */ = {isa = PBXBuildFile; fileRef = 0D2B2C732480B2E3003F27AE /* WPHTransformView.m */; };
        0D2B2C782480B519003F27AE /* SNTransformView.m in Sources */ = {isa = PBXBuildFile; fileRef = 0D2B2C772480B519003F27AE /* SNTransformView.m */; };
        0D2B2C9224849867003F27AE /* libGDTMobSDK.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 0D2B2C8E24849867003F27AE /* libGDTMobSDK.a */; };
        0D2B2C9424849B9E003F27AE /* StoreKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0D2B2C9324849B9E003F27AE /* StoreKit.framework */; };
        0D2B2C9524849BCC003F27AE /* WebKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2D9767D720C7D7FE006EE24F /* WebKit.framework */; };
        0D2B2C9724849D5D003F27AE /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0D2B2C9624849D5D003F27AE /* Foundation.framework */; };
        0D2B9A4A248609B0008393FE /* OrderTitleCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 0D2B9A49248609B0008393FE /* OrderTitleCell.m */; };
        0D36185F243C1350005E3CD6 /* TeamDataStatisticsBodyView.m in Sources */ = {isa = PBXBuildFile; fileRef = 0D36185E243C1350005E3CD6 /* TeamDataStatisticsBodyView.m */; };
        0D3852DC247CAEBD00140E12 /* RecommendDetailController.m in Sources */ = {isa = PBXBuildFile; fileRef = 0D3852DB247CAEBD00140E12 /* RecommendDetailController.m */; };
        0D3852E1247CB0E400140E12 /* RecommendDetailHeaderView.m in Sources */ = {isa = PBXBuildFile; fileRef = 0D3852E0247CB0E400140E12 /* RecommendDetailHeaderView.m */; };
@@ -47,6 +52,10 @@
        0D3852E7247CEC3500140E12 /* SearchGoodsGuideCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 0D3852E6247CEC3500140E12 /* SearchGoodsGuideCell.m */; };
        0D3852EA247CFEA200140E12 /* SearchDetailFilterWPHView.m in Sources */ = {isa = PBXBuildFile; fileRef = 0D3852E9247CFEA200140E12 /* SearchDetailFilterWPHView.m */; };
        0D3852EE247D184600140E12 /* WPHGoodsDetailController.m in Sources */ = {isa = PBXBuildFile; fileRef = 0D3852ED247D184600140E12 /* WPHGoodsDetailController.m */; };
        0D4C500B24874484002E5841 /* WPHGoodsListShowController.m in Sources */ = {isa = PBXBuildFile; fileRef = 0D4C500724874482002E5841 /* WPHGoodsListShowController.m */; };
        0D4C500C24874484002E5841 /* WPHGoodsListController.m in Sources */ = {isa = PBXBuildFile; fileRef = 0D4C500A24874484002E5841 /* WPHGoodsListController.m */; };
        0D4C501124874733002E5841 /* SNGoodsListController.m in Sources */ = {isa = PBXBuildFile; fileRef = 0D4C500D24874731002E5841 /* SNGoodsListController.m */; };
        0D4C501224874733002E5841 /* SNGoodsListShowController.m in Sources */ = {isa = PBXBuildFile; fileRef = 0D4C501024874733002E5841 /* SNGoodsListShowController.m */; };
        0D4F8AFE247B5D060033DABB /* CZBMapNavgation.m in Sources */ = {isa = PBXBuildFile; fileRef = 0D4F8AF8247B5D050033DABB /* CZBMapNavgation.m */; };
        0D4F8AFF247B5D060033DABB /* WHExteriorNavicationController.m in Sources */ = {isa = PBXBuildFile; fileRef = 0D4F8AF9247B5D050033DABB /* WHExteriorNavicationController.m */; };
        0D4F8B00247B5D060033DABB /* CZBInfoManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 0D4F8AFD247B5D050033DABB /* CZBInfoManager.m */; };
@@ -63,6 +72,7 @@
        0D60F88B23F520FA0076630E /* QuickShareController.m in Sources */ = {isa = PBXBuildFile; fileRef = 0D60F88A23F520FA0076630E /* QuickShareController.m */; };
        0D60F88F23F52CBD0076630E /* ShareMainImageView.m in Sources */ = {isa = PBXBuildFile; fileRef = 0D60F88E23F52CBD0076630E /* ShareMainImageView.m */; };
        0D60F89223F534250076630E /* QuickShareBottomView.m in Sources */ = {isa = PBXBuildFile; fileRef = 0D60F89123F534250076630E /* QuickShareBottomView.m */; };
        0D81C2C02488D77A00BE8E8B /* SearchDetailFilterSNView.m in Sources */ = {isa = PBXBuildFile; fileRef = 0D81C2BF2488D77A00BE8E8B /* SearchDetailFilterSNView.m */; };
        0D8C2B922466A061009ABF50 /* MyTeamNavView.m in Sources */ = {isa = PBXBuildFile; fileRef = 0D8C2B912466A061009ABF50 /* MyTeamNavView.m */; };
        0DC82667246CE85800E89D1B /* WithdrawalRecordController.m in Sources */ = {isa = PBXBuildFile; fileRef = 0DC82666246CE85800E89D1B /* WithdrawalRecordController.m */; };
        0DC8266B246CEA7200E89D1B /* WithdrawalRecordModel.m in Sources */ = {isa = PBXBuildFile; fileRef = 0DC8266A246CEA7200E89D1B /* WithdrawalRecordModel.m */; };
@@ -828,8 +838,6 @@
        2D2A1B4C2251BCB000FB1001 /* RecommendIndexModel.m in Sources */ = {isa = PBXBuildFile; fileRef = 2D2A1B4B2251BCB000FB1001 /* RecommendIndexModel.m */; };
        2D2AF4A422E8597E00F38DFF /* JavaScriptCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2D2AF4A322E8597C00F38DFF /* JavaScriptCore.framework */; };
        2D2B04FC229D15CB007CEF78 /* TKPhoneTextField.m in Sources */ = {isa = PBXBuildFile; fileRef = 2D2B04FB229D15CB007CEF78 /* TKPhoneTextField.m */; };
        2D2B3AE121CC777A00F77F60 /* NewOrderTopCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 2D2B3ADF21CC777A00F77F60 /* NewOrderTopCell.m */; };
        2D2B3AE221CC777A00F77F60 /* NewOrderTopCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = 2D2B3AE021CC777A00F77F60 /* NewOrderTopCell.xib */; };
        2D2B3AE521CC939C00F77F60 /* OrderFiltrateView.m in Sources */ = {isa = PBXBuildFile; fileRef = 2D2B3AE421CC939C00F77F60 /* OrderFiltrateView.m */; };
        2D2B3AE721CC93C400F77F60 /* OrderFiltrateView.xib in Resources */ = {isa = PBXBuildFile; fileRef = 2D2B3AE621CC93C400F77F60 /* OrderFiltrateView.xib */; };
        2D2B3AEE21CCD19F00F77F60 /* OrdFitCollView.m in Sources */ = {isa = PBXBuildFile; fileRef = 2D2B3AED21CCD19F00F77F60 /* OrdFitCollView.m */; };
@@ -1225,6 +1233,32 @@
        0D2B2C732480B2E3003F27AE /* WPHTransformView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = WPHTransformView.m; sourceTree = "<group>"; };
        0D2B2C762480B519003F27AE /* SNTransformView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SNTransformView.h; sourceTree = "<group>"; };
        0D2B2C772480B519003F27AE /* SNTransformView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = SNTransformView.m; sourceTree = "<group>"; };
        0D2B2C7C24849867003F27AE /* GDTRewardVideoAdNetworkAdapterProtocol.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GDTRewardVideoAdNetworkAdapterProtocol.h; sourceTree = "<group>"; };
        0D2B2C7D24849867003F27AE /* GDTNativeExpressAdView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GDTNativeExpressAdView.h; sourceTree = "<group>"; };
        0D2B2C7E24849867003F27AE /* GDTMobBannerView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GDTMobBannerView.h; sourceTree = "<group>"; };
        0D2B2C7F24849867003F27AE /* GDTUnifiedBannerView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GDTUnifiedBannerView.h; sourceTree = "<group>"; };
        0D2B2C8024849867003F27AE /* GDTNativeAd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GDTNativeAd.h; sourceTree = "<group>"; };
        0D2B2C8124849867003F27AE /* GDTSDKConfig.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GDTSDKConfig.h; sourceTree = "<group>"; };
        0D2B2C8224849867003F27AE /* GDTBaseAdNetworkAdapterProtocol.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GDTBaseAdNetworkAdapterProtocol.h; sourceTree = "<group>"; };
        0D2B2C8324849867003F27AE /* GDTMobInterstitial.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GDTMobInterstitial.h; sourceTree = "<group>"; };
        0D2B2C8424849867003F27AE /* GDTRewardVideoAd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GDTRewardVideoAd.h; sourceTree = "<group>"; };
        0D2B2C8524849867003F27AE /* GDTSplashAd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GDTSplashAd.h; sourceTree = "<group>"; };
        0D2B2C8624849867003F27AE /* GDTNativeExpressAd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GDTNativeExpressAd.h; sourceTree = "<group>"; };
        0D2B2C8724849867003F27AE /* GDTLogoView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GDTLogoView.h; sourceTree = "<group>"; };
        0D2B2C8824849867003F27AE /* GDTMediaView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GDTMediaView.h; sourceTree = "<group>"; };
        0D2B2C8924849867003F27AE /* GDTUnifiedNativeAdView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GDTUnifiedNativeAdView.h; sourceTree = "<group>"; };
        0D2B2C8A24849867003F27AE /* GDTHybridAd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GDTHybridAd.h; sourceTree = "<group>"; };
        0D2B2C8B24849867003F27AE /* GDTUnifiedNativeAdDataObject.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GDTUnifiedNativeAdDataObject.h; sourceTree = "<group>"; };
        0D2B2C8C24849867003F27AE /* GDTSDKDefines.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GDTSDKDefines.h; sourceTree = "<group>"; };
        0D2B2C8D24849867003F27AE /* GDTUnifiedInterstitialAd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GDTUnifiedInterstitialAd.h; sourceTree = "<group>"; };
        0D2B2C8E24849867003F27AE /* libGDTMobSDK.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = libGDTMobSDK.a; sourceTree = "<group>"; };
        0D2B2C8F24849867003F27AE /* GDTRewardVideoAdNetworkConnectorProtocol.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GDTRewardVideoAdNetworkConnectorProtocol.h; sourceTree = "<group>"; };
        0D2B2C9024849867003F27AE /* GDTUnifiedNativeAd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GDTUnifiedNativeAd.h; sourceTree = "<group>"; };
        0D2B2C9124849867003F27AE /* GDTVideoConfig.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GDTVideoConfig.h; sourceTree = "<group>"; };
        0D2B2C9324849B9E003F27AE /* StoreKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = StoreKit.framework; path = System/Library/Frameworks/StoreKit.framework; sourceTree = SDKROOT; };
        0D2B2C9624849D5D003F27AE /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; };
        0D2B9A48248609B0008393FE /* OrderTitleCell.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = OrderTitleCell.h; sourceTree = "<group>"; };
        0D2B9A49248609B0008393FE /* OrderTitleCell.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = OrderTitleCell.m; sourceTree = "<group>"; };
        0D36185D243C1350005E3CD6 /* TeamDataStatisticsBodyView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TeamDataStatisticsBodyView.h; sourceTree = "<group>"; };
        0D36185E243C1350005E3CD6 /* TeamDataStatisticsBodyView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = TeamDataStatisticsBodyView.m; sourceTree = "<group>"; };
        0D3852DA247CAEBD00140E12 /* RecommendDetailController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = RecommendDetailController.h; sourceTree = "<group>"; };
@@ -1239,6 +1273,14 @@
        0D3852E9247CFEA200140E12 /* SearchDetailFilterWPHView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = SearchDetailFilterWPHView.m; sourceTree = "<group>"; };
        0D3852EC247D184600140E12 /* WPHGoodsDetailController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = WPHGoodsDetailController.h; sourceTree = "<group>"; };
        0D3852ED247D184600140E12 /* WPHGoodsDetailController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = WPHGoodsDetailController.m; sourceTree = "<group>"; };
        0D4C500724874482002E5841 /* WPHGoodsListShowController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = WPHGoodsListShowController.m; sourceTree = "<group>"; };
        0D4C500824874482002E5841 /* WPHGoodsListShowController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WPHGoodsListShowController.h; sourceTree = "<group>"; };
        0D4C500924874483002E5841 /* WPHGoodsListController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WPHGoodsListController.h; sourceTree = "<group>"; };
        0D4C500A24874484002E5841 /* WPHGoodsListController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = WPHGoodsListController.m; sourceTree = "<group>"; };
        0D4C500D24874731002E5841 /* SNGoodsListController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SNGoodsListController.m; sourceTree = "<group>"; };
        0D4C500E24874732002E5841 /* SNGoodsListShowController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SNGoodsListShowController.h; sourceTree = "<group>"; };
        0D4C500F24874732002E5841 /* SNGoodsListController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SNGoodsListController.h; sourceTree = "<group>"; };
        0D4C501024874733002E5841 /* SNGoodsListShowController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SNGoodsListShowController.m; sourceTree = "<group>"; };
        0D4F8AF8247B5D050033DABB /* CZBMapNavgation.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CZBMapNavgation.m; sourceTree = "<group>"; };
        0D4F8AF9247B5D050033DABB /* WHExteriorNavicationController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = WHExteriorNavicationController.m; sourceTree = "<group>"; };
        0D4F8AFA247B5D050033DABB /* CZBInfoManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CZBInfoManager.h; sourceTree = "<group>"; };
@@ -1271,6 +1313,8 @@
        0D60F88E23F52CBD0076630E /* ShareMainImageView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = ShareMainImageView.m; sourceTree = "<group>"; };
        0D60F89023F534250076630E /* QuickShareBottomView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = QuickShareBottomView.h; sourceTree = "<group>"; };
        0D60F89123F534250076630E /* QuickShareBottomView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = QuickShareBottomView.m; sourceTree = "<group>"; };
        0D81C2BE2488D77A00BE8E8B /* SearchDetailFilterSNView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SearchDetailFilterSNView.h; sourceTree = "<group>"; };
        0D81C2BF2488D77A00BE8E8B /* SearchDetailFilterSNView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = SearchDetailFilterSNView.m; sourceTree = "<group>"; };
        0D8C2B902466A061009ABF50 /* MyTeamNavView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MyTeamNavView.h; sourceTree = "<group>"; };
        0D8C2B912466A061009ABF50 /* MyTeamNavView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = MyTeamNavView.m; sourceTree = "<group>"; };
        0DC82665246CE85800E89D1B /* WithdrawalRecordController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = WithdrawalRecordController.h; sourceTree = "<group>"; };
@@ -2776,9 +2820,6 @@
        2D2AF4A322E8597C00F38DFF /* JavaScriptCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = JavaScriptCore.framework; path = System/Library/Frameworks/JavaScriptCore.framework; sourceTree = SDKROOT; };
        2D2B04FA229D15CA007CEF78 /* TKPhoneTextField.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TKPhoneTextField.h; sourceTree = "<group>"; };
        2D2B04FB229D15CB007CEF78 /* TKPhoneTextField.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = TKPhoneTextField.m; sourceTree = "<group>"; };
        2D2B3ADE21CC777A00F77F60 /* NewOrderTopCell.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = NewOrderTopCell.h; sourceTree = "<group>"; };
        2D2B3ADF21CC777A00F77F60 /* NewOrderTopCell.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = NewOrderTopCell.m; sourceTree = "<group>"; };
        2D2B3AE021CC777A00F77F60 /* NewOrderTopCell.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = NewOrderTopCell.xib; sourceTree = "<group>"; };
        2D2B3AE321CC939C00F77F60 /* OrderFiltrateView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = OrderFiltrateView.h; sourceTree = "<group>"; };
        2D2B3AE421CC939C00F77F60 /* OrderFiltrateView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = OrderFiltrateView.m; sourceTree = "<group>"; };
        2D2B3AE621CC93C400F77F60 /* OrderFiltrateView.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = OrderFiltrateView.xib; sourceTree = "<group>"; };
@@ -3392,22 +3433,31 @@
            isa = PBXFrameworksBuildPhase;
            buildActionMask = 2147483647;
            files = (
                0D2B2C9524849BCC003F27AE /* WebKit.framework in Frameworks */,
                187CF2DD1E694D270071421D /* SystemConfiguration.framework in Frameworks */,
                18325EB01F1C98C800432A51 /* Security.framework in Frameworks */,
                18325EB61F1C98F300432A51 /* QuartzCore.framework in Frameworks */,
                187CF2DF1E694D410071421D /* libz.tbd in Frameworks */,
                18F6653920859E350052997A /* libxml2.tbd in Frameworks */,
                0D2B2C9724849D5D003F27AE /* Foundation.framework in Frameworks */,
                2D7E1DA821466E6200BB6C7B /* AVFoundation.framework in Frameworks */,
                187CF2DB1E694D1D0071421D /* CoreTelephony.framework in Frameworks */,
                18325EB81F1C98FC00432A51 /* CoreLocation.framework in Frameworks */,
                18325EB21F1C98D700432A51 /* CoreGraphics.framework in Frameworks */,
                2D0BEEAA22E82FA900FD7009 /* AdSupport.framework in Frameworks */,
                0D2B2C9224849867003F27AE /* libGDTMobSDK.a in Frameworks */,
                0D2B2C9424849B9E003F27AE /* StoreKit.framework in Frameworks */,
                2D19D3502334DACF00105A66 /* CoreMotion.framework in Frameworks */,
                2D19D34E2334DAAC00105A66 /* libc++.tbd in Frameworks */,
                2D2AF4A422E8597E00F38DFF /* JavaScriptCore.framework in Frameworks */,
                2D0BEEBC22E83A2700FD7009 /* JDSDK.framework in Frameworks */,
                187CF2DB1E694D1D0071421D /* CoreTelephony.framework in Frameworks */,
                18325EB81F1C98FC00432A51 /* CoreLocation.framework in Frameworks */,
                2D0BEEAC22E82FD800FD7009 /* MessageUI.framework in Frameworks */,
                187CF2DD1E694D270071421D /* SystemConfiguration.framework in Frameworks */,
                2D0BEEAA22E82FA900FD7009 /* AdSupport.framework in Frameworks */,
                2D10CA5821D625AB00199E2D /* Accelerate.framework in Frameworks */,
                2D10CA5621D616CA00199E2D /* CoreMedia.framework in Frameworks */,
                2D10CA5421D616BE00199E2D /* CoreVideo.framework in Frameworks */,
                2D7E1DAA21466E8700BB6C7B /* QuickLook.framework in Frameworks */,
                2D138BD92236401C0071D71C /* libopencore-amrwb.a in Frameworks */,
                2D138BCD2236401C0071D71C /* MeiQiaSDK.framework in Frameworks */,
                2D7E1DA821466E6200BB6C7B /* AVFoundation.framework in Frameworks */,
                2D7E1DA621466E5400BB6C7B /* libicucore.tbd in Frameworks */,
                2D7E1DA421466E4600BB6C7B /* libsqlite3.tbd in Frameworks */,
                2D138BDA2236401C0071D71C /* libopencore-amrnb.a in Frameworks */,
@@ -3415,14 +3465,9 @@
                183FD266209AC0B600903765 /* UserNotificationsUI.framework in Frameworks */,
                18F6653D20859E650052997A /* CFNetwork.framework in Frameworks */,
                18F6653B20859E5A0052997A /* MobileCoreServices.framework in Frameworks */,
                187CF2DF1E694D410071421D /* libz.tbd in Frameworks */,
                18F6653920859E350052997A /* libxml2.tbd in Frameworks */,
                18F6653720859E280052997A /* libresolv.tbd in Frameworks */,
                18F6653520859E040052997A /* UserNotifications.framework in Frameworks */,
                18325EB61F1C98F300432A51 /* QuartzCore.framework in Frameworks */,
                18325EB41F1C98E800432A51 /* OpenGLES.framework in Frameworks */,
                18325EB21F1C98D700432A51 /* CoreGraphics.framework in Frameworks */,
                18325EB01F1C98C800432A51 /* Security.framework in Frameworks */,
                10CEDCB675FF4585204E4DCD /* Pods_MIduo.framework in Frameworks */,
            );
            runOnlyForDeploymentPostprocessing = 0;
@@ -3559,6 +3604,10 @@
            isa = PBXGroup;
            children = (
                0D2B2C752480B4F8003F27AE /* View */,
                0D4C500E24874732002E5841 /* SNGoodsListShowController.h */,
                0D4C501024874733002E5841 /* SNGoodsListShowController.m */,
                0D4C500F24874732002E5841 /* SNGoodsListController.h */,
                0D4C500D24874731002E5841 /* SNGoodsListController.m */,
                0D2B2C6F247E1C30003F27AE /* SNGoodsDetailController.h */,
                0D2B2C70247E1C30003F27AE /* SNGoodsDetailController.m */,
            );
@@ -3572,6 +3621,43 @@
                0D2B2C772480B519003F27AE /* SNTransformView.m */,
            );
            path = View;
            sourceTree = "<group>";
        };
        0D2B2C7A248497AB003F27AE /* GDT */ = {
            isa = PBXGroup;
            children = (
                0D2B2C7B24849867003F27AE /* lib */,
            );
            path = GDT;
            sourceTree = "<group>";
        };
        0D2B2C7B24849867003F27AE /* lib */ = {
            isa = PBXGroup;
            children = (
                0D2B2C7C24849867003F27AE /* GDTRewardVideoAdNetworkAdapterProtocol.h */,
                0D2B2C7D24849867003F27AE /* GDTNativeExpressAdView.h */,
                0D2B2C7E24849867003F27AE /* GDTMobBannerView.h */,
                0D2B2C7F24849867003F27AE /* GDTUnifiedBannerView.h */,
                0D2B2C8024849867003F27AE /* GDTNativeAd.h */,
                0D2B2C8124849867003F27AE /* GDTSDKConfig.h */,
                0D2B2C8224849867003F27AE /* GDTBaseAdNetworkAdapterProtocol.h */,
                0D2B2C8324849867003F27AE /* GDTMobInterstitial.h */,
                0D2B2C8424849867003F27AE /* GDTRewardVideoAd.h */,
                0D2B2C8524849867003F27AE /* GDTSplashAd.h */,
                0D2B2C8624849867003F27AE /* GDTNativeExpressAd.h */,
                0D2B2C8724849867003F27AE /* GDTLogoView.h */,
                0D2B2C8824849867003F27AE /* GDTMediaView.h */,
                0D2B2C8924849867003F27AE /* GDTUnifiedNativeAdView.h */,
                0D2B2C8A24849867003F27AE /* GDTHybridAd.h */,
                0D2B2C8B24849867003F27AE /* GDTUnifiedNativeAdDataObject.h */,
                0D2B2C8C24849867003F27AE /* GDTSDKDefines.h */,
                0D2B2C8D24849867003F27AE /* GDTUnifiedInterstitialAd.h */,
                0D2B2C8E24849867003F27AE /* libGDTMobSDK.a */,
                0D2B2C8F24849867003F27AE /* GDTRewardVideoAdNetworkConnectorProtocol.h */,
                0D2B2C9024849867003F27AE /* GDTUnifiedNativeAd.h */,
                0D2B2C9124849867003F27AE /* GDTVideoConfig.h */,
            );
            path = lib;
            sourceTree = "<group>";
        };
        0D3852DD247CB03700140E12 /* RecommendDetail */ = {
@@ -3599,6 +3685,10 @@
            isa = PBXGroup;
            children = (
                0D2B2C69247DFCEE003F27AE /* Cell */,
                0D4C500824874482002E5841 /* WPHGoodsListShowController.h */,
                0D4C500724874482002E5841 /* WPHGoodsListShowController.m */,
                0D4C500924874483002E5841 /* WPHGoodsListController.h */,
                0D4C500A24874484002E5841 /* WPHGoodsListController.m */,
                0D3852EC247D184600140E12 /* WPHGoodsDetailController.h */,
                0D3852ED247D184600140E12 /* WPHGoodsDetailController.m */,
            );
@@ -5267,6 +5357,7 @@
        18AC538B1E5A9876006D1FDF /* lib */ = {
            isa = PBXGroup;
            children = (
                0D2B2C7A248497AB003F27AE /* GDT */,
                0D4F8AF7247B5D050033DABB /* CZBWebManager */,
                2DB5ED3D238516E4009B498C /* Player */,
                2D316B6F22D5C34200707CF3 /* FloatingWindow */,
@@ -6937,6 +7028,8 @@
            children = (
                0D3852E8247CFEA200140E12 /* SearchDetailFilterWPHView.h */,
                0D3852E9247CFEA200140E12 /* SearchDetailFilterWPHView.m */,
                0D81C2BE2488D77A00BE8E8B /* SearchDetailFilterSNView.h */,
                0D81C2BF2488D77A00BE8E8B /* SearchDetailFilterSNView.m */,
                2D223C3622E0478200AF183E /* SearchDetailFilterView.h */,
                2D223C3722E0478200AF183E /* SearchDetailFilterView.m */,
                2D2BDCF222E1580A001D3F6A /* SearchDetailConditionView.h */,
@@ -8322,9 +8415,8 @@
                2DC86F1E21CB976900AABF53 /* NewOrderCell.h */,
                2DC86F1F21CB976900AABF53 /* NewOrderCell.m */,
                2DC86F2021CB976900AABF53 /* NewOrderCell.xib */,
                2D2B3ADE21CC777A00F77F60 /* NewOrderTopCell.h */,
                2D2B3ADF21CC777A00F77F60 /* NewOrderTopCell.m */,
                2D2B3AE021CC777A00F77F60 /* NewOrderTopCell.xib */,
                0D2B9A48248609B0008393FE /* OrderTitleCell.h */,
                0D2B9A49248609B0008393FE /* OrderTitleCell.m */,
            );
            path = cell;
            sourceTree = "<group>";
@@ -8468,6 +8560,8 @@
        3EB2FCBC06FCFF59022C5ECD /* Frameworks */ = {
            isa = PBXGroup;
            children = (
                0D2B2C9624849D5D003F27AE /* Foundation.framework */,
                0D2B2C9324849B9E003F27AE /* StoreKit.framework */,
                2D19D34F2334DACF00105A66 /* CoreMotion.framework */,
                2D19D34D2334DAAC00105A66 /* libc++.tbd */,
                2D2AF4A322E8597C00F38DFF /* JavaScriptCore.framework */,
@@ -8618,7 +8712,6 @@
                2D2D64E722CC7D9400A9E9F8 /* BuyCheapGoodsHeaderTableViewCell.xib in Resources */,
                18E5ADFB1E5EC8B3009F85E0 /* SettingViewController.xib in Resources */,
                2D2B3AE721CC93C400F77F60 /* OrderFiltrateView.xib in Resources */,
                2D2B3AE221CC777A00F77F60 /* NewOrderTopCell.xib in Resources */,
                2DCBE41E21CDEFE4004FC85B /* StatisticsView.xib in Resources */,
                1845C440209C562D009C639B /* COPYING in Resources */,
                2D15471822B788B9006B8A81 /* SpreadGDDetailTableViewCell.xib in Resources */,
@@ -9066,7 +9159,6 @@
                2D15471322B78793006B8A81 /* SpreadGoodsHeaderTableViewCell.m in Sources */,
                2D12208122EA9A5700D03A87 /* JDGoodsListShowController.m in Sources */,
                1845C45A209C562D009C639B /* ZXGeoParsedResult.m in Sources */,
                2D2B3AE121CC777A00F77F60 /* NewOrderTopCell.m in Sources */,
                2D138C572236401D0071D71C /* MQMessageFormInputView.m in Sources */,
                1845C512209C562E009C639B /* ZXQRCode.m in Sources */,
                2D33CF182272DCEF001ADD06 /* BrandRebateDetailTwoCell.m in Sources */,
@@ -9126,6 +9218,7 @@
                2D75D3D421ABD055004AED42 /* UIView+AZGradient.m in Sources */,
                2D138BF62236401D0071D71C /* MQEventMessageFactory.m in Sources */,
                2D0BDCE821C0F799009F5858 /* ShareRecordgoodsModel.m in Sources */,
                0D2B9A4A248609B0008393FE /* OrderTitleCell.m in Sources */,
                2D0FAA0A21B66562001F12A6 /* SingleFigureShareController.m in Sources */,
                0DDEA0522422147700A1DACE /* MineOneVIew.m in Sources */,
                2D78347B215CBEB300D72B3F /* NewGoodsShareView.m in Sources */,
@@ -9162,6 +9255,7 @@
                1845C4AF209C562E009C639B /* ZXMaxiCodeReader.m in Sources */,
                18966CA720AD7F6A004CD297 /* GDDetailTableViewCell.m in Sources */,
                2D11E82522488CBC00298555 /* WINCopyLabel.m in Sources */,
                0D4C500B24874484002E5841 /* WPHGoodsListShowController.m in Sources */,
                2D138C302236401D0071D71C /* MQPreChatFormViewModel.m in Sources */,
                1845C4F0209C562E009C639B /* ZXPDF417CodewordDecoder.m in Sources */,
                2D0A91A121AFBEDD0001AA13 /* MineTeamModel.m in Sources */,
@@ -9405,6 +9499,7 @@
                2DB8DAA121241CAE0034CD7C /* InviteOneCell.m in Sources */,
                2D138C0C2236401D0071D71C /* MQImageMessageCell.m in Sources */,
                2D138BFE2236401D0071D71C /* MQBotMenuAnswerCellModel.m in Sources */,
                0D4C500C24874484002E5841 /* WPHGoodsListController.m in Sources */,
                18D9541A20AE705C005D5D02 /* FeignGoodsDetaiViewController.m in Sources */,
                2D22585321E97B3E00A6E182 /* ThirdClassificationCell.m in Sources */,
                1845C4A1209C562E009C639B /* ZXDataMatrixDefaultPlacement.m in Sources */,
@@ -9439,6 +9534,7 @@
                1845C4E5209C562E009C639B /* ZXUPCEANExtensionSupport.m in Sources */,
                2DB5ED4623851769009B498C /* CreatShareModel.m in Sources */,
                2D57D8AB213CD87C00DCF8D1 /* HZWaitingView.m in Sources */,
                0D81C2C02488D77A00BE8E8B /* SearchDetailFilterSNView.m in Sources */,
                2D1ACC30221A8D12007A6304 /* RewardCouponsView.m in Sources */,
                2DC86F1B21CB8CDD00AABF53 /* OrderCellBottomView.m in Sources */,
                2D243D29228032E90093F1E8 /* InvoteMaterialListController.m in Sources */,
@@ -9663,6 +9759,7 @@
                1845C47B209C562D009C639B /* ZXReedSolomonEncoder.m in Sources */,
                2D5332E42154C51D00215FBE /* UIViewController+ControllerValue.m in Sources */,
                2D1AA11122DC115F0041B33E /* GoodsDetailBaseModel.m in Sources */,
                0D4C501224874733002E5841 /* SNGoodsListShowController.m in Sources */,
                2DC70BC8217D649E00F7F0B2 /* SJDynamicShareView.m in Sources */,
                18E5AE091E5EC9ED009F85E0 /* SettingTypeThreeTableViewCell.m in Sources */,
                1845C4A9209C562E009C639B /* ZXDataMatrixX12Encoder.m in Sources */,
@@ -9828,6 +9925,7 @@
                18360AFD206CBB3400F9EAB1 /* MinMessDetailViewController.m in Sources */,
                2D2C62BF22F4283100A624F3 /* RecommendHeaderView.m in Sources */,
                2D097409230E8EC700ADE6CB /* ExchangeInvitationCodeController.m in Sources */,
                0D4C501124874733002E5841 /* SNGoodsListController.m in Sources */,
            );
            runOnlyForDeploymentPostprocessing = 0;
        };
@@ -10009,6 +10107,7 @@
                    "$(PROJECT_DIR)/MIduo/数据/lib/Debug-iphoneos",
                    "$(PROJECT_DIR)/MIduo/数据/lib/GPUImage",
                    "$(PROJECT_DIR)/MIduo/数据/lib/MQ/MQChatViewController/Vendors/MLAudioRecorder/amr_en_de/lib",
                    "$(PROJECT_DIR)/MIduo/数据/lib/GDT/lib",
                );
                MARKETING_VERSION = 2.1.11;
                MiSDKRun = debug;
@@ -10143,6 +10242,7 @@
                    "$(PROJECT_DIR)/MIduo/数据/lib/Debug-iphoneos",
                    "$(PROJECT_DIR)/MIduo/数据/lib/GPUImage",
                    "$(PROJECT_DIR)/MIduo/数据/lib/MQ/MQChatViewController/Vendors/MLAudioRecorder/amr_en_de/lib",
                    "$(PROJECT_DIR)/MIduo/数据/lib/GDT/lib",
                );
                MARKETING_VERSION = 2.1.11;
                MiSDKRun = online;
MIduo.xcworkspace/xcuserdata/lrj.xcuserdatad/UserInterfaceState.xcuserstate
Binary files differ
MIduo.xcworkspace/xcuserdata/lrj.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist
@@ -3,193 +3,4 @@
   uuid = "EBEC4496-CFBF-4843-90D2-86B46B99BA17"
   type = "0"
   version = "2.0">
   <Breakpoints>
      <BreakpointProxy
         BreakpointExtensionID = "Xcode.Breakpoint.ExceptionBreakpoint">
         <BreakpointContent
            uuid = "E2C14DAB-2F92-4766-955E-E7ADE8AA22B3"
            shouldBeEnabled = "Yes"
            ignoreCount = "0"
            continueAfterRunningActions = "No"
            scope = "1"
            stopOnStyle = "0">
         </BreakpointContent>
      </BreakpointProxy>
      <BreakpointProxy
         BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
         <BreakpointContent
            uuid = "2042A6D5-29F5-400C-92D6-0D9E27430C17"
            shouldBeEnabled = "No"
            ignoreCount = "0"
            continueAfterRunningActions = "No"
            filePath = "MIduo/&#x754c;&#x9762;/&#x6211;&#x7684;/MineViewController.m"
            startingColumnNumber = "9223372036854775807"
            endingColumnNumber = "9223372036854775807"
            startingLineNumber = "1484"
            endingLineNumber = "1484"
            landmarkName = "-tableView:cellForRowAtIndexPath:"
            landmarkType = "7">
         </BreakpointContent>
      </BreakpointProxy>
      <BreakpointProxy
         BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
         <BreakpointContent
            uuid = "9A07D366-6B50-4B00-9423-93792FB5AE8C"
            shouldBeEnabled = "No"
            ignoreCount = "0"
            continueAfterRunningActions = "No"
            filePath = "MIduo/&#x754c;&#x9762;/&#x6211;&#x7684;/MineViewController.m"
            startingColumnNumber = "9223372036854775807"
            endingColumnNumber = "9223372036854775807"
            startingLineNumber = "1494"
            endingLineNumber = "1494"
            landmarkName = "-tableView:cellForRowAtIndexPath:"
            landmarkType = "7">
         </BreakpointContent>
      </BreakpointProxy>
      <BreakpointProxy
         BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
         <BreakpointContent
            uuid = "73AE1804-14F4-46A2-90BD-572E6222C906"
            shouldBeEnabled = "Yes"
            ignoreCount = "0"
            continueAfterRunningActions = "No"
            filePath = "MIduo/&#x754c;&#x9762;/&#x6211;&#x7684;/MineViewController.m"
            startingColumnNumber = "9223372036854775807"
            endingColumnNumber = "9223372036854775807"
            startingLineNumber = "1518"
            endingLineNumber = "1518"
            landmarkName = "-tableView:cellForRowAtIndexPath:"
            landmarkType = "7">
         </BreakpointContent>
      </BreakpointProxy>
      <BreakpointProxy
         BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
         <BreakpointContent
            uuid = "6911A32A-C21A-4D58-A8B8-53A08F102ABF"
            shouldBeEnabled = "No"
            ignoreCount = "0"
            continueAfterRunningActions = "No"
            filePath = "MIduo/&#x754c;&#x9762;/&#x6211;&#x7684;/MineViewController.m"
            startingColumnNumber = "9223372036854775807"
            endingColumnNumber = "9223372036854775807"
            startingLineNumber = "1806"
            endingLineNumber = "1806"
            landmarkName = "-tableView:heightForRowAtIndexPath:"
            landmarkType = "7">
         </BreakpointContent>
      </BreakpointProxy>
      <BreakpointProxy
         BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
         <BreakpointContent
            uuid = "B20F5484-4AEE-4E8E-841D-56C19BA7860B"
            shouldBeEnabled = "No"
            ignoreCount = "0"
            continueAfterRunningActions = "No"
            filePath = "MIduo/&#x754c;&#x9762;/&#x6211;&#x7684;/MineViewController.m"
            startingColumnNumber = "9223372036854775807"
            endingColumnNumber = "9223372036854775807"
            startingLineNumber = "1807"
            endingLineNumber = "1807"
            landmarkName = "-tableView:heightForRowAtIndexPath:"
            landmarkType = "7">
         </BreakpointContent>
      </BreakpointProxy>
      <BreakpointProxy
         BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
         <BreakpointContent
            uuid = "1F3B03CE-DD1B-462A-A21D-37AE929B75B5"
            shouldBeEnabled = "Yes"
            ignoreCount = "0"
            continueAfterRunningActions = "No"
            filePath = "MIduo/&#x754c;&#x9762;/&#x6211;&#x7684;/MyTeam/TeamSearch/TeamSearchFirstController.m"
            startingColumnNumber = "9223372036854775807"
            endingColumnNumber = "9223372036854775807"
            startingLineNumber = "154"
            endingLineNumber = "154"
            landmarkName = "-loadDataSource:"
            landmarkType = "7">
         </BreakpointContent>
      </BreakpointProxy>
      <BreakpointProxy
         BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
         <BreakpointContent
            uuid = "D07D8A82-EAAF-4C52-9F0F-EC9EF903972D"
            shouldBeEnabled = "Yes"
            ignoreCount = "0"
            continueAfterRunningActions = "No"
            filePath = "MIduo/&#x6570;&#x636e;/ALWebView/ShonpingShareViewController.m"
            startingColumnNumber = "9223372036854775807"
            endingColumnNumber = "9223372036854775807"
            startingLineNumber = "1237"
            endingLineNumber = "1237"
            landmarkName = "-webView:decidePolicyForNavigationAction:decisionHandler:"
            landmarkType = "7">
         </BreakpointContent>
      </BreakpointProxy>
      <BreakpointProxy
         BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
         <BreakpointContent
            uuid = "0AC59403-C0FD-485A-9AA3-E89ED7E1E243"
            shouldBeEnabled = "Yes"
            ignoreCount = "0"
            continueAfterRunningActions = "No"
            filePath = "MIduo/&#x6570;&#x636e;/ALWebView/ShonpingShareViewController.m"
            startingColumnNumber = "9223372036854775807"
            endingColumnNumber = "9223372036854775807"
            startingLineNumber = "1254"
            endingLineNumber = "1254"
            landmarkName = "-webView:decidePolicyForNavigationAction:decisionHandler:"
            landmarkType = "7">
         </BreakpointContent>
      </BreakpointProxy>
      <BreakpointProxy
         BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
         <BreakpointContent
            uuid = "EA002B50-BD55-4F55-AA49-313BA0A3AE1F"
            shouldBeEnabled = "Yes"
            ignoreCount = "0"
            continueAfterRunningActions = "No"
            filePath = "MIduo/&#x6570;&#x636e;/ALWebView/ShonpingShareViewController.m"
            startingColumnNumber = "9223372036854775807"
            endingColumnNumber = "9223372036854775807"
            startingLineNumber = "1246"
            endingLineNumber = "1246"
            landmarkName = "-webView:decidePolicyForNavigationAction:decisionHandler:"
            landmarkType = "7">
         </BreakpointContent>
      </BreakpointProxy>
      <BreakpointProxy
         BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
         <BreakpointContent
            uuid = "691A85CE-3137-4DFB-AFF4-8A63E18D96E7"
            shouldBeEnabled = "Yes"
            ignoreCount = "0"
            continueAfterRunningActions = "No"
            filePath = "MIduo/&#x6570;&#x636e;/ALWebView/ShonpingShareViewController.m"
            startingColumnNumber = "9223372036854775807"
            endingColumnNumber = "9223372036854775807"
            startingLineNumber = "1229"
            endingLineNumber = "1229"
            landmarkName = "-webView:decidePolicyForNavigationAction:decisionHandler:"
            landmarkType = "7">
         </BreakpointContent>
      </BreakpointProxy>
      <BreakpointProxy
         BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
         <BreakpointContent
            uuid = "8366C1DA-5AB2-419F-942D-A090755A6512"
            shouldBeEnabled = "Yes"
            ignoreCount = "0"
            continueAfterRunningActions = "No"
            filePath = "MIduo/&#x6570;&#x636e;/lib/CZBWebManager/CZBInfoManager.m"
            startingColumnNumber = "9223372036854775807"
            endingColumnNumber = "9223372036854775807"
            startingLineNumber = "66"
            endingLineNumber = "66"
            landmarkName = "-userContentController:didReceiveScriptMessage:"
            landmarkType = "7">
         </BreakpointContent>
      </BreakpointProxy>
   </Breakpoints>
</Bucket>
MIduo/AppDelegate.m
@@ -36,9 +36,12 @@
#import <JDSDK/JDKeplerSDK.h>
#import <IQKeyboardManager/IQKeyboardManager.h>
#import <GDTSDKConfig.h>
#import "GDTSDKConfig.h"
#import "GDTSplashAd.h"
@interface AppDelegate ()<UNUserNotificationCenterDelegate,UITabBarControllerDelegate,WXApiDelegate, InviteValidationViewDelegate>
@interface AppDelegate ()<UNUserNotificationCenterDelegate,UITabBarControllerDelegate,WXApiDelegate,
InviteValidationViewDelegate, GDTSplashAdDelegate>
@property (nonatomic,strong)UITabBarController *tabBarController;
@property (nonatomic, nullable, strong) XHTabBarController *tabbar;
@@ -52,6 +55,11 @@
@property (nonatomic, nullable, strong) InviteValidationView *inviteValidationView;
@property (nonatomic, nullable, strong) NSString *wxKey;
@property (strong, nonatomic) GDTSplashAd *splash;
@property (retain, nonatomic) UIView *bottomView;
@property (nonatomic, assign) BOOL isSplash;
@end
@@ -88,6 +96,7 @@
    // é˜¿é‡Œç™¾å·
    [self setAliTrade];
    [self setJDConfig];
    [self registerGDT];
    // å¾®ä¿¡ç™»å½•
    [self WeiXinChatLogin];
    // meiqie
@@ -98,6 +107,8 @@
    [self Configuration];
    // å‹ç›Ÿ
    [self setUmeng];
    [self fetchSplashShow];
    
    [self isJumpTaobao];
    
@@ -168,10 +179,10 @@
}
//注册广点通
- (void)registerGDT {
//    BOOL result = [GDTSDKConfig registerAppId:kGDTMobSDKAppId];
//    if (result) {
//        NSLog(@"注册成功");
//    }
    BOOL result = [GDTSDKConfig registerAppId:@"1110527348"];
    if (result) {
    }
}
- (void)configureAppirater {
@@ -202,6 +213,27 @@
            // [[UIApplication sharedApplication] openURL:[NSURL URLWithString:nsStringToOpen]];
        }
    });
}
- (void)fetchSplashShow {
    NSMutableDictionary *params = [[NSMutableDictionary alloc] init];
    if ([ALUserInfoServiceManger fetchUID]) {
        [params setObject:[ALUserInfoServiceManger fetchUID] forKey:@"uid"];
    }
    @weakify(self)
    [[ALNetWorking startInterface] Post:[NSString stringWithFormat:@"%@/%@",domainHTTP2, @"config/getShowAd"] param:params timeOut:3 success:^(NSDictionary *object) {
        @strongify(self)
        @weakify(self)
        dispatch_async(dispatch_get_main_queue(), ^{
            @strongify(self)
            if (object && ![object isEqual:[NSNull null]]) {
                self.isSplash = [object[@"data"][@"show"] boolValue];
            }
        });
    } fail:^(id object) {
    }];
}
- (void)setupHomeNavData {
@@ -258,7 +290,77 @@
    } fail:^(id object) {}];
}
- (void)splashAdSuccessPresentScreen:(GDTSplashAd *)splashAd{
    [YTHsharedManger startManger].isShowSplash = YES;
}
/**
 *  å¼€å±å¹¿å‘Šç´ æåŠ è½½æˆåŠŸ
 */
- (void)splashAdDidLoad:(GDTSplashAd *)splashAd{
    [YTHsharedManger startManger].isShowSplash = YES;
}
-(void)splashAdClicked:(GDTSplashAd *)splashAd {
}
/**
 *  å¼€å±å¹¿å‘Šå±•示失败
 */
- (void)splashAdFailToPresent:(GDTSplashAd *)splashAd withError:(NSError *)error {
     [YTHsharedManger startManger].isShowSplash = NO;
    if (![self isFirstSpaceClosed]) {
        [[NSNotificationCenter defaultCenter] postNotificationName:@"splashAdClosed" object:nil];
    }
}
/**
 *  å¼€å±å¹¿å‘Šå…³é—­å›žè°ƒ
 */
- (void)splashAdClosed:(GDTSplashAd *)splashAd {
     [YTHsharedManger startManger].isShowSplash = NO;
    if (![self isFirstSpaceClosed]) {
        [[NSNotificationCenter defaultCenter] postNotificationName:@"splashAdClosed" object:nil];
    }
}
- (BOOL)isFirstSpaceClosed {
    //获取当前版本号
    NSDictionary *infoDic = [[NSBundle mainBundle] infoDictionary];
    NSString *currentAppVersion = infoDic[@"CFBundleShortVersionString"];
    //获取上次启动应用保存的appVersion
    NSString *version = [[NSUserDefaults standardUserDefaults] objectForKey:@"isFirstSpaceClosed"];
    //版本升级或首次登录
    if (version == nil || ![version isEqualToString:currentAppVersion]) {
        [[NSUserDefaults standardUserDefaults] setObject:currentAppVersion forKey:@"isFirstSpaceClosed"];
        [[NSUserDefaults standardUserDefaults] synchronize];
        return YES;
    } else {
        return NO;
    }
}
- (BOOL)isFirstPopSplash {
    //获取当前版本号
    NSDictionary *infoDic = [[NSBundle mainBundle] infoDictionary];
    NSString *currentAppVersion = infoDic[@"CFBundleShortVersionString"];
    //获取上次启动应用保存的appVersion
    NSString *version = [[NSUserDefaults standardUserDefaults] objectForKey:@"isFirstPopSplash"];
    //版本升级或首次登录
    if (version == nil || ![version isEqualToString:currentAppVersion]) {
        [[NSUserDefaults standardUserDefaults] setObject:currentAppVersion forKey:@"isFirstPopSplash"];
        [[NSUserDefaults standardUserDefaults] synchronize];
        return YES;
    } else {
        return NO;
    }
}
- (void)loadViewsWithBor:(BOOL)bor {
    NSArray *controllerArray = @[@"NEWHomeViewController",@"DynamicViewMainController",@"BrandRebateMainController",@"MessageMainController",@"NewMineController"];
    //title数组
    NSArray *titleArray = @[@"首页",@"动态",@"品牌返利",@"消息",@"我的"];
@@ -279,6 +381,10 @@
    
    [LaunchIntroductionView sharedWithImages:@[@"launchIntroduction_guidepage_one",@"launchIntroduction_guidepage_two",@"launchIntroduction_guidepage_three"] buttonImage:nil buttonFrame:CGRectMake((SCREEN_WIDTH-roundf(140.0/375.0*SCREEN_WIDTH))/2,SCREEN_HEIGHT - (((IS_IPHONE_X)?53:33)+40), roundf(140.0/375.0*SCREEN_WIDTH), 40)];
    
    if (![self isFirstPopSplash] && _isSplash) {
         [self loadAd];
    }
    NSDictionary *dic = [[NSUserDefaults standardUserDefaults] objectForKey:@"messageRedPoint"];
    if (dic) {
        if(![NSNumber numberWithInteger:[dic[@"redPoindt"] integerValue]].boolValue){
@@ -290,6 +396,58 @@
    }
}
- (void)loadAd {
    self.splash = [[GDTSplashAd alloc] initWithPlacementId:@"8051816313522939"];
    _splash.delegate = self;//设置代理
    UIImageView *imageview = [[UIImageView alloc] init];
    imageview.image = [UIImage imageNamed:@"splash_logo"];
    CGFloat  viewHeight = 0.0;
    if (SCREEN_WIDTH == 375.0f) {
        UIImage *image = [UIImage imageNamed:@"splash_s"];
        _splash.backgroundImage = image;
        viewHeight = 100;
    } else {
        UIImage *image = [UIImage imageNamed:@"splash_ps"];
        _splash.backgroundImage = image;
        viewHeight = 100;
    }
    if (IS_IPHONE_X) {
        UIImage *image = [UIImage imageNamed:@"splash_x"];
        _splash.backgroundImage = image;
        viewHeight = 105;
    }
    _splash.fetchDelay = 5; //开屏拉取的时间,超时则放弃展示
    _bottomView = [[UIView alloc]initWithFrame:CGRectMake(0, SCREEN_HEIGHT - viewHeight, SCREEN_WIDTH, viewHeight)];
    [_bottomView addSubview:imageview];
    UILabel *label = [[UILabel alloc] init];
    label.text = @"Copyright Â© 2020 é‡åº†å¿«çœç§‘技有限公司";
    label.textColor = UICOLOR_FROM_RGB(0xFF1753, 1.0);
    label.textAlignment = NSTextAlignmentCenter;
    label.font = [UIFont systemFontOfSize:10];
    [_bottomView addSubview:label];
    imageview.sd_layout.centerXEqualToView(_bottomView).topSpaceToView(_bottomView,24).widthIs(130).heightIs(33.5);
    label.sd_layout.centerXEqualToView(_bottomView).topSpaceToView(imageview,17.5).widthIs(200).heightIs(11);
     _bottomView.backgroundColor = [UIColor whiteColor];
    UIView *loadView = [[UIView alloc]initWithFrame:CGRectMake(0, 0, SCREEN_WIDTH, viewHeight)];
    loadView.backgroundColor = [UIColor clearColor];
    [_splash loadAdAndShowInWindow:self.window withBottomView:_bottomView];
}
- (void)setupSuspensionView {
    static dispatch_once_t onceToken;
    dispatch_once(&onceToken, ^{
MIduo/Assets.xcassets/AppIcon.appiconset/Contents.json
@@ -1,80 +1,80 @@
{
  "images" : [
    {
      "size" : "20x20",
      "idiom" : "iphone",
      "filename" : "icon-20@2x.png",
      "scale" : "2x"
      "idiom" : "iphone",
      "scale" : "2x",
      "size" : "20x20"
    },
    {
      "size" : "20x20",
      "idiom" : "iphone",
      "filename" : "icon-20@3x.png",
      "scale" : "3x"
      "idiom" : "iphone",
      "scale" : "3x",
      "size" : "20x20"
    },
    {
      "size" : "29x29",
      "idiom" : "iphone",
      "filename" : "icon-29.png",
      "scale" : "1x"
      "idiom" : "iphone",
      "scale" : "1x",
      "size" : "29x29"
    },
    {
      "size" : "29x29",
      "idiom" : "iphone",
      "filename" : "icon-29@2x.png",
      "scale" : "2x"
      "idiom" : "iphone",
      "scale" : "2x",
      "size" : "29x29"
    },
    {
      "size" : "29x29",
      "idiom" : "iphone",
      "filename" : "icon-29@3x.png",
      "scale" : "3x"
      "idiom" : "iphone",
      "scale" : "3x",
      "size" : "29x29"
    },
    {
      "size" : "40x40",
      "idiom" : "iphone",
      "filename" : "icon-40@2x.png",
      "scale" : "2x"
      "idiom" : "iphone",
      "scale" : "2x",
      "size" : "40x40"
    },
    {
      "size" : "40x40",
      "idiom" : "iphone",
      "filename" : "icon-40@3x.png",
      "scale" : "3x"
      "idiom" : "iphone",
      "scale" : "3x",
      "size" : "40x40"
    },
    {
      "size" : "57x57",
      "idiom" : "iphone",
      "filename" : "icon-57.png",
      "scale" : "1x"
      "idiom" : "iphone",
      "scale" : "1x",
      "size" : "57x57"
    },
    {
      "size" : "57x57",
      "idiom" : "iphone",
      "filename" : "icon-57@2x.png",
      "scale" : "2x"
      "idiom" : "iphone",
      "scale" : "2x",
      "size" : "57x57"
    },
    {
      "size" : "60x60",
      "idiom" : "iphone",
      "filename" : "icon-60@2x.png",
      "scale" : "2x"
    },
    {
      "size" : "60x60",
      "idiom" : "iphone",
      "filename" : "icon-60@3x.png",
      "scale" : "3x"
      "scale" : "2x",
      "size" : "60x60"
    },
    {
      "size" : "1024x1024",
      "idiom" : "ios-marketing",
      "filename" : "icon-60@3x.png",
      "idiom" : "iphone",
      "scale" : "3x",
      "size" : "60x60"
    },
    {
      "filename" : "icon-1024.png",
      "scale" : "1x"
      "idiom" : "ios-marketing",
      "scale" : "1x",
      "size" : "1024x1024"
    }
  ],
  "info" : {
    "version" : 1,
    "author" : "xcode"
    "author" : "xcode",
    "version" : 1
  }
}
}
MIduo/Assets.xcassets/AppIcon.appiconset/icon-1024.png

MIduo/Assets.xcassets/AppIcon.appiconset/icon-20@2x.png

MIduo/Assets.xcassets/AppIcon.appiconset/icon-20@3x.png

MIduo/Assets.xcassets/AppIcon.appiconset/icon-29.png

MIduo/Assets.xcassets/AppIcon.appiconset/icon-29@2x.png

MIduo/Assets.xcassets/AppIcon.appiconset/icon-29@3x.png

MIduo/Assets.xcassets/AppIcon.appiconset/icon-40@2x.png

MIduo/Assets.xcassets/AppIcon.appiconset/icon-40@3x.png

MIduo/Assets.xcassets/AppIcon.appiconset/icon-57.png

MIduo/Assets.xcassets/AppIcon.appiconset/icon-57@2x.png

MIduo/Assets.xcassets/AppIcon.appiconset/icon-60@2x.png

MIduo/Assets.xcassets/AppIcon.appiconset/icon-60@3x.png

MIduo/Assets.xcassets/LaunchImage.launchimage/Contents.json
@@ -2,161 +2,161 @@
  "images" : [
    {
      "extent" : "full-screen",
      "filename" : "启动图1125x2436@2x.png",
      "idiom" : "iphone",
      "subtype" : "2436h",
      "filename" : "启动图 1125x2436 æ‹·è´@2x.png",
      "minimum-system-version" : "11.0",
      "orientation" : "portrait",
      "scale" : "3x"
      "scale" : "3x",
      "subtype" : "2436h"
    },
    {
      "orientation" : "landscape",
      "idiom" : "iphone",
      "extent" : "full-screen",
      "idiom" : "iphone",
      "minimum-system-version" : "11.0",
      "subtype" : "2436h",
      "scale" : "3x"
      "orientation" : "landscape",
      "scale" : "3x",
      "subtype" : "2436h"
    },
    {
      "extent" : "full-screen",
      "filename" : "启动图1242x2208@2x.png",
      "idiom" : "iphone",
      "subtype" : "736h",
      "filename" : "启动图 1242x2208 æ‹·è´@2x.png",
      "minimum-system-version" : "8.0",
      "orientation" : "portrait",
      "scale" : "3x"
      "scale" : "3x",
      "subtype" : "736h"
    },
    {
      "orientation" : "landscape",
      "idiom" : "iphone",
      "extent" : "full-screen",
      "idiom" : "iphone",
      "minimum-system-version" : "8.0",
      "subtype" : "736h",
      "scale" : "3x"
      "orientation" : "landscape",
      "scale" : "3x",
      "subtype" : "736h"
    },
    {
      "extent" : "full-screen",
      "filename" : "启动图750x1334@2x.png",
      "idiom" : "iphone",
      "subtype" : "667h",
      "filename" : "启动图  750x1334 æ‹·è´@2x.png",
      "minimum-system-version" : "8.0",
      "orientation" : "portrait",
      "scale" : "2x"
    },
    {
      "orientation" : "portrait",
      "idiom" : "iphone",
      "extent" : "full-screen",
      "minimum-system-version" : "7.0",
      "scale" : "2x"
      "scale" : "2x",
      "subtype" : "667h"
    },
    {
      "extent" : "full-screen",
      "idiom" : "iphone",
      "subtype" : "retina4",
      "filename" : "启动图 640x1136 æ‹·è´@2x.png",
      "minimum-system-version" : "7.0",
      "orientation" : "portrait",
      "scale" : "2x"
    },
    {
      "extent" : "full-screen",
      "filename" : "启动图640x1136@2x.png",
      "idiom" : "iphone",
      "minimum-system-version" : "7.0",
      "orientation" : "portrait",
      "scale" : "2x",
      "subtype" : "retina4"
    },
    {
      "extent" : "full-screen",
      "idiom" : "ipad",
      "extent" : "full-screen",
      "minimum-system-version" : "7.0",
      "orientation" : "portrait",
      "scale" : "1x"
    },
    {
      "extent" : "full-screen",
      "idiom" : "ipad",
      "minimum-system-version" : "7.0",
      "orientation" : "landscape",
      "idiom" : "ipad",
      "extent" : "full-screen",
      "minimum-system-version" : "7.0",
      "scale" : "1x"
    },
    {
      "orientation" : "portrait",
      "idiom" : "ipad",
      "extent" : "full-screen",
      "idiom" : "ipad",
      "minimum-system-version" : "7.0",
      "orientation" : "portrait",
      "scale" : "2x"
    },
    {
      "extent" : "full-screen",
      "idiom" : "ipad",
      "minimum-system-version" : "7.0",
      "orientation" : "landscape",
      "idiom" : "ipad",
      "extent" : "full-screen",
      "minimum-system-version" : "7.0",
      "scale" : "2x"
    },
    {
      "orientation" : "portrait",
      "idiom" : "iphone",
      "extent" : "full-screen",
      "idiom" : "iphone",
      "orientation" : "portrait",
      "scale" : "1x"
    },
    {
      "orientation" : "portrait",
      "idiom" : "iphone",
      "extent" : "full-screen",
      "idiom" : "iphone",
      "orientation" : "portrait",
      "scale" : "2x"
    },
    {
      "orientation" : "portrait",
      "idiom" : "iphone",
      "extent" : "full-screen",
      "subtype" : "retina4",
      "scale" : "2x"
      "idiom" : "iphone",
      "orientation" : "portrait",
      "scale" : "2x",
      "subtype" : "retina4"
    },
    {
      "orientation" : "portrait",
      "idiom" : "ipad",
      "extent" : "to-status-bar",
      "scale" : "1x"
    },
    {
      "idiom" : "ipad",
      "orientation" : "portrait",
      "idiom" : "ipad",
      "scale" : "1x"
    },
    {
      "extent" : "full-screen",
      "scale" : "1x"
    },
    {
      "orientation" : "landscape",
      "idiom" : "ipad",
      "extent" : "to-status-bar",
      "scale" : "1x"
    },
    {
      "orientation" : "landscape",
      "idiom" : "ipad",
      "extent" : "full-screen",
      "scale" : "1x"
    },
    {
      "orientation" : "portrait",
      "idiom" : "ipad",
      "scale" : "1x"
    },
    {
      "extent" : "to-status-bar",
      "idiom" : "ipad",
      "orientation" : "landscape",
      "scale" : "1x"
    },
    {
      "extent" : "full-screen",
      "idiom" : "ipad",
      "orientation" : "landscape",
      "scale" : "1x"
    },
    {
      "extent" : "to-status-bar",
      "idiom" : "ipad",
      "orientation" : "portrait",
      "scale" : "2x"
    },
    {
      "extent" : "full-screen",
      "idiom" : "ipad",
      "orientation" : "portrait",
      "idiom" : "ipad",
      "extent" : "full-screen",
      "scale" : "2x"
    },
    {
      "orientation" : "landscape",
      "idiom" : "ipad",
      "extent" : "to-status-bar",
      "idiom" : "ipad",
      "orientation" : "landscape",
      "scale" : "2x"
    },
    {
      "orientation" : "landscape",
      "idiom" : "ipad",
      "extent" : "full-screen",
      "idiom" : "ipad",
      "orientation" : "landscape",
      "scale" : "2x"
    }
  ],
  "info" : {
    "version" : 1,
    "author" : "xcode"
    "author" : "xcode",
    "version" : 1
  }
}
}
MIduo/Assets.xcassets/LaunchImage.launchimage/Æô¶¯Í¼1125x2436@2x.png

MIduo/Assets.xcassets/LaunchImage.launchimage/Æô¶¯Í¼1242x2208@2x.png

MIduo/Assets.xcassets/LaunchImage.launchimage/Æô¶¯Í¼640x1136@2x.png

MIduo/Assets.xcassets/LaunchImage.launchimage/Æô¶¯Í¼750x1334@2x.png

MIduo/Assets.xcassets/µ¼º½/splash_logo.imageset/Contents.json
New file
@@ -0,0 +1,22 @@
{
  "images" : [
    {
      "idiom" : "universal",
      "scale" : "1x"
    },
    {
      "filename" : "splash_logo@2x.png",
      "idiom" : "universal",
      "scale" : "2x"
    },
    {
      "filename" : "splash_logo@3x.png",
      "idiom" : "universal",
      "scale" : "3x"
    }
  ],
  "info" : {
    "author" : "xcode",
    "version" : 1
  }
}
MIduo/Assets.xcassets/µ¼º½/splash_logo.imageset/splash_logo@2x.png
MIduo/Assets.xcassets/µ¼º½/splash_logo.imageset/splash_logo@3x.png
MIduo/Assets.xcassets/µ¼º½/splash_ps.imageset/Contents.json
New file
@@ -0,0 +1,21 @@
{
  "images" : [
    {
      "idiom" : "universal",
      "scale" : "1x"
    },
    {
      "filename" : "splash_ps.png",
      "idiom" : "universal",
      "scale" : "2x"
    },
    {
      "idiom" : "universal",
      "scale" : "3x"
    }
  ],
  "info" : {
    "author" : "xcode",
    "version" : 1
  }
}
MIduo/Assets.xcassets/µ¼º½/splash_ps.imageset/splash_ps.png

MIduo/Assets.xcassets/µ¼º½/splash_s.imageset/Contents.json
New file
@@ -0,0 +1,21 @@
{
  "images" : [
    {
      "idiom" : "universal",
      "scale" : "1x"
    },
    {
      "filename" : "splash_s.png",
      "idiom" : "universal",
      "scale" : "2x"
    },
    {
      "idiom" : "universal",
      "scale" : "3x"
    }
  ],
  "info" : {
    "author" : "xcode",
    "version" : 1
  }
}
MIduo/Assets.xcassets/µ¼º½/splash_s.imageset/splash_s.png

MIduo/Assets.xcassets/µ¼º½/splash_x.imageset/Contents.json
New file
@@ -0,0 +1,21 @@
{
  "images" : [
    {
      "idiom" : "universal",
      "scale" : "1x"
    },
    {
      "filename" : "splash_x.png",
      "idiom" : "universal",
      "scale" : "2x"
    },
    {
      "idiom" : "universal",
      "scale" : "3x"
    }
  ],
  "info" : {
    "author" : "xcode",
    "version" : 1
  }
}
MIduo/Assets.xcassets/µ¼º½/splash_x.imageset/splash_x.png

MIduo/Assets.xcassets/ж©µ¥ÉêËß/order_complaint_sn.imageset/Contents.json
New file
@@ -0,0 +1,22 @@
{
  "images" : [
    {
      "idiom" : "universal",
      "scale" : "1x"
    },
    {
      "filename" : "order_complaint_sn@2x.png",
      "idiom" : "universal",
      "scale" : "2x"
    },
    {
      "filename" : "order_complaint_sn@3x.png",
      "idiom" : "universal",
      "scale" : "3x"
    }
  ],
  "info" : {
    "author" : "xcode",
    "version" : 1
  }
}
MIduo/Assets.xcassets/ж©µ¥ÉêËß/order_complaint_sn.imageset/order_complaint_sn@2x.png
MIduo/Assets.xcassets/ж©µ¥ÉêËß/order_complaint_sn.imageset/order_complaint_sn@3x.png
MIduo/Assets.xcassets/ж©µ¥ÉêËß/order_complaint_wph.imageset/Contents.json
New file
@@ -0,0 +1,22 @@
{
  "images" : [
    {
      "idiom" : "universal",
      "scale" : "1x"
    },
    {
      "filename" : "order_complaint_wph@2x.png",
      "idiom" : "universal",
      "scale" : "2x"
    },
    {
      "filename" : "order_complaint_wph@3x.png",
      "idiom" : "universal",
      "scale" : "3x"
    }
  ],
  "info" : {
    "author" : "xcode",
    "version" : 1
  }
}
MIduo/Assets.xcassets/ж©µ¥ÉêËß/order_complaint_wph.imageset/order_complaint_wph@2x.png
MIduo/Assets.xcassets/ж©µ¥ÉêËß/order_complaint_wph.imageset/order_complaint_wph@3x.png
MIduo/Info.plist
@@ -171,6 +171,8 @@
        <string>baidumap</string>
        <string>iosamap</string>
        <string>qqmap</string>
        <string>suning</string>
        <string>vipshop</string>
    </array>
    <key>LSRequiresIPhoneOS</key>
    <true/>
MIduo/Êý¾Ý/ALWebView/ShonpingShareViewController.h
@@ -28,6 +28,8 @@
@property (nonatomic, copy) NSString *navaTitle;
@property (nonatomic, nullable, copy) NSString *from;
@property (nonatomic, weak) id<ShonpingShareViewControllerDelegate> shonpingSharedelegate;
@end
MIduo/Êý¾Ý/ALWebView/ShonpingShareViewController.m
@@ -300,7 +300,7 @@
    self.webView.backgroundColor = XYRBackgroundColor;
    self.webView.navigationDelegate = self;
    self.webView.UIDelegate = self;
    [self.view addSubview:self.webView];
    
    [self initProgressView];
@@ -1087,6 +1087,67 @@
    return  nil;
}
- (BOOL)isPureInt:(NSString*)string {
    NSScanner* scan = [NSScanner scannerWithString:string];
    int val;
    return[scan scanInt:&val] && [scan isAtEnd];
}
- (NSString *)screeningWPHId:(NSString *)url {
    if (([url rangeOfString:@".vip.com/"].location != NSNotFound &&
         [url rangeOfString:@"detail-"].location != NSNotFound) ||
        [url rangeOfString:@"product-"].location != NSNotFound) {
        if ([self.from isEqualToString:@"goodsDetail"]) {
            return nil;
        }
        NSString *goodsDetailId = nil;
        NSArray *questionSegmentationArr = [url componentsSeparatedByString:@"?"];
        NSArray *andSegmentationArr = [questionSegmentationArr[0] componentsSeparatedByString:@"-"];
        for (NSString *temp in andSegmentationArr) {
            if ([temp hasSuffix:@".html"]) {
                goodsDetailId = [temp stringByReplacingOccurrencesOfString:@".html" withString:@""];
                if ([self isPureInt:goodsDetailId]) {
                    break;
                } else {
                    goodsDetailId = nil;
                }
            }
        }
        return  goodsDetailId;
    }
    return  nil;
}
- (NSString *)screeningSNId:(NSString *)url {
    if (([url rangeOfString:@"suning.com/"].location != NSNotFound &&
         [url rangeOfString:@"suning.com/product/"].location != NSNotFound) ||
        [url rangeOfString:@"product.suning.com/"].location != NSNotFound) {
        if ([self.from isEqualToString:@"goodsDetail"]) {
            return nil;
        }
        NSMutableString *goodsDetailId = [[NSMutableString alloc] init];
        NSArray *questionSegmentationArr = [url componentsSeparatedByString:@"?"];
        NSArray *andSegmentationArr = [questionSegmentationArr[0] componentsSeparatedByString:@"/"];
        for (NSString *temp in andSegmentationArr) {
            NSString *tempName = [temp stringByReplacingOccurrencesOfString:@".html" withString:@""];
            if ([self isPureInt:tempName]) {
                [goodsDetailId appendString:tempName];
            }
        }
        return  goodsDetailId;
    }
    return  nil;
}
- (void)jumpJD:(NSDictionary *)dictionary {
    @weakify(self)
    dispatch_async(dispatch_get_main_queue(), ^{
@@ -1171,7 +1232,9 @@
            }
        });
        
    } fail:^(id object) {}];
    } fail:^(id object) {
    }];
}
#pragma mark - KVO
@@ -1238,6 +1301,14 @@
        }
    }
    
    if ([urlStr hasPrefix:@"suning://"]) {
        if ([[UIApplication sharedApplication] canOpenURL:navigationAction.request.URL]) {
            [[UIApplication sharedApplication] openURL:navigationAction.request.URL];
            decisionHandler(WKNavigationActionPolicyCancel);
            return;
        }
    }
    if ([urlStr rangeOfString:@"shop.banliapp.com://"].location != NSNotFound) {
        // è®¾ç½®webView的头部参数Referer
        if (!navigationAction.request.allHTTPHeaderFields[@"Referer"]) {
@@ -1279,7 +1350,7 @@
    BOOL isAllow = [CZBInfoManager webView:webView decidePolicyForNavigationAction:navigationAction];
    if (!isAllow) {
        WKNavigationActionPolicy actionPolicy = isAllow ? WKNavigationActionPolicyAllow:WKNavigationActionPolicyCancel;
           decisionHandler(actionPolicy);
        decisionHandler(actionPolicy);
        return;
    }
    
@@ -1306,6 +1377,8 @@
        NSString *tbId = [self screeningTbId:urlStr];
        NSString *jdId = [self screeningJdId:urlStr];
        NSString *pddId = [self screeningPddId:urlStr];
        NSString *wphId = [self screeningWPHId:urlStr];
        NSString *snId = [self screeningSNId:urlStr];
        
        if (tbId) {
            [self interceptWebGoods:tbId goodsType:@"1"];
@@ -1315,8 +1388,16 @@
            
        } else if (pddId) {
            [self interceptWebGoods:pddId goodsType:@"3"];
        } else if (wphId) {
            [self interceptWebGoods:wphId goodsType:@"4"];
        } else if (snId) {
            [self interceptWebGoods:snId goodsType:@"5"];
        }
        if (tbId || jdId || pddId) {
        if (tbId || jdId || pddId || wphId || snId) {
            decisionHandler(WKNavigationActionPolicyCancel);
            return;
        }
MIduo/Êý¾Ý/Category/UIViewController+ControllerValue.m
@@ -104,13 +104,13 @@
- (void)pushJingDong:(BOOL)native jumpLink:(NSString *)jumpLink {
    if (!native) {
        ShonpingShareViewController *shonpingShareVc = [[ShonpingShareViewController alloc] init];
        shonpingShareVc.urlString = jumpLink;
        shonpingShareVc.urlString = jumpLink?:@"";
        [self.navigationController pushViewController:shonpingShareVc animated:YES];
        return;
    }
    [YTHsharedManger startManger].isEnterForeground = YES;
    @weakify(self)
    [[KeplerApiManager sharedKPService] openKeplerPageWithURL:jumpLink userInfo:nil failedCallback:^(NSInteger code, NSString *url) {
    [[KeplerApiManager sharedKPService] openKeplerPageWithURL:jumpLink?:@"" userInfo:nil failedCallback:^(NSInteger code, NSString *url) {
        // code 200 æ·»åŠ æˆåŠŸ 422 æœ¬åœ°ä¸å­˜åœ¨äº¬ä¸œapp 423 æœ¬åœ°url不在白名单 424 æœ¬åœ°open协议失败
        @strongify(self)
        if (code != 200) {
MIduo/Êý¾Ý/Common.h
@@ -209,7 +209,7 @@
#define LOGINOUT_SUCCESS @"退出登录成功"
#define TAOBAO_ACCREDIT @"购买商品、领取优惠券、查看订单和购物车等,需授权登录淘宝号"
//#define NETWORK_NOT_CONNECT @"网络未连接,请检测网络设置"
#define NETWORK_CONNECT_ANOMALY @"请检查你的网络,重新加载吧~"
#define NETWORK_CONNECT_ANOMALY @"网络连接异常,请检测网络设置"
#define TimeInterval 180
#define DYFont 2.0f
/// --------
MIduo/Êý¾Ý/YTHsharedManger.h
@@ -71,6 +71,8 @@
@property (nonatomic, nullable, strong) NSDictionary *dictionaryCopy;
/// update数据
@property (nonatomic, nullable, strong) NSDictionary *dictionaryUpdate;
/// å¼€å±é¡µæ˜¯å¦æ­£åœ¨å±•示
@property (nonatomic, assign) BOOL isShowSplash;
+ (YTHsharedManger *_Nullable)startManger;
MIduo/Êý¾Ý/lib/LXAlertView/SJNoNetwork.m
@@ -58,7 +58,7 @@
    _connectBtn = [[UIButton alloc] init];
    _connectBtn.layer.cornerRadius = 30 / 2;
    _connectBtn.layer.masksToBounds = YES;
    [_connectBtn setTitle:@"去设置" forState:UIControlStateNormal];
    [_connectBtn setTitle:@"设置网络" forState:UIControlStateNormal];
    _connectBtn.backgroundColor = XYRMainColor;
    _connectBtn.titleLabel.font = [UIFont systemFontOfSize:16];
    [_baseView addSubview:_connectBtn];
MIduo/Êý¾Ý/lib/LaunchIntroduction/LaunchIntroductionView.h
@@ -59,5 +59,7 @@
 */
+(instancetype)sharedWithStoryboard:(NSString *)storyboardName images:(NSArray *) imageNames buttonImage:(NSString *) buttonImageName buttonFrame:(CGRect ) frame;
+ (void)show;
+ (void)hide;
@end
MIduo/½çÃæ/¶¯Ì¬/·¢È¦/Cell/HairBandsMultipleCell.h
@@ -32,9 +32,6 @@
- (void)commentMore:(HairBandsMultipleModel *)hairBandsMultipleModel indexPath:(NSIndexPath *)indexPath;
/// å‘单
- (void)oneClickBilling:(HairBandsMultipleModel *)commentsModel;
/// æ´»åŠ¨è¯¦æƒ…
- (void)activityDetail:(NSString *)link;
@end
MIduo/½çÃæ/¶¯Ì¬/·¢È¦/Cell/HairBandsMultipleCell.m
@@ -491,6 +491,14 @@
- (void)setModel:(HairBandsMultipleModel *)model {
    _model = model;
    if (model) {
        if (model.cloud) {
            self.buttonOneClickBilling.hidden = NO;
        } else {
            self.buttonOneClickBilling.hidden = YES;
        }
        //头像
        [self.headerImageView sd_setFadeImageWithURL:[NSURL URLWithString:model.user.portrait]];
        
@@ -1285,10 +1293,11 @@
        [_buttonOneClickBilling setImage:ALIMAGE_NAMED(@"dynamic_oneclickbill") forState:UIControlStateNormal];
        [_buttonOneClickBilling setTitle:@" ä¸€é”®å‘单" forState:UIControlStateNormal];
        [_buttonOneClickBilling setTitleColor:XYRMainColor forState:UIControlStateNormal];
         _buttonOneClickBilling.titleLabel.font = ([UIFont systemFontOfSize:(SCREEN_WIDTH < 375)?10:12]);
        _buttonOneClickBilling.titleLabel.font = ([UIFont systemFontOfSize:(SCREEN_WIDTH < 375)?10:12]);
        _buttonOneClickBilling.layer.masksToBounds = YES;
        _buttonOneClickBilling.layer.borderColor = XYRMainColor.CGColor;
        _buttonOneClickBilling.layer.borderWidth = 1;
        _buttonOneClickBilling.hidden = YES;
    }
    return _buttonOneClickBilling;
}
MIduo/½çÃæ/¶¯Ì¬/·¢È¦/HotltermListController.m
@@ -505,7 +505,10 @@
            if ([source isEqualToString:@"copyComment"]) {//复制评论
                [self copyCommentStart:self.commentsModel publishId:self.publishId];
                
            } else {
            } else if ([source isEqualToString:@"cloud"]) {//发单
                [self oneClickBilling:self.contentArray[self.clickIndex]];
            }  else {
                [self downImageOrCreate:source];
            }
        }
@@ -539,6 +542,39 @@
            
        }
        self.view.userInteractionEnabled = YES;
    }];
}
- (void)oneClickBilling:(HairBandsMultipleModel *)model {
    [self.rootVc.view makeToastActivity:CSToastPositionCenter];
    NSMutableDictionary *params = [[NSMutableDictionary alloc] init];
    [params setObject:model.id forKey:@"id"];
    [params setObject:[ALUserInfoServiceManger fetchUID] forKey:@"uid"];
    @weakify(self)
    [JYNetWorking Post:[NSString stringWithFormat:@"%@/%@",domainHTTP2,@"user/cloud/sendCircle"] param:params success:^(NSDictionary *object) {
        @strongify(self)
        @weakify(self)
        dispatch_async(dispatch_get_main_queue(), ^{
            @strongify(self)
            [self.rootVc.view hideToastActivity];
            self.view.userInteractionEnabled = YES;
            if ([self isHaveValue:object] && [object[@"code"] integerValue] == 0) {
                if ([self isHaveValue:object[@"data"]]) {
                    [JRToast showWithText:object[@"data"] bottomOffset:kToolBarH + 15 duration:1.2f];
                }
            } else {
                if ([self isHaveValue:object[@"msg"]]) {
                    [JRToast showWithText:object[@"msg"] bottomOffset:kToolBarH + 15 duration:1.2f];
                }
            }
        });
    } fail:^(id object) {
        [self.rootVc.view hideToastActivity];
        self.view.userInteractionEnabled = YES;
        [JRToast showWithText:NETWORK_CONNECT_ANOMALY bottomOffset:kToolBarH + 15 duration:1.2f];
    }];
}
@@ -796,8 +832,7 @@
        [self fetchTaoBaoAuthInfo:@"down" requestCount:1];
        
    } else if (typeEvent == 3) {
        ALToastCenter(@"发单");
         self.view.userInteractionEnabled = YES;
        [self fetchTaoBaoAuthInfo:@"cloud" requestCount:1];
    }
}
MIduo/½çÃæ/¶¯Ì¬/·¢È¦/Model/HairBandsMultipleModel.h
@@ -14,6 +14,8 @@
@class HairBandsMultipleUserModel,HairBandsMultipleImgListModel,HairBandsMultipleGoodsModel,HairBandsMultipleCommentsModel,HairBandsMultipleTagListModel;
@interface HairBandsMultipleModel : NSObject
///一键云发单
@property (nonatomic, assign) BOOL cloud;
///跳转链接
@property (nonatomic, nullable, copy) NSString *jumpLink;
///发布id
MIduo/½çÃæ/ÉÌÆ·ÏêÇé/GoodDeTrViewController.m
@@ -1357,48 +1357,56 @@
        [self.navigationController pushViewController:loginVc animated:YES];
        return;
    }
    // æ˜¯å¦æ¿€æ´»é‚€è¯·åŠŸèƒ½
    if (![ALUserInfoServiceManger isInvited]) {
        [self onInviteVcName:nil];
        return;
    }
    [self userStorageaddstorage];
    [self onecClickBilling];
}
- (void)userStorageaddstorage {
- (void)onecClickBilling {
    if (self.isRequestAPI) {
        return;
    }
     [self.view makeToastActivity:CSToastPositionCenter];
    self.isRequestAPI = YES;
    NSDictionary *dic = @{@"uid":[ALUserInfoServiceManger fetchUID],@"id":self.goodsModel.goodsId,@"goodsType":[NSString stringWithFormat:@"%ld",(long)_goodsType]};
    NSDictionary *params = @{@"uid":[ALUserInfoServiceManger fetchUID],@"goodsId":self.goodsModel.goodsId,@"goodsType":[NSString stringWithFormat:@"%ld",(long)_goodsType]};
    @weakify(self)
    [JYNetWorking Post:[NSString stringWithFormat:@"%@/%@",domainHTTP2,@"shraeStorage/accordtorage"] param:dic success:^(NSDictionary *object)
     {
    [JYNetWorking Post:[NSString stringWithFormat:@"%@/%@",domainHTTP2,@"user/cloud/sendGoods"] param:params success:^(NSDictionary *object) {
        @strongify(self)
        self.isRequestAPI = NO;
        dispatch_async(dispatch_get_main_queue(), ^{
            GoodsHeaderTableViewCell *cell = [self.tableview cellForRowAtIndexPath:[NSIndexPath indexPathForRow:0 inSection:0]];
            self.isRequestAPI = NO;
            if (object && [object[@"code"]integerValue] == 0) {
                BOOL storageState = [object[@"data"][@"storageState"] boolValue];
                self.storageState = storageState;
                if (storageState) {
                    [JRToast showWithText:@"添加至分享库成功" bottomOffset:kToolBarH + 15  duration:1.2f];
                    cell.buttonProLibrary.selected = YES;
                    [UMCustomShop umDetail_joinXPK];
            [self.view hideToastActivity];
            if ([self isHaveValue:object] ) {
                if ([object[@"code"] integerValue] == 0) {
                    if ([self isHaveValue:object[@"data"] ]){
                        [JRToast showWithText:object[@"data"] bottomOffset:kToolBarH + 15  duration:1.2f];
                    }
                } else if ([object[@"code"] integerValue] == 1001 ||
                           [object[@"code"] integerValue] == 1002 ||
                           [object[@"code"] integerValue] == 1003 ||
                           [object[@"code"] integerValue] == 1004 ||
                           [object[@"code"] integerValue] == 1005) {
                    if ([self isHaveValue:object[@"msg"]]) {
                        [JRToast showWithText:object[@"msg"] bottomOffset:kToolBarH + 15  duration:1.2f];
                    }
                    [self pushAnyInterfaceController:@"ShonpingShareViewController" parms:@{@"url":object[@"data"][@"link"]}];
                    
                } else {
                    [JRToast showWithText:@"已从分享库中删除" bottomOffset:kToolBarH + 15  duration:1.2f];
                    cell.buttonProLibrary.selected = NO;
                    [UMCustomShop umDetail_goods_detail_xpk_cancel];
                    if ([self isHaveValue:object[@"msg"]]) {
                        [JRToast showWithText:object[@"msg"] bottomOffset:kToolBarH + 15  duration:1.2f];
                    }
                }
                
            } else {
                [JRToast showWithText:object[@"msg"] bottomOffset:kToolBarH + 15  duration:1.2f];
            }
        });
        
    } fail:^(id object) {
        [self.view hideToastActivity];
        self.isRequestAPI = NO;
    }];
}
@@ -1434,7 +1442,7 @@
    }
    
    if ([vcName compare:@"SJProLibViewController"] == 0) {
        [self userStorageaddstorage];
        [self onecClickBilling];
    }
}
@@ -1445,7 +1453,7 @@
        self.shopCoupon = NO;
        return;
    }
    NSDictionary *params = @{@"uid":[ALUserInfoServiceManger fetchUID],@"auctionId":self.goodsModel.goodsId,@"from" : @"goodsDetail",@"source":self.from?:@""};
    NSDictionary *params = @{@"uid":[ALUserInfoServiceManger fetchUID],@"auctionId":self.goodsModel.goodsId?:@"",@"from" : @"goodsDetail",@"source":self.from?:@""};
    [self.view makeToastActivity:CSToastPositionCenter];
    @weakify(self)
    [JYNetWorking Post:[NSString stringWithFormat:@"%@/%@",domainHTTP,@"goods/gettaobaolink"] param:params success:^(NSDictionary *object) {
@@ -1517,7 +1525,7 @@
    AlibcTradeTaokeParams *taokeParams = [[AlibcTradeTaokeParams alloc] init];
    if (type == 1) {
        taokeParams = nil;
        [self.albcServiceManager pushOpenByUrl:self.shoppingUrl identity:nil webView:nil parentController:self.navigationController taoKeParams:taokeParams];
        [self.albcServiceManager pushOpenByUrl:self.shoppingUrl?:@"" identity:nil webView:nil parentController:self.navigationController taoKeParams:taokeParams];
        
    } else {
        // æ·˜å®¢ä¿¡æ¯
@@ -1525,7 +1533,7 @@
        taokeParams.adzoneId = self.alibaichuan.adZoneID;
        taokeParams.extParams=@{@"taokeAppkey":self.alibaichuan.appKey};
        
        id<AlibcTradePage> page = [AlibcTradePageFactory itemDetailPage:[NSString stringWithFormat:@"%@",goodId]];
        id<AlibcTradePage> page = [AlibcTradePageFactory itemDetailPage:[NSString stringWithFormat:@"%@",goodId?:@""]];
        [self.albcServiceManager pushOpenByBizCode:@"detail" page:page webView:nil parentController:self.navigationController taoKeParams:taokeParams];
    }
}
@@ -1958,7 +1966,6 @@
        cell.shareValid = self.shareValid;
        cell.isExpand = self.isExpand;
        cell.model = self.goodsModel;
        cell.storageState = self.storageState;
        
        @weakify(self)
        cell.touchCheckLike = ^{
@@ -1969,7 +1976,7 @@
            [self.navigationController pushViewController:searchDetailMainVc animated:YES];
        };
        
        [cell.buttonProLibrary addTarget:self action:@selector(ProLibraryTaped:) forControlEvents:UIControlEventTouchUpInside];
        [cell.buttonHairCircle addTarget:self action:@selector(ProLibraryTaped:) forControlEvents:UIControlEventTouchUpInside];
        
        if (!_goodsModel) {
            CATransition *animation = [CATransition animation];
@@ -2161,7 +2168,10 @@
            return 10;
            
        } else {
            CGFloat heightFooter = 0, heightFom = 0, heightRecommend = 0.0 , heightBottom = 130;
            CGFloat heightFooter = 0, heightCloud = 0, heightFom = 0, heightRecommend = 0.0 , heightBottom = 130;
            if ([self isHaveValue:self.extraDictionary[@"cloudText"]]) {
                heightCloud = 145;
            }
            if ([self isHaveValue:self.goodsModel.provcity]) {
                heightFom = 46 + 10;
            }
@@ -2169,7 +2179,7 @@
                CGFloat heghtDescr = [self getLabelHeightWithText:self.goodsModel.descriptions width:SCREEN_WIDTH - 20 font:(SCREEN_WIDTH < 375)?10:12] + 37 + 15;
                heightRecommend = heghtDescr;
            }
            heightFooter = heightFom + heightRecommend +heightBottom;
            heightFooter = heightCloud + heightFom + heightRecommend +heightBottom;
            return  heightFooter;
        }
        
@@ -2204,7 +2214,10 @@
            return view;
            
        } else {
            CGFloat heightFooter = 0, heightFom = 0, heightRecommend = 0.0 , heightBottom = 130;
            CGFloat heightFooter = 0, heightCloud = 0, heightFom = 0, heightRecommend = 0.0 , heightBottom = 130;
            if ([self isHaveValue:self.extraDictionary[@"cloudText"]]) {
                heightCloud = 145;
            }
            if ([self isHaveValue:self.goodsModel.provcity]) {
                heightFom = 46 + 10;
            }
@@ -2212,11 +2225,12 @@
                CGFloat heghtDescr = [self getLabelHeightWithText:self.goodsModel.descriptions width:SCREEN_WIDTH - 20 font:(SCREEN_WIDTH < 375)?10:12] + 37 + 15;
                heightRecommend = heghtDescr;
            }
            heightFooter = heightFom + heightRecommend +heightBottom;
            heightFooter = heightCloud + heightFom + heightRecommend + heightBottom;
            GoodsDetailFooterView *view = [[GoodsDetailFooterView alloc] initWithFrame:CGRectMake(0, 0, SCREEN_WIDTH, heightFooter)];
            view.userInteractionEnabled = YES;
            view.cloudText = self.extraDictionary[@"cloudText"];
            view.cloudPic = self.extraDictionary[@"cloudPic"];
            view.model = self.goodsModel;
            UITapGestureRecognizer *tapStore = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(onClickStore)];
            [view addGestureRecognizer:tapStore];
            
MIduo/½çÃæ/ÉÌÆ·ÏêÇé/GoodsDetailFooterView/GoodsDetailFooterView.h
@@ -11,6 +11,9 @@
@interface GoodsDetailFooterView : UIView
 
@property (nonatomic, strong, nullable) NSString *cloudPic;
@property (nonatomic, strong, nullable) NSString *cloudText;
@property (nonatomic, strong, nullable) GoodsDetailBaseModel *model;
@end
MIduo/½çÃæ/ÉÌÆ·ÏêÇé/GoodsDetailFooterView/GoodsDetailFooterView.m
@@ -8,8 +8,16 @@
#import "GoodsDetailFooterView.h"
#import "UIImageView+WebCache.h"
#import "TopLeftLabel.h"
@interface GoodsDetailFooterView ()
/// å‘单
@property (nonatomic, strong, nullable) ALButton *viewCloudBG;
@property (nonatomic, strong, nullable) UIView *viewCloudLine;
@property (nonatomic, strong, nullable) UILabel *labelCloudTitle;
@property (nonatomic, strong, nullable) ALButton *viewCloudContentBG;
@property (nonatomic, strong, nullable) TopLeftLabel *labelCloudContent;
@property (nonatomic, strong, nullable) UIImageView *imageViewCloudLogo;
@property (nonatomic, strong, nullable) UIView *topGaryLine;
@@ -75,14 +83,36 @@
}
- (void)viewConfig {
    [self addSubview:self.viewCloudBG];
    [self.viewCloudBG addSubview:self.viewCloudLine];
    [self.viewCloudBG addSubview:self.labelCloudTitle];
    [self.viewCloudBG addSubview:self.viewCloudContentBG];
    [self.viewCloudContentBG addSubview:self.imageViewCloudLogo];
    [self.viewCloudContentBG addSubview:self.labelCloudContent];
    self.viewCloudBG.sd_layout.leftSpaceToView(self, 0).topSpaceToView(self, 0).rightSpaceToView(self, 0).heightIs(145);
    self.viewCloudLine.sd_layout.leftSpaceToView(self.viewCloudBG, 0).topSpaceToView(self.viewCloudBG, 0).rightSpaceToView(self.viewCloudBG, 0).heightIs(1);
    self.labelCloudTitle.sd_layout.leftSpaceToView(self.viewCloudBG, 13).topSpaceToView(self.viewCloudBG, 11).widthIs(80).heightIs(13);
    self.viewCloudContentBG.sd_layout.leftSpaceToView(self.viewCloudBG, 10).topSpaceToView(self.labelCloudTitle, 8).rightSpaceToView(self.viewCloudBG, 10).heightIs(102);
    self.viewCloudContentBG.sd_cornerRadius = @5;
    self.imageViewCloudLogo.sd_layout.leftSpaceToView(self.viewCloudContentBG, 10).topSpaceToView(self.viewCloudContentBG, 10).widthIs(83).heightIs(83);
    self.imageViewCloudLogo.sd_cornerRadius = @5;
    self.labelCloudContent.sd_layout.leftSpaceToView(self.imageViewCloudLogo, 10).topSpaceToView(self.viewCloudContentBG, 11).rightSpaceToView(self.viewCloudContentBG, 12).heightIs(80);
    // å‘货地
    [self addSubview:self.ViewTopWhite];
    self.ViewTopWhite.sd_layout.leftSpaceToView(self, 0).topSpaceToView(self, 0).rightSpaceToView(self, 0).heightIs(46);
    self.ViewTopWhite.sd_layout.leftSpaceToView(self, 0).topSpaceToView(self.viewCloudBG, 0).rightSpaceToView(self, 0).heightIs(46);
    
    [self.ViewTopWhite addSubview:self.buttonFrom];
    self.buttonFrom.sd_layout.leftSpaceToView(self.ViewTopWhite, 0).rightSpaceToView(self.ViewTopWhite, 0).centerYEqualToView(self.ViewTopWhite).heightIs(46);
    
    [self addSubview:self.topGaryLine];
    self.topGaryLine.sd_layout.leftSpaceToView(self, 0).topSpaceToView(self, 0).rightSpaceToView(self, 0).heightIs(1);
    self.topGaryLine.sd_layout.leftSpaceToView(self, 0).topSpaceToView(self.viewCloudBG, 0).rightSpaceToView(self, 0).heightIs(1);
    
    [self addSubview:self.viewCuXianOne];
    self.viewCuXianOne.sd_layout.leftSpaceToView(self, 0).topSpaceToView(self.ViewTopWhite, 0).rightSpaceToView(self, 0).heightIs(10);
@@ -163,9 +193,25 @@
}
#pragma mark --- setter ---
- (void)setCloudPic:(NSString *)cloudPic {
    _cloudPic = cloudPic;
}
- (void)setCloudText:(NSString *)cloudText {
    _cloudText = cloudText;
}
- (void)setModel:(GoodsDetailBaseModel *)model {
    _model = model;
    if (_model) {
        self.labelCloudContent.text = _cloudText;
        [self.imageViewCloudLogo sd_setFadeImageWithURL:[NSURL URLWithString:_cloudPic]];
        if (![self isHaveValue:_cloudText]) {
            self.viewCloudBG.hidden = YES;
            self.ViewTopWhite.sd_resetLayout.leftSpaceToView(self, 0).topSpaceToView(self, 0).rightSpaceToView(self, 0).heightIs(46);
            self.topGaryLine.sd_resetLayout.leftSpaceToView(self, 0).topSpaceToView(self, 0).rightSpaceToView(self, 0).heightIs(1);
        }
        //发货地
        [self.buttonFrom setTitle:[NSString stringWithFormat:@"  %@",model.provcity] forState:UIControlStateNormal];
        self.labelContentRecommenlanguage.text = model.descriptions;
@@ -244,6 +290,56 @@
}
#pragma mark --- getter ---
- (ALButton *)viewCloudBG {
    if (!_viewCloudBG) {
        _viewCloudBG = [[ALButton alloc] init];
        _viewCloudBG.backgroundColor = [UIColor whiteColor];
    }
    return _viewCloudBG;;
}
- (UIView *)viewCloudLine {
    if (!_viewCloudLine) {
        _viewCloudLine = [[UIView alloc] init];
        _viewCloudLine.backgroundColor = XYRBackgroundColor;
    }
    return _viewCloudLine;;
}
- (ALButton *)viewCloudContentBG {
    if (!_viewCloudContentBG) {
        _viewCloudContentBG = [[ALButton alloc] init];
        _viewCloudContentBG.backgroundColor = UIColorFromRGBValue(0xF7F7F7);
        _viewCloudContentBG.enabled = YES;
    }
    return _viewCloudContentBG;
}
- (UILabel *)labelCloudTitle {
    if (!_labelCloudTitle) {
        _labelCloudTitle = [[UILabel alloc] init];
        _labelCloudTitle.text = @"一键发单文案";
        _labelCloudTitle.font = [UIFont systemFontOfSize:12];
        _labelCloudTitle.textAlignment = NSTextAlignmentLeft;
        _labelCloudTitle.textColor = UIColorFromRGBValue(0x333333);
    }
    return _labelCloudTitle;
}
- (UIImageView *)imageViewCloudLogo {
    if (!_imageViewCloudLogo) {
        _imageViewCloudLogo = [[UIImageView alloc] init];
        _imageViewCloudLogo.backgroundColor = [UIColor whiteColor];
        [_imageViewCloudLogo setContentScaleFactor:[[UIScreen mainScreen] scale]];
        _imageViewCloudLogo.contentMode =  UIViewContentModeScaleAspectFill;
        _imageViewCloudLogo.autoresizingMask = UIViewAutoresizingFlexibleHeight;
        _imageViewCloudLogo.clipsToBounds  = YES;
    }
    return _imageViewCloudLogo;;
}
- (UIImageView *)logoImageView {
    if (!_logoImageView) {
        _logoImageView = [[UIImageView alloc] init];
@@ -258,6 +354,18 @@
    return _logoImageView;
}
- (TopLeftLabel *)labelCloudContent {
    if (!_labelCloudContent) {
        _labelCloudContent = [[TopLeftLabel alloc] init];
        _labelCloudContent.textColor = UIColorFromRGBValue(0x999999);
        _labelCloudContent.textAlignment = NSTextAlignmentLeft;
        _labelCloudContent.numberOfLines = 6;
        _labelCloudContent.font = [UIFont systemFontOfSize:11];
    }
    return _labelCloudContent;
}
- (UIView *)ViewTopWhite {
    if (!_ViewTopWhite) {
        _ViewTopWhite = [[UIView alloc] init];
MIduo/½çÃæ/ÉÌÆ·ÏêÇé/GoodsHeaderTableViewCell.h
@@ -27,8 +27,8 @@
@property (nonatomic, assign) NSInteger goodsType;
/// æœç´¢æŒ‰é’®
@property (nonatomic, nullable, strong) ALButton *buttonSearch;
/// æ”¶è—åº“按钮
@property (nonatomic, nullable, strong) ALButton *buttonProLibrary;
/// å‘圈
@property (nonatomic, nullable, strong) ALButton *buttonHairCircle;
/// æ˜¯å¦æœ‰è¿”利
@@ -41,8 +41,6 @@
@property (nonatomic, nullable, weak) id<GoodsHeaderTableViewCellDelegate>delegate;
/// æ˜¯å¦å±•开所有券(对于JD来说)
@property (nonatomic, assign) BOOL isExpand;
/// æ˜¯å¦æ”¶è—åº“
@property (nonatomic, assign) BOOL storageState;
///搜索相似物品
@property (nonatomic) touchCheckLike _Nullable touchCheckLike;
MIduo/½çÃæ/ÉÌÆ·ÏêÇé/GoodsHeaderTableViewCell.m
@@ -137,7 +137,7 @@
    [self.contentView addSubview:self.buttonViewMore];
    
    if ([YTHsharedManger startManger].iosonling == 0) {
        [self.contentView addSubview:self.buttonProLibrary];
        [self.contentView addSubview:self.buttonHairCircle];
        [self.contentView addSubview:self.buttonSearch];
        [self.contentView addSubview:self.viewSXLine];
    }
@@ -225,10 +225,10 @@
    [self.buttonViewMore setImageEdgeInsets:UIEdgeInsetsMake(0, _buttonViewMore.titleLabel.bounds.size.width, 0, -_buttonViewMore.titleLabel.bounds.size.width)];
    
    //收藏库按钮和收藏按钮
    self.buttonProLibrary.sd_layout.leftSpaceToView(self.contentView, 10).topSpaceToView(self.viewCouponBG, 20).widthIs((SCREEN_WIDTH - 30) / 2).heightIs(30);
    self.buttonHairCircle.sd_layout.leftSpaceToView(self.contentView, 10).topSpaceToView(self.viewCouponBG, 20).widthIs((SCREEN_WIDTH - 30) / 2).heightIs(30);
    self.buttonSearch.sd_layout.rightSpaceToView(self.contentView, 10).topSpaceToView(self.viewCouponBG, 20).widthIs((SCREEN_WIDTH - 30) / 2).heightIs(30);
    
    self.viewSXLine.sd_layout.centerXEqualToView(self.contentView).centerYEqualToView(self.buttonProLibrary).widthIs(1).heightIs(15);
    self.viewSXLine.sd_layout.centerXEqualToView(self.contentView).centerYEqualToView(self.buttonHairCircle).widthIs(1).heightIs(15);
}
- (void)setViewBorder:(UIView *)view width:(CGFloat)width color:(UIColor *)color {
@@ -251,16 +251,6 @@
- (void)setIsExpand:(BOOL)isExpand {
    _isExpand = isExpand;
}
- (void)setStorageState:(BOOL)storageState {
    _storageState = storageState;
    if (storageState) {
        self.buttonProLibrary.selected = YES;
    } else {
        self.buttonProLibrary.selected = NO;
    }
}
- (void)setModel:(GoodsDetailBaseModel *)model {
@@ -542,11 +532,11 @@
            }
        }
        
        self.buttonProLibrary.sd_resetLayout.leftSpaceToView(self.contentView, 10).topSpaceToView(self.viewCouponBG, topspaceButtonViewMore).widthIs((SCREEN_WIDTH - 30) / 2).heightIs(30);
        self.buttonHairCircle.sd_resetLayout.leftSpaceToView(self.contentView, 10).topSpaceToView(self.viewCouponBG, topspaceButtonViewMore).widthIs((SCREEN_WIDTH - 30) / 2).heightIs(30);
        self.buttonSearch.sd_resetLayout.rightSpaceToView(self.contentView, 10).topSpaceToView(self.viewCouponBG, topspaceButtonViewMore).widthIs((SCREEN_WIDTH - 30) / 2).heightIs(30);
        
        if (!_shareValid) {
            self.buttonProLibrary.hidden = YES;
            self.buttonHairCircle.hidden = YES;
            self.buttonSearch.hidden = YES;
        }
    }
@@ -564,7 +554,7 @@
    browser.sourceImagesContainerView = self; // åŽŸå›¾çš„çˆ¶æŽ§ä»¶
    browser.currentImageIndex = (int)tag;
    browser.imageArray = self.array;
    browser.imageCount = self.array.count; // å›¾ç‰‡æ€»æ•°
    browser.imageCount = self.array.count; //
    browser.delegate = self;
    [browser show];
}
@@ -902,18 +892,16 @@
    return _buttonSearch;
}
- (ALButton *)buttonProLibrary {
    if (!_buttonProLibrary) {
        _buttonProLibrary = [ALButton buttonWithType:UIButtonTypeCustom];
- (ALButton *)buttonHairCircle {
    if (!_buttonHairCircle) {
        _buttonHairCircle = [ALButton buttonWithType:UIButtonTypeCustom];
        //_ProLibraryBtn.frame = CGRectMake(0, 0, (SCREEN_WIDTH - 28) / 2, 30);
        [_buttonProLibrary setTitleColor:UIColorFromRGBValue(0xE5005C) forState:UIControlStateNormal];
        [_buttonProLibrary setImage:[UIImage imageNamed:@"icon_加入选品库"] forState:UIControlStateNormal];
        [_buttonProLibrary setImage:[UIImage imageNamed:@"icon_取消加入选品库"] forState:UIControlStateSelected];
        [_buttonProLibrary setTitle:@"  åŠ å…¥åˆ†äº«åº“" forState:UIControlStateNormal];
        [_buttonProLibrary setTitle:@"  å·²åŠ å…¥åˆ†äº«åº“" forState:UIControlStateSelected];
        _buttonProLibrary.titleLabel.font = [UIFont systemFontOfSize:14];
        [_buttonHairCircle setTitleColor:UIColorFromRGBValue(0xE5005C) forState:UIControlStateNormal];
        [_buttonHairCircle setImage:[UIImage imageNamed:@"icon_goodsDetail_hairCircle"] forState:UIControlStateNormal];
        [_buttonHairCircle setTitle:@"  ä¸€é”®å‘单" forState:UIControlStateNormal];
        _buttonHairCircle.titleLabel.font = [UIFont systemFontOfSize:14];
    }
    return _buttonProLibrary;
    return _buttonHairCircle;
}
- (ALButton *)buttonFanliBi {
MIduo/½çÃæ/ÉÌÆ·ÏêÇé/JD/Cell/GoosStoreInfoView.h
@@ -13,6 +13,9 @@
@interface GoosStoreInfoView : UIView
@property (nonatomic, strong, nullable) NSString *cloudPic;
@property (nonatomic, strong, nullable) NSString *cloudText;
@property (nonatomic, strong, nullable) GoodsDetailBaseModel *model;
@end
MIduo/½çÃæ/ÉÌÆ·ÏêÇé/JD/Cell/GoosStoreInfoView.m
@@ -7,9 +7,16 @@
//
#import "GoosStoreInfoView.h"
#import "TopLeftLabel.h"
@interface GoosStoreInfoView ()
/// å‘单
@property (nonatomic, strong, nullable) ALButton *viewCloudBG;
@property (nonatomic, strong, nullable) UIView *viewCloudLine;
@property (nonatomic, strong, nullable) UILabel *labelCloudTitle;
@property (nonatomic, strong, nullable) ALButton *viewCloudContentBG;
@property (nonatomic, strong, nullable) TopLeftLabel *labelCloudContent;
@property (nonatomic, strong, nullable) UIImageView *imageViewCloudLogo;
///推荐语
@property (nonatomic, strong, nullable) ALButton *buttonRecommenlanguage;
@@ -25,29 +32,65 @@
    self = [super initWithFrame:frame];
    if (self) {
        self.backgroundColor = XYRBackgroundColor;
        [self viewConfig];
    }
    return self;
}
- (void)viewConfig {
    [self addSubview:self.viewCloudBG];
    [self.viewCloudBG addSubview:self.viewCloudLine];
    [self.viewCloudBG addSubview:self.labelCloudTitle];
    [self.viewCloudBG addSubview:self.viewCloudContentBG];
    [self.viewCloudContentBG addSubview:self.imageViewCloudLogo];
    [self.viewCloudContentBG addSubview:self.labelCloudContent];
    self.viewCloudBG.sd_layout.leftSpaceToView(self, 0).topSpaceToView(self, 0).rightSpaceToView(self, 0).heightIs(145);
    self.viewCloudLine.sd_layout.leftSpaceToView(self.viewCloudBG, 0).topSpaceToView(self.viewCloudBG, 0).rightSpaceToView(self.viewCloudBG, 0).heightIs(1);
    self.labelCloudTitle.sd_layout.leftSpaceToView(self.viewCloudBG, 13).topSpaceToView(self.viewCloudBG, 11).widthIs(80).heightIs(13);
    self.viewCloudContentBG.sd_layout.leftSpaceToView(self.viewCloudBG, 10).topSpaceToView(self.labelCloudTitle, 8).rightSpaceToView(self.viewCloudBG, 10).heightIs(102);
    self.viewCloudContentBG.sd_cornerRadius = @5;
    self.imageViewCloudLogo.sd_layout.leftSpaceToView(self.viewCloudContentBG, 10).topSpaceToView(self.viewCloudContentBG, 10).widthIs(83).heightIs(83);
    self.imageViewCloudLogo.sd_cornerRadius = @5;
    self.labelCloudContent.sd_layout.leftSpaceToView(self.imageViewCloudLogo, 10).topSpaceToView(self.viewCloudContentBG, 11).rightSpaceToView(self.viewCloudContentBG, 12).heightIs(80);
    ///推荐语
    [self addSubview:self.buttonRecommenlanguage];
    [self.buttonRecommenlanguage addSubview:self.labelTitleRecommenlanguage];
    [self.buttonRecommenlanguage addSubview:self.labelContentRecommenlanguage];
    
    self.buttonRecommenlanguage.sd_layout.leftSpaceToView(self, 0).topSpaceToView(self, 10).rightSpaceToView(self, 0).heightIs(0);
    self.buttonRecommenlanguage.sd_layout.leftSpaceToView(self, 0).topSpaceToView(self.viewCloudBG, 10).rightSpaceToView(self, 0).heightIs(0);
    
    self.labelTitleRecommenlanguage.sd_layout.leftSpaceToView(self.buttonRecommenlanguage, 10).topSpaceToView(self.buttonRecommenlanguage, 13).rightSpaceToView(self.buttonRecommenlanguage, 10).heightIs(15);
    
    self.labelContentRecommenlanguage.sd_layout.leftSpaceToView(self.buttonRecommenlanguage, 10).topSpaceToView(self.labelTitleRecommenlanguage, 9).rightSpaceToView(self.buttonRecommenlanguage, 10).autoHeightRatio(0);
}
- (void)setCloudPic:(NSString *)cloudPic {
    _cloudPic = cloudPic;
}
- (void)setCloudText:(NSString *)cloudText {
    _cloudText = cloudText;
}
- (void)setModel:(GoodsDetailBaseModel *)model {
    _model = model;
    if (_model) {
        self.labelCloudContent.text = _cloudText;
        [self.imageViewCloudLogo sd_setFadeImageWithURL:[NSURL URLWithString:_cloudPic]];
        if (![self isHaveValue:_cloudText]) {
            self.viewCloudBG.hidden = YES;
            self.buttonRecommenlanguage.sd_layout.leftSpaceToView(self, 0).topSpaceToView(self, 10).rightSpaceToView(self, 0).heightIs(0);
        }
        self.labelContentRecommenlanguage.text = model.descriptions;
        
        CGFloat heghtDescr = [self getLabelHeightWithText:model.descriptions width:SCREEN_WIDTH - 20 font:(SCREEN_WIDTH < 375)?10:12] + 37 + 15;
@@ -60,6 +103,68 @@
    }
}
- (ALButton *)viewCloudBG {
    if (!_viewCloudBG) {
        _viewCloudBG = [[ALButton alloc] init];
        _viewCloudBG.backgroundColor = [UIColor whiteColor];
    }
    return _viewCloudBG;;
}
- (UIView *)viewCloudLine {
    if (!_viewCloudLine) {
        _viewCloudLine = [[UIView alloc] init];
        _viewCloudLine.backgroundColor = XYRBackgroundColor;
    }
    return _viewCloudLine;;
}
- (ALButton *)viewCloudContentBG {
    if (!_viewCloudContentBG) {
        _viewCloudContentBG = [[ALButton alloc] init];
        _viewCloudContentBG.backgroundColor = UIColorFromRGBValue(0xF7F7F7);
        _viewCloudContentBG.enabled = YES;
    }
    return _viewCloudContentBG;
}
- (UILabel *)labelCloudTitle {
    if (!_labelCloudTitle) {
        _labelCloudTitle = [[UILabel alloc] init];
        _labelCloudTitle.text = @"一键发单文案";
        _labelCloudTitle.font = [UIFont systemFontOfSize:12];
        _labelCloudTitle.textAlignment = NSTextAlignmentLeft;
        _labelCloudTitle.textColor = UIColorFromRGBValue(0x333333);
    }
    return _labelCloudTitle;
}
- (UIImageView *)imageViewCloudLogo {
    if (!_imageViewCloudLogo) {
        _imageViewCloudLogo = [[UIImageView alloc] init];
        _imageViewCloudLogo.backgroundColor = [UIColor whiteColor];
        [_imageViewCloudLogo setContentScaleFactor:[[UIScreen mainScreen] scale]];
        _imageViewCloudLogo.contentMode =  UIViewContentModeScaleAspectFill;
        _imageViewCloudLogo.autoresizingMask = UIViewAutoresizingFlexibleHeight;
        _imageViewCloudLogo.clipsToBounds  = YES;
    }
    return _imageViewCloudLogo;;
}
- (TopLeftLabel *)labelCloudContent {
    if (!_labelCloudContent) {
        _labelCloudContent = [[TopLeftLabel alloc] init];
        _labelCloudContent.textColor = UIColorFromRGBValue(0x999999);
        _labelCloudContent.textAlignment = NSTextAlignmentLeft;
        _labelCloudContent.numberOfLines = 6;
        _labelCloudContent.font = [UIFont systemFontOfSize:11];
    }
    return _labelCloudContent;
}
- (ALButton *)buttonRecommenlanguage {
    if (!_buttonRecommenlanguage) {
        _buttonRecommenlanguage = [ALButton buttonWithType:UIButtonTypeCustom];
MIduo/½çÃæ/ÉÌÆ·ÏêÇé/JD/Cell/JDGoodsHeaderTableViewCell.h
@@ -41,8 +41,9 @@
@property (nonatomic, nullable, strong) UILabel *quanTime;
@property (nonatomic, nullable, strong) UIButton *quanButton;
@property (nonatomic, nullable, strong) ALButton *buttonSearch;
@property (nonatomic, nullable, strong) ALButton *ProLibraryBtn;
@property (nonatomic, assign) BOOL storageState;
/// å‘圈
@property (nonatomic, nullable, strong) ALButton *buttonHairCircle;
@property (nonatomic, nullable, copy) NSString *from;
@property (nonatomic, nullable, weak) id<GoodsHeaderTableViewCellDelegate>delegate;
///搜索相似物品
MIduo/½çÃæ/ÉÌÆ·ÏêÇé/JD/Cell/JDGoodsHeaderTableViewCell.m
@@ -180,10 +180,10 @@
    
    if ([YTHsharedManger startManger].iosonling == 0) {
        [self.contentView addSubview:self.buttonSearch];
        [self.contentView addSubview:self.ProLibraryBtn];
        [self.contentView addSubview:self.buttonHairCircle];
        [self.contentView addSubview:self.viewSXLine];
    }
    self.viewSXLine.sd_layout.centerXEqualToView(self.contentView).centerYEqualToView(self.ProLibraryBtn).widthIs(1).heightIs(15);
    self.viewSXLine.sd_layout.centerXEqualToView(self.contentView).centerYEqualToView(self.buttonHairCircle).widthIs(1).heightIs(15);
}
- (void)onTouchMaxCoupon {
@@ -212,16 +212,6 @@
{
    [self.timer invalidate];
    self.timer = nil;
}
- (void)setStorageState:(BOOL)storageState {
    _storageState = storageState;
    if (storageState) {
        self.ProLibraryBtn.selected = YES;
    } else {
        self.ProLibraryBtn.selected = NO;
    }
}
- (void)setviewsFrameWithBor:(BOOL)bor
@@ -463,14 +453,14 @@
        
        if (!model.hasCoupon || (_from && [_from isEqualToString:@"miandan"])) {
            [UIView performWithoutAnimation:^{
                self.ProLibraryBtn.frame = CGRectMake(14, CGRectGetMaxY(self.titleLabel.frame) + 10 + sapceTop, (SCREEN_WIDTH - 28) / 2, 30);
                self.buttonSearch.frame = CGRectMake(SCREEN_WIDTH - 14 - (SCREEN_WIDTH - 28) / 2, CGRectGetMinY(self.ProLibraryBtn.frame), (SCREEN_WIDTH - 28) / 2, 30);
                self.buttonHairCircle.frame = CGRectMake(14, CGRectGetMaxY(self.titleLabel.frame) + 10 + sapceTop, (SCREEN_WIDTH - 28) / 2, 30);
                self.buttonSearch.frame = CGRectMake(SCREEN_WIDTH - 14 - (SCREEN_WIDTH - 28) / 2, CGRectGetMinY(self.buttonHairCircle.frame), (SCREEN_WIDTH - 28) / 2, 30);
            }];
            
        } else {
            [UIView performWithoutAnimation:^{
                [self.taokoulingImageView updateLayout];
                self.ProLibraryBtn.frame = CGRectMake(14, CGRectGetMaxY(self.taokoulingImageView.frame) + 15, (SCREEN_WIDTH - 28) / 2, 30);
                self.buttonHairCircle.frame = CGRectMake(14, CGRectGetMaxY(self.taokoulingImageView.frame) + 15, (SCREEN_WIDTH - 28) / 2, 30);
                self.buttonSearch.frame = CGRectMake(SCREEN_WIDTH - 14 - (SCREEN_WIDTH - 28) / 2, CGRectGetMaxY(self.taokoulingImageView.frame) + 15, (SCREEN_WIDTH - 28) / 2, 30);
                
                if (model.couponInfo.token && ![model.couponInfo.token isEqualToString:@""]) {
@@ -479,7 +469,7 @@
                    
                } else {
                    self.taokoulingImageView.hidden = YES;
                    self.ProLibraryBtn.frame = CGRectMake(14, CGRectGetMaxY(self.couponImage.frame) + 15, (SCREEN_WIDTH - 28) / 2, 30);
                    self.buttonHairCircle.frame = CGRectMake(14, CGRectGetMaxY(self.couponImage.frame) + 15, (SCREEN_WIDTH - 28) / 2, 30);
                    self.buttonSearch.frame = CGRectMake(SCREEN_WIDTH - 14 - (SCREEN_WIDTH - 28) / 2, CGRectGetMaxY(self.couponImage.frame) + 15, (SCREEN_WIDTH - 28) / 2, 30);
                }
            }];
@@ -487,7 +477,7 @@
        
        if (!_shareValid) {// æ²¡æœ‰åˆ†äº« éšè—åˆ†äº«æŒ‰é’®è·Ÿåˆ†äº«åº“
            self.buttonSearch.hidden = YES;
            self.ProLibraryBtn.hidden = YES;
            self.buttonHairCircle.hidden = YES;
        }
        
        self.quanMoney.text = [NSString stringWithFormat:@"优惠券 Â¥ %@",model.couponInfo.amount];
@@ -888,20 +878,17 @@
    return _buttonSearch;
}
- (ALButton *)ProLibraryBtn
{
    if (_ProLibraryBtn) {
        return _ProLibraryBtn;
- (ALButton *)buttonHairCircle {
    if (_buttonHairCircle) {
        return _buttonHairCircle;
    }
    _ProLibraryBtn = [ALButton buttonWithType:UIButtonTypeCustom];
    _ProLibraryBtn.frame = CGRectMake(0, 0, (SCREEN_WIDTH - 28) / 2, 30);
    [_ProLibraryBtn setTitleColor:UIColorFromRGBValue(0xE5005C) forState:UIControlStateNormal];
    [_ProLibraryBtn setImage:[UIImage imageNamed:@"icon_加入选品库"] forState:UIControlStateNormal];
    [_ProLibraryBtn setImage:[UIImage imageNamed:@"icon_取消加入选品库"] forState:UIControlStateSelected];
    [_ProLibraryBtn setTitle:@"  åŠ å…¥åˆ†äº«åº“" forState:UIControlStateNormal];
    [_ProLibraryBtn setTitle:@"  å·²åŠ å…¥åˆ†äº«åº“" forState:UIControlStateSelected];
    _ProLibraryBtn.titleLabel.font = [UIFont systemFontOfSize:14];
    return _ProLibraryBtn;
    _buttonHairCircle = [ALButton buttonWithType:UIButtonTypeCustom];
    _buttonHairCircle.frame = CGRectMake(0, 0, (SCREEN_WIDTH - 28) / 2, 30);
    [_buttonHairCircle setTitleColor:UIColorFromRGBValue(0xE5005C) forState:UIControlStateNormal];
    [_buttonHairCircle setImage:[UIImage imageNamed:@"icon_goodsDetail_hairCircle"] forState:UIControlStateNormal];
    [_buttonHairCircle setTitle:@"  ä¸€é”®å‘单" forState:UIControlStateNormal];
    _buttonHairCircle.titleLabel.font = [UIFont systemFontOfSize:14];
    return _buttonHairCircle;
}
- (UIView *)viewMaxCoupon
MIduo/½çÃæ/ÉÌÆ·ÏêÇé/JD/Cell/JDGoodsInfoCell.h
@@ -31,9 +31,8 @@
@property (nonatomic, assign) NSInteger goodsType;
/// æœç´¢æŒ‰é’®
@property (nonatomic, nullable, strong) ALButton *buttonSearch;
/// æ”¶è—åº“按钮
@property (nonatomic, nullable, strong) ALButton *buttonProLibrary;
/// å‘圈
@property (nonatomic, nullable, strong) ALButton *buttonHairCircle;
/// æ˜¯å¦æœ‰è¿”利
@property (nonatomic, assign) BOOL fanliValid;
@@ -45,8 +44,6 @@
@property (nonatomic, nullable, weak) id<JDGoodsInfoCellDelegate>delegate;
/// æ˜¯å¦å±•开所有券(对于JD来说)
@property (nonatomic, assign) BOOL isExpand;
/// æ˜¯å¦æ”¶è—åº“
@property (nonatomic, assign) BOOL storageState;
///搜索相似物品
@property (nonatomic) touchCheckLike _Nullable touchCheckLike;
MIduo/½çÃæ/ÉÌÆ·ÏêÇé/JD/Cell/JDGoodsInfoCell.m
@@ -137,7 +137,7 @@
    [self.contentView addSubview:self.buttonViewMore];
    
    if ([YTHsharedManger startManger].iosonling == 0) {
        [self.contentView addSubview:self.buttonProLibrary];
        [self.contentView addSubview:self.buttonHairCircle];
        [self.contentView addSubview:self.buttonSearch];
        [self.contentView addSubview:self.viewSXLine];
    }
@@ -225,10 +225,10 @@
    [self.buttonViewMore setImageEdgeInsets:UIEdgeInsetsMake(0, _buttonViewMore.titleLabel.bounds.size.width, 0, -_buttonViewMore.titleLabel.bounds.size.width)];
    
    //收藏库按钮和收藏按钮
    self.buttonProLibrary.sd_layout.leftSpaceToView(self.contentView, 10).topSpaceToView(self.viewCouponBG, 20).widthIs((SCREEN_WIDTH - 30) / 2).heightIs(30);
    self.buttonHairCircle.sd_layout.leftSpaceToView(self.contentView, 10).topSpaceToView(self.viewCouponBG, 20).widthIs((SCREEN_WIDTH - 30) / 2).heightIs(30);
    self.buttonSearch.sd_layout.rightSpaceToView(self.contentView, 10).topSpaceToView(self.viewCouponBG, 20).widthIs((SCREEN_WIDTH - 30) / 2).heightIs(30);
    
    self.viewSXLine.sd_layout.centerXEqualToView(self.contentView).centerYEqualToView(self.buttonProLibrary).widthIs(1).heightIs(15);
    self.viewSXLine.sd_layout.centerXEqualToView(self.contentView).centerYEqualToView(self.buttonHairCircle).widthIs(1).heightIs(15);
}
- (void)setViewBorder:(UIView *)view width:(CGFloat)width color:(UIColor *)color {
@@ -251,16 +251,6 @@
- (void)setIsExpand:(BOOL)isExpand {
    _isExpand = isExpand;
}
- (void)setStorageState:(BOOL)storageState {
    _storageState = storageState;
    if (storageState) {
        self.buttonProLibrary.selected = YES;
    } else {
        self.buttonProLibrary.selected = NO;
    }
}
- (void)setModel:(GoodsDetailBaseModel *)model {
@@ -550,11 +540,11 @@
            }
        }
        
        self.buttonProLibrary.sd_resetLayout.leftSpaceToView(self.contentView, 10).topSpaceToView(self.viewCouponBG, topspaceButtonViewMore).widthIs((SCREEN_WIDTH - 30) / 2).heightIs(30);
        self.buttonHairCircle.sd_resetLayout.leftSpaceToView(self.contentView, 10).topSpaceToView(self.viewCouponBG, topspaceButtonViewMore).widthIs((SCREEN_WIDTH - 30) / 2).heightIs(30);
        self.buttonSearch.sd_resetLayout.rightSpaceToView(self.contentView, 10).topSpaceToView(self.viewCouponBG, topspaceButtonViewMore).widthIs((SCREEN_WIDTH - 30) / 2).heightIs(30);
        
        if (!_shareValid) {
            self.buttonProLibrary.hidden = YES;
            self.buttonHairCircle.hidden = YES;
            self.buttonSearch.hidden = YES;
        }
    }
@@ -910,18 +900,16 @@
    return _buttonSearch;
}
- (ALButton *)buttonProLibrary {
    if (!_buttonProLibrary) {
        _buttonProLibrary = [ALButton buttonWithType:UIButtonTypeCustom];
- (ALButton *)buttonHairCircle {
    if (!_buttonHairCircle) {
        _buttonHairCircle = [ALButton buttonWithType:UIButtonTypeCustom];
        //_ProLibraryBtn.frame = CGRectMake(0, 0, (SCREEN_WIDTH - 28) / 2, 30);
        [_buttonProLibrary setTitleColor:UIColorFromRGBValue(0xE5005C) forState:UIControlStateNormal];
        [_buttonProLibrary setImage:[UIImage imageNamed:@"icon_加入选品库"] forState:UIControlStateNormal];
        [_buttonProLibrary setImage:[UIImage imageNamed:@"icon_取消加入选品库"] forState:UIControlStateSelected];
        [_buttonProLibrary setTitle:@"  åŠ å…¥åˆ†äº«åº“" forState:UIControlStateNormal];
        [_buttonProLibrary setTitle:@"  å·²åŠ å…¥åˆ†äº«åº“" forState:UIControlStateSelected];
        _buttonProLibrary.titleLabel.font = [UIFont systemFontOfSize:14];
        [_buttonHairCircle setTitleColor:UIColorFromRGBValue(0xE5005C) forState:UIControlStateNormal];
        [_buttonHairCircle setImage:[UIImage imageNamed:@"icon_goodsDetail_hairCircle"] forState:UIControlStateNormal];
        [_buttonHairCircle setTitle:@"  ä¸€é”®å‘单" forState:UIControlStateNormal];
        _buttonHairCircle.titleLabel.font = [UIFont systemFontOfSize:14];
    }
    return _buttonProLibrary;
    return _buttonHairCircle;
}
- (ALButton *)buttonFanliBi {
MIduo/½çÃæ/ÉÌÆ·ÏêÇé/JD/JDGoodsDetailController.m
@@ -132,6 +132,8 @@
@property (nonatomic, strong) dispatch_source_t timers;
/// æ˜¯å¦å±•开所有券(对于JD来说)
@property (nonatomic, assign) BOOL isExpand;
@property (nonatomic, assign) BOOL isRequestAPI;
/// äº¬ä¸œå¤šåˆ¸è½¬é“¾
@property (nonatomic, nullable, copy) NSString *couponLink;
@@ -839,29 +841,26 @@
    
    if(![ALUserInfoServiceManger fetchUID]){
        self.transitionView.contentLabel.text = @"未登录无返利";
         [self fetchJDCouponLink:couponLink];
        
    } else {
        if (![ALUserInfoServiceManger fetchUID]) {
            [self onLoginVcName:nil title:nil];
            return ;
        }
        // æ˜¯å¦æ¿€æ´»é‚€è¯·åŠŸèƒ½
        if (![ALUserInfoServiceManger isInvited]) {
            [self onInviteVcName:nil];
            return;
        }
        self.transitionView.contentLabel.text = @"购买后有返利,分享后有奖金";
        [self getJingDongLnk:couponLink];
    }
    [self fetchJDCouponLink:couponLink];
    [UMCustomShop umDetail_buy];
    [UMCustomShop umDetail_coupon_click];
}
- (void)fetchJDCouponLink:(NSString *)couponLink {
    NSMutableDictionary *params = [[NSMutableDictionary alloc] init];
    [params setObject:_goodsID forKey:@"id"];
    [params setObject:couponLink forKey:@"couponUrl"];
    [params setObject:_goodsID?:@"" forKey:@"id"];
    [params setObject:couponLink?:@"" forKey:@"couponUrl"];
    if ([self isHaveValue:[ALUserInfoServiceManger fetchUID]]) {
        [params setObject:[ALUserInfoServiceManger fetchUID] forKey:@"uid"];
    }
@@ -869,7 +868,7 @@
    [JYNetWorking Post:[NSString stringWithFormat:@"%@/%@",domainHTTP2,@"goods/getJDCouponLink"] param:params success:^(NSDictionary *object) {
        [self.view hideToastActivity];
        @strongify(self)
        if ([object[@"code"] integerValue] == 0) {
        if ([self isHaveValue:object] && [object[@"code"] integerValue] == 0) {
            self.native = [object[@"data"][@"native"] boolValue]; //是否跳转原生
            self.shoppingUrl = object[@"data"][@"jumpLink"];
            self.transitionView.hidden = NO;
@@ -1067,7 +1066,7 @@
        self.buttomView.shareButton.enabled = YES;
    }];
}
#pragma mark --- é¢†åˆ¸è¿”利/立即购买 ---
#pragma mark --- ä¸‹å•è¿” ---
- (void)buyClicked:(ButtomCarView *)view {
    
    self.transitionView.contentLabel.text = @"购买后有返利,分享后有奖金";
@@ -1082,25 +1081,32 @@
        [self onLoginVcName:nil title:nil];
        return ;
    }
    // æ˜¯å¦æ¿€æ´»é‚€è¯·åŠŸèƒ½
    if (![ALUserInfoServiceManger isInvited]) {
        [self onInviteVcName:nil];
        return;
    }
    [self getJingDongLnk];
    [self getJingDongLnk:nil];
}
- (void)getJingDongLnk
{
    NSDictionary *dic = @{@"uid":[ALUserInfoServiceManger fetchUID],@"id":self.goodsModel.goodsId,@"from" : @"goodsDetail",@"source":self.from?:@""};
- (void)getJingDongLnk:(NSString *)couponUrl {
    NSMutableDictionary *params = [[NSMutableDictionary alloc] init];
    [params setObject:[ALUserInfoServiceManger fetchUID] forKey:@"uid"];
    if ([self isHaveValue:self.goodsModel.goodsId]) {
        [params setObject:self.goodsModel.goodsId forKey:@"id"];
    }
    if ([self isHaveValue:self.from]) {
        [params setObject:self.from forKey:@"source"];
    }
    if ([self isHaveValue:couponUrl]) {
        [params setObject:couponUrl forKey:@"couponUrl"];
    }
    [self.view makeToastActivity:CSToastPositionCenter];
    @weakify(self)
    [JYNetWorking Post:[NSString stringWithFormat:@"%@/%@",domainHTTP2,@"goods/getJDLink"] param:dic success:^(NSDictionary *object) {
    [JYNetWorking Post:[NSString stringWithFormat:@"%@/%@",domainHTTP2,@"goods/getJDLink"] param:params success:^(NSDictionary *object) {
        [self.view hideToastActivity];
        @strongify(self)
        if ([object[@"code"] integerValue] == 0) {
        if ([self isHaveValue:object] && [object[@"code"] integerValue] == 0) {
            self.native = [object[@"data"][@"native"] boolValue]; //是否跳转原生
            self.shoppingUrl = object[@"data"][@"jumpLink"];
            self.transitionView.hidden = NO;
@@ -1117,8 +1123,7 @@
    }];
}
- (void)buyJDGoods
{
- (void)buyJDGoods {
    if (self.goodsModel.hasCoupon) {
        [UMCustomShop umDetail_buy_to_taobao:@"有券"];
    }else{
@@ -1206,45 +1211,53 @@
        return;
    }
    sender.userInteractionEnabled = NO;
    [self userStorageaddstorage];
    [self onecClickBilling];
}
- (void)userStorageaddstorage
{
    NSDictionary *dic = @{@"uid":[ALUserInfoServiceManger fetchUID],@"id":self.goodsModel.goodsId,@"goodsType":[NSString stringWithFormat:@"%ld",(long)_goodsType]};
- (void)onecClickBilling {
    if (self.isRequestAPI) {
        return;
    }
     [self.view makeToastActivity:CSToastPositionCenter];
    self.isRequestAPI = YES;
    NSDictionary *params = @{@"uid":[ALUserInfoServiceManger fetchUID],@"goodsId":self.goodsModel.goodsId,@"goodsType":[NSString stringWithFormat:@"%ld",(long)_goodsType]};
    @weakify(self)
    [JYNetWorking Post:[NSString stringWithFormat:@"%@/%@",domainHTTP2,@"shraeStorage/accordtorage"] param:dic success:^(NSDictionary *object)
     {
    [JYNetWorking Post:[NSString stringWithFormat:@"%@/%@",domainHTTP2,@"user/cloud/sendGoods"] param:params success:^(NSDictionary *object) {
        @strongify(self)
        self.isRequestAPI = NO;
        dispatch_async(dispatch_get_main_queue(), ^{
            JDGoodsInfoCell *cell = [self.detailTableview cellForRowAtIndexPath:[NSIndexPath indexPathForRow:0 inSection:0]];
            cell.buttonProLibrary.userInteractionEnabled = YES;
            if ([object[@"code"] integerValue] == 0) {
                BOOL storageState = [object[@"data"][@"storageState"] boolValue];
                self.storageState = storageState;
                if (storageState) {
                    [JRToast showWithText:@"添加至分享库成功" bottomOffset:kToolBarH + 15  duration:1.2f];
                    [UMCustomShop umDetail_joinXPK];
                    cell.buttonProLibrary.selected = YES;
            [self.view hideToastActivity];
            if ([self isHaveValue:object] ) {
                if ([object[@"code"] integerValue] == 0) {
                    if ([self isHaveValue:object[@"data"] ]){
                        [JRToast showWithText:object[@"data"] bottomOffset:kToolBarH + 15  duration:1.2f];
                    }
                } else if ([object[@"code"] integerValue] == 1001 ||
                           [object[@"code"] integerValue] == 1002 ||
                           [object[@"code"] integerValue] == 1003 ||
                           [object[@"code"] integerValue] == 1004 ||
                           [object[@"code"] integerValue] == 1005) {
                    if ([self isHaveValue:object[@"msg"]]) {
                        [JRToast showWithText:object[@"msg"] bottomOffset:kToolBarH + 15  duration:1.2f];
                    }
                    [self pushAnyInterfaceController:@"ShonpingShareViewController" parms:@{@"url":object[@"data"][@"link"]}];
                    
                } else {
                    [JRToast showWithText:@"已从分享库中删除" bottomOffset:kToolBarH + 15  duration:1.2f];
                    [UMCustomShop umDetail_goods_detail_xpk_cancel];
                    cell.buttonProLibrary.selected = NO;
                    if ([self isHaveValue:object[@"msg"]]) {
                        [JRToast showWithText:object[@"msg"] bottomOffset:kToolBarH + 15  duration:1.2f];
                    }
                }
                
            } else {
                [JRToast showWithText:object[@"msg"] bottomOffset:kToolBarH + 15  duration:1.2f];
            }
        });
        
    } fail:^(id object) {
        dispatch_async(dispatch_get_main_queue(), ^{
            JDGoodsInfoCell *cell = [self.detailTableview cellForRowAtIndexPath:[NSIndexPath indexPathForRow:0 inSection:0]];
            cell.buttonProLibrary.userInteractionEnabled = YES;
        });
        [self.view hideToastActivity];
        self.isRequestAPI = NO;
    }];
}
- (void)noticeMineBackEvent:(NSString *)vcName {
@@ -1562,7 +1575,7 @@
        }
        CGFloat heightCell = 0;
        if ([YTHsharedManger startManger].iosonling == 1) {
             heightCell = SCREEN_WIDTH + (20+12) + (15+12) + (20+[self fetchMaxCouponHeight]+[self fetchTitleHeight]) + (5+[self fetchMoreCouponHeight]) + [self fetchlabelsHeight] + [self fetchFooterButtonHeght] - 50;
            heightCell = SCREEN_WIDTH + (20+12) + (15+12) + (20+[self fetchMaxCouponHeight]+[self fetchTitleHeight]) + (5+[self fetchMoreCouponHeight]) + [self fetchlabelsHeight] + [self fetchFooterButtonHeght] - 50;
            
        } else {
            heightCell = SCREEN_WIDTH + (20+12) + (15+12) + (20+[self fetchMaxCouponHeight]+[self fetchTitleHeight]) + (5+[self fetchMoreCouponHeight]) + [self fetchlabelsHeight] + [self fetchFooterButtonHeght];
@@ -1670,7 +1683,6 @@
        cell.shareValid = self.shareValid;
        cell.isExpand = self.isExpand;
        cell.model = self.goodsModel;
        cell.storageState = self.storageState;
        
        @weakify(self)
        cell.touchCheckLike = ^{
@@ -1681,7 +1693,7 @@
            [self.navigationController pushViewController:searchDetailMainVc animated:YES];
        };
        
        [cell.buttonProLibrary addTarget:self action:@selector(ProLibraryTaped:) forControlEvents:UIControlEventTouchUpInside];
        [cell.buttonHairCircle addTarget:self action:@selector(ProLibraryTaped:) forControlEvents:UIControlEventTouchUpInside];
        
        if (!_goodsModel) {
            CATransition *animation = [CATransition animation];
@@ -1877,15 +1889,18 @@
            return 10;
            
        } else {
            CGFloat heightRecommend = 0.0;
            CGFloat heightFooter = 0, heightCloud = 0, heightRecommend = 0.0;
            if ([self isHaveValue:self.extraDictionary[@"cloudText"]]) {
                heightCloud = 145;
            }
            if ([self isHaveValue:self.goodsModel.descriptions]) {
                CGFloat heghtDescr = [self getLabelHeightWithText:self.goodsModel.descriptions width:SCREEN_WIDTH - 20 font:(SCREEN_WIDTH < 375)?10:12] + 37 + 15 + 20;
                heightRecommend = heghtDescr;
            } else {
                heightRecommend = 10;
            }
            return heightRecommend;
            heightFooter = heightCloud + heightRecommend + 10;
            return heightFooter;
        }
        
    } else {
@@ -1919,15 +1934,20 @@
            return view;
            
        } else {
            CGFloat heightRecommend = 0.0;
            CGFloat heightFooter = 0, heightCloud = 0, heightRecommend = 0.0;
            if ([self isHaveValue:self.extraDictionary[@"cloudText"]]) {
                heightCloud = 145;
            }
            if ([self isHaveValue:self.goodsModel.descriptions]) {
                CGFloat heghtDescr = [self getLabelHeightWithText:self.goodsModel.descriptions width:SCREEN_WIDTH - 20 font:(SCREEN_WIDTH < 375)?10:12] + 37 + 15 + 20;
                heightRecommend = heghtDescr;
            } else {
                heightRecommend = CGFLOAT_MIN;
            }
            GoosStoreInfoView *view = [[GoosStoreInfoView alloc] initWithFrame:CGRectMake(0, 0, SCREEN_WIDTH, heightRecommend)];
            heightFooter = heightCloud + heightRecommend + 0.001;
            GoosStoreInfoView *view = [[GoosStoreInfoView alloc] initWithFrame:CGRectMake(0, 0, SCREEN_WIDTH, heightFooter)];
            view.cloudText = self.extraDictionary[@"cloudText"];
            view.cloudPic = self.extraDictionary[@"cloudPic"];
            view.model = self.goodsModel;
            return view;
        }
MIduo/½çÃæ/ÉÌÆ·ÏêÇé/PDD/PDDGoodsDetailController.m
@@ -149,6 +149,8 @@
/// æ˜¯å¦ç¦»å¼€è¿‡å½“前视图
@property (nonatomic, assign) BOOL isLeavedNowView;
@property (nonatomic, assign) BOOL isRequestAPI;
@property (nonatomic, nullable, strong) FetchGoldcoinPopView *fetchGoldcoinPopView;
@property (nonatomic, strong) UIView *backView;
@@ -1062,7 +1064,7 @@
}
- (void)getPingDuoDuoLnk {
    NSDictionary *dic = @{@"uid":[ALUserInfoServiceManger fetchUID],@"id":self.goodsModel.goodsId,@"from" : @"goodsDetail",@"source":self.from?:@""};
    NSDictionary *dic = @{@"uid":[ALUserInfoServiceManger fetchUID],@"id":self.goodsModel.goodsId?:@"",@"from" : @"goodsDetail",@"source":self.from?:@""};
    [self.view makeToastActivity:CSToastPositionCenter];
    
    @weakify(self)
@@ -1104,7 +1106,7 @@
        
    } else {
        ShonpingShareViewController *shonpingShareVc = [[ShonpingShareViewController alloc] init];
        shonpingShareVc.urlString = jumpLink;
        shonpingShareVc.urlString = jumpLink?:@"";
        [self.navigationController pushViewController:shonpingShareVc animated:YES];
    }
}
@@ -1187,45 +1189,53 @@
        return;
    }
    sender.userInteractionEnabled = NO;
    [self userStorageaddstorage];
    [self onecClickBilling];
}
- (void)userStorageaddstorage
{
    NSDictionary *dic = @{@"uid":[ALUserInfoServiceManger fetchUID],@"id":self.goodsModel.goodsId,@"goodsType":[NSString stringWithFormat:@"%ld",(long)_goodsType]};
- (void)onecClickBilling {
    if (self.isRequestAPI) {
        return;
    }
     [self.view makeToastActivity:CSToastPositionCenter];
    self.isRequestAPI = YES;
    NSDictionary *params = @{@"uid":[ALUserInfoServiceManger fetchUID],@"goodsId":self.goodsModel.goodsId,@"goodsType":[NSString stringWithFormat:@"%ld",(long)_goodsType]};
    @weakify(self)
    [JYNetWorking Post:[NSString stringWithFormat:@"%@/%@",domainHTTP2,@"shraeStorage/accordtorage"] param:dic success:^(NSDictionary *object)
     {
    [JYNetWorking Post:[NSString stringWithFormat:@"%@/%@",domainHTTP2,@"user/cloud/sendGoods"] param:params success:^(NSDictionary *object) {
        @strongify(self)
        self.isRequestAPI = NO;
        dispatch_async(dispatch_get_main_queue(), ^{
            JDGoodsHeaderTableViewCell *cell = [self.detailTableview cellForRowAtIndexPath:[NSIndexPath indexPathForRow:0 inSection:0]];
            cell.ProLibraryBtn.userInteractionEnabled = YES;
            if ([object[@"code"] integerValue] == 0) {
                BOOL storageState = [object[@"data"][@"storageState"] boolValue];
                self.storageState = storageState;
                if (storageState) {
                    [JRToast showWithText:@"添加至分享库成功" bottomOffset:kToolBarH + 15  duration:1.2f];
                    [UMCustomShop umDetail_joinXPK];
                    cell.ProLibraryBtn.selected = YES;
            [self.view hideToastActivity];
            if ([self isHaveValue:object] ) {
                if ([object[@"code"] integerValue] == 0) {
                    if ([self isHaveValue:object[@"data"] ]){
                        [JRToast showWithText:object[@"data"] bottomOffset:kToolBarH + 15  duration:1.2f];
                    }
                } else if ([object[@"code"] integerValue] == 1001 ||
                           [object[@"code"] integerValue] == 1002 ||
                           [object[@"code"] integerValue] == 1003 ||
                           [object[@"code"] integerValue] == 1004 ||
                           [object[@"code"] integerValue] == 1005) {
                    if ([self isHaveValue:object[@"msg"]]) {
                        [JRToast showWithText:object[@"msg"] bottomOffset:kToolBarH + 15  duration:1.2f];
                    }
                    [self pushAnyInterfaceController:@"ShonpingShareViewController" parms:@{@"url":object[@"data"][@"link"]}];
                    
                } else {
                    [JRToast showWithText:@"已从分享库中删除" bottomOffset:kToolBarH + 15  duration:1.2f];
                    [UMCustomShop umDetail_goods_detail_xpk_cancel];
                    cell.ProLibraryBtn.selected = NO;
                    if ([self isHaveValue:object[@"msg"]]) {
                        [JRToast showWithText:object[@"msg"] bottomOffset:kToolBarH + 15  duration:1.2f];
                    }
                }
                
            } else {
                [JRToast showWithText:object[@"msg"] bottomOffset:kToolBarH + 15  duration:1.2f];
            }
        });
        
    } fail:^(id object) {
        dispatch_async(dispatch_get_main_queue(), ^{
            JDGoodsHeaderTableViewCell *cell = [self.detailTableview cellForRowAtIndexPath:[NSIndexPath indexPathForRow:0 inSection:0]];
            cell.ProLibraryBtn.userInteractionEnabled = YES;
        });
        [self.view hideToastActivity];
        self.isRequestAPI = NO;
    }];
}
- (void)noticeMineBackEvent:(NSString *)vcName
@@ -1547,9 +1557,9 @@
        if (self.code == 2) {
            return SCREEN_WIDTH;
        }
        UIImage *icomImage = [UIImage imageNamed:@"ic_share_pdd"];
        NSMutableParagraphStyle *style = [[NSParagraphStyle defaultParagraphStyle] mutableCopy];
        style.lineSpacing = 3;
        // å¯¹é½æ–¹å¼
@@ -1597,11 +1607,11 @@
        
        if (self.goodsModel.hasCoupon) {
            if (self.goodsModel.couponInfo.token && ![self.goodsModel.couponInfo.token isEqualToString:@""]) {
                    return SCREEN_WIDTH + 245 + height + maxCouponHeight + labelsHeght - jianqu;
                } else {
                    return SCREEN_WIDTH + 205 + height + maxCouponHeight + labelsHeght - jianqu;
                }
                return SCREEN_WIDTH + 245 + height + maxCouponHeight + labelsHeght - jianqu;
            } else {
                return SCREEN_WIDTH + 205 + height + maxCouponHeight + labelsHeght - jianqu;
            }
            
        } else {
            return SCREEN_WIDTH + 117 + height + maxCouponHeight + labelsHeght - jianqu;
@@ -1724,8 +1734,7 @@
        cell.shareValid = self.shareValid;
        cell.model = self.goodsModel;
        
        cell.storageState = self.storageState;
        [cell.ProLibraryBtn addTarget:self action:@selector(ProLibraryTaped:) forControlEvents:UIControlEventTouchUpInside];
        [cell.buttonHairCircle addTarget:self action:@selector(ProLibraryTaped:) forControlEvents:UIControlEventTouchUpInside];
        
        @weakify(self)
        cell.touchCheckLike = ^{
@@ -1932,15 +1941,18 @@
            return 10;
            
        } else {
            CGFloat heightRecommend = 0.0;
            CGFloat heightFooter = 0, heightCloud = 0, heightRecommend = 0.0;
            if ([self isHaveValue:self.extraDictionary[@"cloudText"]]) {
                heightCloud = 145;
            }
            if ([self isHaveValue:self.goodsModel.descriptions]) {
                CGFloat heghtDescr = [self getLabelHeightWithText:self.goodsModel.descriptions width:SCREEN_WIDTH - 20 font:(SCREEN_WIDTH < 375)?10:12] + 37 + 15 + 20;
                heightRecommend = heghtDescr;
            } else {
                heightRecommend = 10;
            }
            return heightRecommend;
            heightFooter = heightCloud + heightRecommend + 10;
            return heightFooter;
        }
        
    } else {
@@ -1975,15 +1987,20 @@
            return view;
            
        } else {
            CGFloat heightRecommend = 0.0;
            CGFloat heightFooter = 0, heightCloud = 0, heightRecommend = 0.0;
            if ([self isHaveValue:self.extraDictionary[@"cloudText"]]) {
                heightCloud = 145;
            }
            if ([self isHaveValue:self.goodsModel.descriptions]) {
                CGFloat heghtDescr = [self getLabelHeightWithText:self.goodsModel.descriptions width:SCREEN_WIDTH - 20 font:(SCREEN_WIDTH < 375)?10:12] + 37 + 15 + 20;
                heightRecommend = heghtDescr;
            } else {
                heightRecommend = CGFLOAT_MIN;
            }
            GoosStoreInfoView *view = [[GoosStoreInfoView alloc] initWithFrame:CGRectMake(0, 0, SCREEN_WIDTH, heightRecommend)];
            heightFooter = heightCloud + heightRecommend + 0.001;
            GoosStoreInfoView *view = [[GoosStoreInfoView alloc] initWithFrame:CGRectMake(0, 0, SCREEN_WIDTH, heightFooter)];
            view.cloudText = self.extraDictionary[@"cloudText"];
            view.cloudPic = self.extraDictionary[@"cloudPic"];
            view.model = self.goodsModel;
            return view;
        }
MIduo/½çÃæ/ÉÌÆ·ÏêÇé/SN/SNGoodsDetailController.m
@@ -149,6 +149,8 @@
/// æ˜¯å¦ç¦»å¼€è¿‡å½“前视图
@property (nonatomic, assign) BOOL isLeavedNowView;
@property (nonatomic, assign) BOOL isRequestAPI;
@property (nonatomic, nullable, strong) FetchGoldcoinPopView *fetchGoldcoinPopView;
@property (nonatomic, strong) UIView *backView;
@@ -870,10 +872,10 @@
#pragma mark- GDrecomeTableViewCellDelegate
- (void)cellClicked:(GDrecomeTableViewCell *)cell goodId:(NSString *)goodsID {
    PDDGoodsDetailController *goodDeTrVc = [[PDDGoodsDetailController alloc] init];
    goodDeTrVc.goodsID = goodsID;
    goodDeTrVc.goodsType = 3;
    [self.navigationController pushViewController:goodDeTrVc animated:YES];
    SNGoodsDetailController *vc = [[SNGoodsDetailController alloc] init];
    vc.goodsID = goodsID;
    vc.goodsType = 5;
    [self.navigationController pushViewController:vc animated:YES];
}
- (void)touchMaxCoupon {
@@ -1105,6 +1107,7 @@
    } else {
        ShonpingShareViewController *shonpingShareVc = [[ShonpingShareViewController alloc] init];
        shonpingShareVc.urlString = jumpLink;
        shonpingShareVc.from = @"goodsDetail";
        [self.navigationController pushViewController:shonpingShareVc animated:YES];
    }
}
@@ -1187,45 +1190,53 @@
        return;
    }
    sender.userInteractionEnabled = NO;
    [self userStorageaddstorage];
    [self onecClickBilling];
}
- (void)userStorageaddstorage
{
    NSDictionary *dic = @{@"uid":[ALUserInfoServiceManger fetchUID],@"id":self.goodsModel.goodsId,@"goodsType":[NSString stringWithFormat:@"%ld",(long)_goodsType]};
- (void)onecClickBilling {
    if (self.isRequestAPI) {
        return;
    }
     [self.view makeToastActivity:CSToastPositionCenter];
    self.isRequestAPI = YES;
    NSDictionary *params = @{@"uid":[ALUserInfoServiceManger fetchUID],@"goodsId":self.goodsModel.goodsId,@"goodsType":[NSString stringWithFormat:@"%ld",(long)_goodsType]};
    @weakify(self)
    [JYNetWorking Post:[NSString stringWithFormat:@"%@/%@",domainHTTP2,@"shraeStorage/accordtorage"] param:dic success:^(NSDictionary *object)
     {
    [JYNetWorking Post:[NSString stringWithFormat:@"%@/%@",domainHTTP2,@"user/cloud/sendGoods"] param:params success:^(NSDictionary *object) {
        @strongify(self)
        self.isRequestAPI = NO;
        dispatch_async(dispatch_get_main_queue(), ^{
            JDGoodsHeaderTableViewCell *cell = [self.detailTableview cellForRowAtIndexPath:[NSIndexPath indexPathForRow:0 inSection:0]];
            cell.ProLibraryBtn.userInteractionEnabled = YES;
            if ([object[@"code"] integerValue] == 0) {
                BOOL storageState = [object[@"data"][@"storageState"] boolValue];
                self.storageState = storageState;
                if (storageState) {
                    [JRToast showWithText:@"添加至分享库成功" bottomOffset:kToolBarH + 15  duration:1.2f];
                    [UMCustomShop umDetail_joinXPK];
                    cell.ProLibraryBtn.selected = YES;
            [self.view hideToastActivity];
            if ([self isHaveValue:object] ) {
                if ([object[@"code"] integerValue] == 0) {
                    if ([self isHaveValue:object[@"data"] ]){
                        [JRToast showWithText:object[@"data"] bottomOffset:kToolBarH + 15  duration:1.2f];
                    }
                } else if ([object[@"code"] integerValue] == 1001 ||
                           [object[@"code"] integerValue] == 1002 ||
                           [object[@"code"] integerValue] == 1003 ||
                           [object[@"code"] integerValue] == 1004 ||
                           [object[@"code"] integerValue] == 1005) {
                    if ([self isHaveValue:object[@"msg"]]) {
                        [JRToast showWithText:object[@"msg"] bottomOffset:kToolBarH + 15  duration:1.2f];
                    }
                    [self pushAnyInterfaceController:@"ShonpingShareViewController" parms:@{@"url":object[@"data"][@"link"]}];
                    
                } else {
                    [JRToast showWithText:@"已从分享库中删除" bottomOffset:kToolBarH + 15  duration:1.2f];
                    [UMCustomShop umDetail_goods_detail_xpk_cancel];
                    cell.ProLibraryBtn.selected = NO;
                    if ([self isHaveValue:object[@"msg"]]) {
                        [JRToast showWithText:object[@"msg"] bottomOffset:kToolBarH + 15  duration:1.2f];
                    }
                }
                
            } else {
                [JRToast showWithText:object[@"msg"] bottomOffset:kToolBarH + 15  duration:1.2f];
            }
        });
        
    } fail:^(id object) {
        dispatch_async(dispatch_get_main_queue(), ^{
            JDGoodsHeaderTableViewCell *cell = [self.detailTableview cellForRowAtIndexPath:[NSIndexPath indexPathForRow:0 inSection:0]];
            cell.ProLibraryBtn.userInteractionEnabled = YES;
        });
        [self.view hideToastActivity];
        self.isRequestAPI = NO;
    }];
}
- (void)noticeMineBackEvent:(NSString *)vcName
@@ -1722,8 +1733,7 @@
        cell.shareValid = self.shareValid;
        cell.model = self.goodsModel;
        
        cell.storageState = self.storageState;
        [cell.ProLibraryBtn addTarget:self action:@selector(ProLibraryTaped:) forControlEvents:UIControlEventTouchUpInside];
        [cell.buttonHairCircle addTarget:self action:@selector(ProLibraryTaped:) forControlEvents:UIControlEventTouchUpInside];
        
        @weakify(self)
        cell.touchCheckLike = ^{
@@ -1930,15 +1940,18 @@
            return 10;
            
        } else {
            CGFloat heightRecommend = 0.0;
            CGFloat heightFooter = 0, heightCloud = 0, heightRecommend = 0.0;
            if ([self isHaveValue:self.extraDictionary[@"cloudText"]]) {
                heightCloud = 145;
            }
            if ([self isHaveValue:self.goodsModel.descriptions]) {
                CGFloat heghtDescr = [self getLabelHeightWithText:self.goodsModel.descriptions width:SCREEN_WIDTH - 20 font:(SCREEN_WIDTH < 375)?10:12] + 37 + 15 + 20;
                heightRecommend = heghtDescr;
            } else {
                heightRecommend = 10;
            }
            return heightRecommend;
            heightFooter = heightCloud + heightRecommend + 10;
            return heightFooter;
        }
        
    } else {
@@ -1973,15 +1986,20 @@
            return view;
            
        } else {
            CGFloat heightRecommend = 0.0;
            CGFloat heightFooter = 0, heightCloud = 0, heightRecommend = 0.0;
            if ([self isHaveValue:self.extraDictionary[@"cloudText"]]) {
                heightCloud = 145;
            }
            if ([self isHaveValue:self.goodsModel.descriptions]) {
                CGFloat heghtDescr = [self getLabelHeightWithText:self.goodsModel.descriptions width:SCREEN_WIDTH - 20 font:(SCREEN_WIDTH < 375)?10:12] + 37 + 15 + 20;
                heightRecommend = heghtDescr;
            } else {
                heightRecommend = CGFLOAT_MIN;
            }
            GoosStoreInfoView *view = [[GoosStoreInfoView alloc] initWithFrame:CGRectMake(0, 0, SCREEN_WIDTH, heightRecommend)];
            heightFooter = heightCloud + heightRecommend + 0.001;
            GoosStoreInfoView *view = [[GoosStoreInfoView alloc] initWithFrame:CGRectMake(0, 0, SCREEN_WIDTH, heightFooter)];
            view.cloudText = self.extraDictionary[@"cloudText"];
            view.cloudPic = self.extraDictionary[@"cloudPic"];
            view.model = self.goodsModel;
            return view;
        }
MIduo/½çÃæ/ÉÌÆ·ÏêÇé/SN/SNGoodsListController.h
New file
@@ -0,0 +1,22 @@
//
//  JDGoodsListController.h
//  MIduo
//
//  Created by é‡åº†è¿ˆå°–科技有限公司 on 2019/7/26.
//  Copyright Â© 2019 yeshi. All rights reserved.
//
#import <UIKit/UIKit.h>
#import "ALScrollPageView.h"
NS_ASSUME_NONNULL_BEGIN
@interface SNGoodsListController : BaseViewController <ZJScrollPageViewChildVcDelegate>
@property (nonatomic, assign) NSInteger classCount;
@property (nonatomic, nullable, copy) NSString *cid;
@end
NS_ASSUME_NONNULL_END
MIduo/½çÃæ/ÉÌÆ·ÏêÇé/SN/SNGoodsListController.m
New file
@@ -0,0 +1,582 @@
//
//  JDGoodsListController.m
//  MIduo
//
//  Created by é‡åº†è¿ˆå°–科技有限公司 on 2019/7/26.
//  Copyright Â© 2019 yeshi. All rights reserved.
//
#import "SNGoodsListController.h"
#import "SNGoodsDetailController.h"
#import "ThirdClassificationCell.h"
#import "JDGoodsListBannerView.h"
#import "NotLikePopView.h"
@interface SNGoodsListController () <UITableViewDelegate, UITableViewDataSource, NewLoginViewDelegate>
@property (nonatomic, nullable, strong) UITableView *tableView;
/// å¯¼èˆªæ ç°çº¿
@property (nonatomic, nullable, strong) UIView *navGaryLine;
/// ä¸å–œæ¬¢åŽŸå› 
@property (nonatomic, nullable, strong) NotLikePopView *notLikePopView;
/// å¤´éƒ¨ä¼¦è½®æ’­
@property (nonatomic, nullable, strong) JDGoodsListBannerView *tabHeaderBannerView;
/// ç½‘络遮挡层
@property (nonatomic,strong) SJNoNetwork *noNetworkViews;
@property (nonatomic, nullable, strong) SJCustomActivityView *sjCustomActivityView;
/// é¡µç 
@property (nonatomic, assign) NSInteger page;
/// é¡µç æ˜¯ä¸æ˜¯ä¸º1
@property (nonatomic, assign) BOOL isPageForOne;
@property (nonatomic, nullable, strong) NSMutableArray *contentArray;
@property (nonatomic, nullable, strong) NSMutableArray *bannerList;
@property (nonatomic, nullable, strong) NSMutableArray *activityList;
@property (nonatomic, nullable, strong) NSArray *dataArr;
@property (nonatomic, assign) NSInteger count;
/// å°ç«ç®­
@property (nonatomic, nullable, strong) UIButton *topBtn;
/// æ»‘动结束的位置
@property (nonatomic, assign) float lastContentOffset;
@property (nonatomic, nullable, strong) XHTabBarController *tabbar;
@end
@implementation SNGoodsListController
- (BOOL)shouldAutomaticallyForwardAppearanceMethods
{
    return NO;
}
- (void)viewDidLoad
{
    [super viewDidLoad];
    [self setupDataConfig];
    [self setupViewConfig];
}
- (void)setupDataConfig {
    self.page = 1;
    self.isPageForOne = YES;
    self.tabbar = (XHTabBarController *)[UIApplication sharedApplication].keyWindow.rootViewController;
}
- (void)loadDataSource
{
    NSMutableDictionary *params = [[NSMutableDictionary alloc] init];
    [params setObject:[NSString stringWithFormat:@"%ld",(long)self.page] forKey:@"page"];
    [params setObject:self.cid forKey:@"cid"];
    @weakify(self)
    [[ALNetWorking startInterface] Post:[NSString stringWithFormat:@"%@/%@",domainHTTP2, @"suning/getGoodsInfo"] param:params success:^(NSDictionary *object)
     {
        @strongify(self)
        @weakify(self)
        dispatch_async(dispatch_get_main_queue(), ^{
            @strongify(self)
            if ([object[@"code"] integerValue] == 0) {
                if (self.page == 1) {
                    self.isPageForOne = YES;
                    [self.contentArray removeAllObjects];
                    [self.bannerList removeAllObjects];
                    [self.activityList removeAllObjects];
                    [self.bannerList addObjectsFromArray:object[@"data"][@"listPic"]];
                    [self.activityList addObjectsFromArray:object[@"data"][@"listSpe"]];
                    self.dataArr = @[self.bannerList,self.activityList];
                }
                self.count = [object[@"data"][@"count"] integerValue];
                for (NSDictionary *dictionary in object[@"data"][@"list"]) {
                    [self.contentArray addObject:[GoodsDetailBaseModel yy_modelWithJSON:dictionary]];
                }
                self.page++;
                @weakify(self)
                [UIView performWithoutAnimation:^{
                    @strongify(self)
                    [self.tableView reloadData];
                }];
            }
            [self hideSJCustomActivityView];
            [self.tableView.mj_header endRefreshing];
            [self.tableView.mj_footer endRefreshing];
            if ((self.contentArray.count == self.count) && self.contentArray.count != 0) {
                [self.tableView.mj_footer endRefreshingWithNoMoreData];
            }
        });
    } fail:^(id object) {
        @strongify(self)
        [self hideSJCustomActivityView];
        [self.tableView.mj_header endRefreshing];
        [self.tableView.mj_footer endRefreshing];
        if (((NSError *)object).code == -1009) {
            if (self.contentArray.count != 0) {
                self.noNetworkViews.hidden = YES;
                [JRToast showWithText:NETWORK_CONNECT_ANOMALY bottomOffset:kToolBarH + 15 duration:1.2f];
            } else {
                self.noNetworkViews.primtTitle.text = NETWORK_CONNECT_ANOMALY;
                [self.noNetworkViews.iconImage setImage:ALIMAGE_NAMED(@"defaultPage_noNetWork")];
                self.noNetworkViews.hidden = NO;
            }
        } else {
            if (self.contentArray.count != 0) {
                self.noNetworkViews.hidden = YES;
                [JRToast showWithText:NETWORK_CONNECT_ANOMALY bottomOffset:kToolBarH + 15 duration:1.2f];
            } else {
                self.noNetworkViews.primtTitle.text = NETWORK_CONNECT_ANOMALY;
                [self.noNetworkViews.iconImage setImage:ALIMAGE_NAMED(@"defaultPage_noNetWork")];
                self.noNetworkViews.hidden = NO;
            }
        }
    }];
}
- (void)setupViewConfig
{
    [self.view addSubview:self.navGaryLine];
    [self.view addSubview:self.tableView];
    // ç«ç®­
    [self.view addSubview:self.topBtn];
    self.topBtn.sd_layout.bottomSpaceToView(self.view, (IS_IPHONE_X? 156.5:136.5) - kToolBarH).rightSpaceToView(self.view, 20).widthIs(43).heightIs(43);
    [self.view addSubview:self.noNetworkViews];
    [self addNetWorkNotice];
}
#pragma mark --- privte method ---
- (void)addNetWorkNotice
{
    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(NetWorkStatesChange:) name:@"netWorkChangeEventNotification" object:nil];
    AppDelegate *delegate = (AppDelegate *)[UIApplication sharedApplication].delegate;
    if (delegate.netWorkStatesCode == AFNetworkReachabilityStatusNotReachable) {
        NSNotification * notice = [NSNotification notificationWithName:@"statesCode" object:@(delegate.netWorkStatesCode) userInfo:nil];
        [self NetWorkStatesChange:notice];
    } else  if (delegate.netWorkStatesCode == AFNetworkReachabilityStatusReachableViaWiFi){
        NSNotification * notice = [NSNotification notificationWithName:@"statesCode" object:@(delegate.netWorkStatesCode) userInfo:nil];
        [self NetWorkStatesChange:notice];
    } else if (delegate.netWorkStatesCode == AFNetworkReachabilityStatusReachableViaWWAN) {
        NSNotification * notice = [NSNotification notificationWithName:@"statesCode" object:@(delegate.netWorkStatesCode) userInfo:nil];
        [self NetWorkStatesChange:notice];
    } else {
        NSNotification * notice = [NSNotification notificationWithName:@"statesCode" object:@(delegate.netWorkStatesCode) userInfo:nil];
        [self NetWorkStatesChange:notice];
    }
}
- (void)NetWorkStatesChange:(NSNotification *)sender
{
    int networkState = [[sender object] intValue];
    switch (networkState) {
        case -1: {
            if (self.contentArray.count == 0 && self.contentArray.count == 0) {
                self.noNetworkViews.primtTitle.text = NETWORK_CONNECT_ANOMALY;
                [self.noNetworkViews.iconImage setImage:ALIMAGE_NAMED(@"defaultPage_noNetWork")];
                self.noNetworkViews.hidden = NO;
            } else {
                self.noNetworkViews.hidden = YES;
                [JRToast showWithText:NETWORK_CONNECT_ANOMALY bottomOffset:kToolBarH + 15 duration:1.2f];
            }
            break;
        }
        case 0: { // æ²¡æœ‰ç½‘络
            if (self.contentArray.count == 0 && self.contentArray.count == 0) {
                self.noNetworkViews.primtTitle.text = NETWORK_CONNECT_ANOMALY;
                [self.noNetworkViews.iconImage setImage:ALIMAGE_NAMED(@"defaultPage_noNetWork")];
                self.noNetworkViews.hidden = NO;
            } else {
                self.noNetworkViews.hidden = YES;
                [JRToast showWithText:NETWORK_CONNECT_ANOMALY bottomOffset:kToolBarH + 15 duration:1.2f];
            }
            break;
        }
        case 1: { // 3G或者4G,反正用的是流量
            self.noNetworkViews.hidden = YES;
            if (self.contentArray.count == 0) {
                [self showSJCustomActivityView];
                [self loadDataSource];
            }
            break;
        }
        case 2: {  // WIFI网络
            self.noNetworkViews.hidden = YES;
            if (self.contentArray.count == 0) {
                [self showSJCustomActivityView];
                [self loadDataSource];
            }
            break;
        }
        default:
            break;
    }
}
#pragma mark - å…³é”®ä»£ç ï¼šæ»šåŠ¨æ–¹å‘åˆ¤æ–­
- (void)scrollViewWillBeginDragging:(UIScrollView *)scrollView
{
    self.lastContentOffset = scrollView.contentOffset.y;
}
- (void)scrollViewWillBeginDecelerating:(UIScrollView *)scrollView
{
    BOOL isExpand = [[NSUserDefaults standardUserDefaults] boolForKey:@"JDItemIsExpand"];
    if (self.lastContentOffset < scrollView.contentOffset.y) {
        ALLog(@"向上滚动");
        if (isExpand) {
            [[NSUserDefaults standardUserDefaults] setBool:NO forKey:@"JDItemIsExpand"];
            [self.topBtn setHidden:YES];
        }
    } else {
        ALLog(@"向下滚动");
        if (!isExpand) {
            [[NSUserDefaults standardUserDefaults] setBool:YES forKey:@"JDItemIsExpand"];
            [self.topBtn setHidden:NO];
        }
    }
}
- (void)scrollViewDidScroll:(UIScrollView *)scrollView
{
    if (scrollView.contentOffset.y < SCREEN_WIDTH / 2) {
        [self.topBtn setHidden:YES];
    }
}
#pragma mark --- click event ---
- (void)ClickConnectBtn:(UIButton *)sender
{
    if (iOS10) {
        [[UIApplication sharedApplication] openURL:[NSURL URLWithString:UIApplicationOpenSettingsURLString]
                                           options:@{} completionHandler:nil];
    } else {
        [[UIApplication sharedApplication] openURL:[NSURL URLWithString:UIApplicationOpenSettingsURLString]];
    }
}
- (void)onLoginVcName:(NSString *)vcName
{
    [JRToast showWithText:@"请先登录板栗快省账号" bottomOffset:kToolBarH + 15 duration:1.2f];
    // ç™»å½•界面
    NewLoginViewController *loginVc = [[NewLoginViewController alloc] init];
    loginVc.delegate = self;
    loginVc.rootVc = self;
    loginVc.vcName = vcName;
    [self.navigationController pushViewController:loginVc animated:YES];
}
- (void)noticeMineBackEvent:(NSString *)vcName {
}
#pragma mark --- private method ---
- (void)deleteRecommendGoods:(GoodsDetailBaseModel *)goodsModel reason:(NSString *)reason
{
    NSMutableDictionary *params = [[NSMutableDictionary alloc] init];
    if([ALUserInfoServiceManger fetchUID]){
        [params setObject:[ALUserInfoServiceManger fetchUID] forKey:@"uid"];
    }
    [params setObject:goodsModel.goodsId forKey:@"goodsId"];
    [params setObject:@"2" forKey:@"source"];
    [params setObject:reason forKey:@"reason"];
    [JYNetWorking Post:[NSString stringWithFormat:@"%@/%@",domainHTTP, @"goods/deleteRecommendGoods"] param:params success:^(NSDictionary *object)
     {
        if ([object[@"code"] integerValue] == 0) {
        }
    } fail:^(id object) {
    }];
}
#pragma mark --- UITableViewDelegate, UITableViewDataSource ---
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{
    return self.contentArray.count;
}
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
    return 1;
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    static NSString *identifier = @"thirdClassificationCell";
    ThirdClassificationCell *cell = [tableView dequeueReusableCellWithIdentifier:identifier];
    if (!cell) {
        cell = [[ThirdClassificationCell alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentifier:identifier];
        [cell useCellFrameCacheWithIndexPath:indexPath tableView:tableView];
    }
    cell.isHideGaryBgView = NO;
    cell.isShowDelete = ((GoodsDetailBaseModel *)self.contentArray[indexPath.section]).recommend;
    cell.deleteButton.tag = indexPath.section;
    @weakify(self)
    [[[cell.deleteButton rac_signalForControlEvents:UIControlEventTouchUpInside] takeUntil:cell.rac_prepareForReuseSignal] subscribeNext:^(UIButton *button)
     {
        @strongify(self)
        [self.notLikePopView show];
        @weakify(self)
        self.notLikePopView.clickDelete = ^(NSString * _Nullable reasons) {
            @strongify(self)
            [self deleteRecommendGoods:self.contentArray[button.tag] reason:reasons];
            [self.contentArray removeObjectAtIndex:button.tag];
            @weakify(self)
            [UIView performWithoutAnimation:^{
                @strongify(self)
                [self.tableView reloadData];
            }];
        };
    }];    return cell;
}
- (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath
{
    ((ThirdClassificationCell *)cell).model = self.contentArray[indexPath.section];
}
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{
    return (SCREEN_WIDTH < 375)? 136:156;
}
- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section
{
    if (section == 0 && (self.bannerList.count != 0 || self.activityList.count)) {
        if (!self.tabHeaderBannerView) {
            self.tabHeaderBannerView = [[JDGoodsListBannerView alloc] init];
        }
        if (self.isPageForOne == YES) {
            self.tabHeaderBannerView.dataArr = self.dataArr;
            self.isPageForOne = NO;
        }
        @weakify(self)
        self.tabHeaderBannerView.clickIndex = ^(NSInteger index) {
            @strongify(self)
            if ([self.bannerList[index][@"jumpDetail"][@"needLogin"] boolValue] && ![ALUserInfoServiceManger fetchUID]) {// æ²¡æœ‰ç™»é™†åŽ»ç™»é™†
                [self onLoginVcName:nil];
                return;
            }
            [self.commonMethodManage pushController:self.bannerList[index][@"jumpDetail"] params:self.bannerList[index][@"params"] typePush:^(BOOL other) {}];
        };
        self.tabHeaderBannerView.activityClickIndex = ^(NSInteger index) {
            @strongify(self)
            if ([self.activityList[index][@"jumpDetail"][@"needLogin"] boolValue] && ![ALUserInfoServiceManger fetchUID]) {// æ²¡æœ‰ç™»é™†åŽ»ç™»é™†
                [self onLoginVcName:nil];
                return;
            }
            [self.commonMethodManage pushController:self.activityList[index][@"jumpDetail"] params:self.activityList[index][@"params"] typePush:^(BOOL other) {}];
        };
        return self.tabHeaderBannerView;
    } else {
        UIView *view = [[UIView alloc] init];
        view.backgroundColor = XYRBackgroundColor;
        return view;
    }
}
- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section
{
    if (section == 0 && self.bannerList.count != 0 && self.activityList.count != 0) {
        return roundf(165.0/375.0*SCREEN_WIDTH) + roundf(160.0/(375.0/3.0)*(SCREEN_WIDTH/3));
    } else if (section == 0 && self.bannerList.count) {
        return roundf(165.0/375.0*SCREEN_WIDTH);
    } else if (section == 0 && self.activityList.count) {
        return roundf(160.0/(375.0/3.0)*(SCREEN_WIDTH/3));
    } else {
        return 0.001;
    }
}
- (CGFloat)tableView:(UITableView *)tableView heightForFooterInSection:(NSInteger)section {
    if (section == self.contentArray.count - 1) {
        return CGFLOAT_MIN;
    } else {
        return CGFLOAT_MIN;
    }
}
- (UIView *)tableView:(UITableView *)tableView viewForFooterInSection:(NSInteger)section {
    UIView *view = [[UIView alloc] init];
    view.backgroundColor = XYRBackgroundColor;
    return view;
}
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
    SNGoodsDetailController *vc = [[SNGoodsDetailController alloc]init];
    vc.goodsID = ((GoodsDetailBaseModel *)self.contentArray[indexPath.section]).goodsId;
    vc.goodsType = 5;
    [self.navigationController pushViewController:vc animated:YES];
}
- (UIView *)navGaryLine {
    if (!_navGaryLine) {
        _navGaryLine = [[UIView alloc] init];
        _navGaryLine.frame = CGRectMake(0, 0, SCREEN_WIDTH, 0.5);
        _navGaryLine.backgroundColor = UIColorFromRGBValue(0xe0e0e0);
    }
    return _navGaryLine;
}
- (SJNoNetwork *)noNetworkViews {
    if (_noNetworkViews) {
        return _noNetworkViews;
    }
    _noNetworkViews = [[SJNoNetwork alloc]initWithFrame:CGRectMake(0, 0.5, SCREEN_WIDTH, SCREEN_HEIGHT)];
    _noNetworkViews.backgroundColor = XYRBackgroundColor;
    [_noNetworkViews.connectBtn addTarget:self action:@selector(ClickConnectBtn:) forControlEvents:UIControlEventTouchUpInside];
    _noNetworkViews.hidden = YES;
    return _noNetworkViews;
}
- (UITableView *)tableView
{
    if (!_tableView) {
        CGRect rect;
        rect.origin.x = 0;
        rect.origin.y = 0.5;
        rect.size.width = SCREEN_WIDTH;
        CGFloat heightDY = 40;
        if (self.classCount == 0 || self.classCount == 1) {
            heightDY = 0;
        }
        rect.size.height = SCREEN_HEIGHT - kNavigationBarH - kStatusBarH - 0.5 - heightDY;
        _tableView = [[UITableView alloc] initWithFrame:rect style:UITableViewStyleGrouped];
        _tableView.delegate = self;
        _tableView.dataSource = self;
        _tableView.estimatedRowHeight = 0;
        _tableView.estimatedSectionFooterHeight = 0;
        _tableView.estimatedSectionHeaderHeight = 0;
        _tableView.backgroundColor = XYRBackgroundColor;
        _tableView.separatorStyle = UITableViewCellSeparatorStyleNone;
        _tableView.showsVerticalScrollIndicator = NO;
        NSMutableArray *idleImages = [[NSMutableArray alloc] init];
        for (int i = 0; i < 30; i ++) {
            UIImage *image = [UIImage imageNamed:[NSString stringWithFormat:@"icon_down_refresh%d",i]];
            [idleImages addObject:image];
        }
        @weakify(self)
        MJRefreshGifHeader *header = [MJRefreshGifHeader headerWithRefreshingBlock:^{
            @strongify(self)
            self.page = 1;
            [self.tableView.mj_footer resetNoMoreData];
            [self loadDataSource];
        }];
        [header setImages:idleImages forState:MJRefreshStateIdle];
        [header setImages:idleImages forState:MJRefreshStatePulling];
        [header setImages:idleImages forState:MJRefreshStateRefreshing];
        header.lastUpdatedTimeLabel.hidden = YES;
        header.stateLabel.hidden = YES;
        _tableView.mj_header = header;
        MJRefreshAutoGifFooter *footer = [MJRefreshAutoGifFooter footerWithRefreshingBlock:^{
            @strongify(self)
            [self loadDataSource];
        }];
        NSMutableArray *imagesArr = [NSMutableArray array];
         for (int i = 1; i < 13; i++) {
             UIImage *image = [UIImage imageNamed:[NSString stringWithFormat:@"up_%d",i]];
             [imagesArr addObject:image];
         }
         [footer setImages:imagesArr forState:MJRefreshStateRefreshing];
        _tableView.mj_footer = footer;
    }
    return _tableView;
}
- (UIButton *)topBtn
{
    if (!_topBtn) {
        _topBtn = [UIButton buttonWithType:UIButtonTypeCustom];
        [_topBtn setImage:ALIMAGE_NAMED(@"小火箭") forState:UIControlStateNormal];
        [_topBtn setHidden:YES];
        @weakify(self)
        [[_topBtn rac_signalForControlEvents:UIControlEventTouchUpInside] subscribeNext:^(id x) {
            @strongify(self)
            [self.tableView setContentOffset:CGPointMake(0, 0) animated:YES];
        }];
    }
    return _topBtn;
}
- (NSMutableArray *)contentArray
{
    if (!_contentArray) {
        _contentArray = [[NSMutableArray alloc] init];
    }
    return _contentArray;
}
- (NSMutableArray *)bannerList
{
    if (!_bannerList) {
        _bannerList = [[NSMutableArray alloc] init];
    }
    return _bannerList;
}
- (NSMutableArray *)activityList
{
    if (!_activityList) {
        _activityList = [[NSMutableArray alloc] init];
    }
    return _activityList;
}
- (void)showSJCustomActivityView
{
    [self.view addSubview:self.sjCustomActivityView];
}
- (void)hideSJCustomActivityView
{
    [self.sjCustomActivityView hideCustomActivityView];
}
- (SJCustomActivityView *)sjCustomActivityView
{
    if (_sjCustomActivityView) {
        return _sjCustomActivityView;
    }
    _sjCustomActivityView = [[SJCustomActivityView alloc] initView:YES isHome:NO dyHeight:0];
    return _sjCustomActivityView;
}
- (NotLikePopView *)notLikePopView
{
    if (!_notLikePopView) {
        _notLikePopView = [[NotLikePopView alloc] init];
    }
    return _notLikePopView;
}
@end
MIduo/½çÃæ/ÉÌÆ·ÏêÇé/SN/SNGoodsListShowController.h
New file
@@ -0,0 +1,17 @@
//
//  JDGoodsListShowController.h
//  MIduo
//
//  Created by é‡åº†è¿ˆå°–科技有限公司 on 2019/7/26.
//  Copyright Â© 2019 yeshi. All rights reserved.
//
#import <UIKit/UIKit.h>
NS_ASSUME_NONNULL_BEGIN
@interface SNGoodsListShowController : BaseViewController
@end
NS_ASSUME_NONNULL_END
MIduo/½çÃæ/ÉÌÆ·ÏêÇé/SN/SNGoodsListShowController.m
New file
@@ -0,0 +1,327 @@
//
//  JDGoodsListShowController.m
//  MIduo
//
//  Created by é‡åº†è¿ˆå°–科技有限公司 on 2019/7/26.
//  Copyright Â© 2019 yeshi. All rights reserved.
//
#import "SNGoodsListShowController.h"
#import "SNGoodsListController.h"
#import <JDSDK/JDKeplerSDK.h>
@interface SNGoodsListShowController () <ZJScrollPageViewDelegate>
@property (nonatomic, nullable, strong) NSMutableArray *titleArray;
@property (nonatomic, nullable, strong) NSMutableArray *contentArray;
@property (nonatomic, nullable, copy) NSString *suningLink;
/// ç½‘络遮挡层
@property (nonatomic,strong) SJNoNetwork *noNetworkViews;
@property (nonatomic, nullable, strong) SJCustomActivityView *sjCustomActivityView;
@end
@implementation SNGoodsListShowController
- (void)viewWillAppear:(BOOL)animated
{
    [super viewWillAppear:animated];
    [self.navigationController setNavigationBarHidden:NO animated:animated];
}
- (void)viewWillDisappear:(BOOL)animated
{
    [super viewWillDisappear:animated];
}
- (void)viewDidLoad
{
    [super viewDidLoad];
    [self setupDataConfig];
    [self setupNavConfig];
    [self.view addSubview:self.noNetworkViews];
    [self addNetWorkNotice];
}
- (void)setupDataConfig
{
}
- (void)setupNavConfig
{
    self.navigationController.navigationBar.translucent = NO;
    self.navigationController.navigationBar.barTintColor = FLQNewNavigationBarColor;
    self.navigationController.navigationBar.titleTextAttributes = @{NSForegroundColorAttributeName:FLQNewNavigationTitleColor,NSFontAttributeName:[UIFont boldSystemFontOfSize:FLQNewNavigationTitleFont]};
    self.title = @"苏宁精选";
    self.view.backgroundColor = XYRBackgroundColor;
    UIButton *navRightButton = [[UIButton alloc] initWithFrame:CGRectMake(0, 0, 50, 30)];
    [navRightButton setTitle:@"去苏宁" forState:UIControlStateNormal];
    [navRightButton setTitleColor:FLQNewNavigationTitleColor forState:UIControlStateNormal];
    navRightButton.titleLabel.font = [UIFont systemFontOfSize:17];
    [navRightButton addTarget:self action:@selector(onNavRightEvent) forControlEvents:UIControlEventTouchUpInside];
    self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] initWithCustomView:navRightButton];
}
/**
 * åŠ è½½æ•°æ®
 */
- (void)loadDataSource {
    @weakify(self)
    [JYNetWorking Post:[NSString stringWithFormat:@"%@/%@",domainHTTP2,@"suning/getClass"] param:nil success:^(NSDictionary *object)
     {
        @strongify(self)
        @weakify(self)
        dispatch_async(dispatch_get_main_queue(), ^{
            @strongify(self)
            [self hideSJCustomActivityView];
            if ([object[@"code"] integerValue] == 0) {
                [self.titleArray removeAllObjects];
                [self.contentArray removeAllObjects];
                self.suningLink = object[@"data"][@"suningLink"];
                for (NSDictionary *dictionary in object[@"data"][@"list"]) {
                    [self.titleArray addObject:dictionary[@"name"]];
                }
                [self.contentArray addObjectsFromArray:object[@"data"][@"list"]];
                [self setupViewConfig];
            }
        });
    } fail:^(id object) {
        [self hideSJCustomActivityView];
        if (((NSError *)object).code == -1009) { //  æ²¡æœ‰ç½‘络
            if (self.contentArray.count != 0) {
                self.noNetworkViews.hidden = YES;
                [JRToast showWithText:NETWORK_CONNECT_ANOMALY bottomOffset:kToolBarH + 15 duration:1.2f];
            } else {
                self.noNetworkViews.primtTitle.text = NETWORK_CONNECT_ANOMALY;
                [self.noNetworkViews.iconImage setImage:ALIMAGE_NAMED(@"defaultPage_noNetWork")];
                self.noNetworkViews.hidden = NO;
            }
        } else {
            if (self.contentArray.count == 0) {
                self.noNetworkViews.primtTitle.text = NETWORK_CONNECT_ANOMALY;
                [self.noNetworkViews.iconImage setImage:ALIMAGE_NAMED(@"defaultPage_noNetWork")];
                self.noNetworkViews.hidden = NO;
            } else {
                self.noNetworkViews.hidden = YES;
                [JRToast showWithText:NETWORK_CONNECT_ANOMALY bottomOffset:kToolBarH + 15 duration:1.2f];
            }
        }
    }];
}
- (void)addNetWorkNotice
{
    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(NetWorkStatesChange:) name:@"netWorkChangeEventNotification" object:nil];
    AppDelegate *delegate = (AppDelegate *)[UIApplication sharedApplication].delegate;
    if (delegate.netWorkStatesCode == AFNetworkReachabilityStatusNotReachable) {
        NSNotification * notice = [NSNotification notificationWithName:@"statesCode" object:@(delegate.netWorkStatesCode) userInfo:nil];
        [self NetWorkStatesChange:notice];
    }
    else  if (delegate.netWorkStatesCode == AFNetworkReachabilityStatusReachableViaWiFi){
        NSNotification * notice = [NSNotification notificationWithName:@"statesCode" object:@(delegate.netWorkStatesCode) userInfo:nil];
        [self NetWorkStatesChange:notice];
    } else if (delegate.netWorkStatesCode == AFNetworkReachabilityStatusReachableViaWWAN) {
        NSNotification * notice = [NSNotification notificationWithName:@"statesCode" object:@(delegate.netWorkStatesCode) userInfo:nil];
        [self NetWorkStatesChange:notice];
    } else {
        NSNotification * notice = [NSNotification notificationWithName:@"statesCode" object:@(delegate.netWorkStatesCode) userInfo:nil];
        [self NetWorkStatesChange:notice];
    }
}
- (void)NetWorkStatesChange:(NSNotification *)sender {
    int networkState = [[sender object] intValue];
    switch (networkState) {
        case -1: {
            if (self.contentArray.count == 0) {
                self.noNetworkViews.primtTitle.text = NETWORK_CONNECT_ANOMALY;
                [self.noNetworkViews.iconImage setImage:ALIMAGE_NAMED(@"defaultPage_noNetWork")];
                self.noNetworkViews.hidden = NO;
            } else {
                self.noNetworkViews.hidden = YES;
                [JRToast showWithText:NETWORK_CONNECT_ANOMALY bottomOffset:kToolBarH + 15 duration:1.2f];
            }
            break;
        }
        case 0: { // æ²¡æœ‰ç½‘络
            if (self.contentArray.count == 0) {
                self.noNetworkViews.primtTitle.text = NETWORK_CONNECT_ANOMALY;
                [self.noNetworkViews.iconImage setImage:ALIMAGE_NAMED(@"defaultPage_noNetWork")];
                self.noNetworkViews.hidden = NO;
            } else {
                self.noNetworkViews.hidden = YES;
                [JRToast showWithText:NETWORK_CONNECT_ANOMALY bottomOffset:kToolBarH + 15 duration:1.2f];
            }
            break;
        }
        case 1: { // 3G或者4G,反正用的是流量
            self.noNetworkViews.hidden = YES;
            if (self.contentArray.count == 0) {
                [self showSJCustomActivityView];
                [self loadDataSource];
            }
            break;
        }
        case 2: {  // WIFI网络
            self.noNetworkViews.hidden = YES;
            if (self.contentArray.count == 0) {
                [self showSJCustomActivityView];
                [self loadDataSource];
            }
            break;
        }
        default:
            break;
    }
}
#pragma mark --- click event ---
- (void)ClickConnectBtn:(UIButton *)sender {
    if (iOS10) {
        [[UIApplication sharedApplication] openURL:[NSURL URLWithString:UIApplicationOpenSettingsURLString]
                                           options:@{} completionHandler:nil];
    } else {
        [[UIApplication sharedApplication] openURL:[NSURL URLWithString:UIApplicationOpenSettingsURLString]];
    }
}
- (void)setupViewConfig {
    CGFloat zjheight = 40;
    if (self.titleArray.count == 0 || self.titleArray.count == 1) {
        zjheight = 0;
    }
    ZJSegmentStyle *style = [[ZJSegmentStyle alloc] init];
    // æ˜¾ç¤ºé®ç›–
    style.showLine = YES;
    // æ»šåŠ¨æ¡çš„é¢œè‰²
    style.scrollLineColor = XYRMainColor;
    // é€‰ä¸­å­—体的颜色
    style.selectedTitleColor = XYRMainColor;
    // æ ‡é¢˜ä¸€èˆ¬çŠ¶æ€çš„é¢œè‰²
    style.normalTitleColor = YTHColor(51, 51, 51);
    // æ ‡é¢˜ä¹‹é—´çš„é—´éš™
    style.titleMargin = 25;
    // æ ‡é¢˜è·ç¦»å·¦ä¾§çš„é—´éš™
    style.titleLeftLength = 15;
    //放大倍数
    style.titleBigScale = 1.1;
    //是否缩放标题
    style.scaleTitle = YES;
    //字体
    style.titleFont = [UIFont systemFontOfSize:16];
    //设置segment的高度
    style.segmentHeight = zjheight;
    style.imagePosition = TitleImagePositionLeft;
    style.showImage = YES;
    style.autoAdjustTitlesWidth = YES;
    //初始化
    ALScrollPageView *scrollPageView = [[ALScrollPageView alloc] initWithFrame:CGRectMake(0, 0, SCREEN_WIDTH, SCREEN_HEIGHT - kNavigationBarH - kStatusBarH) segmentStyle:style titles:self.contentArray parentViewController:self isHomeAlloc:NO isFirstGraphicMixed:NO delegate:self];
    [self.view addSubview:scrollPageView];
}
- (NSInteger)numberOfChildViewControllers {
    if (self.contentArray.count == 0) {
        return 1;
    } else {
        return self.contentArray.count;
    }
}
- (UIViewController<ZJScrollPageViewChildVcDelegate> *)childViewController:(UIViewController<ZJScrollPageViewChildVcDelegate> *)reuseViewController forIndex:(NSInteger)index {
    UIViewController<ZJScrollPageViewChildVcDelegate> *childVc = reuseViewController;
    if (!childVc) {
        SNGoodsListController *vc = [[SNGoodsListController alloc] init];
        vc.classCount = _contentArray.count;
        vc.cid = self.contentArray[index][@"id"];
        childVc = vc;
    }
    return childVc;
}
#pragma mark --- click event ---
- (void)onNavRightEvent {
    [self jumpJingDong:YES jumpLink:self.suningLink?:@""];
}
#pragma mark --- private method ---
- (void)jumpJingDong:(BOOL)native jumpLink:(NSString *)jumpLink {
    ShonpingShareViewController *shonpingShareVc = [[ShonpingShareViewController alloc] init];
    shonpingShareVc.urlString = jumpLink;
    [self.navigationController pushViewController:shonpingShareVc animated:YES];
}
#pragma mark --- getter ---
- (SJNoNetwork *)noNetworkViews {
    if (_noNetworkViews) {
        return _noNetworkViews;
    }
    _noNetworkViews = [[SJNoNetwork alloc]initWithFrame:CGRectMake(0, 0.5, SCREEN_WIDTH, SCREEN_HEIGHT)];
    _noNetworkViews.backgroundColor = XYRBackgroundColor;
    [_noNetworkViews.connectBtn addTarget:self action:@selector(ClickConnectBtn:) forControlEvents:UIControlEventTouchUpInside];
    _noNetworkViews.hidden = YES;
    return _noNetworkViews;
}
- (NSMutableArray *)titleArray {
    if (!_titleArray) {
        _titleArray = [[NSMutableArray alloc] init];
    }
    return _titleArray;
}
- (NSMutableArray *)contentArray {
    if (!_contentArray) {
        _contentArray = [[NSMutableArray alloc] init];
    }
    return _contentArray;
}
- (void)showSJCustomActivityView {
    [self.view addSubview:self.sjCustomActivityView];
}
- (void)hideSJCustomActivityView {
    [self.sjCustomActivityView hideCustomActivityView];
}
- (SJCustomActivityView *)sjCustomActivityView {
    if (_sjCustomActivityView) {
        return _sjCustomActivityView;
    }
    _sjCustomActivityView = [[SJCustomActivityView alloc] initView:YES isHome:NO dyHeight:0];
    return _sjCustomActivityView;
}
@end
MIduo/½çÃæ/ÉÌÆ·ÏêÇé/WPH/Cell/WPHGoodsdetailInfoCell.m
@@ -727,7 +727,7 @@
    _buttonHairCircle.frame = CGRectMake(0, 0, (SCREEN_WIDTH - 28) / 2, 30);
    [_buttonHairCircle setTitleColor:UIColorFromRGBValue(0xE5005C) forState:UIControlStateNormal];
    [_buttonHairCircle setImage:[UIImage imageNamed:@"icon_goodsDetail_hairCircle"] forState:UIControlStateNormal];
    [_buttonHairCircle setTitle:@"  ä¸€é”®å‘圈" forState:UIControlStateNormal];
    [_buttonHairCircle setTitle:@"  ä¸€é”®å‘单" forState:UIControlStateNormal];
    _buttonHairCircle.titleLabel.font = [UIFont systemFontOfSize:14];
    return _buttonHairCircle;
}
MIduo/½çÃæ/ÉÌÆ·ÏêÇé/WPH/WPHGoodsDetailController.m
@@ -146,6 +146,8 @@
/// æ˜¯å¦ç¦»å¼€è¿‡å½“前视图
@property (nonatomic, assign) BOOL isLeavedNowView;
@property (nonatomic, assign) BOOL isRequestAPI;
@property (nonatomic, nullable, strong) FetchGoldcoinPopView *fetchGoldcoinPopView;
@property (nonatomic, strong) UIView *backView;
@@ -861,10 +863,10 @@
#pragma mark- GDrecomeTableViewCellDelegate
- (void)cellClicked:(GDrecomeTableViewCell *)cell goodId:(NSString *)goodsID {
    PDDGoodsDetailController *goodDeTrVc = [[PDDGoodsDetailController alloc] init];
    goodDeTrVc.goodsID = goodsID;
    goodDeTrVc.goodsType = 3;
    [self.navigationController pushViewController:goodDeTrVc animated:YES];
    WPHGoodsDetailController *vc = [[WPHGoodsDetailController alloc] init];
    vc.goodsID = goodsID;
    vc.goodsType = 4;
    [self.navigationController pushViewController:vc animated:YES];
}
- (void)touchMaxCoupon {
@@ -1091,6 +1093,7 @@
    } else {
        ShonpingShareViewController *shonpingShareVc = [[ShonpingShareViewController alloc] init];
        shonpingShareVc.urlString = jumpLink;
        shonpingShareVc.from = @"goodsDetail";
        [self.navigationController pushViewController:shonpingShareVc animated:YES];
    }
}
@@ -1170,44 +1173,53 @@
        return;
    }
    sender.userInteractionEnabled = NO;
    [self userStorageaddstorage];
    [self onecClickBilling];
}
- (void)userStorageaddstorage {
    //    NSDictionary *dic = @{@"uid":[ALUserInfoServiceManger fetchUID],@"id":self.goodsModel.goodsId,@"goodsType":[NSString stringWithFormat:@"%ld",(long)_goodsType]};
    //    @weakify(self)
    //    [JYNetWorking Post:[NSString stringWithFormat:@"%@/%@",domainHTTP2,@"shraeStorage/accordtorage"] param:dic success:^(NSDictionary *object)
    //     {
    //        @strongify(self)
    //        dispatch_async(dispatch_get_main_queue(), ^{
    //            WPHGoodsdetailInfoCell *cell = [self.detailTableview cellForRowAtIndexPath:[NSIndexPath indexPathForRow:0 inSection:0]];
    //            cell.buttonHairCircle.userInteractionEnabled = YES;
    //            if ([object[@"code"] integerValue] == 0) {
    //                BOOL storageState = [object[@"data"][@"storageState"] boolValue];
    //                self.storageState = storageState;
    //                if (storageState) {
    //                    [JRToast showWithText:@"添加至分享库成功" bottomOffset:kToolBarH + 15  duration:1.2f];
    //                    [UMCustomShop umDetail_joinXPK];
    //                    cell.ProLibraryBtn.selected = YES;
    //
    //                } else {
    //                    [JRToast showWithText:@"已从分享库中删除" bottomOffset:kToolBarH + 15  duration:1.2f];
    //                    [UMCustomShop umDetail_goods_detail_xpk_cancel];
    //                    cell.ProLibraryBtn.selected = NO;
    //                }
    //
    //            } else {
    //                [JRToast showWithText:object[@"msg"] bottomOffset:kToolBarH + 15  duration:1.2f];
    //            }
    //        });
    //
    //    } fail:^(id object) {
    //        dispatch_async(dispatch_get_main_queue(), ^{
    //            WPHGoodsdetailInfoCell *cell = [self.detailTableview cellForRowAtIndexPath:[NSIndexPath indexPathForRow:0 inSection:0]];
    //            cell.buttonHairCircle.userInteractionEnabled = YES;
    //        });
    //    }];
- (void)onecClickBilling {
    if (self.isRequestAPI) {
        return;
    }
     [self.view makeToastActivity:CSToastPositionCenter];
    self.isRequestAPI = YES;
    NSDictionary *params = @{@"uid":[ALUserInfoServiceManger fetchUID],@"goodsId":self.goodsModel.goodsId,@"goodsType":[NSString stringWithFormat:@"%ld",(long)_goodsType]};
    
    @weakify(self)
    [JYNetWorking Post:[NSString stringWithFormat:@"%@/%@",domainHTTP2,@"user/cloud/sendGoods"] param:params success:^(NSDictionary *object) {
        @strongify(self)
        self.isRequestAPI = NO;
        dispatch_async(dispatch_get_main_queue(), ^{
            [self.view hideToastActivity];
            if ([self isHaveValue:object] ) {
                if ([object[@"code"] integerValue] == 0) {
                    if ([self isHaveValue:object[@"data"] ]){
                        [JRToast showWithText:object[@"data"] bottomOffset:kToolBarH + 15  duration:1.2f];
                    }
                } else if ([object[@"code"] integerValue] == 1001 ||
                           [object[@"code"] integerValue] == 1002 ||
                           [object[@"code"] integerValue] == 1003 ||
                           [object[@"code"] integerValue] == 1004 ||
                           [object[@"code"] integerValue] == 1005) {
                    if ([self isHaveValue:object[@"msg"]]) {
                        [JRToast showWithText:object[@"msg"] bottomOffset:kToolBarH + 15  duration:1.2f];
                    }
                    [self pushAnyInterfaceController:@"ShonpingShareViewController" parms:@{@"url":object[@"data"][@"link"]}];
                } else {
                    if ([self isHaveValue:object[@"msg"]]) {
                        [JRToast showWithText:object[@"msg"] bottomOffset:kToolBarH + 15  duration:1.2f];
                    }
                }
            }
        });
    } fail:^(id object) {
        [self.view hideToastActivity];
        self.isRequestAPI = NO;
    }];
}
- (void)noticeMineBackEvent:(NSString *)vcName
@@ -1888,15 +1900,18 @@
            return 10;
            
        } else {
            CGFloat heightRecommend = 0.0;
            CGFloat heightFooter = 0, heightCloud = 0, heightRecommend = 0.0;
            if ([self isHaveValue:self.extraDictionary[@"cloudText"]]) {
                heightCloud = 145;
            }
            if ([self isHaveValue:self.goodsModel.descriptions]) {
                CGFloat heghtDescr = [self getLabelHeightWithText:self.goodsModel.descriptions width:SCREEN_WIDTH - 20 font:(SCREEN_WIDTH < 375)?10:12] + 37 + 15 + 20;
                heightRecommend = heghtDescr;
            } else {
                heightRecommend = 10;
            }
            return heightRecommend;
            heightFooter = heightCloud + heightRecommend + 10;
            return heightFooter;
        }
        
    } else {
@@ -1931,15 +1946,20 @@
            return view;
            
        } else {
            CGFloat heightRecommend = 0.0;
            CGFloat heightFooter = 0, heightCloud = 0, heightRecommend = 0.0;
            if ([self isHaveValue:self.extraDictionary[@"cloudText"]]) {
                heightCloud = 145;
            }
            if ([self isHaveValue:self.goodsModel.descriptions]) {
                CGFloat heghtDescr = [self getLabelHeightWithText:self.goodsModel.descriptions width:SCREEN_WIDTH - 20 font:(SCREEN_WIDTH < 375)?10:12] + 37 + 15 + 20;
                heightRecommend = heghtDescr;
            } else {
                heightRecommend = CGFLOAT_MIN;
            }
            GoosStoreInfoView *view = [[GoosStoreInfoView alloc] initWithFrame:CGRectMake(0, 0, SCREEN_WIDTH, heightRecommend)];
            heightFooter = heightCloud + heightRecommend + 0.001;
            GoosStoreInfoView *view = [[GoosStoreInfoView alloc] initWithFrame:CGRectMake(0, 0, SCREEN_WIDTH, heightFooter)];
            view.cloudText = self.extraDictionary[@"cloudText"];
            view.cloudPic = self.extraDictionary[@"cloudPic"];
            view.model = self.goodsModel;
            return view;
        }
MIduo/½çÃæ/ÉÌÆ·ÏêÇé/WPH/WPHGoodsListController.h
New file
@@ -0,0 +1,22 @@
//
//  JDGoodsListController.h
//  MIduo
//
//  Created by é‡åº†è¿ˆå°–科技有限公司 on 2019/7/26.
//  Copyright Â© 2019 yeshi. All rights reserved.
//
#import <UIKit/UIKit.h>
#import "ALScrollPageView.h"
NS_ASSUME_NONNULL_BEGIN
@interface WPHGoodsListController : BaseViewController <ZJScrollPageViewChildVcDelegate>
@property (nonatomic, assign) NSInteger classCount;
@property (nonatomic, nullable, copy) NSString *cid;
@end
NS_ASSUME_NONNULL_END
MIduo/½çÃæ/ÉÌÆ·ÏêÇé/WPH/WPHGoodsListController.m
New file
@@ -0,0 +1,584 @@
//
//  JDGoodsListController.m
//  MIduo
//
//  Created by é‡åº†è¿ˆå°–科技有限公司 on 2019/7/26.
//  Copyright Â© 2019 yeshi. All rights reserved.
//
#import "WPHGoodsListController.h"
#import "WPHGoodsDetailController.h"
#import "ThirdClassificationCell.h"
#import "JDGoodsListBannerView.h"
#import "NotLikePopView.h"
@interface WPHGoodsListController () <UITableViewDelegate, UITableViewDataSource, NewLoginViewDelegate>
@property (nonatomic, nullable, strong) UITableView *tableView;
/// å¯¼èˆªæ ç°çº¿
@property (nonatomic, nullable, strong) UIView *navGaryLine;
/// ä¸å–œæ¬¢åŽŸå› 
@property (nonatomic, nullable, strong) NotLikePopView *notLikePopView;
/// å¤´éƒ¨ä¼¦è½®æ’­
@property (nonatomic, nullable, strong) JDGoodsListBannerView *tabHeaderBannerView;
/// ç½‘络遮挡层
@property (nonatomic,strong) SJNoNetwork *noNetworkViews;
@property (nonatomic, nullable, strong) SJCustomActivityView *sjCustomActivityView;
/// é¡µç 
@property (nonatomic, assign) NSInteger page;
/// é¡µç æ˜¯ä¸æ˜¯ä¸º1
@property (nonatomic, assign) BOOL isPageForOne;
@property (nonatomic, nullable, strong) NSMutableArray *contentArray;
@property (nonatomic, nullable, strong) NSMutableArray *bannerList;
@property (nonatomic, nullable, strong) NSMutableArray *activityList;
@property (nonatomic, nullable, strong) NSArray *dataArr;
@property (nonatomic, assign) NSInteger count;
/// å°ç«ç®­
@property (nonatomic, nullable, strong) UIButton *topBtn;
/// æ»‘动结束的位置
@property (nonatomic, assign) float lastContentOffset;
@property (nonatomic, nullable, strong) XHTabBarController *tabbar;
@end
@implementation WPHGoodsListController
- (BOOL)shouldAutomaticallyForwardAppearanceMethods
{
    return NO;
}
- (void)viewDidLoad
{
    [super viewDidLoad];
    [self setupDataConfig];
    [self setupViewConfig];
}
- (void)setupDataConfig {
    self.page = 1;
    self.isPageForOne = YES;
    self.tabbar = (XHTabBarController *)[UIApplication sharedApplication].keyWindow.rootViewController;
}
- (void)loadDataSource
{
    NSMutableDictionary *params = [[NSMutableDictionary alloc] init];
    [params setObject:[NSString stringWithFormat:@"%ld",(long)self.page] forKey:@"page"];
    [params setObject:self.cid forKey:@"cid"];
    @weakify(self)
    [[ALNetWorking startInterface] Post:[NSString stringWithFormat:@"%@/%@",domainHTTP2, @"vipshop/getGoodsInfo"] param:params success:^(NSDictionary *object)
     {
        @strongify(self)
        @weakify(self)
        dispatch_async(dispatch_get_main_queue(), ^{
            @strongify(self)
            if ([object[@"code"] integerValue] == 0) {
                if (self.page == 1) {
                    self.isPageForOne = YES;
                    [self.contentArray removeAllObjects];
                    [self.bannerList removeAllObjects];
                    [self.activityList removeAllObjects];
                    [self.bannerList addObjectsFromArray:object[@"data"][@"listPic"]];
                    [self.activityList addObjectsFromArray:object[@"data"][@"listSpe"]];
                    self.dataArr = @[self.bannerList,self.activityList];
                }
                self.count = [object[@"data"][@"count"] integerValue];
                for (NSDictionary *dictionary in object[@"data"][@"list"]) {
                    [self.contentArray addObject:[GoodsDetailBaseModel yy_modelWithJSON:dictionary]];
                }
                self.page++;
                @weakify(self)
                [UIView performWithoutAnimation:^{
                    @strongify(self)
                    [self.tableView reloadData];
                }];
            }
            [self hideSJCustomActivityView];
            [self.tableView.mj_header endRefreshing];
            [self.tableView.mj_footer endRefreshing];
            if ((self.contentArray.count == self.count) && self.contentArray.count != 0) {
                [self.tableView.mj_footer endRefreshingWithNoMoreData];
            }
        });
    } fail:^(id object) {
        @strongify(self)
        [self hideSJCustomActivityView];
        [self.tableView.mj_header endRefreshing];
        [self.tableView.mj_footer endRefreshing];
        if (((NSError *)object).code == -1009) {
            if (self.contentArray.count != 0) {
                self.noNetworkViews.hidden = YES;
                [JRToast showWithText:NETWORK_CONNECT_ANOMALY bottomOffset:kToolBarH + 15 duration:1.2f];
            } else {
                self.noNetworkViews.primtTitle.text = NETWORK_CONNECT_ANOMALY;
                [self.noNetworkViews.iconImage setImage:ALIMAGE_NAMED(@"defaultPage_noNetWork")];
                self.noNetworkViews.hidden = NO;
            }
        } else {
            if (self.contentArray.count != 0) {
                self.noNetworkViews.hidden = YES;
                [JRToast showWithText:NETWORK_CONNECT_ANOMALY bottomOffset:kToolBarH + 15 duration:1.2f];
            } else {
                self.noNetworkViews.primtTitle.text = NETWORK_CONNECT_ANOMALY;
                [self.noNetworkViews.iconImage setImage:ALIMAGE_NAMED(@"defaultPage_noNetWork")];
                self.noNetworkViews.hidden = NO;
            }
        }
    }];
}
- (void)setupViewConfig
{
    [self.view addSubview:self.navGaryLine];
    [self.view addSubview:self.tableView];
    // ç«ç®­
    [self.view addSubview:self.topBtn];
    self.topBtn.sd_layout.bottomSpaceToView(self.view, (IS_IPHONE_X? 156.5:136.5) - kToolBarH).rightSpaceToView(self.view, 20).widthIs(43).heightIs(43);
    [self.view addSubview:self.noNetworkViews];
    [self addNetWorkNotice];
}
#pragma mark --- privte method ---
- (void)addNetWorkNotice
{
    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(NetWorkStatesChange:) name:@"netWorkChangeEventNotification" object:nil];
    AppDelegate *delegate = (AppDelegate *)[UIApplication sharedApplication].delegate;
    if (delegate.netWorkStatesCode == AFNetworkReachabilityStatusNotReachable) {
        NSNotification * notice = [NSNotification notificationWithName:@"statesCode" object:@(delegate.netWorkStatesCode) userInfo:nil];
        [self NetWorkStatesChange:notice];
    } else  if (delegate.netWorkStatesCode == AFNetworkReachabilityStatusReachableViaWiFi){
        NSNotification * notice = [NSNotification notificationWithName:@"statesCode" object:@(delegate.netWorkStatesCode) userInfo:nil];
        [self NetWorkStatesChange:notice];
    } else if (delegate.netWorkStatesCode == AFNetworkReachabilityStatusReachableViaWWAN) {
        NSNotification * notice = [NSNotification notificationWithName:@"statesCode" object:@(delegate.netWorkStatesCode) userInfo:nil];
        [self NetWorkStatesChange:notice];
    } else {
        NSNotification * notice = [NSNotification notificationWithName:@"statesCode" object:@(delegate.netWorkStatesCode) userInfo:nil];
        [self NetWorkStatesChange:notice];
    }
}
- (void)NetWorkStatesChange:(NSNotification *)sender
{
    int networkState = [[sender object] intValue];
    switch (networkState) {
        case -1: {
            if (self.contentArray.count == 0 && self.contentArray.count == 0) {
                self.noNetworkViews.primtTitle.text = NETWORK_CONNECT_ANOMALY;
                [self.noNetworkViews.iconImage setImage:ALIMAGE_NAMED(@"defaultPage_noNetWork")];
                self.noNetworkViews.hidden = NO;
            } else {
                self.noNetworkViews.hidden = YES;
                [JRToast showWithText:NETWORK_CONNECT_ANOMALY bottomOffset:kToolBarH + 15 duration:1.2f];
            }
            break;
        }
        case 0: { // æ²¡æœ‰ç½‘络
            if (self.contentArray.count == 0 && self.contentArray.count == 0) {
                self.noNetworkViews.primtTitle.text = NETWORK_CONNECT_ANOMALY;
                [self.noNetworkViews.iconImage setImage:ALIMAGE_NAMED(@"defaultPage_noNetWork")];
                self.noNetworkViews.hidden = NO;
            } else {
                self.noNetworkViews.hidden = YES;
                [JRToast showWithText:NETWORK_CONNECT_ANOMALY bottomOffset:kToolBarH + 15 duration:1.2f];
            }
            break;
        }
        case 1: { // 3G或者4G,反正用的是流量
            self.noNetworkViews.hidden = YES;
            if (self.contentArray.count == 0) {
                [self showSJCustomActivityView];
                [self loadDataSource];
            }
            break;
        }
        case 2: {  // WIFI网络
            self.noNetworkViews.hidden = YES;
            if (self.contentArray.count == 0) {
                [self showSJCustomActivityView];
                [self loadDataSource];
            }
            break;
        }
        default:
            break;
    }
}
#pragma mark - å…³é”®ä»£ç ï¼šæ»šåŠ¨æ–¹å‘åˆ¤æ–­
- (void)scrollViewWillBeginDragging:(UIScrollView *)scrollView
{
    self.lastContentOffset = scrollView.contentOffset.y;
}
- (void)scrollViewWillBeginDecelerating:(UIScrollView *)scrollView
{
    BOOL isExpand = [[NSUserDefaults standardUserDefaults] boolForKey:@"JDItemIsExpand"];
    if (self.lastContentOffset < scrollView.contentOffset.y) {
        ALLog(@"向上滚动");
        if (isExpand) {
            [[NSUserDefaults standardUserDefaults] setBool:NO forKey:@"JDItemIsExpand"];
            [self.topBtn setHidden:YES];
        }
    } else {
        ALLog(@"向下滚动");
        if (!isExpand) {
            [[NSUserDefaults standardUserDefaults] setBool:YES forKey:@"JDItemIsExpand"];
            [self.topBtn setHidden:NO];
        }
    }
}
- (void)scrollViewDidScroll:(UIScrollView *)scrollView
{
    if (scrollView.contentOffset.y < SCREEN_WIDTH / 2) {
        [self.topBtn setHidden:YES];
    }
}
#pragma mark --- click event ---
- (void)ClickConnectBtn:(UIButton *)sender
{
    if (iOS10) {
        [[UIApplication sharedApplication] openURL:[NSURL URLWithString:UIApplicationOpenSettingsURLString]
                                           options:@{} completionHandler:nil];
    } else {
        [[UIApplication sharedApplication] openURL:[NSURL URLWithString:UIApplicationOpenSettingsURLString]];
    }
}
- (void)onLoginVcName:(NSString *)vcName
{
    [JRToast showWithText:@"请先登录板栗快省账号" bottomOffset:kToolBarH + 15 duration:1.2f];
    // ç™»å½•界面
    NewLoginViewController *loginVc = [[NewLoginViewController alloc] init];
    loginVc.delegate = self;
    loginVc.rootVc = self;
    loginVc.vcName = vcName;
    [self.navigationController pushViewController:loginVc animated:YES];
}
- (void)noticeMineBackEvent:(NSString *)vcName {
}
#pragma mark --- private method ---
- (void)deleteRecommendGoods:(GoodsDetailBaseModel *)goodsModel reason:(NSString *)reason
{
    NSMutableDictionary *params = [[NSMutableDictionary alloc] init];
    if([ALUserInfoServiceManger fetchUID]){
        [params setObject:[ALUserInfoServiceManger fetchUID] forKey:@"uid"];
    }
    [params setObject:goodsModel.goodsId forKey:@"goodsId"];
    [params setObject:@"2" forKey:@"source"];
    [params setObject:reason forKey:@"reason"];
    [JYNetWorking Post:[NSString stringWithFormat:@"%@/%@",domainHTTP, @"goods/deleteRecommendGoods"] param:params success:^(NSDictionary *object)
     {
        if ([object[@"code"] integerValue] == 0) {
        }
    } fail:^(id object) {
    }];
}
#pragma mark --- UITableViewDelegate, UITableViewDataSource ---
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{
    return self.contentArray.count;
}
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
    return 1;
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    static NSString *identifier = @"thirdClassificationCell";
    ThirdClassificationCell *cell = [tableView dequeueReusableCellWithIdentifier:identifier];
    if (!cell) {
        cell = [[ThirdClassificationCell alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentifier:identifier];
        [cell useCellFrameCacheWithIndexPath:indexPath tableView:tableView];
    }
    cell.isHideGaryBgView = NO;
    cell.isShowDelete = ((GoodsDetailBaseModel *)self.contentArray[indexPath.section]).recommend;
    cell.deleteButton.tag = indexPath.section;
    @weakify(self)
    [[[cell.deleteButton rac_signalForControlEvents:UIControlEventTouchUpInside] takeUntil:cell.rac_prepareForReuseSignal] subscribeNext:^(UIButton *button)
     {
        @strongify(self)
        [self.notLikePopView show];
        @weakify(self)
        self.notLikePopView.clickDelete = ^(NSString * _Nullable reasons) {
            @strongify(self)
            [self deleteRecommendGoods:self.contentArray[button.tag] reason:reasons];
            [self.contentArray removeObjectAtIndex:button.tag];
            @weakify(self)
            [UIView performWithoutAnimation:^{
                @strongify(self)
                [self.tableView reloadData];
            }];
        };
    }];    return cell;
}
- (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath
{
    ((ThirdClassificationCell *)cell).model = self.contentArray[indexPath.section];
}
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{
    return (SCREEN_WIDTH < 375)? 136:156;
}
- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section
{
    if (section == 0 && (self.bannerList.count != 0 || self.activityList.count)) {
        if (!self.tabHeaderBannerView) {
            self.tabHeaderBannerView = [[JDGoodsListBannerView alloc] init];
        }
        if (self.isPageForOne == YES) {
            self.tabHeaderBannerView.dataArr = self.dataArr;
            self.isPageForOne = NO;
        }
        @weakify(self)
        self.tabHeaderBannerView.clickIndex = ^(NSInteger index) {
            @strongify(self)
            if ([self.bannerList[index][@"jumpDetail"][@"needLogin"] boolValue] && ![ALUserInfoServiceManger fetchUID]) {// æ²¡æœ‰ç™»é™†åŽ»ç™»é™†
                [self onLoginVcName:nil];
                return;
            }
            [self.commonMethodManage pushController:self.bannerList[index][@"jumpDetail"] params:self.bannerList[index][@"params"] typePush:^(BOOL other) {}];
        };
        self.tabHeaderBannerView.activityClickIndex = ^(NSInteger index) {
            @strongify(self)
            if ([self.activityList[index][@"jumpDetail"][@"needLogin"] boolValue] && ![ALUserInfoServiceManger fetchUID]) {// æ²¡æœ‰ç™»é™†åŽ»ç™»é™†
                [self onLoginVcName:nil];
                return;
            }
            [self.commonMethodManage pushController:self.activityList[index][@"jumpDetail"] params:self.activityList[index][@"params"] typePush:^(BOOL other) {}];
        };
        return self.tabHeaderBannerView;
    } else {
        UIView *view = [[UIView alloc] init];
        view.backgroundColor = XYRBackgroundColor;
        return view;
    }
}
- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section
{
    if (section == 0 && self.bannerList.count != 0 && self.activityList.count != 0) {
        return roundf(165.0/375.0*SCREEN_WIDTH) + roundf(160.0/(375.0/3.0)*(SCREEN_WIDTH/3));
    } else if (section == 0 && self.bannerList.count) {
        return roundf(165.0/375.0*SCREEN_WIDTH);
    } else if (section == 0 && self.activityList.count) {
        return roundf(160.0/(375.0/3.0)*(SCREEN_WIDTH/3));
    } else {
        return 0.001;
    }
}
- (CGFloat)tableView:(UITableView *)tableView heightForFooterInSection:(NSInteger)section
{
    if (section == self.contentArray.count - 1) {
        return CGFLOAT_MIN;
    } else {
        return CGFLOAT_MIN;
    }
}
- (UIView *)tableView:(UITableView *)tableView viewForFooterInSection:(NSInteger)section {
    UIView *view = [[UIView alloc] init];
    view.backgroundColor = XYRBackgroundColor;
    return view;
}
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
    WPHGoodsDetailController *vc = [[WPHGoodsDetailController alloc]init];
    vc.goodsID = ((GoodsDetailBaseModel *)self.contentArray[indexPath.section]).goodsId;
    vc.goodsType = 4;
    [self.navigationController pushViewController:vc animated:YES];
}
- (UIView *)navGaryLine
{
    if (!_navGaryLine) {
        _navGaryLine = [[UIView alloc] init];
        _navGaryLine.frame = CGRectMake(0, 0, SCREEN_WIDTH, 0.5);
        _navGaryLine.backgroundColor = UIColorFromRGBValue(0xe0e0e0);
    }
    return _navGaryLine;
}
- (SJNoNetwork *)noNetworkViews
{
    if (_noNetworkViews) {
        return _noNetworkViews;
    }
    _noNetworkViews = [[SJNoNetwork alloc]initWithFrame:CGRectMake(0, 0.5, SCREEN_WIDTH, SCREEN_HEIGHT)];
    _noNetworkViews.backgroundColor = XYRBackgroundColor;
    [_noNetworkViews.connectBtn addTarget:self action:@selector(ClickConnectBtn:) forControlEvents:UIControlEventTouchUpInside];
    _noNetworkViews.hidden = YES;
    return _noNetworkViews;
}
- (UITableView *)tableView
{
    if (!_tableView) {
        CGRect rect;
        rect.origin.x = 0;
        rect.origin.y = 0.5;
        rect.size.width = SCREEN_WIDTH;
        CGFloat heightDY = 40;
               if (self.classCount == 0 || self.classCount == 1) {
                   heightDY = 0;
               }
        rect.size.height = SCREEN_HEIGHT - kNavigationBarH - kStatusBarH - 0.5 - heightDY;
        _tableView = [[UITableView alloc] initWithFrame:rect style:UITableViewStyleGrouped];
        _tableView.delegate = self;
        _tableView.dataSource = self;
        _tableView.estimatedRowHeight = 0;
        _tableView.estimatedSectionFooterHeight = 0;
        _tableView.estimatedSectionHeaderHeight = 0;
        _tableView.backgroundColor = XYRBackgroundColor;
        _tableView.separatorStyle = UITableViewCellSeparatorStyleNone;
        _tableView.showsVerticalScrollIndicator = NO;
        NSMutableArray *idleImages = [[NSMutableArray alloc] init];
        for (int i = 0; i < 30; i ++) {
            UIImage *image = [UIImage imageNamed:[NSString stringWithFormat:@"icon_down_refresh%d",i]];
            [idleImages addObject:image];
        }
        @weakify(self)
        MJRefreshGifHeader *header = [MJRefreshGifHeader headerWithRefreshingBlock:^{
            @strongify(self)
            self.page = 1;
            [self.tableView.mj_footer resetNoMoreData];
            [self loadDataSource];
        }];
        [header setImages:idleImages forState:MJRefreshStateIdle];
        [header setImages:idleImages forState:MJRefreshStatePulling];
        [header setImages:idleImages forState:MJRefreshStateRefreshing];
        header.lastUpdatedTimeLabel.hidden = YES;
        header.stateLabel.hidden = YES;
        _tableView.mj_header = header;
        MJRefreshAutoGifFooter *footer = [MJRefreshAutoGifFooter footerWithRefreshingBlock:^{
            @strongify(self)
            [self loadDataSource];
        }];
        NSMutableArray *imagesArr = [NSMutableArray array];
        for (int i = 1; i < 13; i++) {
            UIImage *image = [UIImage imageNamed:[NSString stringWithFormat:@"up_%d",i]];
            [imagesArr addObject:image];
        }
        [footer setImages:imagesArr forState:MJRefreshStateRefreshing];
        _tableView.mj_footer = footer;
    }
    return _tableView;
}
- (UIButton *)topBtn
{
    if (!_topBtn) {
        _topBtn = [UIButton buttonWithType:UIButtonTypeCustom];
        [_topBtn setImage:ALIMAGE_NAMED(@"小火箭") forState:UIControlStateNormal];
        [_topBtn setHidden:YES];
        @weakify(self)
        [[_topBtn rac_signalForControlEvents:UIControlEventTouchUpInside] subscribeNext:^(id x) {
            @strongify(self)
            [self.tableView setContentOffset:CGPointMake(0, 0) animated:YES];
        }];
    }
    return _topBtn;
}
- (NSMutableArray *)contentArray
{
    if (!_contentArray) {
        _contentArray = [[NSMutableArray alloc] init];
    }
    return _contentArray;
}
- (NSMutableArray *)bannerList
{
    if (!_bannerList) {
        _bannerList = [[NSMutableArray alloc] init];
    }
    return _bannerList;
}
- (NSMutableArray *)activityList
{
    if (!_activityList) {
        _activityList = [[NSMutableArray alloc] init];
    }
    return _activityList;
}
- (void)showSJCustomActivityView
{
    [self.view addSubview:self.sjCustomActivityView];
}
- (void)hideSJCustomActivityView
{
    [self.sjCustomActivityView hideCustomActivityView];
}
- (SJCustomActivityView *)sjCustomActivityView
{
    if (_sjCustomActivityView) {
        return _sjCustomActivityView;
    }
    _sjCustomActivityView = [[SJCustomActivityView alloc] initView:YES isHome:NO dyHeight:0];
    return _sjCustomActivityView;
}
- (NotLikePopView *)notLikePopView
{
    if (!_notLikePopView) {
        _notLikePopView = [[NotLikePopView alloc] init];
    }
    return _notLikePopView;
}
@end
MIduo/½çÃæ/ÉÌÆ·ÏêÇé/WPH/WPHGoodsListShowController.h
New file
@@ -0,0 +1,17 @@
//
//  JDGoodsListShowController.h
//  MIduo
//
//  Created by é‡åº†è¿ˆå°–科技有限公司 on 2019/7/26.
//  Copyright Â© 2019 yeshi. All rights reserved.
//
#import <UIKit/UIKit.h>
NS_ASSUME_NONNULL_BEGIN
@interface WPHGoodsListShowController : BaseViewController
@end
NS_ASSUME_NONNULL_END
MIduo/½çÃæ/ÉÌÆ·ÏêÇé/WPH/WPHGoodsListShowController.m
New file
@@ -0,0 +1,330 @@
//
//  JDGoodsListShowController.m
//  MIduo
//
//  Created by é‡åº†è¿ˆå°–科技有限公司 on 2019/7/26.
//  Copyright Â© 2019 yeshi. All rights reserved.
//
#import "WPHGoodsListShowController.h"
#import "WPHGoodsListController.h"
#import <JDSDK/JDKeplerSDK.h>
@interface WPHGoodsListShowController () <ZJScrollPageViewDelegate>
@property (nonatomic, nullable, strong) NSMutableArray *titleArray;
@property (nonatomic, nullable, strong) NSMutableArray *contentArray;
@property (nonatomic, nullable, copy) NSString *vipShopLink;
/// ç½‘络遮挡层
@property (nonatomic,strong) SJNoNetwork *noNetworkViews;
@property (nonatomic, nullable, strong) SJCustomActivityView *sjCustomActivityView;
@end
@implementation WPHGoodsListShowController
- (void)viewWillAppear:(BOOL)animated
{
    [super viewWillAppear:animated];
    [self.navigationController setNavigationBarHidden:NO animated:animated];
}
- (void)viewWillDisappear:(BOOL)animated
{
    [super viewWillDisappear:animated];
}
- (void)viewDidLoad
{
    [super viewDidLoad];
    [self setupDataConfig];
    [self setupNavConfig];
    [self.view addSubview:self.noNetworkViews];
    [self addNetWorkNotice];
}
- (void)setupDataConfig
{
}
- (void)setupNavConfig
{
    self.navigationController.navigationBar.translucent = NO;
    self.navigationController.navigationBar.barTintColor = FLQNewNavigationBarColor;
    self.navigationController.navigationBar.titleTextAttributes = @{NSForegroundColorAttributeName:FLQNewNavigationTitleColor,NSFontAttributeName:[UIFont boldSystemFontOfSize:FLQNewNavigationTitleFont]};
    self.title = @"唯品会精选";
    self.view.backgroundColor = XYRBackgroundColor;
    UIButton *navRightButton = [[UIButton alloc] initWithFrame:CGRectMake(0, 0, 50, 30)];
    [navRightButton setTitle:@"去唯品会" forState:UIControlStateNormal];
    [navRightButton setTitleColor:FLQNewNavigationTitleColor forState:UIControlStateNormal];
    navRightButton.titleLabel.font = [UIFont systemFontOfSize:17];
    [navRightButton addTarget:self action:@selector(onNavRightEvent) forControlEvents:UIControlEventTouchUpInside];
    self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] initWithCustomView:navRightButton];
}
/**
 * åŠ è½½æ•°æ®
 */
- (void)loadDataSource
{
    @weakify(self)
    [JYNetWorking Post:[NSString stringWithFormat:@"%@/%@",domainHTTP2,@"vipshop/getClass"] param:nil success:^(NSDictionary *object)
     {
        @strongify(self)
        @weakify(self)
        dispatch_async(dispatch_get_main_queue(), ^{
            @strongify(self)
            [self hideSJCustomActivityView];
            if ([object[@"code"] integerValue] == 0) {
                [self.titleArray removeAllObjects];
                [self.contentArray removeAllObjects];
                self.vipShopLink = object[@"data"][@"vipShopLink"];
                for (NSDictionary *dictionary in object[@"data"][@"list"]) {
                    [self.titleArray addObject:dictionary[@"name"]];
                }
                [self.contentArray addObjectsFromArray:object[@"data"][@"list"]];
                [self setupViewConfig];
            }
        });
    } fail:^(id object) {
        [self hideSJCustomActivityView];
        if (((NSError *)object).code == -1009) { //  æ²¡æœ‰ç½‘络
            if (self.contentArray.count != 0) {
                self.noNetworkViews.hidden = YES;
                [JRToast showWithText:NETWORK_CONNECT_ANOMALY bottomOffset:kToolBarH + 15 duration:1.2f];
            } else {
                self.noNetworkViews.primtTitle.text = NETWORK_CONNECT_ANOMALY;
                [self.noNetworkViews.iconImage setImage:ALIMAGE_NAMED(@"defaultPage_noNetWork")];
                self.noNetworkViews.hidden = NO;
            }
        } else {
            if (self.contentArray.count == 0) {
                self.noNetworkViews.primtTitle.text = NETWORK_CONNECT_ANOMALY;
                [self.noNetworkViews.iconImage setImage:ALIMAGE_NAMED(@"defaultPage_noNetWork")];
                self.noNetworkViews.hidden = NO;
            } else {
                self.noNetworkViews.hidden = YES;
                [JRToast showWithText:NETWORK_CONNECT_ANOMALY bottomOffset:kToolBarH + 15 duration:1.2f];
            }
        }
    }];
}
- (void)addNetWorkNotice
{
    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(NetWorkStatesChange:) name:@"netWorkChangeEventNotification" object:nil];
    AppDelegate *delegate = (AppDelegate *)[UIApplication sharedApplication].delegate;
    if (delegate.netWorkStatesCode == AFNetworkReachabilityStatusNotReachable) {
        NSNotification * notice = [NSNotification notificationWithName:@"statesCode" object:@(delegate.netWorkStatesCode) userInfo:nil];
        [self NetWorkStatesChange:notice];
    }
    else  if (delegate.netWorkStatesCode == AFNetworkReachabilityStatusReachableViaWiFi){
        NSNotification * notice = [NSNotification notificationWithName:@"statesCode" object:@(delegate.netWorkStatesCode) userInfo:nil];
        [self NetWorkStatesChange:notice];
    } else if (delegate.netWorkStatesCode == AFNetworkReachabilityStatusReachableViaWWAN) {
        NSNotification * notice = [NSNotification notificationWithName:@"statesCode" object:@(delegate.netWorkStatesCode) userInfo:nil];
        [self NetWorkStatesChange:notice];
    } else {
        NSNotification * notice = [NSNotification notificationWithName:@"statesCode" object:@(delegate.netWorkStatesCode) userInfo:nil];
        [self NetWorkStatesChange:notice];
    }
}
- (void)NetWorkStatesChange:(NSNotification *)sender
{
    int networkState = [[sender object] intValue];
    switch (networkState) {
        case -1: {
            if (self.contentArray.count == 0) {
                self.noNetworkViews.primtTitle.text = NETWORK_CONNECT_ANOMALY;
                [self.noNetworkViews.iconImage setImage:ALIMAGE_NAMED(@"defaultPage_noNetWork")];
                self.noNetworkViews.hidden = NO;
            } else {
                self.noNetworkViews.hidden = YES;
                [JRToast showWithText:NETWORK_CONNECT_ANOMALY bottomOffset:kToolBarH + 15 duration:1.2f];
            }
            break;
        }
        case 0: { // æ²¡æœ‰ç½‘络
            if (self.contentArray.count == 0) {
                self.noNetworkViews.primtTitle.text = NETWORK_CONNECT_ANOMALY;
                [self.noNetworkViews.iconImage setImage:ALIMAGE_NAMED(@"defaultPage_noNetWork")];
                self.noNetworkViews.hidden = NO;
            } else {
                self.noNetworkViews.hidden = YES;
                [JRToast showWithText:NETWORK_CONNECT_ANOMALY bottomOffset:kToolBarH + 15 duration:1.2f];
            }
            break;
        }
        case 1: { // 3G或者4G,反正用的是流量
            self.noNetworkViews.hidden = YES;
            if (self.contentArray.count == 0) {
                [self showSJCustomActivityView];
                [self loadDataSource];
            }
            break;
        }
        case 2: {  // WIFI网络
            self.noNetworkViews.hidden = YES;
            if (self.contentArray.count == 0) {
                [self showSJCustomActivityView];
                [self loadDataSource];
            }
            break;
        }
        default:
            break;
    }
}
#pragma mark --- click event ---
- (void)ClickConnectBtn:(UIButton *)sender
{
    if (iOS10) {
        [[UIApplication sharedApplication] openURL:[NSURL URLWithString:UIApplicationOpenSettingsURLString]
                                           options:@{} completionHandler:nil];
    } else {
        [[UIApplication sharedApplication] openURL:[NSURL URLWithString:UIApplicationOpenSettingsURLString]];
    }
}
- (void)setupViewConfig
{
    CGFloat zjheight = 40;
    if (self.titleArray.count == 0 || self.titleArray.count == 1) {
        zjheight = 0;
    }
    ZJSegmentStyle *style = [[ZJSegmentStyle alloc] init];
    // æ˜¾ç¤ºé®ç›–
    style.showLine = YES;
    // æ»šåŠ¨æ¡çš„é¢œè‰²
    style.scrollLineColor = XYRMainColor;
    // é€‰ä¸­å­—体的颜色
    style.selectedTitleColor = XYRMainColor;
    // æ ‡é¢˜ä¸€èˆ¬çŠ¶æ€çš„é¢œè‰²
    style.normalTitleColor = YTHColor(51, 51, 51);
    // æ ‡é¢˜ä¹‹é—´çš„é—´éš™
    style.titleMargin = 25;
    // æ ‡é¢˜è·ç¦»å·¦ä¾§çš„é—´éš™
    style.titleLeftLength = 15;
    //放大倍数
    style.titleBigScale = 1.1;
    //是否缩放标题
    style.scaleTitle = YES;
    //字体
    style.titleFont = [UIFont systemFontOfSize:16];
    //设置segment的高度
    style.segmentHeight = zjheight;
    style.imagePosition = TitleImagePositionLeft;
    style.showImage = YES;
    style.autoAdjustTitlesWidth = YES;
    //初始化
    ALScrollPageView *scrollPageView = [[ALScrollPageView alloc] initWithFrame:CGRectMake(0, 0, SCREEN_WIDTH, SCREEN_HEIGHT - kNavigationBarH - kStatusBarH) segmentStyle:style titles:self.contentArray parentViewController:self isHomeAlloc:NO isFirstGraphicMixed:NO delegate:self];
    [self.view addSubview:scrollPageView];
}
- (NSInteger)numberOfChildViewControllers {
    if (self.contentArray.count == 0) {
        return 1;
    } else {
        return self.contentArray.count;
    }
}
- (UIViewController<ZJScrollPageViewChildVcDelegate> *)childViewController:(UIViewController<ZJScrollPageViewChildVcDelegate> *)reuseViewController forIndex:(NSInteger)index {
    UIViewController<ZJScrollPageViewChildVcDelegate> *childVc = reuseViewController;
    if (!childVc) {
        WPHGoodsListController *vc = [[WPHGoodsListController alloc] init];
        vc.classCount = _contentArray.count;
        vc.cid = self.contentArray[index][@"id"];
        childVc = vc;
    }
    return childVc;
}
#pragma mark --- click event ---
- (void)onNavRightEvent {
    [self jumpJingDong:YES jumpLink:self.vipShopLink];
}
#pragma mark --- private method ---
- (void)jumpJingDong:(BOOL)native jumpLink:(NSString *)jumpLink {
    ShonpingShareViewController *shonpingShareVc = [[ShonpingShareViewController alloc] init];
    shonpingShareVc.urlString = jumpLink?:@"";
    [self.navigationController pushViewController:shonpingShareVc animated:YES];
}
#pragma mark --- getter ---
- (SJNoNetwork *)noNetworkViews {
    if (_noNetworkViews) {
        return _noNetworkViews;
    }
    _noNetworkViews = [[SJNoNetwork alloc]initWithFrame:CGRectMake(0, 0.5, SCREEN_WIDTH, SCREEN_HEIGHT)];
    _noNetworkViews.backgroundColor = XYRBackgroundColor;
    [_noNetworkViews.connectBtn addTarget:self action:@selector(ClickConnectBtn:) forControlEvents:UIControlEventTouchUpInside];
    _noNetworkViews.hidden = YES;
    return _noNetworkViews;
}
- (NSMutableArray *)titleArray {
    if (!_titleArray) {
        _titleArray = [[NSMutableArray alloc] init];
    }
    return _titleArray;
}
- (NSMutableArray *)contentArray {
    if (!_contentArray) {
        _contentArray = [[NSMutableArray alloc] init];
    }
    return _contentArray;
}
- (void)showSJCustomActivityView {
    [self.view addSubview:self.sjCustomActivityView];
}
- (void)hideSJCustomActivityView {
    [self.sjCustomActivityView hideCustomActivityView];
}
- (SJCustomActivityView *)sjCustomActivityView {
    if (_sjCustomActivityView) {
        return _sjCustomActivityView;
    }
    _sjCustomActivityView = [[SJCustomActivityView alloc] initView:YES isHome:NO dyHeight:0];
    return _sjCustomActivityView;
}
@end
MIduo/½çÃæ/ÎÒµÄ/Balance/View/BalanceShCell.m
@@ -39,7 +39,7 @@
        self.selectionStyle = UITableViewCellSelectionStyleNone;
        self.contentView.backgroundColor = UIColorFromRGBValue(0xF3F3F3);
        
        self.array = @[@"本月已收货",@"上月已收货",@"待确认收货"];
        self.array = @[@"待确认收货",@"本月未到账",@"全部未到账"];
        
        [self cellConfig];
    }
@@ -51,7 +51,7 @@
    [self.contentView addSubview:self.viewBG];
    
    UILabel *labelTitle = [[UILabel alloc] init];
    labelTitle.text = @"收货详情";
    labelTitle.text = @"到账详情";
    labelTitle.textColor = UIColorFromRGBValue(0x000000);
    labelTitle.font = [UIFont systemFontOfSize:15];
    labelTitle.textAlignment = NSTextAlignmentLeft;
@@ -120,9 +120,9 @@
- (void)setModel:(MoneyStatisticModel *)model {
    _model = model;
    if (model) {
        ((UILabel *)[[self.viewFirst subviews][0] subviews][1]).text = [NSString stringWithFormat:@"ï¿¥%@",model.monthSettleMoney];
        ((UILabel *)[[self.viewFirst subviews][1] subviews][1]).text = [NSString stringWithFormat:@"ï¿¥%@",model.lastMonthSettleMoney];
        ((UILabel *)[[self.viewFirst subviews][2] subviews][1]).text = [NSString stringWithFormat:@"ï¿¥%@",model.notSettleMoney];
        ((UILabel *)[[self.viewFirst subviews][0] subviews][1]).text = [NSString stringWithFormat:@"ï¿¥%@",model.notSettleMoney];
        ((UILabel *)[[self.viewFirst subviews][1] subviews][1]).text = [NSString stringWithFormat:@"ï¿¥%@",model.monthUnRecievedMoney];
        ((UILabel *)[[self.viewFirst subviews][2] subviews][1]).text = [NSString stringWithFormat:@"ï¿¥%@",model.totalUnRecievedMoney];
        self.labelDesc.text = model.moneyArrivalDesc;
    }
}
MIduo/½çÃæ/ÎÒµÄ/Balance/View/Model/MoneyStatisticModel.h
@@ -11,6 +11,10 @@
NS_ASSUME_NONNULL_BEGIN
@interface MoneyStatisticModel : NSObject
/// æœ¬æœˆæœªåˆ°è´¦
@property (nonatomic, nullable, copy) NSString *monthUnRecievedMoney;
/// å…¨éƒ¨æœªåˆ°è´¦
@property (nonatomic, nullable, copy) NSString *totalUnRecievedMoney;
/// é“¾æŽ¥
@property (nonatomic, nullable, copy) NSString *link;
/// è´¦æˆ·ä½™é¢
MIduo/½çÃæ/ÎÒµÄ/BonusStatisticsDetail/Model/BonusorderModel.h
@@ -18,6 +18,8 @@
@class GoodsTitlesModel,WeiQuanInfoModel;
@interface BonusorderModel : NSObject
@property (nonatomic, nullable, strong) NSDictionary *shopType;
/// è®¢å•类型图片, è‡ªè´­ã€åˆ†äº«ã€é‚€è¯·
@property (nonatomic, nullable, copy) NSString *hongBaoTypePic;
/// åˆ°è´¦çŠ¶æ€ï¼š1 æœªåˆ°è´¦ 3已到账 4已失效
MIduo/½çÃæ/ÎÒµÄ/BonusStatisticsDetail/View/EstimateTotalBonusHeaderView.m
@@ -13,7 +13,7 @@
@property (nonatomic, nullable, strong) UIView *whiteView;
@property (nonatomic, nullable, strong) UIImageView *iconImageView;
@property (nonatomic, nullable, strong) UILabel *labelType;
@property (nonatomic, nullable, strong) UIImageView *orderImageView;
@@ -51,16 +51,17 @@
    maskLayer.path = maskPathClickButton.CGPath;
    self.whiteView.layer.mask = maskLayer;
    
    UIImage *image = ALIMAGE_NAMED(@"icon_奖金_淘宝");
    [self.whiteView addSubview:self.iconImageView];
    self.iconImageView.sd_layout.leftSpaceToView(self.whiteView, 15).centerYEqualToView(self.whiteView).widthIs(image.size.width).heightIs(image.size.height);
    [self.whiteView addSubview:self.labelType];
    self.labelType.sd_layout.leftSpaceToView(self.whiteView, 15).centerYEqualToView(self.whiteView).widthIs(0).heightIs(15.5);
    self.labelType.sd_cornerRadius = @4;
    
    [self.whiteView addSubview:self.titleLabel];
    self.titleLabel.sd_layout.rightSpaceToView(self.whiteView, 15).centerYEqualToView(self.whiteView).autoWidthRatio(0).autoHeightRatio(0);
    [self.titleLabel setSingleLineAutoResizeWithMaxWidth:150];
    
    [self.whiteView addSubview:self.typeImagesView];
    self.typeImagesView.sd_layout.leftSpaceToView(self.iconImageView, 8).centerYEqualToView(self.whiteView).rightSpaceToView(self.titleLabel, 10).heightIs(15);
    self.typeImagesView.sd_layout.leftSpaceToView(self.labelType, 8).centerYEqualToView(self.whiteView).rightSpaceToView(self.titleLabel, 10).heightIs(15);
    [self.typeImagesView updateLayout];
    
    [self.typeImagesView addSubview:self.typeimageOneView];
@@ -72,38 +73,15 @@
- (void)setModel:(BonusorderModel *)model
{
    if (model && ![model isEqual:[NSNull null]]) {
        if (model.orderType == 1) {
            UIImage *image = ALIMAGE_NAMED(@"icon_奖金_淘宝");
            self.iconImageView.image = image;
            [self.whiteView addSubview:self.iconImageView];
            self.iconImageView.sd_resetLayout.leftSpaceToView(self.whiteView, 15).centerYEqualToView(self.whiteView).widthIs(image.size.width).heightIs(image.size.height);
        } else if (model.orderType == 2) {
            UIImage *image = ALIMAGE_NAMED(@"icon_奖金_天猫");
            self.iconImageView.image = image;
            [self.whiteView addSubview:self.iconImageView];
            self.iconImageView.sd_resetLayout.leftSpaceToView(self.whiteView, 15).centerYEqualToView(self.whiteView).widthIs(image.size.width).heightIs(image.size.height);
        } else if (model.orderType == 3) {
            self.iconImageView.image = ALIMAGE_NAMED(@"ic_share_jd");
            UIImage *image = ALIMAGE_NAMED(@"ic_share_jd");
            self.iconImageView.image = image;
            [self.whiteView addSubview:self.iconImageView];
            self.iconImageView.sd_resetLayout.leftSpaceToView(self.whiteView, 15).centerYEqualToView(self.whiteView).widthIs(image.size.width).heightIs(image.size.height);
        } else if (model.orderType == 4) {
            UIImage *image = ALIMAGE_NAMED(@"ic_share_pdd");
            self.iconImageView.image = image;
            [self.whiteView addSubview:self.iconImageView];
            self.iconImageView.sd_resetLayout.leftSpaceToView(self.whiteView, 15).centerYEqualToView(self.whiteView).widthIs(image.size.width).heightIs(image.size.height);
        } else if (model.orderType == 6) {
            UIImage *image = ALIMAGE_NAMED(@"ic_share_elm");
            self.iconImageView.image = image;
            [self.whiteView addSubview:self.iconImageView];
            self.iconImageView.sd_resetLayout.leftSpaceToView(self.whiteView, 15).centerYEqualToView(self.whiteView).widthIs(image.size.width).heightIs(image.size.height);
        }
        CGFloat width = [self getWidthWithText:model.shopType[@"content"] height:16 font:11];
        self.labelType.text = model.shopType[@"content"];
        self.labelType.textColor = [self hexColor:model.shopType[@"color"]];
        self.labelType.layer.borderColor = [self hexColor:model.shopType[@"borderColor"]].CGColor;
        self.labelType.sd_resetLayout.leftSpaceToView(self.whiteView, 13).centerYEqualToView(self.whiteView).widthIs(width + 10).heightIs(16);
        
        [self.orderImageView sd_setImageWithURL:[NSURL URLWithString:model.hongBaoTypePic] placeholderImage:nil options:SDWebImageRefreshCached];
        self.titleLabel.text = model.orderState.content;
@@ -293,13 +271,14 @@
    return _whiteView;
}
- (UIImageView *)iconImageView {
    if (!_iconImageView) {
        _iconImageView = [[UIImageView alloc] init];
- (UILabel *)labelType {
    if (!_labelType) {
        _labelType = [[UILabel alloc] init];
        _labelType.font = [UIFont systemFontOfSize:11];
        _labelType.textAlignment = NSTextAlignmentCenter;
        self.labelType.layer.borderWidth = 0.6;
    }
    return _iconImageView;
    return _labelType;
}
- (UIImageView *)orderImageView {
MIduo/½çÃæ/ÎÒµÄ/Collection/View/CollectionCell.m
@@ -454,7 +454,7 @@
            maskLayer.path = maskPath.CGPath;
            self.labelMaxFan.layer.mask = maskLayer;
        };
        if (model.moneyInfo.maxMoney && ![model.moneyInfo.maxMoney isEqualToString:@""] && model.shopType != 40) {
        if (model.moneyInfo.maxMoney && ![model.moneyInfo.maxMoney isEqualToString:@""]) {
            self.imageSanJiao.hidden = NO;
            self.labelMaxFan.hidden = NO;
            
MIduo/½çÃæ/ÎÒµÄ/Complain/ComplainViewController.m
@@ -279,6 +279,13 @@
        
    } else if ([_goodsType integerValue] == 3) {
        [self getAppPageNotificationWithType:@"orderFindPDD"];
    }  if ([_goodsType integerValue] == 4) {
        [self getAppPageNotificationWithType:@"orderFindVIP"];
    }  if ([_goodsType integerValue] == 5) {
        [self getAppPageNotificationWithType:@"orderFindSuning"];
    }
    
    [self addNetWorkNotice];
MIduo/½çÃæ/ÎÒµÄ/Complain/OrderComplainMainController.m
@@ -56,10 +56,14 @@
    [self.titleArray addObject:@{@"name":@"淘宝"}];
    [self.titleArray addObject:@{@"name":@"京东"}];
    [self.titleArray addObject:@{@"name":@"拼多多"}];
    [self.titleArray addObject:@{@"name":@"唯品会"}];
    [self.titleArray addObject:@{@"name":@"苏宁"}];
    
    [self.contentArray addObject:@{@"goodsType":@"1"}];
    [self.contentArray addObject:@{@"goodsType":@"2"}];
    [self.contentArray addObject:@{@"goodsType":@"3"}];
    [self.contentArray addObject:@{@"goodsType":@"4"}];
    [self.contentArray addObject:@{@"goodsType":@"5"}];
}
- (void)setupNavConfig {
MIduo/½çÃæ/ÎÒµÄ/Complain/View/ComplainView.m
@@ -53,6 +53,17 @@
        img = [UIImage imageNamed:@"order_complaint_pdd_教程"];
        self.titleLabel.text = @"拼多多中复制订单号教程";
        holderText = @"请输入或粘贴拼多多订单号";
    } else if ([_goodsType integerValue] == 4) {
        img = [UIImage imageNamed:@"order_complaint_wph"];
        self.titleLabel.text = @"唯品会中复制订单号教程";
        holderText = @"请输入或粘贴唯品会订单号";
    } else if ([_goodsType integerValue] == 5) {
        img = [UIImage imageNamed:@"order_complaint_sn"];
        self.titleLabel.text = @"苏宁中复制订单号教程";
        holderText = @"请输入或粘贴苏宁订单号";
    }
    self.jiaochengImageView.frame = CGRectMake(0, CGRectGetMaxY(self.titleLabel.frame) + 35, SCREEN_WIDTH, img.size.height/img.size.width*SCREEN_WIDTH);
    self.jiaochengImageView.image = img;
MIduo/½çÃæ/ÎÒµÄ/Complain/View/OrderComplainRecordCell.m
@@ -106,6 +106,18 @@
            self.titlesLabel.textColor = UIColorFromRGBValue(0xE42219);
            self.titlesLabel.layer.borderColor = UIColorFromRGBValue(0xE42219).CGColor;
            self.titlesLabel.layer.borderWidth = 1;
        } else if ([model.type isEqualToString:@"4"]) {
            stringName = @"唯品会订单";
            self.titlesLabel.textColor = UIColorFromRGBValue(0xE30085);
            self.titlesLabel.layer.borderColor = UIColorFromRGBValue(0xE30085).CGColor;
            self.titlesLabel.layer.borderWidth = 1;
        } else if ([model.type isEqualToString:@"5"]) {
            stringName = @"苏宁订单";
            self.titlesLabel.textColor = UIColorFromRGBValue(0x010101);
            self.titlesLabel.layer.borderColor = UIColorFromRGBValue(0xFFA600).CGColor;
            self.titlesLabel.layer.borderWidth = 1;
        }
        CGFloat width = [self getWidthWithText:stringName height:15 font:self.titlesLabel.font.pointSize];
        self.titlesLabel.text = stringName;
MIduo/½çÃæ/ÎÒµÄ/FootprintsViewCell.m
@@ -451,7 +451,7 @@
            maskLayer.path = maskPath.CGPath;
            self.labelMaxFan.layer.mask = maskLayer;
        };
        if (model.moneyInfo.maxMoney && ![model.moneyInfo.maxMoney isEqualToString:@""] && model.shopType != 40) {
        if (model.moneyInfo.maxMoney && ![model.moneyInfo.maxMoney isEqualToString:@""]) {
            self.imageSanJiao.hidden = NO;
            self.labelMaxFan.hidden = NO;
            
MIduo/½çÃæ/ÎÒµÄ/MineCell/APPUpdateView/AppUpdateView.h
@@ -17,7 +17,7 @@
@property (nonatomic, nullable, strong) NSDictionary *appUpdateData;
@property (nonatomic) touchUpdate touchUpdate;
- (void)show;
- (void)show:(UIView *)view;
- (void)disappear;
@end
MIduo/½çÃæ/ÎÒµÄ/MineCell/APPUpdateView/AppUpdateView.m
@@ -40,10 +40,10 @@
    return self;
}
- (void)show {
    [kWindow removeFromSuperview];
    [kWindow addSubview:self];
    self.sd_layout.leftSpaceToView(kWindow, 0).topSpaceToView(kWindow, 0).widthIs(SCREEN_WIDTH).heightIs(SCREEN_HEIGHT);
- (void)show:(UIView *)view {
    UIWindow *win = [[UIApplication sharedApplication].windows firstObject];
    [win addSubview:self];
    self.sd_layout.leftSpaceToView(win, 0).topSpaceToView(win, 0).widthIs(SCREEN_WIDTH).heightIs(SCREEN_HEIGHT);
//    
//    self.bgView.alpha = 0.0;
//       self.bgView.transform = CGAffineTransformMakeScale(0.1, 0.1);
MIduo/½çÃæ/ÎÒµÄ/MineCell/NewMineView/MineUpgradeMemberView.h
@@ -10,8 +10,12 @@
NS_ASSUME_NONNULL_BEGIN
typedef void(^touch)(NSDictionary *dictionary);
@interface MineUpgradeMemberView : UIView
@property (nonatomic) touch touch;
@property (nonatomic, nullable, strong) NSDictionary *dictionaryData;
@end
MIduo/½çÃæ/ÎÒµÄ/MineCell/NewMineView/MineUpgradeMemberView.m
@@ -51,7 +51,7 @@
}
- (void)onTouchEvent {
    [[self getCurrentVC] pushAnyInterfaceController:@"ShonpingShareViewController" parms:@{@"url":_dictionaryData[@"link"]?:@""}];
    !self.touch?:self.touch(_dictionaryData);
}
- (void)setDictionaryData:(NSDictionary *)dictionaryData {
MIduo/½çÃæ/ÎÒµÄ/MyTeam/TeamDetail/TaemInvitationController.m
@@ -60,7 +60,7 @@
             self.teamInvitationView.arrayTags = self.fansInfoModel.tags;
            self.teamInvitationView.model = self.fansInfoModel;
            if (![self isHaveValue:self.fansInfoModel.level]) {
                 self.scrollView.contentSize = CGSizeMake(SCREEN_WIDTH, 830 - 54);
                 self.scrollView.contentSize = CGSizeMake(SCREEN_WIDTH, 840 - 54);
            }
            
        } else {
@@ -173,7 +173,7 @@
    [self.view addSubview:self.scrollView];
    [self.scrollView addSubview:self.teamInvitationView];
    
    self.scrollView.contentSize = CGSizeMake(SCREEN_WIDTH, 830);
    self.scrollView.contentSize = CGSizeMake(SCREEN_WIDTH, 840);
}
- (void)showSJCustomActivityView {
MIduo/½çÃæ/ÎÒµÄ/MyTeam/View/NewTeamInvitationView.m
@@ -62,6 +62,8 @@
@property (nonatomic, nullable, strong) UILabel *labelContentOrderDistributionTB;
@property (nonatomic, nullable, strong) UILabel *labelContentOrderDistributionJD;
@property (nonatomic, nullable, strong) UILabel *labelContentOrderDistributionPDD;
@property (nonatomic, nullable, strong) UILabel *labelContentOrderDistributionWPH;
@property (nonatomic, nullable, strong) UILabel *labelContentOrderDistributionSN;
@end
@implementation NewTeamInvitationView
@@ -211,8 +213,10 @@
    [self.viewOrderDistributionBg addSubview:self.labelContentOrderDistributionTB];
    [self.viewOrderDistributionBg addSubview:self.labelContentOrderDistributionJD];
    [self.viewOrderDistributionBg addSubview:self.labelContentOrderDistributionPDD];
    [self.viewOrderDistributionBg addSubview:self.labelContentOrderDistributionWPH];
    [self.viewOrderDistributionBg addSubview:self.labelContentOrderDistributionSN];
    
    self.viewOrderDistributionBg.sd_layout.leftSpaceToView(self, 0).topSpaceToView(self.viewFansBg, 10).rightSpaceToView(self, 0).heightIs(78);
    self.viewOrderDistributionBg.sd_layout.leftSpaceToView(self, 0).topSpaceToView(self.viewFansBg, 10).rightSpaceToView(self, 0).heightIs(110);
    
    self.labelOrderDistribution.sd_layout.leftSpaceToView(self.viewOrderDistributionBg, 15).centerYEqualToView(self.viewOrderDistributionBg).widthIs(120).autoHeightRatio(0);
    
@@ -221,6 +225,10 @@
    self.labelContentOrderDistributionJD.sd_layout.rightSpaceToView(self.viewOrderDistributionBg, 15).topSpaceToView(self.labelContentOrderDistributionTB, 5).widthIs(200).heightIs(12);
    
    self.labelContentOrderDistributionPDD.sd_layout.rightSpaceToView(self.viewOrderDistributionBg, 15).topSpaceToView(self.labelContentOrderDistributionJD, 5).widthIs(200).heightIs(12);
    self.labelContentOrderDistributionWPH.sd_layout.rightSpaceToView(self.viewOrderDistributionBg, 15).topSpaceToView(self.labelContentOrderDistributionPDD, 5).widthIs(200).heightIs(12);
     self.labelContentOrderDistributionSN.sd_layout.rightSpaceToView(self.viewOrderDistributionBg, 15).topSpaceToView(self.labelContentOrderDistributionWPH, 5).widthIs(200).heightIs(12);
}
- (void)onClickEvent {
@@ -351,6 +359,8 @@
        self.labelContentOrderDistributionTB.text = arrayOrder[0];
        self.labelContentOrderDistributionJD.text = arrayOrder[1];
        self.labelContentOrderDistributionPDD.text = arrayOrder[2];
        self.labelContentOrderDistributionWPH.text = arrayOrder[3];
        self.labelContentOrderDistributionSN.text = arrayOrder[4];
    }
}
@@ -789,4 +799,26 @@
    return _labelContentOrderDistributionPDD;
}
- (UILabel *)labelContentOrderDistributionWPH {
    if (!_labelContentOrderDistributionWPH) {
        _labelContentOrderDistributionWPH = [[UILabel alloc] init];
        _labelContentOrderDistributionWPH.textColor = UIColorFromRGBValue(0x888888);
        _labelContentOrderDistributionWPH.font = [UIFont systemFontOfSize:12];
        _labelContentOrderDistributionWPH.textAlignment = NSTextAlignmentRight;
    }
    return _labelContentOrderDistributionWPH;
}
- (UILabel *)labelContentOrderDistributionSN {
    if (!_labelContentOrderDistributionSN) {
        _labelContentOrderDistributionSN = [[UILabel alloc] init];
        _labelContentOrderDistributionSN.textColor = UIColorFromRGBValue(0x888888);
        _labelContentOrderDistributionSN.font = [UIFont systemFontOfSize:12];
        _labelContentOrderDistributionSN.textAlignment = NSTextAlignmentRight;
    }
    return _labelContentOrderDistributionSN;
}
@end
MIduo/½çÃæ/ÎÒµÄ/NewMineController.m
@@ -32,6 +32,7 @@
#import <UserNotifications/UserNotifications.h>
#import "ALBCServiceManager.h"
#import "WPHGoodsListShowController.h"
@interface NewMineController () <MineOneVIewDelegate, NewLoginViewDelegate,InviteCodeControllerDelegate, MineSixCellCellDelegate, MineOrderRowViewDelegate, MineActivityCellDelegate, MineNoviceStrategyViewDelegate,MineFooterViewDelegate,SJRollingViewDelegate, UIScrollViewDelegate>
@@ -145,7 +146,9 @@
@property (nonatomic, nullable, copy) NSString *tearcherLink;
/// å¹³å°è§„则
@property (nonatomic, nullable, copy) NSString *platformRule;
/// /弹框
/// äº‘发单链接
@property (nonatomic, nullable, copy) NSString *cloudLink;
/// å¼¹æ¡†
@property (nonatomic, nullable, strong) NSDictionary *dialog;
/// æ˜¯å¦éœ€è¦å±•示banner
@property (nonatomic, assign) BOOL isShowBannerViews;
@@ -526,6 +529,7 @@
        self.convertLinkUrl = dictionary[@"data"][@"convertLinkUrl"];
        self.tearcherLink = dictionary[@"data"][@"tearcherLink"];
        self.dialog = dictionary[@"data"][@"dialog"];
        self.cloudLink = dictionary[@"data"][@"cloudLink"];
        
        if ([self isHaveValue:dictionary[@"data"][@"vipUpgradedNotify"]]) {
            [self.mineManager popVipEquityView:dictionary[@"data"][@"vipUpgradedNotify"]];
@@ -1088,8 +1092,7 @@
        [self pushAnyInterfaceController:@"ALShareRecordController" parms:nil];
    }
    if (type == MineSixCellCellSharedLibraries) {
        [UMCustomUser umUser_XPK];
        //[self pushAnyInterfaceController:@"SJProLibViewController" parms:nil];
        [self pushAnyInterfaceController:@"ShonpingShareViewController" parms:@{@"url":_cloudLink?:@""}];
    }
    if (type == MineSixCellCellLinksToConvert) {
        [self pushAnyInterfaceController:@"ShonpingShareViewController" parms:@{@"url":_convertLinkUrl?:@""}];
@@ -1269,8 +1272,10 @@
        [UMCustomUser umUser_help];
        //[self pushAnyInterfaceController:@"ShonpingShareViewController" parms:@{@"url":[YTHsharedManger startManger].help?:@""}];
        
        [self pushAnyInterfaceController:@"ShonpingShareViewController" parms:@{@"url":@"http://192.168.1.114:8848/flqFront/AppInside/cloudPushOrder/cloudPushOrderManage.html"}];
        //[self pushAnyInterfaceController:@"ShonpingShareViewController" parms:@{@"url":@"https://test-open.czb365.com/redirection/todo/?platformType=98645363&platformCode=17784739772"}];
        //[self pushAnyInterfaceController:@"ShonpingShareViewController" parms:@{@"url":@"http://192.168.1.114:8848/flqFront/AppInside/cloudPushOrder/cloudPushOrderManage.html"}];
        [self pushAnyInterfaceController:@"ShonpingShareViewController" parms:@{@"url":@"http://192.168.1.114:8848/flqFront/AppInside/activityDetailTempPage/index.html"}];
        // [self pushAnyInterfaceController:@"WPHGoodsListShowController" parms:nil];
        
    } else if (index == 202) {
        [UMCustomUser umUser_service];
@@ -1426,6 +1431,20 @@
    if (!_viewMineUpgradeMember) {
        _viewMineUpgradeMember = [[MineUpgradeMemberView alloc] init];
        _viewMineUpgradeMember.hidden = YES;
        @weakify(self)
        _viewMineUpgradeMember.touch = ^(NSDictionary * _Nonnull dictionary) {
            @strongify(self)
            if (!self.isLogin) {
                [self onLoginVcName:nil];
                return;
            }
            // æ˜¯å¦æ¿€æ´»é‚€è¯·åŠŸèƒ½
            if (![ALUserInfoServiceManger isInvited]) {
                [self onInviteVcName:nil];
                return;
            }
            [self pushAnyInterfaceController:@"ShonpingShareViewController" parms:@{@"url":dictionary[@"link"]?:@""}];
        };
    }
    return _viewMineUpgradeMember;
}
MIduo/½çÃæ/ÎÒµÄ/Order/NewOrderViewController.m
@@ -9,7 +9,7 @@
#import "NewOrderViewController.h"
#import "NewOrderTopView.h"
#import "OrderCellBottomView.h"
#import "NewOrderTopCell.h"
#import "OrderTitleCell.h"
#import "NewOrderCell.h"
#import "OrderFiltrateView.h"
#import "OrderStatisticsView.h"
@@ -540,7 +540,7 @@
    
    self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] initWithCustomView:rightView];
    
    self.orderFiltrateViewHeight = 590;
    self.orderFiltrateViewHeight = 640;
}
/**
@@ -672,7 +672,7 @@
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {
    if (indexPath.row == 0) {
        return 51;
        return 50;
        
    } else {
        return 109 / 375.0 * SCREEN_WIDTH;
@@ -681,14 +681,13 @@
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
    if (indexPath.row == 0) {
        static NSString *identifier = @"NewOrderTopCell";
        NewOrderTopCell *cell = [tableView dequeueReusableCellWithIdentifier:identifier];
        static NSString *identifier = @"OrderTitleCell";
        OrderTitleCell *cell = [tableView dequeueReusableCellWithIdentifier:identifier];
        if (!cell) {
            cell = [[NewOrderTopCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:identifier];
            cell = [[OrderTitleCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:identifier];
        }
        cell.selectionStyle = UITableViewCellSelectionStyleNone;
        if (_arrayData.count > indexPath.section) {
            ((NewOrderTopCell *)cell).model = (NewOrderListModel *)_arrayData[indexPath.section];
            ((OrderTitleCell *)cell).model = (NewOrderListModel *)_arrayData[indexPath.section];
        }
        return cell;
        
@@ -966,7 +965,7 @@
    _orderTableview.estimatedRowHeight = 0;
    _orderTableview.estimatedSectionHeaderHeight = 0;
    _orderTableview.estimatedSectionFooterHeight = 0;
    [_orderTableview registerNib:[UINib nibWithNibName:@"NewOrderTopCell" bundle:nil] forCellReuseIdentifier:@"NewOrderTopCell"];
    [_orderTableview registerNib:[UINib nibWithNibName:@"NewOrderCell" bundle:nil] forCellReuseIdentifier:@"NewOrderCell"];
    
    NSMutableArray *idleImages = [[NSMutableArray alloc] init];
@@ -1009,13 +1008,17 @@
        return _orderFiltrateView;
    }
    _orderFiltrateView = [[OrderFiltrateView alloc]initWithFrame:CGRectMake(0, -_orderFiltrateViewHeight, SCREEN_WIDTH, _orderFiltrateViewHeight)];
    _orderFiltrateView.backgroundColor = [UIColor redColor];
    _orderFiltrateView.delegate = self;
    _orderFiltrateView.timeChooseView.dataSource = @[@{@"1":@"最近三天"},@{@"2":@"最近一周"},@{@"3":@"最近半月"},@{@"4":@"本月"},@{@"5":@"近三月"},@{@"6":@"近半年"}];
    _orderFiltrateView.timeChooseView.numberIndex = 0;
    _orderFiltrateView.orderTypeView.dataSource = @[@{@"1":@"返利订单"},@{@"2":@"分享订单"},@{@"3":@"团队订单"},@{@"0":@"所有订单"}];
    _orderFiltrateView.orderTypeView.numberIndex = 1;
    _orderFiltrateView.orderSourceView.dataSource = @[@{@"1":@"淘宝订单"},@{@"2":@"京东订单"},@{@"3":@"拼多多订单"}];
    _orderFiltrateView.orderSourceView.dataSource = @[@{@"1":@"淘宝订单"},@{@"2":@"京东订单"},@{@"3":@"拼多多订单"},@{@"4":@"唯品会订单"},@{@"5":@"苏宁订单"}];
    _orderFiltrateView.orderSourceView.numberIndex = 2;
    @weakify(self)
    _orderFiltrateView.closeFiltrate = ^(NSInteger type) {
        @strongify(self)
@@ -1028,7 +1031,8 @@
                @strongify(self)
                [self.FiltrateBackView removeFromSuperview];
            }];
        }else{
        } else {
            [self.FiltrateBackView removeFromSuperview];
            self.orderFiltrateView.frame = CGRectMake(0, -self.orderFiltrateViewHeight, SCREEN_WIDTH, self.orderFiltrateViewHeight);
        }
MIduo/½çÃæ/ÎÒµÄ/Order/cell/NewOrderTopCell.h
File was deleted
MIduo/½çÃæ/ÎÒµÄ/Order/cell/NewOrderTopCell.m
File was deleted
MIduo/½çÃæ/ÎÒµÄ/Order/cell/NewOrderTopCell.xib
File was deleted
MIduo/½çÃæ/ÎÒµÄ/Order/cell/OrderTitleCell.h
New file
@@ -0,0 +1,20 @@
//
//  OrderTitleCell.h
//  MIduo
//
//  Created by aeline on 2020/6/2.
//  Copyright Â© 2020 yeshi. All rights reserved.
//
#import <UIKit/UIKit.h>
#import "NewOrderModel.h"
NS_ASSUME_NONNULL_BEGIN
@interface OrderTitleCell : UITableViewCell
@property (nonatomic,strong)NewOrderListModel *model;
@end
NS_ASSUME_NONNULL_END
MIduo/½çÃæ/ÎÒµÄ/Order/cell/OrderTitleCell.m
New file
@@ -0,0 +1,310 @@
//
//  OrderTitleCell.m
//  MIduo
//
//  Created by aeline on 2020/6/2.
//  Copyright Â© 2020 yeshi. All rights reserved.
//
#import "OrderTitleCell.h"
@interface OrderTitleCell ()
@property (nonatomic, nullable, strong) UILabel *labelType;
@property (nonatomic, nullable, strong) UILabel *labelPayType;
@property (nonatomic, nullable, strong) UIView *typeImagesView;
///背景圆角视图
@property (nonatomic, nullable, strong) UIView *viewYj;
@property (nonatomic, nullable, strong) UIImageView *typeimageOneView;
@property (nonatomic, nullable, strong) UIImageView *typeimageTwoView;
@property (nonatomic, nullable, strong) UIImageView *typeimageThreeView;
@property (nonatomic, nullable, strong) UIImageView *typeimageFourView;
@end
@implementation OrderTitleCell
- (void)awakeFromNib {
    [super awakeFromNib];
    // Initialization code
}
- (void)setSelected:(BOOL)selected animated:(BOOL)animated {
    [super setSelected:selected animated:animated];
    // Configure the view for the selected state
}
- (instancetype)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier {
    self = [super initWithStyle:style reuseIdentifier:reuseIdentifier];
    if (self) {
        self.selectionStyle = UITableViewCellSelectionStyleNone;
        self.backgroundColor = [UIColor clearColor];
        [self cellConfig];
    }
    return self;
}
- (void)cellConfig {
    [self.contentView addSubview:self.viewYj];
    [self.contentView addSubview:self.labelPayType];
    [self.contentView addSubview:self.labelType];
    [self.contentView addSubview:self.typeImagesView];
    [self.typeImagesView addSubview:self.typeimageOneView];
    [self.typeImagesView addSubview:self.typeimageTwoView];
    [self.typeImagesView addSubview:self.typeimageThreeView];
    [self.typeImagesView addSubview:self.typeimageFourView];
    self.viewYj.sd_layout.leftEqualToView(self.contentView).topEqualToView(self.contentView).rightEqualToView(self.contentView).bottomEqualToView(self.contentView);
    @weakify(self)
    self.viewYj.didFinishAutoLayoutBlock = ^(CGRect frame) {
        @strongify(self)
        CGFloat radius = 10; // åœ†è§’大小
        UIRectCorner corner = UIRectCornerTopLeft | UIRectCornerTopRight;
        UIBezierPath * path = [UIBezierPath bezierPathWithRoundedRect:self.viewYj.bounds byRoundingCorners:corner cornerRadii:CGSizeMake(radius, radius)];
        CAShapeLayer *maskLayer = [[CAShapeLayer alloc] init];
        maskLayer.frame = self.viewYj.bounds;
        maskLayer.path = path.CGPath;
        self.viewYj.layer.mask = maskLayer;
    };
    self.labelPayType.sd_layout.rightSpaceToView(self.contentView, 13).centerYEqualToView(self.contentView).autoWidthRatio(0).heightIs(15);
    [self.labelPayType setSingleLineAutoResizeWithMaxWidth:100];
    self.labelType.sd_layout.leftSpaceToView(self.contentView, 13).centerYEqualToView(self.contentView).widthIs(0).heightIs(15.5);
    self.labelType.sd_cornerRadius = @4;
    self.typeImagesView.sd_layout.leftSpaceToView(self.labelType, 8).rightSpaceToView(self.labelPayType, 10).heightIs(15).centerYEqualToView(self.contentView);
}
- (void)setModel:(NewOrderListModel *)model {
    if (!_model) {
        self.labelPayType.text = model.orderState.content;
        self.labelPayType.textColor = [self hexColor:model.orderState.fontColor];
        CGFloat width = [self getWidthWithText:model.shopType[@"content"] height:16 font:11];
        self.labelType.text = model.shopType[@"content"];
        self.labelType.textColor = [self hexColor:model.shopType[@"color"]];
        self.labelType.layer.borderColor = [self hexColor:model.shopType[@"borderColor"]].CGColor;
        self.labelType.sd_resetLayout.leftSpaceToView(self.contentView, 13).centerYEqualToView(self.contentView).widthIs(width + 10).heightIs(16);
        if (model.signList.count == 1) {
            ((UIImageView *)[self.typeImagesView subviews][1]).hidden = YES;
            ((UIImageView *)[self.typeImagesView subviews][2]).hidden = YES;
            ((UIImageView *)[self.typeImagesView subviews][3]).hidden = YES;
            @weakify(self)
            [((UIImageView *)[self.typeImagesView subviews][0]) sd_setImageWithURL:[NSURL URLWithString:model.signList[0]] placeholderImage:nil options:SDWebImageRefreshCached completed:^(UIImage * _Nullable image, NSError * _Nullable error, SDImageCacheType cacheType, NSURL * _Nullable imageURL) {
                @strongify(self)
                if (image) {
                    @weakify(self)
                    dispatch_async(dispatch_get_main_queue(), ^{
                        @strongify(self)
                        ((UIImageView *)[self.typeImagesView subviews][0]).frame = CGRectMake(0, 0, roundf(image.size.width / image.size.height * 15), 15);
                    });
                }
            }];
        } else if (model.signList.count == 2) {
            ((UIImageView *)[self.typeImagesView subviews][1]).hidden = NO;
            ((UIImageView *)[self.typeImagesView subviews][2]).hidden = YES;
            ((UIImageView *)[self.typeImagesView subviews][3]).hidden = YES;
            @weakify(self)
            [((UIImageView *)[self.typeImagesView subviews][0]) sd_setImageWithURL:[NSURL URLWithString:model.signList[0]] placeholderImage:[UIImage imageNamed:@"默认banner"] options:SDWebImageRefreshCached completed:^(UIImage * _Nullable image, NSError * _Nullable error, SDImageCacheType cacheType, NSURL * _Nullable imageURL) {
                @strongify(self)
                if (image) {
                    @weakify(self)
                    dispatch_async(dispatch_get_main_queue(), ^{
                        @strongify(self)
                        ((UIImageView *)[self.typeImagesView subviews][0]).frame = CGRectMake(0, 0, roundf(image.size.width / image.size.height * 15), 15);
                        @weakify(self)
                        // ç¬¬äºŒå¼ å›¾ç‰‡
                        [((UIImageView *)[self.typeImagesView subviews][1]) sd_setImageWithURL:[NSURL URLWithString:model.signList[1]] placeholderImage:[UIImage imageNamed:@"默认banner"] options:SDWebImageRefreshCached completed:^(UIImage * _Nullable image, NSError * _Nullable error, SDImageCacheType cacheType, NSURL * _Nullable imageURL) {
                            @strongify(self)
                            if (image) {
                                @weakify(self)
                                dispatch_async(dispatch_get_main_queue(), ^{
                                    @strongify(self)
                                    ((UIImageView *)[self.typeImagesView subviews][1]).frame = CGRectMake(8 + ((UIImageView *)[self.typeImagesView subviews][0]).frame.size.width , 0, roundf(image.size.width / image.size.height * 15), 15);
                                });
                            }
                        }];
                    });
                }
            }];
        } else if (model.signList.count == 3) {
            ((UIImageView *)[self.typeImagesView subviews][1]).hidden = NO;
            ((UIImageView *)[self.typeImagesView subviews][2]).hidden = NO;
            ((UIImageView *)[self.typeImagesView subviews][3]).hidden = YES;
            @weakify(self)
            [((UIImageView *)[self.typeImagesView subviews][0]) sd_setImageWithURL:[NSURL URLWithString:model.signList[0]] placeholderImage:[UIImage imageNamed:@"默认banner"] options:SDWebImageRefreshCached completed:^(UIImage * _Nullable image, NSError * _Nullable error, SDImageCacheType cacheType, NSURL * _Nullable imageURL) {
                @strongify(self)
                if (image) {
                    @weakify(self)
                    dispatch_async(dispatch_get_main_queue(), ^{
                        @strongify(self)
                        ((UIImageView *)[self.typeImagesView subviews][0]).frame = CGRectMake(0, 0, roundf(image.size.width / image.size.height * 15), 15);
                        @weakify(self)
                        // ç¬¬äºŒå¼ å›¾ç‰‡
                        [((UIImageView *)[self.typeImagesView subviews][1]) sd_setImageWithURL:[NSURL URLWithString:model.signList[1]] placeholderImage:[UIImage imageNamed:@"默认banner"] options:SDWebImageRefreshCached completed:^(UIImage * _Nullable image, NSError * _Nullable error, SDImageCacheType cacheType, NSURL * _Nullable imageURL) {
                            @strongify(self)
                            if (image) {
                                @weakify(self)
                                dispatch_async(dispatch_get_main_queue(), ^{
                                    @strongify(self)
                                    ((UIImageView *)[self.typeImagesView subviews][1]).frame = CGRectMake(8 + ((UIImageView *)[self.typeImagesView subviews][0]).frame.size.width , 0, roundf(image.size.width / image.size.height * 15), 15);
                                    // ç¬¬ä¸‰å¼ å›¾ç‰‡
                                    @weakify(self)
                                    [((UIImageView *)[self.typeImagesView subviews][2]) sd_setImageWithURL:[NSURL URLWithString:model.signList[2]] placeholderImage:[UIImage imageNamed:@"默认banner"] options:SDWebImageRefreshCached completed:^(UIImage * _Nullable image, NSError * _Nullable error, SDImageCacheType cacheType, NSURL * _Nullable imageURL) {
                                        @strongify(self)
                                        if (image) {
                                            @weakify(self)
                                            dispatch_async(dispatch_get_main_queue(), ^{
                                                @strongify(self)
                                                ((UIImageView *)[self.typeImagesView subviews][2]).frame = CGRectMake(8 + ((UIImageView *)[self.typeImagesView subviews][0]).frame.size.width + 8 + ((UIImageView *)[self.typeImagesView subviews][1]).frame.size.width , 0, roundf(image.size.width / image.size.height * 15), 15);
                                            });
                                        }
                                    }];
                                });
                            }
                        }];
                    });
                }
            }];
        } else if (model.signList.count == 4) {
            ((UIImageView *)[self.typeImagesView subviews][1]).hidden = NO;
            ((UIImageView *)[self.typeImagesView subviews][2]).hidden = NO;
            ((UIImageView *)[self.typeImagesView subviews][3]).hidden = NO;
            @weakify(self)
            [((UIImageView *)[self.typeImagesView subviews][0]) sd_setImageWithURL:[NSURL URLWithString:model.signList[0]] placeholderImage:[UIImage imageNamed:@"默认banner"] options:SDWebImageRefreshCached completed:^(UIImage * _Nullable image, NSError * _Nullable error, SDImageCacheType cacheType, NSURL * _Nullable imageURL) {
                @strongify(self)
                if (image) {
                    @weakify(self)
                    dispatch_async(dispatch_get_main_queue(), ^{
                        @strongify(self)
                        ((UIImageView *)[self.typeImagesView subviews][0]).frame = CGRectMake(0, 0, roundf(image.size.width / image.size.height * 15), 15);
                        // ç¬¬äºŒå¼ å›¾ç‰‡
                        @weakify(self)
                        [((UIImageView *)[self.typeImagesView subviews][1]) sd_setImageWithURL:[NSURL URLWithString:model.signList[1]] placeholderImage:[UIImage imageNamed:@"默认banner"] options:SDWebImageRefreshCached completed:^(UIImage * _Nullable image, NSError * _Nullable error, SDImageCacheType cacheType, NSURL * _Nullable imageURL) {
                            @strongify(self)
                            if (image) {
                                @weakify(self)
                                dispatch_async(dispatch_get_main_queue(), ^{
                                    @strongify(self)
                                    ((UIImageView *)[self.typeImagesView subviews][1]).frame = CGRectMake(8 + ((UIImageView *)[self.typeImagesView subviews][0]).frame.size.width , 0, roundf(image.size.width / image.size.height * 15), 15);
                                    // ç¬¬ä¸‰å¼ å›¾ç‰‡
                                    @weakify(self)
                                    [((UIImageView *)[self.typeImagesView subviews][2]) sd_setImageWithURL:[NSURL URLWithString:model.signList[2]] placeholderImage:[UIImage imageNamed:@"默认banner"] options:SDWebImageRefreshCached completed:^(UIImage * _Nullable image, NSError * _Nullable error, SDImageCacheType cacheType, NSURL * _Nullable imageURL) {
                                        @strongify(self)
                                        if (image) {
                                            @weakify(self)
                                            dispatch_async(dispatch_get_main_queue(), ^{
                                                @strongify(self)
                                                ((UIImageView *)[self.typeImagesView subviews][2]).frame = CGRectMake(8 + ((UIImageView *)[self.typeImagesView subviews][0]).frame.size.width + 8 + ((UIImageView *)[self.typeImagesView subviews][1]).frame.size.width , 0, roundf(image.size.width / image.size.height * 15), 15);
                                                // ç¬¬å››å¼ å›¾ç‰‡
                                                @weakify(self)
                                                [((UIImageView *)[self.typeImagesView subviews][3]) sd_setImageWithURL:[NSURL URLWithString:model.signList[3]] placeholderImage:[UIImage imageNamed:@"默认banner"] options:SDWebImageRefreshCached completed:^(UIImage * _Nullable image, NSError * _Nullable error, SDImageCacheType cacheType, NSURL * _Nullable imageURL) {
                                                    @strongify(self)
                                                    if (image) {
                                                        @weakify(self)
                                                        dispatch_async(dispatch_get_main_queue(), ^{
                                                            @strongify(self)
                                                            ((UIImageView *)[self.typeImagesView subviews][3]).frame = CGRectMake(8 + ((UIImageView *)[self.typeImagesView subviews][0]).frame.size.width + 8 + ((UIImageView *)[self.typeImagesView subviews][1]).frame.size.width + 8 + ((UIImageView *)[self.typeImagesView subviews][2]).frame.size.width , 0, roundf(image.size.width / image.size.height * 15), 15);
                                                        });
                                                    }
                                                }];
                                            });
                                        }
                                    }];
                                });
                            }
                        }];
                    });
                }
            }];
        }
    }
}
- (UIView *)viewYj {
    if (!_viewYj) {
        _viewYj = [[UIView alloc] init];
        _viewYj.backgroundColor = [UIColor whiteColor];
    }
    return _viewYj;;
}
- (UILabel *)labelPayType {
    if (!_labelPayType) {
        _labelPayType = [[UILabel alloc] init];
        _labelPayType.font = [UIFont systemFontOfSize:15];
        _labelPayType.textAlignment = NSTextAlignmentRight;
    }
    return _labelPayType;
}
- (UILabel *)labelType {
    if (!_labelType) {
        _labelType = [[UILabel alloc] init];
        _labelType.font = [UIFont systemFontOfSize:11];
        _labelType.textAlignment = NSTextAlignmentCenter;
        self.labelType.layer.borderWidth = 0.6;
    }
    return _labelType;
}
- (UIView *)typeImagesView {
    if (!_typeImagesView) {
        _typeImagesView = [[UIView alloc] init];
    }
    return _typeImagesView;;
}
- (UIImageView *)typeimageOneView {
    if (!_typeimageOneView) {
        _typeimageOneView = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, 0, 15)];
        _typeimageOneView.backgroundColor = ImagePlaceholder_white;
    }
    return _typeimageOneView;
}
- (UIImageView *)typeimageTwoView {
    if (!_typeimageTwoView) {
        _typeimageTwoView = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, 0, 15)];
        _typeimageTwoView.backgroundColor = ImagePlaceholder_white;
    }
    return _typeimageTwoView;
}
- (UIImageView *)typeimageThreeView {
    if (!_typeimageThreeView) {
        _typeimageThreeView = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, 0, 15)];
        _typeimageThreeView.backgroundColor = ImagePlaceholder_white;
    }
    return _typeimageThreeView;
}
- (UIImageView *)typeimageFourView {
    if (!_typeimageFourView) {
        _typeimageFourView = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, 0, 15)];
        _typeimageFourView.backgroundColor = ImagePlaceholder_white;
    }
    return _typeimageFourView;
}
@end
MIduo/½çÃæ/ÎÒµÄ/Order/model/NewOrderModel.h
@@ -24,6 +24,8 @@
@end
@interface NewOrderListModel : NSObject
@property (nonatomic, nullable, strong) NSDictionary *shopType;
@property (nonatomic, nullable, copy)NSString *hongBaoTypePic;
@property (nonatomic, nullable, copy)NSString *hongBao;
@property (nonatomic, nullable, copy)NSString *hongBaoState;
MIduo/½çÃæ/ÎÒµÄ/Order/view/FiltrateView/OrdFitCollView.m
@@ -51,20 +51,20 @@
- (NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section
{
    return self.dataSource.count;
    return _dataSource.count;
}
- (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath
{
    OrdFitCoCell *cell=[collectionView dequeueReusableCellWithReuseIdentifier:@"OrdFitCoCell" forIndexPath:indexPath];
    NSDictionary *dic = self.dataSource[indexPath.row];
    NSDictionary *dic = _dataSource[indexPath.row];
    [cell.gradeButton setTitle:dic.allValues[0] forState:UIControlStateNormal];
    return cell;
}
- (void)collectionView:(UICollectionView *)collectionView didSelectItemAtIndexPath:(NSIndexPath *)indexPath
{
    NSDictionary *dic = self.dataSource[indexPath.row];
    NSDictionary *dic = _dataSource[indexPath.row];
    self.tkRateString = dic.allKeys[0];
    OrdFitCoCell *cell = (OrdFitCoCell*)[collectionView cellForItemAtIndexPath:indexPath];
    
MIduo/½çÃæ/ÎÒµÄ/Order/view/OrderFiltrateView.xib
@@ -1,11 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="14490.70" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" colorMatched="YES">
    <device id="retina4_7" orientation="portrait">
        <adaptation id="fullscreen"/>
    </device>
<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="16096" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" colorMatched="YES">
    <device id="retina4_7" orientation="portrait" appearance="light"/>
    <dependencies>
        <deployment identifier="iOS"/>
        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="14490.49"/>
        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="16087"/>
        <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
    </dependencies>
    <objects>
@@ -19,7 +17,7 @@
                    <rect key="frame" x="0.0" y="0.0" width="375" height="667"/>
                    <subviews>
                        <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="wht-6T-Pcp">
                            <rect key="frame" x="0.0" y="0.0" width="375" height="590"/>
                            <rect key="frame" x="0.0" y="0.0" width="375" height="640"/>
                            <subviews>
                                <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="选择时间:" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="MDg-wl-Cex">
                                    <rect key="frame" x="14" y="50" width="80" height="14"/>
@@ -79,14 +77,14 @@
                                    <nil key="highlightedColor"/>
                                </label>
                                <imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="icon_up" translatesAutoresizingMaskIntoConstraints="NO" id="8VG-Ao-JMV">
                                    <rect key="frame" x="181.5" y="537" width="12" height="12"/>
                                    <rect key="frame" x="181.5" y="577" width="12" height="12"/>
                                    <constraints>
                                        <constraint firstAttribute="width" constant="12" id="8rg-LB-RjI"/>
                                        <constraint firstAttribute="height" constant="12" id="Gjv-Vq-Txf"/>
                                    </constraints>
                                </imageView>
                                <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="向上收起" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="ZDd-5P-thn">
                                    <rect key="frame" x="30" y="559" width="315" height="14"/>
                                    <rect key="frame" x="30" y="599" width="315" height="14"/>
                                    <constraints>
                                        <constraint firstAttribute="height" constant="14" id="iIM-8q-M9S"/>
                                    </constraints>
@@ -118,14 +116,14 @@
                                    <nil key="highlightedColor"/>
                                </label>
                                <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="6x6-Bc-5OH" customClass="OrdFitCollView">
                                    <rect key="frame" x="15" y="392" width="345" height="35"/>
                                    <rect key="frame" x="15" y="392" width="345" height="80"/>
                                    <color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
                                    <constraints>
                                        <constraint firstAttribute="height" constant="35" id="xvO-ip-pen"/>
                                        <constraint firstAttribute="height" constant="80" id="xvO-ip-pen"/>
                                    </constraints>
                                </view>
                                <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="b7w-GI-WaO">
                                    <rect key="frame" x="53" y="468" width="269" height="39"/>
                                    <rect key="frame" x="53" y="508" width="269" height="39"/>
                                    <subviews>
                                        <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="k4Q-D5-DZN">
                                            <rect key="frame" x="0.0" y="0.0" width="134.5" height="39"/>
@@ -165,7 +163,7 @@
                                    </userDefinedRuntimeAttributes>
                                </view>
                                <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="UdQ-TS-wAx">
                                    <rect key="frame" x="0.0" y="517" width="375" height="73"/>
                                    <rect key="frame" x="0.0" y="557" width="375" height="83"/>
                                    <connections>
                                        <action selector="closeClicked:" destination="iN0-l3-epB" eventType="touchUpInside" id="Pue-r1-hx4"/>
                                    </connections>
@@ -210,7 +208,7 @@
                                <constraint firstAttribute="trailing" secondItem="ZDd-5P-thn" secondAttribute="trailing" constant="30" id="n2x-iK-viB"/>
                                <constraint firstItem="mdy-nX-6ww" firstAttribute="trailing" secondItem="dTq-Iu-3TH" secondAttribute="trailing" id="nCO-3j-zhv"/>
                                <constraint firstItem="dTq-Iu-3TH" firstAttribute="top" secondItem="MDg-wl-Cex" secondAttribute="bottom" constant="10" id="nvV-81-UdG"/>
                                <constraint firstAttribute="height" constant="590" id="ojp-QU-m79"/>
                                <constraint firstAttribute="height" constant="640" id="ojp-QU-m79"/>
                                <constraint firstItem="WMW-Vf-y7E" firstAttribute="leading" secondItem="wht-6T-Pcp" secondAttribute="leading" constant="15" id="p05-n1-esU"/>
                                <constraint firstItem="Yfi-er-LQz" firstAttribute="width" secondItem="wht-6T-Pcp" secondAttribute="width" multiplier="1:12.5" id="puh-dh-X6r"/>
                                <constraint firstItem="MDg-wl-Cex" firstAttribute="top" secondItem="wht-6T-Pcp" secondAttribute="top" constant="50" id="qV1-YV-Z7X"/>
@@ -219,7 +217,7 @@
                                <constraint firstItem="8VG-Ao-JMV" firstAttribute="centerX" secondItem="wht-6T-Pcp" secondAttribute="centerX" id="uNu-N9-4g1"/>
                                <constraint firstAttribute="trailing" secondItem="z2g-dl-nXJ" secondAttribute="trailing" constant="15" id="uTy-Ac-aMY"/>
                                <constraint firstItem="b7w-GI-WaO" firstAttribute="leading" secondItem="wht-6T-Pcp" secondAttribute="leading" constant="53" id="vzP-EM-cnM"/>
                                <constraint firstItem="b7w-GI-WaO" firstAttribute="top" secondItem="8JE-Bz-jLv" secondAttribute="bottom" constant="130" id="yHt-Mc-Ztg"/>
                                <constraint firstItem="b7w-GI-WaO" firstAttribute="top" secondItem="8JE-Bz-jLv" secondAttribute="bottom" constant="170" id="yHt-Mc-Ztg"/>
                                <constraint firstAttribute="trailing" secondItem="8JE-Bz-jLv" secondAttribute="trailing" constant="15" id="zbF-D8-qXZ"/>
                            </constraints>
                        </view>
MIduo/½çÃæ/ÎÒµÄ/Order/ͳ¼Æ/View/OrderStatisticalBotView.m
@@ -97,7 +97,7 @@
    self = [super initWithFrame:frame];
    if (self) {
        self.backgroundColor = [UIColor whiteColor];
        self.titleArr = @[@"全部",@"淘宝",@"京东",@"拼多多"];
        self.titleArr = @[@"全部",@"淘宝",@"京东",@"拼多多",@"唯品会",@"苏宁"];
        [self setupViewConfig];
    }
    return self;
@@ -105,9 +105,9 @@
- (void)setupViewConfig
{
    for (int i = 0; i < 4; i++) {
    for (int i = 0; i < _titleArr.count; i++) {
        ALButton *button = [ALButton buttonWithType:UIButtonTypeCustom];
        button.frame = CGRectMake([UIScreen mainScreen].bounds.size.width/4*i, 0, [UIScreen mainScreen].bounds.size.width/4,45);
        button.frame = CGRectMake(SCREEN_WIDTH/_titleArr.count*i, 0, SCREEN_WIDTH/_titleArr.count,45);
        button.titleLabel.font = [UIFont systemFontOfSize:15];
        button.tag = 1000+i;
        //常态文字颜色
@@ -348,14 +348,12 @@
    self.lastMonthYaoQingTitileLabel.sd_layout.leftSpaceToView(self.lastMonthYaoQingView, 0).rightSpaceToView(self.lastMonthYaoQingView, 0).topSpaceToView(self.lastMonthYaoQingContentLabel, 10).heightIs(13);
}
- (void)buttonAction:(UIButton *)button
{
- (void)buttonAction:(UIButton *)button {
    NSInteger index = button.tag - 1000;
    [self showControllerIndex:index];
}
- (void)showControllerIndex:(NSInteger)index
{
- (void)showControllerIndex:(NSInteger)index {
    UIButton *button = (UIButton *)[self viewWithTag:1000 + index];
    if (button.selected) {
        return;
MIduo/½çÃæ/ÎÒµÄ/Order/¶©µ¥ËÑË÷/OrdSResultController.m
@@ -8,7 +8,7 @@
#import "OrdSResultController.h"
#import "OrderCellBottomView.h"
#import "NewOrderTopCell.h"
#import "OrderTitleCell.h"
#import "NewOrderCell.h"
#import "RewardCouponsView.h"
@@ -207,10 +207,10 @@
{
    
    if (indexPath.row == 0) {
        NSString *identifier = @"NewOrderTopCell";
        NewOrderTopCell *cell = [tableView dequeueReusableCellWithIdentifier:identifier];
        NSString *identifier = @"OrderTitleCell";
        OrderTitleCell *cell = [tableView dequeueReusableCellWithIdentifier:identifier];
        if (!cell) {
            cell = [[NewOrderTopCell alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentifier:identifier];
            cell = [[OrderTitleCell alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentifier:identifier];
        }
        NewOrderListModel *model = (NewOrderListModel *)self.datasource[indexPath.section];
        cell.model = model;
@@ -407,7 +407,6 @@
    _tableview.estimatedSectionHeaderHeight = 0;
    _tableview.estimatedSectionFooterHeight = 0;
    
    [_tableview registerNib:[UINib nibWithNibName:@"NewOrderTopCell" bundle:nil] forCellReuseIdentifier:@"NewOrderTopCell"];
    [_tableview registerNib:[UINib nibWithNibName:@"NewOrderCell" bundle:nil] forCellReuseIdentifier:@"NewOrderCell"];
    
    NSMutableArray *idleImages = [[NSMutableArray alloc] init];
MIduo/½çÃæ/ËÑË÷/SearchDetailConditionView.m
@@ -19,12 +19,12 @@
@property (nonatomic, nullable, strong) NSMutableArray *dataTwoMutableArray;
@property (nonatomic, nullable, strong) NSMutableArray *dataThreeMutableArray;
@property (nonatomic, nullable, strong) NSMutableArray *dataFiveMutableArray;
@end
@implementation SearchDetailConditionView
- (instancetype)initWithFrame:(CGRect)frame
{
- (instancetype)initWithFrame:(CGRect)frame {
    self = [super initWithFrame:frame];
    if (self) {
        self.backgroundColor = UICOLOR_FROM_RGB(0x000000, 0.4);
@@ -33,38 +33,35 @@
    return self;
}
- (void)viewConfig
{
- (void)viewConfig {
    [self addSubview:self.tableView];
    [self addSubview:self.clickView];
    UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(onDisMis)];
    [self.clickView addGestureRecognizer:tap];
}
- (void)onDisMis
{
- (void)onDisMis {
    if (_delegate && [_delegate respondsToSelector:@selector(noticeViewDisMis)]) {
        [_delegate noticeViewDisMis];
    }
}
- (void)resetDataConfig
{
- (void)resetDataConfig {
    [self.dataOneMutableArray removeAllObjects];
    self.dataOneMutableArray = nil;
    [self.dataTwoMutableArray removeAllObjects];
    self.dataTwoMutableArray = nil;
    [self.dataThreeMutableArray removeAllObjects];
    self.dataThreeMutableArray = nil;
    [self.dataFiveMutableArray removeAllObjects];
     self.dataFiveMutableArray = nil;
}
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
    return 1;
}
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
    if ([_goodsType integerValue] == 1) {
        return _dataOneMutableArray.count;
        
@@ -73,6 +70,10 @@
        
    } else if ([_goodsType integerValue] == 3) {
        return _dataThreeMutableArray.count;
    } else if ([_goodsType integerValue] == 5) {
        return _dataFiveMutableArray.count;
    }
    return 1;
}
@@ -92,6 +93,10 @@
        
    } else if ([_goodsType integerValue] == 3) {
        cell.dataDictionary = self.dataThreeMutableArray[indexPath.row];
    } else if ([_goodsType integerValue] == 5) {
        cell.dataDictionary = self.dataFiveMutableArray[indexPath.row];
    }
    return cell;
}
@@ -154,16 +159,33 @@
        if (_delegate && [_delegate respondsToSelector:@selector(noticefilterData:)]) {
            [_delegate noticefilterData:self.dataThreeMutableArray];
        }
    } else if ([_goodsType integerValue] == 5) {
        NSMutableDictionary *dictionary = [[NSMutableDictionary alloc] initWithDictionary:self.dataFiveMutableArray[indexPath.row]];
        if ([self.dataFiveMutableArray[indexPath.row][@"isSelect"] boolValue]) {
            [dictionary setObject:[NSNumber numberWithBool:NO] forKey:@"isSelect"];
        } else {
            [dictionary setObject:[NSNumber numberWithBool:YES] forKey:@"isSelect"];
        }
        [self.dataFiveMutableArray replaceObjectAtIndex:indexPath.row withObject:dictionary];
        @weakify(self)
        [UIView performWithoutAnimation:^{
            @strongify(self)
            [self.tableView reloadData];
        }];
        if (_delegate && [_delegate respondsToSelector:@selector(noticefilterData:)]) {
            [_delegate noticefilterData:self.dataFiveMutableArray];
        }
    }
}
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {
    return 45;
}
- (UITableView *)tableView
{
- (UITableView *)tableView {
    if (!_tableView) {
        _tableView = [[UITableView alloc] initWithFrame:CGRectMake(0, 0, SCREEN_WIDTH, 0) style:UITableViewStylePlain];
        _tableView.delegate = self;
@@ -175,8 +197,7 @@
    return _tableView;
}
- (UIView *)clickView
{
- (UIView *)clickView {
    if (!_clickView) {
        _clickView = [[UIView alloc] init];
        _clickView.frame = CGRectMake(0, CGRectGetMaxY(self.tableView.frame), SCREEN_WIDTH, SCREEN_HEIGHT);
@@ -184,8 +205,7 @@
    return _clickView;
}
- (void)setGoodsType:(NSString *)goodsType
{
- (void)setGoodsType:(NSString *)goodsType {
    _goodsType = goodsType;
    CGFloat height = 0;
    if ([goodsType integerValue] == 1) {
@@ -196,22 +216,23 @@
        
    } else if ([goodsType integerValue] == 3) {
        height = self.dataThreeMutableArray.count*45;
    } else if ([goodsType integerValue] == 5) {
        height = self.dataFiveMutableArray.count*45;
    }
    self.tableView.frame = CGRectMake(0, 0, SCREEN_WIDTH, height);
    self.clickView.frame = CGRectMake(0, CGRectGetMaxY(self.tableView.frame), SCREEN_WIDTH, SCREEN_HEIGHT);
    [self.tableView reloadData];
}
- (NSMutableArray *)dataMutableArray
{
- (NSMutableArray *)dataMutableArray {
    if (!_dataMutableArray) {
        _dataMutableArray = [[NSMutableArray alloc] init];
    }
    return _dataMutableArray;
}
- (NSMutableArray *)dataOneMutableArray
{
- (NSMutableArray *)dataOneMutableArray {
    if (!_dataOneMutableArray) {
        _dataOneMutableArray = [[NSMutableArray alloc] init];
        [_dataOneMutableArray addObject:@{@"title" : @"天猫", @"isSelect": [NSNumber numberWithBool:NO], @"type" : @"tmall"}];
@@ -219,8 +240,7 @@
    return _dataOneMutableArray;
}
- (NSMutableArray *)dataTwoMutableArray
{
- (NSMutableArray *)dataTwoMutableArray {
    if (!_dataTwoMutableArray) {
        _dataTwoMutableArray = [[NSMutableArray alloc] init];
        [_dataTwoMutableArray addObject:@{@"title" : @"京东自营", @"isSelect": [NSNumber numberWithBool:NO], @"type" : @"zy"}];
@@ -229,8 +249,7 @@
}
- (NSMutableArray *)dataThreeMutableArray
{
- (NSMutableArray *)dataThreeMutableArray {
    if (!_dataThreeMutableArray) {
        _dataThreeMutableArray = [[NSMutableArray alloc] init];
        [_dataThreeMutableArray addObject:@{@"title" : @"品牌店铺", @"isSelect": [NSNumber numberWithBool:NO], @"type" : @"brand"}];
@@ -238,4 +257,15 @@
    return _dataThreeMutableArray;
}
- (NSMutableArray *)dataFiveMutableArray {
    if (!_dataFiveMutableArray) {
        _dataFiveMutableArray = [[NSMutableArray alloc] init];
        [_dataFiveMutableArray addObject:@{@"title" : @"苏宁自营", @"isSelect": [NSNumber numberWithBool:NO], @"type" : @"suningService"}];
        [_dataFiveMutableArray addObject:@{@"title" : @"苏宁国际", @"isSelect": [NSNumber numberWithBool:NO], @"type" : @"snhwg"}];
        [_dataFiveMutableArray addObject:@{@"title" : @"苏宁服务", @"isSelect": [NSNumber numberWithBool:NO], @"type" : @"snfwservice"}];
        [_dataFiveMutableArray addObject:@{@"title" : @"拼购", @"isSelect": [NSNumber numberWithBool:NO], @"type" : @"pgSearch"}];
    }
    return _dataFiveMutableArray;
}
@end
MIduo/½çÃæ/ËÑË÷/SearchDetailController.m
@@ -12,6 +12,7 @@
// Views
#import "SearchDetailFilterView.h"
#import "SearchDetailFilterWPHView.h"
#import "SearchDetailFilterSNView.h"
#import "SearchDetailConditionView.h"
#import "SearchDetailFiltrPriceView.h"
@@ -29,6 +30,7 @@
/// ç­›é€‰è§†å›¾
@property (nonatomic, nullable, strong) SearchDetailFilterView *searchDetailFilterView;
@property (nonatomic, nullable, strong) SearchDetailFilterWPHView *viewSearchDetailFilterWPH;
@property (nonatomic, nullable, strong) SearchDetailFilterSNView *viewSearchDetailFilterSN;
@property (nonatomic, nullable, strong) SearchDetailConditionView *searchDetailConditionView;
@@ -152,6 +154,9 @@
    if ([_goodsType integerValue] == 4) {
        [self.view addSubview:self.viewSearchDetailFilterWPH];
        
    } else if ([_goodsType integerValue] == 5) {
        [self.view addSubview:self.viewSearchDetailFilterSN];
    } else {
        [self.view addSubview:self.searchDetailFilterView];
    }
@@ -175,6 +180,7 @@
    self.searchKey = searchKey;
    [self resetDataCoing];
    [self resetDataWPHCoing];
    [self resetDataSNCoing];
    [self.tableView.mj_header beginRefreshing];
}
@@ -198,6 +204,20 @@
    [self.viewSearchDetailFilterWPH.buttonSynthesis addTarget:self action:@selector(onFilterGoodsWPH:) forControlEvents:UIControlEventTouchUpInside];
    [self.viewSearchDetailFilterWPH.buttonDiscount addTarget:self action:@selector(onFilterGoodsWPH:) forControlEvents:UIControlEventTouchUpInside];
    [self.viewSearchDetailFilterWPH.priceButton addTarget:self action:@selector(onFilterGoodsWPH:) forControlEvents:UIControlEventTouchUpInside];
    self.viewSearchDetailFilterSN.buttonSynthesis.tag = 700;
    self.viewSearchDetailFilterSN.priceButton.tag = 702;
    self.viewSearchDetailFilterSN.rebatesButton.tag = 704;
    self.viewSearchDetailFilterSN.filteringButton.tag = 705;
    [self.viewSearchDetailFilterSN.buttonSynthesis addTarget:self action:@selector(onFilterGoodsSN:) forControlEvents:UIControlEventTouchUpInside];
    [self.viewSearchDetailFilterSN.priceButton addTarget:self action:@selector(onFilterGoodsSN:) forControlEvents:UIControlEventTouchUpInside];
    [self.viewSearchDetailFilterSN.rebatesButton addTarget:self action:@selector(onFilterGoodsSN:) forControlEvents:UIControlEventTouchUpInside];
    [self.viewSearchDetailFilterSN.filteringButton addTarget:self action:@selector(onFilterGoodsSN:) forControlEvents:UIControlEventTouchUpInside];
}
- (void)addNetWorkNotice {
@@ -412,6 +432,8 @@
    }
    [self resetDataCoing];
    [self resetDataWPHCoing];
    [self resetDataSNCoing];
    [self.tableView.mj_header beginRefreshing];
}
@@ -567,6 +589,78 @@
    }
}
- (void)onFilterGoodsSN:(UIButton *)button {
    switch (button.tag) {
        case 700: {
            if (!button.selected) {
                button.selected = YES;
                self.viewSearchDetailFilterSN.priceButton.selected = NO;
                self.viewSearchDetailFilterSN.priceButton.tag = 702;
                self.viewSearchDetailFilterSN.rebatesButton.selected = NO;
                [self hidePriceView];
                self.order = 0;
                [self.tableView.mj_header beginRefreshing];
            }
            break;
        }
        case 702: {
            button.selected = YES;
            button.tag = 703;
            self.viewSearchDetailFilterSN.rebatesButton.selected = NO;
            self.viewSearchDetailFilterSN.buttonSynthesis.selected = NO;
            [button setImage:[UIImage imageNamed:@"升序"] forState:UIControlStateSelected];
            if ([self.goodsType integerValue] != 3) { // æ‹¼å¤šå¤šä¸æ”¯æŒè¾“入价格
                [self showPriceView];
            }
            self.order = 3;
            [self.tableView.mj_header beginRefreshing];
            break;
        }
        case 703: {
            button.selected = YES;
            button.tag = 702;
            self.viewSearchDetailFilterSN.rebatesButton.selected = NO;
            self.viewSearchDetailFilterSN.buttonSynthesis.selected = NO;
            [button setImage:[UIImage imageNamed:@"降序"] forState:UIControlStateSelected];
            if ([self.goodsType integerValue] != 3) { // æ‹¼å¤šå¤šä¸æ”¯æŒè¾“入价格
                [self showPriceView];
            }
            self.order = 2;
            [self.tableView.mj_header beginRefreshing];
            break;
        }
        case 704: {// è¿”利比
            if (!button.selected) {
                button.selected = YES;
                self.viewSearchDetailFilterSN.buttonSynthesis.selected = NO;
                self.viewSearchDetailFilterSN.priceButton.selected = NO;
                self.viewSearchDetailFilterSN.priceButton.tag = 702;
                self.order = 4;
                [self hidePriceView];
                [self.tableView.mj_header beginRefreshing];
            }
            break;
        }
        case 705: {
            [self setFilterButtonState:button];
            break;
        }
        default:
            break;
    }
}
- (void)ClickConnectBtn:(UIButton *)sender {
    if (iOS10) {
        [[UIApplication sharedApplication] openURL:[NSURL URLWithString:UIApplicationOpenSettingsURLString]
@@ -626,7 +720,6 @@
    self.viewSearchDetailFilterWPH.buttonSynthesis.selected = YES;
    
    self.viewSearchDetailFilterWPH.buttonDiscount.selected = NO;
    self.viewSearchDetailFilterWPH.priceButton.selected = NO;
    self.viewSearchDetailFilterWPH.priceButton.tag = 702;
    
@@ -636,10 +729,36 @@
    [self hidePriceView];
}
- (void)resetDataSNCoing {
    self.page = 1;
    self.order = 0;
    self.isHaveFilterArray = nil;
    self.viewSearchDetailFilterSN.buttonSynthesis.selected = YES;
    self.viewSearchDetailFilterSN.priceButton.selected = NO;
    self.viewSearchDetailFilterSN.priceButton.tag = 702;
    self.viewSearchDetailFilterSN.rebatesButton.selected = NO;
    self.viewSearchDetailFilterSN.filteringButton.selected = NO;
    self.searchDetailConditionView.hidden = YES;
    self.isShow = NO;
    [self.searchDetailConditionView resetDataConfig];
    [self hidePriceView];
}
- (void)showPriceView {
    if ([_goodsType integerValue] == 4) {
        self.searchDetailFiltrPriceView.frame = CGRectMake(0, CGRectGetMaxY(self.viewSearchDetailFilterWPH.frame), SCREEN_WIDTH, 45);
        self.tableView.frame = CGRectMake(0, CGRectGetMaxY(self.viewSearchDetailFilterWPH.frame), SCREEN_WIDTH, SCREEN_HEIGHT - kNavigationBarH - kStatusBarH - CGRectGetHeight(self.viewSearchDetailFilterWPH.frame) - CGRectGetHeight(self.searchDetailFiltrPriceView.frame));
        self.tableView.frame = CGRectMake(0, CGRectGetMaxY(self.searchDetailFiltrPriceView.frame), SCREEN_WIDTH, SCREEN_HEIGHT - kNavigationBarH - kStatusBarH - CGRectGetHeight(self.viewSearchDetailFilterWPH.frame) - CGRectGetHeight(self.searchDetailFiltrPriceView.frame));
    } else if ([_goodsType integerValue] == 5) {
        self.searchDetailFiltrPriceView.frame = CGRectMake(0, CGRectGetMaxY(self.viewSearchDetailFilterSN.frame), SCREEN_WIDTH, 45);
        self.tableView.frame = CGRectMake(0, CGRectGetMaxY(self.searchDetailFiltrPriceView.frame), SCREEN_WIDTH, SCREEN_HEIGHT - kNavigationBarH - kStatusBarH - CGRectGetHeight(self.viewSearchDetailFilterSN.frame) - CGRectGetHeight(self.searchDetailFiltrPriceView.frame));
        
        
    } else {
@@ -655,6 +774,10 @@
        self.searchDetailFiltrPriceView.frame = CGRectMake(0, CGRectGetMaxY(self.viewSearchDetailFilterWPH.frame), SCREEN_WIDTH, 0);
        self.tableView.frame = CGRectMake(0, CGRectGetMaxY(self.searchDetailFiltrPriceView.frame), SCREEN_WIDTH, SCREEN_HEIGHT - kNavigationBarH - kStatusBarH - CGRectGetHeight(self.viewSearchDetailFilterWPH.frame) - CGRectGetHeight(self.searchDetailFiltrPriceView.frame));
        
    }  else if ([_goodsType integerValue] == 5) {
        self.searchDetailFiltrPriceView.frame = CGRectMake(0, CGRectGetMaxY(self.viewSearchDetailFilterSN.frame), SCREEN_WIDTH, 0);
        self.tableView.frame = CGRectMake(0, CGRectGetMaxY(self.searchDetailFiltrPriceView.frame), SCREEN_WIDTH, SCREEN_HEIGHT - kNavigationBarH - kStatusBarH - CGRectGetHeight(self.viewSearchDetailFilterSN.frame) - CGRectGetHeight(self.searchDetailFiltrPriceView.frame));
    } else {
        self.searchDetailFiltrPriceView.frame = CGRectMake(0, CGRectGetMaxY(self.searchDetailFilterView.frame), SCREEN_WIDTH, 0);
        self.tableView.frame = CGRectMake(0, CGRectGetMaxY(self.searchDetailFiltrPriceView.frame), SCREEN_WIDTH, SCREEN_HEIGHT - kNavigationBarH - kStatusBarH - CGRectGetHeight(self.searchDetailFilterView.frame) - CGRectGetHeight(self.searchDetailFiltrPriceView.frame));
@@ -667,6 +790,7 @@
}
- (void)setFilterButtonState:(UIButton *)button {
    if (!button.selected) {
        button.selected = YES;
        [button setImage:[UIImage imageNamed:@"synthesize_up"] forState:UIControlStateSelected];
@@ -711,19 +835,36 @@
    self.isShow = NO;
    self.isHaveFilterArray = array;
    BOOL isHaveFiltr = [self fetchIsHaveFilter:array];
    if (isHaveFiltr) {
        self.searchDetailFilterView.filteringButton.selected = YES;
        [self.searchDetailFilterView.filteringButton setImage:[UIImage imageNamed:@"synthesize"] forState:UIControlStateSelected];
        if ([_goodsType integerValue] == 5) {
            self.viewSearchDetailFilterSN.filteringButton.selected = YES;
            [self.viewSearchDetailFilterSN.filteringButton setImage:[UIImage imageNamed:@"synthesize"] forState:UIControlStateSelected];
        } else {
            self.searchDetailFilterView.filteringButton.selected = YES;
            [self.searchDetailFilterView.filteringButton setImage:[UIImage imageNamed:@"synthesize"] forState:UIControlStateSelected];
        }
    } else {
        self.searchDetailFilterView.filteringButton.selected = NO;
        [self.searchDetailFilterView.filteringButton setImage:[UIImage imageNamed:@"synthesize_down"] forState:UIControlStateSelected];
        if ([_goodsType integerValue] == 5) {
            self.viewSearchDetailFilterSN.filteringButton.selected = NO;
            [self.viewSearchDetailFilterSN.filteringButton setImage:[UIImage imageNamed:@"synthesize_down"] forState:UIControlStateSelected];
        } else {
            self.searchDetailFilterView.filteringButton.selected = NO;
            [self.searchDetailFilterView.filteringButton setImage:[UIImage imageNamed:@"synthesize_down"] forState:UIControlStateSelected];
        }
    }
    [self.tableView.mj_header beginRefreshing];
}
- (void)noticeViewDisMis {
    [self setFilterButtonState:self.searchDetailFilterView.filteringButton];
    if ([_goodsType integerValue] == 5) {
        [self setFilterButtonState:self.viewSearchDetailFilterSN.filteringButton];
    } else {
        [self setFilterButtonState:self.searchDetailFilterView.filteringButton];
    }
}
#pragma mark - YTHSearchTextFieldDelegate -
@@ -897,6 +1038,13 @@
    return _viewSearchDetailFilterWPH;
}
- (SearchDetailFilterSNView *)viewSearchDetailFilterSN {
    if (!_viewSearchDetailFilterSN) {
        _viewSearchDetailFilterSN = [[SearchDetailFilterSNView alloc] initWithFrame:CGRectMake(0, 0, SCREEN_WIDTH, 40)];
    }
    return _viewSearchDetailFilterSN;
}
- (SearchDetailFiltrPriceView *)searchDetailFiltrPriceView {
    if (!_searchDetailFiltrPriceView) {
        _searchDetailFiltrPriceView = [[SearchDetailFiltrPriceView alloc] initWithFrame:CGRectMake(0, CGRectGetMaxY(self.searchDetailFilterView.frame), SCREEN_WIDTH, 0)];
MIduo/½çÃæ/ËÑË÷/SearchDetailFilterSNView.h
New file
@@ -0,0 +1,26 @@
//
//  SearchDetailFilterSNView.h
//  MIduo
//
//  Created by aeline on 2020/6/4.
//  Copyright Â© 2020 yeshi. All rights reserved.
//
#import <UIKit/UIKit.h>
NS_ASSUME_NONNULL_BEGIN
@interface SearchDetailFilterSNView : UIView
/// ç»¼åˆ
@property (nonatomic, nullable, strong) ALButton *buttonSynthesis;
/// ä»·æ ¼
@property (nonatomic, nullable, strong) ALButton *priceButton;
/// è¿”利比
@property (nonatomic, nullable, strong) ALButton *rebatesButton;
/// ç­›é€‰
@property (nonatomic, nullable, strong) ALButton *filteringButton;
@end
NS_ASSUME_NONNULL_END
MIduo/½çÃæ/ËÑË÷/SearchDetailFilterSNView.m
New file
@@ -0,0 +1,105 @@
//
//  SearchDetailFilterSNView.m
//  MIduo
//
//  Created by aeline on 2020/6/4.
//  Copyright Â© 2020 yeshi. All rights reserved.
//
#import "SearchDetailFilterSNView.h"
@interface SearchDetailFilterSNView ()
@property (nonatomic, nullable, strong) UIView *garyView;
@end
@implementation SearchDetailFilterSNView
- (instancetype)initWithFrame:(CGRect)frame
{
    self = [super initWithFrame:frame];
    if (self) {
        self.backgroundColor = [UIColor whiteColor];
        [self viewConfig];
    }
    return self;
}
- (void)viewConfig {
    [self addSubview:self.buttonSynthesis];
    self.buttonSynthesis.sd_layout.leftSpaceToView(self, 0).topEqualToView(self).bottomEqualToView(self).widthIs(SCREEN_WIDTH/4);
    [self addSubview:self.priceButton];
    self.priceButton.sd_layout.leftSpaceToView(self.buttonSynthesis, 0).topEqualToView(self).bottomEqualToView(self).widthIs(SCREEN_WIDTH/4);
    [_priceButton setTitleEdgeInsets:UIEdgeInsetsMake(0, -_priceButton.imageView.bounds.size.width, 0, _priceButton.imageView.bounds.size.width)];
    [_priceButton setImageEdgeInsets:UIEdgeInsetsMake(0, _priceButton.titleLabel.bounds.size.width, 0, -_priceButton.titleLabel.bounds.size.width)];
    [self addSubview:self.rebatesButton];
    self.rebatesButton.sd_layout.leftSpaceToView(self.priceButton, 0).topEqualToView(self).bottomEqualToView(self).widthIs(SCREEN_WIDTH/4);
    [self addSubview:self.filteringButton];
    self.filteringButton.sd_layout.leftSpaceToView(self.rebatesButton, 0).topEqualToView(self).bottomEqualToView(self).widthIs(SCREEN_WIDTH/4);
    [_filteringButton setTitleEdgeInsets:UIEdgeInsetsMake(0, -_filteringButton.imageView.bounds.size.width, 0, _filteringButton.imageView.bounds.size.width)];
    [_filteringButton setImageEdgeInsets:UIEdgeInsetsMake(0, _filteringButton.titleLabel.bounds.size.width, 0, -_filteringButton.titleLabel.bounds.size.width)];
    [self addSubview:self.garyView];
    self.garyView.sd_layout.leftEqualToView(self).bottomEqualToView(self).rightEqualToView(self).heightIs(0.5);
}
- (ALButton *)buttonSynthesis {
    if (!_buttonSynthesis) {
        _buttonSynthesis = [ALButton buttonWithType:UIButtonTypeCustom];
        [_buttonSynthesis setTitle:@"综合" forState:UIControlStateNormal];
        [_buttonSynthesis setTitleColor:UICOLOR_FROM_RGB(0x333333, 1.0) forState:UIControlStateNormal];
        [_buttonSynthesis setTitleColor:UICOLOR_FROM_RGB(0xE5005C, 1.0) forState:UIControlStateSelected];
        _buttonSynthesis.titleLabel.font = [UIFont systemFontOfSize:15];
        _buttonSynthesis.selected = YES;
    }
    return _buttonSynthesis;
}
- (ALButton *)priceButton {
    if (!_priceButton) {
        _priceButton = [ALButton buttonWithType:UIButtonTypeCustom];
        [_priceButton setImage:ALIMAGE_NAMED(@"排序未选中") forState:UIControlStateNormal];
        [_priceButton setTitle:@"ä»·æ ¼ " forState:UIControlStateNormal];
        [_priceButton setTitleColor:UICOLOR_FROM_RGB(0x333333, 1.0) forState:UIControlStateNormal];
        [_priceButton setTitleColor:UICOLOR_FROM_RGB(0xE5005C, 1.0) forState:UIControlStateSelected];
        _priceButton.titleLabel.font = [UIFont systemFontOfSize:15];
    }
    return _priceButton;
}
- (ALButton *)rebatesButton {
    if (!_rebatesButton) {
        _rebatesButton = [ALButton buttonWithType:UIButtonTypeCustom];
        [_rebatesButton setTitle:@"返利比" forState:UIControlStateNormal];
        [_rebatesButton setTitleColor:UICOLOR_FROM_RGB(0x333333, 1.0) forState:UIControlStateNormal];
        [_rebatesButton setTitleColor:UICOLOR_FROM_RGB(0xE5005C, 1.0) forState:UIControlStateSelected];
        _rebatesButton.titleLabel.font = [UIFont systemFontOfSize:15];
    }
    return _rebatesButton;
}
- (ALButton *)filteringButton {
    if (!_filteringButton) {
        _filteringButton = [ALButton buttonWithType:UIButtonTypeCustom];
        [_filteringButton setImage:ALIMAGE_NAMED(@"synthesize_down") forState:UIControlStateNormal];
        [_filteringButton setTitle:@"筛选 " forState:UIControlStateNormal];
        [_filteringButton setTitleColor:UICOLOR_FROM_RGB(0x333333, 1.0) forState:UIControlStateNormal];
        [_filteringButton setTitleColor:UICOLOR_FROM_RGB(0xE5005C, 1.0) forState:UIControlStateSelected];
        _filteringButton.titleLabel.font = [UIFont systemFontOfSize:15];
    }
    return _filteringButton;
}
- (UIView *)garyView {
    if (!_garyView) {
        _garyView = [[UIView alloc] init];
        _garyView.backgroundColor = UICOLOR_FROM_RGB(0xe0e0e0, 1.0);
    }
    return _garyView;
}
@end
MIduo/½çÃæ/ËÑË÷/SearchDetailFilterWPHView.m
@@ -34,7 +34,7 @@
    
    CGFloat dyWidth = (SCREEN_WIDTH > 375)?50:30;
    
    self.buttonSynthesis.sd_layout.leftSpaceToView(self, 30).topEqualToView(self).bottomEqualToView(self).widthIs((SCREEN_WIDTH-dyWidth*2)/3);
    self.buttonSynthesis.sd_layout.leftSpaceToView(self, dyWidth).topEqualToView(self).bottomEqualToView(self).widthIs((SCREEN_WIDTH-dyWidth*2)/3);
    
    self.buttonDiscount.sd_layout.leftSpaceToView(self.buttonSynthesis, 0).topEqualToView(self).bottomEqualToView(self).widthIs((SCREEN_WIDTH-dyWidth*2)/3);
    
MIduo/½çÃæ/ËÑË÷/SearchGoodsGuideCell.m
@@ -33,7 +33,6 @@
-(UIImageView *)imageViewContent {
    if (!_imageViewContent) {
        _imageViewContent = [[UIImageView alloc] init];
        _imageViewContent.backgroundColor = ImagePlaceholder_white;
    }
    return _imageViewContent;
}
MIduo/½çÃæ/ËÑË÷/searchViewController.m
@@ -185,7 +185,8 @@
 *  çƒ­é—¨æœç´¢
 */
- (void)getHotSearch {
    NSDictionary *params = @{@"goodsType":_goodsType};
    NSMutableDictionary *params = [[ NSMutableDictionary alloc] init];
    [params setObject:@"1" forKey:@"goodsType"];
    @weakify(self)
    [[ALNetWorking startInterface] Post:[NSString stringWithFormat:@"%@/%@",domainHTTP, @"search/gethotsearch"] param:params success:^(NSDictionary *object) {
        @strongify(self)
MIduo/½çÃæ/ÑûÇë/ÉÌÆ··ÖÏí/NewGoodsShareController.m
@@ -32,6 +32,7 @@
- (void)viewWillAppear:(BOOL)animated {
    [super viewWillAppear:animated];
    [self.navigationController setNavigationBarHidden:NO animated:animated];
    self.navBarHairlineImageView.hidden = YES;
}
- (void)viewDidLoad {
MIduo/½çÃæ/Ê×Ò³/HomeManage.h
@@ -17,19 +17,20 @@
/// é“¾æŽ¥
/// @param dictionary dictionary
- (void)guessLikeUrlPopView:(NSDictionary *)dictionary;
- (void)guessLikeUrlPopView:(NSDictionary *)dictionary :(void(^)(BOOL result))completeBlock;
/// æ–‡å­—
/// @param dictionary dictionary
- (void)searchCouponView:(NSDictionary *)dictionary;
- (void)searchCouponView:(NSDictionary *)dictionary :(void(^)(BOOL result))completeBlock;
- (void)guessLikeSimilarityPopView:(NSDictionary *)dictionary;
- (void)guessLikeSimilarityPopView:(NSDictionary *)dictionary :(void(^)(BOOL result))completeBlock;
- (void)homeMDLingQuView:(NSDictionary *)dictionary;
- (void)homeMDLingQuView:(NSDictionary *)dictionary :(void(^)(BOOL result))completeBlock;
- (void)homeMDWuXiaoView:(NSDictionary *)dictionary;
- (void)homeMDWuXiaoView:(NSDictionary *)dictionary :(void(^)(BOOL result))completeBlock;
- (void)GuessLikeTurnToLinkPopView:(NSDictionary *)dictionary;
- (void)GuessLikeTurnToLinkPopView:(NSDictionary *)dictionary :(void(^)(BOOL result))completeBlock;
/// è¦†ç›–动态缓存标题
- (void)postDynamicData;
MIduo/½çÃæ/Ê×Ò³/HomeManage.m
@@ -49,7 +49,7 @@
@implementation HomeManage
- (void)guessLikeUrlPopView:(NSDictionary *)dictionary {
- (void)guessLikeUrlPopView:(NSDictionary *)dictionary :(nonnull void (^)(BOOL))completeBlock {
    [UMCustom umMain_tbgoods_recommend_result:@"商品"];
    GoodsDetailBaseModel *goodsDetailBaseModel = [GoodsDetailBaseModel yy_modelWithJSON:dictionary[@"data"][@"goods"]];
    [self.guessLikeUrlPopView dismiss];
@@ -58,11 +58,13 @@
    self.guessLikeUrlPopView.hasIndex = ^(NSInteger index) {
        @strongify(self)
        if (index == 790) { // å…³é—­
             completeBlock(YES);
            [self.guessLikeUrlPopView dismiss];
            self.guessLikeUrlPopView = nil;
            [self clearPasteboard];// æ¸…空粘贴板
            
        } else {
            completeBlock(YES);
            [self.guessLikeUrlPopView dismiss];
            self.guessLikeUrlPopView = nil;
            [self clearPasteboard];
@@ -72,7 +74,7 @@
    [self.guessLikeUrlPopView show];
}
- (void)searchCouponView:(NSDictionary *)dictionary {
- (void)searchCouponView:(NSDictionary *)dictionary :(nonnull void (^)(BOOL))completeBlock {
    [UMCustom umMain_tbgoods_recommend_result:@"标题"];
    NSString *pasteboardStr = dictionary[@"data"][@"data"][@"title"];
    [self.searchCouponView dismiss];
@@ -81,11 +83,13 @@
    self.searchCouponView.hasIndex = ^(NSInteger index) {
        @strongify(self)
        if (index == 790) { // å…³é—­
            completeBlock(YES);
            [self.searchCouponView dismiss];
            self.searchCouponView = nil;
            [self clearPasteboard]; // æ¸…空粘贴板
            
        } else {
            completeBlock(YES);
            [self clearPasteboard]; // æ¸…空粘贴板
            if ([[self.commonMethodManage fetchCurrentVc] isKindOfClass:[SpreadGoodsDetailController class]]) {
                [(SpreadGoodsDetailController *)[self.commonMethodManage fetchCurrentVc] redHongBaoDisMiss];
@@ -96,18 +100,20 @@
    [self.searchCouponView show];
}
- (void)guessLikeSimilarityPopView:(NSDictionary *)dictionary {
- (void)guessLikeSimilarityPopView:(NSDictionary *)dictionary :(nonnull void (^)(BOOL))completeBlock {
    [self.guessLikeSimilarityPopView dismiss];
    self.guessLikeSimilarityPopView = [[GuessLikeSimilarityPopView alloc] initWithSearchData:dictionary[@"data"]];
    @weakify(self)
    self.guessLikeSimilarityPopView.hasIndex = ^(NSInteger index) {
        @strongify(self)
        if (index == 790) {//关闭
            completeBlock(YES);
            [self.guessLikeSimilarityPopView dismiss];
            self.guessLikeSimilarityPopView = nil;
            [self clearPasteboard];//清空粘贴板
            
        } else {
            completeBlock(YES);
            [self.guessLikeSimilarityPopView dismiss];
            self.guessLikeSimilarityPopView = nil;
            [self clearPasteboard];
@@ -117,7 +123,7 @@
    [self.guessLikeSimilarityPopView show];
}
- (void)homeMDLingQuView:(NSDictionary *)dictionary {
- (void)homeMDLingQuView:(NSDictionary *)dictionary :(nonnull void (^)(BOOL))completeBlock {
    NSInteger type = [dictionary[@"data"][@"type"] integerValue];
    [self.homeMDLingQuView disAllMis];
    if (type == 10) {
@@ -135,6 +141,7 @@
    self.homeMDLingQuView.hasIndex = ^(NSInteger index) {
        @strongify(self)
        if (index == 790) { // å…³é—­
            completeBlock(YES);
            [self clearPasteboard]; // æ¸…空粘贴板
            
        } else {
@@ -145,6 +152,7 @@
            [[ALNetWorking startInterface] Post:[NSString stringWithFormat:@"%@/%@",domainHTTP2,@"search/tokenReceive"] param:params success:^(NSDictionary *object) {
                @strongify(self)
                if ([object[@"error_code"] integerValue] == 0) {
                    completeBlock(YES);
                    [self clearPasteboard]; // æ¸…空粘贴板
                    [self.homeMDLingQuView disAllMis];
                    if (type == 13) {
@@ -165,7 +173,7 @@
    };
}
- (void)homeMDWuXiaoView:(NSDictionary *)dictionary {
- (void)homeMDWuXiaoView:(NSDictionary *)dictionary :(nonnull void (^)(BOOL))completeBlock {
    NSInteger type = [dictionary[@"data"][@"type"] integerValue];
    [self.homeMDWuXiaoView disAllMis];
    if (type == 10) {
@@ -184,15 +192,17 @@
        @strongify(self)
        if (index == 790) { // å…³é—­
            [self clearPasteboard]; // æ¸…空粘贴板
            completeBlock(YES);
            
        } else {
            completeBlock(YES);
            [self clearPasteboard]; // æ¸…空粘贴板
            [self.homeMDWuXiaoView disAllMis];
        }
    };
}
- (void)GuessLikeTurnToLinkPopView:(NSDictionary *)dictionary {
- (void)GuessLikeTurnToLinkPopView:(NSDictionary *)dictionary :(nonnull void (^)(BOOL))completeBlock {
    [self.guessLikeTurnToLinkPopView dismiss];
    self.guessLikeTurnToLinkPopView = [[GuessLikeTurnToLinkPopView alloc] initWithSearchData:dictionary[@"data"]];
    @weakify(self)
@@ -200,6 +210,7 @@
        @strongify(self)
        if (index == 790) {//关闭
            //清空粘贴板
            completeBlock(YES);
            [self clearPasteboard];
            [self.guessLikeTurnToLinkPopView dismiss];
            
@@ -229,6 +240,7 @@
                                ALToastCenter(object[@"data"]);
                            }
                        }
                        completeBlock(YES);
                        [self.guessLikeTurnToLinkPopView dismiss];
                    });
                    
@@ -239,6 +251,7 @@
                
            } else if (state == 3) {
                [self.commonMethodManage pushController:dictionary[@"data"][@"data"][@"guessLike"][@"jumpDetail"] params:dictionary[@"data"][@"data"][@"guessLike"][@"params"] typePush:^(BOOL other) {}];
                completeBlock(YES);
                [self.guessLikeTurnToLinkPopView dismiss];
            }
            
@@ -252,6 +265,7 @@
                
                [self.commonMethodManage pushController:dictionary[@"data"][@"data"][@"view"][@"jumpDetail"] params:dictionary[@"data"][@"data"][@"view"][@"params"] typePush:^(BOOL other) {}];
            }
            completeBlock(YES);
            [self.guessLikeTurnToLinkPopView dismiss];
        }
    };
MIduo/½çÃæ/Ê×Ò³/NEWHomeViewController.m
@@ -131,7 +131,8 @@
@property (nonatomic, nullable, strong) HomeManage *homeManage;
/// å†™å…¥æ–‡ä»¶
@property (nonatomic, nullable, strong) PlistFileOperator *plist;
/// ç²˜è´´æ¿å†…容是否已将弹出
@property (nonatomic, assign) BOOL isboardShow;
@end
@implementation NEWHomeViewController
@@ -154,7 +155,12 @@
    [self.navigationController.navigationBar setShadowImage:[[UIImage alloc] init]];
    
    [self getMessage];
    [self checkPasteboardIsHaveContent];
    // å»¶æ—¶æ£€æµ‹
    dispatch_time_t timer = dispatch_time(DISPATCH_TIME_NOW, 1 * NSEC_PER_SEC);
    dispatch_after(timer, dispatch_get_main_queue(), ^{
        [self checkPasteboardIsHaveContent];
    });
}
- (void)viewWillDisappear:(BOOL)animated {
@@ -176,7 +182,8 @@
    self.tabbar = (XHTabBarController *)[UIApplication sharedApplication].keyWindow.rootViewController;
    self.tabbar.xhTabBarDelegate = self;
    
    [self onLoadLauchImage];
    //    [self loadHomePopUpView];
    [self.view addSubview:self.noNetworkViews];
    
    NSDictionary *sourceDic = [[NSUserDefaults standardUserDefaults] objectForKey:@"ChangeTaobaolinks"];
@@ -217,6 +224,8 @@
    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(guessYouLike:) name:@"GUESSYOULIKE" object:nil];
    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(onHomeExpand) name:@"homeExpand" object:nil];
    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(hideHomeHotReMen) name:@"hideHomeHotReMen" object:nil];
    // å¹¿å‘Šä¸šå…³é—­
    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(onSplashAdClosed) name:@"splashAdClosed" object:nil];
    // å¼•导页准备消失
    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(onLaunchIntroductionViewHide) name:@"launchIntroductionViewHide" object:nil];
    // å¼•导页已经消失
@@ -229,7 +238,7 @@
- (void)checkPasteboardIsHaveContent {
    UIPasteboard *board = [UIPasteboard generalPasteboard];
    if (board.string) {
    if ([self isHaveValue:board.string]) {
        NSNotification *notica = [[NSNotification alloc] initWithName:@"GUESSYOULIKE" object:board.string userInfo:nil];
        [self guessYouLike:notica];
    }
@@ -392,14 +401,10 @@
    }
}
- (void)onLoadLauchImage {
    [self loadHomePopUpView];
}
- (void)loadHomePopUpView {
    self.plist.dataName = @"LaunchIntroductionViewShow";
    NSString *stringType = [self.plist readFile][0];
    if ([self isFirstLauchAPP] || [stringType isEqualToString:@"0"]) {
    if ([stringType isEqualToString:@"0"]) {
        return;
    }
    [self.homePopUpView removeFromSuperview];
@@ -436,9 +441,9 @@
                    }
                }
            }
            if ([self isFirstLauchAPP]) {
                return;
            }
            //if ([self isFirstLauchAPP]) {
            //    return;
            //}
            //用户协议(是否同意过用户协议)
            if (![self popUserInfoProtocol]) {
                return;
@@ -553,7 +558,7 @@
- (void)showAppUpdateViewView {
    self.appUpdateView.appUpdateData = [YTHsharedManger startManger].dictionaryUpdate;
    [self.appUpdateView show];
    [self.appUpdateView show:self.view];
    @weakify(self)
    self.appUpdateView.touchUpdate = ^{
        @strongify(self)
@@ -734,7 +739,7 @@
- (void)guessYouLike:(NSNotification *)notice {
    self.plist.dataName = @"LaunchIntroductionViewShow";
    NSString *stringType = [self.plist readFile][0];
    if ([self isFirstLauchBoard] || [stringType isEqualToString:@"0"] || ![self popUserInfoProtocol] || ![self popAppUpdateData]) {
    if ([self isFirstLauchBoard] || [stringType isEqualToString:@"0"]  || [YTHsharedManger startManger].isShowSplash || ![self popUserInfoProtocol]) {
        return;
    }
    [UMCustom umMain_tbgoods_recommend];
@@ -750,6 +755,7 @@
    if ([ALUserInfoServiceManger fetchUID]) {
        [params setObject:[ALUserInfoServiceManger fetchUID] forKey:@"uid"];
    }
    //[params setObject:@"https://detail.vip.com/detail-1710614229-6918666114614454357.html" forKey:@"text"];
    [params setObject:notice.object?:@"" forKey:@"text"];
    @weakify(self)
    [JYNetWorking Post:[NSString stringWithFormat:@"%@/%@",domainHTTP2,@"search/getRecommendInfo"] param:params success:^(NSDictionary *object)
@@ -757,32 +763,54 @@
        @strongify(self)
        if (object && [object[@"code"] integerValue] == 0) {
            NSInteger type = [object[@"data"][@"type"] integerValue];
            if ([YTHsharedManger startManger].isShowSplash || self.isboardShow) {
                return;
            }
            if (type == 3) { // é“¾æŽ¥
                if ([self.homeManage isCompareController]) {
                    [self.homeManage guessLikeUrlPopView:object];
                    self.isboardShow = YES;
                    [self.homeManage guessLikeUrlPopView:object :^(BOOL result) {
                        self.isboardShow = !result;
                    }];
                }
                
            } else if (type == 2) { // æ ‡é¢˜
                if ([self.homeManage isCompareController]) {
                    [self.homeManage searchCouponView:object];
                    self.isboardShow = YES;
                    [self.homeManage searchCouponView:object :^(BOOL result) {
                        self.isboardShow = !result;
                    }];
                }
                
            } else if (type == 4) {
                if ([self.homeManage isCompareController]) {
                    [self.homeManage guessLikeSimilarityPopView:object];
                    self.isboardShow = YES;
                    [self.homeManage guessLikeSimilarityPopView:object :^(BOOL result) {
                        self.isboardShow = !result;
                    }];
                }
                
            } else if (type == 20) {//转链
                if ([self.homeManage isCompareController]) {
                    [self.homeManage GuessLikeTurnToLinkPopView:object];
                    self.isboardShow = YES;
                    [self.homeManage GuessLikeTurnToLinkPopView:object :^(BOOL result) {
                        self.isboardShow = !result;
                    }];
                }
                
            } else {
                if ([object[@"data"][@"state"] boolValue]) { // æœ‰æ•ˆï¼šç¡®è®¤é¢†å–  "state": true,   // æœ‰æ•ˆï¼šç¡®è®¤é¢†å–
                    [self.homeManage homeMDLingQuView:object];
                    self.isboardShow = YES;
                    [self.homeManage homeMDLingQuView:object :^(BOOL result) {
                        self.isboardShow = !result;
                    }];
                    
                } else {
                    [self.homeManage homeMDWuXiaoView:object];
                    self.isboardShow = YES;
                    [self.homeManage homeMDWuXiaoView:object :^(BOOL result) {
                        self.isboardShow = !result;
                    }];
                }
            }
            
@@ -1328,24 +1356,29 @@
}
- (void)onLaunchIntroductionViewDidHide {
    if ([self isHaveValue:self.arrayPopData]) {
        //用户协议(是否同意过用户协议)
        if (![self popUserInfoProtocol]) {
            return;
        }
        //用户是否是首次下载并安装(卸载后重新安装)2:升级版本后,首次打开
        if ([self isFirstLauchGuidePage]) {
            [self newPersonGuidePageShow];
            return;
        }
        [self homePopFloatImageView];
    } else {
        if (_isNetWorking) {
            [self loadHomePopUpView];
        }
    //if ([self isHaveValue:self.arrayPopData]) {
    //用户协议(是否同意过用户协议)
    //    if (![self popUserInfoProtocol]) {
    //        return;
    //    }
    //用户是否是首次下载并安装(卸载后重新安装)2:升级版本后,首次打开
    //    if ([self isFirstLauchGuidePage]) {
    //        [self newPersonGuidePageShow];
    //        return;
    //    }
    //    [self homePopFloatImageView];
    //} else {
    if (_isNetWorking) {
        [self loadHomePopUpView];
    }
    //}
}
- (void)onSplashAdClosed {
    [self loadHomePopUpView];
    [self checkPasteboardIsHaveContent];
}
- (BOOL)isFirstLauch {
MIduo/½çÃæ/Ê×Ò³/ThirdClassificationCell.m
@@ -442,7 +442,7 @@
            maskLayer.path = maskPath.CGPath;
            self.labelMaxFan.layer.mask = maskLayer;
        };
        if (model.moneyInfo.maxMoney && ![model.moneyInfo.maxMoney isEqualToString:@""] && model.shopType != 40) {
        if (model.moneyInfo.maxMoney && ![model.moneyInfo.maxMoney isEqualToString:@""]) {
            self.imageSanJiao.hidden = NO;
            self.labelMaxFan.hidden = NO;
            
MIduo/½çÃæ/Ê×Ò³/View/GuessLikeUrlPopView.m
@@ -34,6 +34,8 @@
@property (nonatomic, nullable, strong) UILabel *couponLabel;
@property (nonatomic, strong) UIView *quanView;
@property (nonatomic, strong) UILabel *quanLabel;
/// æ‰“折
@property (nonatomic, nullable, strong) UILabel *labelDisCount;
///返利比
@property (nonatomic, nullable, strong) UILabel *labelRebateRatio;
@@ -50,8 +52,7 @@
@implementation GuessLikeUrlPopView
- (instancetype)initWithSearchData:(GoodsDetailBaseModel *)model
{
- (instancetype)initWithSearchData:(GoodsDetailBaseModel *)model {
    self = [super init];
    if (self) {
        self.frame = CGRectMake(0, 0, SCREEN_WIDTH, SCREEN_HEIGHT);
@@ -139,6 +140,7 @@
    [self.backgroundsView addSubview:self.salesLabel];
    self.salesLabel.sd_layout.leftSpaceToView(self.orginLabel, 8).bottomEqualToView(self.priceLabel).heightIs(11).rightSpaceToView(self.backgroundsView, 0);
    [self.salesLabel setMaxNumberOfLinesToShow:1];
    NSString *salesString = nil;
    if (self.model.salesType == 1) {
        salesString = @"月销";
@@ -146,19 +148,28 @@
    } else if (self.model.salesType == 4) {
        salesString = @"总销量";
    }
    self.salesLabel.text = [NSString stringWithFormat:@"%@ %@",salesString, self.model.salesCount];
    if (_model.goodsType != 4) {
        self.salesLabel.text = [NSString stringWithFormat:@"%@ %@",salesString, self.model.salesCount];
    }
    
    NSDictionary *attribtDic = @{NSStrikethroughStyleAttributeName: [NSNumber numberWithInteger:NSUnderlineStyleSingle]};
    NSMutableAttributedString *attribtStr = [[NSMutableAttributedString alloc]initWithString:[NSString stringWithFormat:@"Â¥%@",self.model.zkPrice] attributes:attribtDic];
    self.orginLabel.attributedText = attribtStr;
    
    NSString *totalPriceString = nil;
    if (self.model.hasCoupon) {
        totalPriceString = [NSString stringWithFormat:@"%@", self.model.couponPrice];
    if (_model.goodsType != 4) {
        if (self.model.hasCoupon) {
            totalPriceString = [NSString stringWithFormat:@"%@", self.model.couponPrice];
        } else {
            totalPriceString = [NSString stringWithFormat:@"%@", self.model.zkPrice];
        }
        
    } else {
        totalPriceString = [NSString stringWithFormat:@"%@", self.model.zkPrice];
        totalPriceString = [NSString stringWithFormat:@"%@", self.model.couponPrice];
    }
    self.priceLabel.text = totalPriceString;
    
    // è¿”利
@@ -182,24 +193,25 @@
    
    [self.quanView addSubview:self.couponLabel];
    self.couponLabel.sd_layout.leftSpaceToView(self.quanLabel, 0).rightSpaceToView(self.quanView, 0).topSpaceToView(self.quanView, 0).bottomSpaceToView(self.quanView, 0);
    // æŠ˜æ‰£
    [self.backgroundsView addSubview:self.labelDisCount];
    self.labelDisCount.sd_layout.leftSpaceToView(self.titleImageView, 10).bottomSpaceToView(self.fanLabel, 4).heightIs(0).widthIs(0);
    self.labelDisCount.sd_cornerRadius = @3;
    // è¿”利比
    [self.backgroundsView addSubview:self.labelRebateRatio];
    self.labelRebateRatio.sd_layout.leftSpaceToView(self.quanView, 7).bottomSpaceToView(self.fanLabel, 7).autoWidthRatio(0).heightIs(10);
    [self.labelRebateRatio setSingleLineAutoResizeWithMaxWidth:200];
    
    self.labelRebateRatio.text = @"返利比20.00%";
    self.labelRebateRatio.text = [NSString stringWithFormat:@"%@",_model.moneyInfo.rateInfo];
    
    NSString *fanLiString = nil;
    if (self.model.moneyInfo.moneyType == 1) {
        self.fanLabel.textColor = UIColorFromRGBValue(0xE5005C);
        self.fanLabel.backgroundColor = UIColorFromRGBValue(0xFFE7F1);
        fanLiString = [NSString stringWithFormat:@"返 %@",self.model.moneyInfo.fanliMoney];
    } else {
        self.fanLabel.textColor = UIColorFromRGBValue(0xFF7800);
        self.fanLabel.backgroundColor = UIColorFromRGBValue(0xFFE5C5);
        fanLiString = [NSString stringWithFormat:@"奖 %@",self.model.moneyInfo.fanliMoney];
    }
    self.fanLabel.textColor = UIColorFromRGBValue(0xE5005C);
    self.fanLabel.backgroundColor = UIColorFromRGBValue(0xFFE7F1);
    fanLiString = [NSString stringWithFormat:@"返 %@",self.model.moneyInfo.fanliMoney];
    
    CGFloat fanLabelWidth = [self getWidthWithText:fanLiString height:18 font:self.fanLabel.font.pointSize];
    self.fanLabel.text = fanLiString;
@@ -236,21 +248,35 @@
        self.labelMaxFan.hidden = YES;
    }
    
    if (self.model.hasCoupon) {
        self.quanView.hidden = NO;
        NSString *couponCountStr = [NSString stringWithFormat:@"Â¥ %@",self.model.couponInfo.amount];
        CGFloat labelWidth = [self getWidthWithText:couponCountStr height:self.couponLabel.bounds.size.height font:self.couponLabel.font.pointSize];
        self.couponLabel.text = couponCountStr;
        CGFloat quanHeight = 15;
        self.quanView.sd_resetLayout.leftSpaceToView(self.titleImageView, 10).bottomSpaceToView(self.fanLabel, 4).heightIs(quanHeight).widthIs(labelWidth + quanHeight + 2 + 12);
    if (_model.goodsType != 4) {
        if (self.model.hasCoupon) {
            self.quanView.hidden = NO;
            NSString *couponCountStr = [NSString stringWithFormat:@"Â¥ %@",self.model.couponInfo.amount];
            CGFloat labelWidth = [self getWidthWithText:couponCountStr height:self.couponLabel.bounds.size.height font:self.couponLabel.font.pointSize];
            self.couponLabel.text = couponCountStr;
            CGFloat quanHeight = 15;
            self.quanView.sd_resetLayout.leftSpaceToView(self.titleImageView, 10).bottomSpaceToView(self.fanLabel, 4).heightIs(quanHeight).widthIs(labelWidth + quanHeight + 2 + 12);
        } else {
            self.quanView.hidden = YES;
            totalPriceString = [NSString stringWithFormat:@"%@", self.model.zkPrice];
            self.labelRebateRatio.sd_resetLayout.leftSpaceToView(self.titleImageView, 10).bottomSpaceToView(self.fanLabel, 7).autoWidthRatio(0).heightIs(10);
            [self.labelRebateRatio setSingleLineAutoResizeWithMaxWidth:200];
        }
        
    } else {
        self.quanView.hidden = YES;
        totalPriceString = [NSString stringWithFormat:@"%@", self.model.zkPrice];
        
        self.labelRebateRatio.sd_resetLayout.leftSpaceToView(self.titleImageView, 10).bottomSpaceToView(self.fanLabel, 7).autoWidthRatio(0).heightIs(10);
        CGFloat widthDisCount = [self getWidthWithText:_model.discount height:15 font:10];
        self.labelDisCount.text = _model.discount;
        self.labelDisCount.sd_resetLayout.leftSpaceToView(self.titleImageView, 10).bottomSpaceToView(self.fanLabel, 4).heightIs(15).widthIs(widthDisCount + 10);
        self.labelRebateRatio.sd_resetLayout.leftSpaceToView(self.labelDisCount, 10).bottomSpaceToView(self.fanLabel, 7).autoWidthRatio(0).heightIs(10);
        [self.labelRebateRatio setSingleLineAutoResizeWithMaxWidth:200];
    }
    
    [self.backgroundsView addSubview:self.pushGoLookButton];
    self.pushGoLookButton.sd_layout.leftSpaceToView(self.backgroundsView, 30).topSpaceToView(self.titleImageView, 30).rightSpaceToView(self.backgroundsView, 30).heightIs(40);
@@ -387,15 +413,11 @@
}
- (UILabel *)salesLabel {
    if (!_salesLabel) {
        _salesLabel = [[UILabel alloc] init];
        _salesLabel.textColor = UIColorFromRGBValue(0xAAAAAA);
        _salesLabel.font = [UIFont systemFontOfSize:10];
        _salesLabel.textAlignment = NSTextAlignmentLeft;
        if (SCREEN_WIDTH < 375) {
            _salesLabel.font = [UIFont systemFontOfSize:10 - DYFont];
        }
    }
    return _salesLabel;
}
@@ -411,6 +433,7 @@
    _quanView.layer.cornerRadius = 3;
    return _quanView;
}
- (UILabel *)quanLabel{
    if (_quanLabel) {
        return _quanLabel;
@@ -442,6 +465,18 @@
    return _couponLabel;
}
- (UILabel *)labelDisCount {
    if (!_labelDisCount) {
        _labelDisCount = [[UILabel alloc] init];
        _labelDisCount.font = [UIFont systemFontOfSize:10];
        _labelDisCount.textColor = [UIColor whiteColor];
        _labelDisCount.backgroundColor = XYRMainColor;
        _labelDisCount.textAlignment = NSTextAlignmentCenter;
    }
    return _labelDisCount;
}
- (UILabel *)fanLabel {
    
    if (!_fanLabel) {
Pods/Pods.xcodeproj/xcuserdata/lrj.xcuserdatad/xcschemes/xcschememanagement.plist
@@ -7,137 +7,137 @@
        <key>AFNetworking.xcscheme_^#shared#^_</key>
        <dict>
            <key>orderHint</key>
            <integer>26</integer>
            <integer>16</integer>
        </dict>
        <key>CRBoxInputView.xcscheme_^#shared#^_</key>
        <dict>
            <key>orderHint</key>
            <integer>8</integer>
            <integer>1</integer>
        </dict>
        <key>GPUImage.xcscheme_^#shared#^_</key>
        <dict>
            <key>orderHint</key>
            <integer>11</integer>
            <integer>15</integer>
        </dict>
        <key>IQKeyboardManager.xcscheme_^#shared#^_</key>
        <dict>
            <key>orderHint</key>
            <integer>20</integer>
            <integer>27</integer>
        </dict>
        <key>MBProgressHUD.xcscheme_^#shared#^_</key>
        <dict>
            <key>orderHint</key>
            <integer>25</integer>
            <integer>12</integer>
        </dict>
        <key>MJRefresh.xcscheme_^#shared#^_</key>
        <dict>
            <key>orderHint</key>
            <integer>12</integer>
            <integer>25</integer>
        </dict>
        <key>Masonry.xcscheme_^#shared#^_</key>
        <dict>
            <key>orderHint</key>
            <integer>7</integer>
            <integer>17</integer>
        </dict>
        <key>Pods-MIduo.xcscheme_^#shared#^_</key>
        <dict>
            <key>orderHint</key>
            <integer>22</integer>
            <integer>4</integer>
        </dict>
        <key>ReactiveCocoa.xcscheme_^#shared#^_</key>
        <dict>
            <key>orderHint</key>
            <integer>19</integer>
            <integer>2</integer>
        </dict>
        <key>SAMKeychain.xcscheme_^#shared#^_</key>
        <dict>
            <key>orderHint</key>
            <integer>16</integer>
            <integer>11</integer>
        </dict>
        <key>SDAutoLayout.xcscheme_^#shared#^_</key>
        <dict>
            <key>orderHint</key>
            <integer>13</integer>
            <integer>19</integer>
        </dict>
        <key>SDWebImage.xcscheme_^#shared#^_</key>
        <dict>
            <key>orderHint</key>
            <integer>15</integer>
            <integer>6</integer>
        </dict>
        <key>SVProgressHUD.xcscheme_^#shared#^_</key>
        <dict>
            <key>orderHint</key>
            <integer>5</integer>
            <integer>13</integer>
        </dict>
        <key>TYSnapshotScroll.xcscheme_^#shared#^_</key>
        <dict>
            <key>orderHint</key>
            <integer>24</integer>
            <integer>5</integer>
        </dict>
        <key>TZImagePickerController.xcscheme_^#shared#^_</key>
        <dict>
            <key>orderHint</key>
            <integer>23</integer>
            <integer>9</integer>
        </dict>
        <key>Toast.xcscheme_^#shared#^_</key>
        <dict>
            <key>orderHint</key>
            <integer>21</integer>
            <integer>24</integer>
        </dict>
        <key>UICollectionViewLeftAlignedLayout.xcscheme_^#shared#^_</key>
        <dict>
            <key>orderHint</key>
            <integer>17</integer>
            <integer>3</integer>
        </dict>
        <key>UICountingLabel.xcscheme_^#shared#^_</key>
        <dict>
            <key>orderHint</key>
            <integer>3</integer>
            <integer>23</integer>
        </dict>
        <key>YYCache.xcscheme_^#shared#^_</key>
        <dict>
            <key>orderHint</key>
            <integer>9</integer>
            <integer>8</integer>
        </dict>
        <key>YYImage.xcscheme_^#shared#^_</key>
        <dict>
            <key>orderHint</key>
            <integer>4</integer>
            <integer>26</integer>
        </dict>
        <key>YYModel.xcscheme_^#shared#^_</key>
        <dict>
            <key>orderHint</key>
            <integer>27</integer>
            <integer>10</integer>
        </dict>
        <key>YYText.xcscheme_^#shared#^_</key>
        <dict>
            <key>orderHint</key>
            <integer>10</integer>
            <integer>14</integer>
        </dict>
        <key>YYWebImage.xcscheme_^#shared#^_</key>
        <dict>
            <key>orderHint</key>
            <integer>6</integer>
            <integer>22</integer>
        </dict>
        <key>mob_sharesdk-ShareSDK.xcscheme_^#shared#^_</key>
        <dict>
            <key>orderHint</key>
            <integer>2</integer>
            <integer>18</integer>
        </dict>
        <key>mob_sharesdk-ShareSDK_JS_QQ.xcscheme_^#shared#^_</key>
        <dict>
            <key>orderHint</key>
            <integer>18</integer>
            <integer>7</integer>
        </dict>
        <key>mob_sharesdk-ShareSDK_JS_SinaWeibo.xcscheme_^#shared#^_</key>
        <dict>
            <key>orderHint</key>
            <integer>1</integer>
            <integer>20</integer>
        </dict>
        <key>mob_sharesdk-ShareSDK_JS_WeChat.xcscheme_^#shared#^_</key>
        <dict>
            <key>orderHint</key>
            <integer>14</integer>
            <integer>21</integer>
        </dict>
    </dict>
</dict>