developer
2024-01-18 6cf8a3aa2c3cb5cd4c8edbb996d1ad395e23af49
新版本修改
26个文件已删除
2 文件已重命名
87个文件已修改
30个文件已添加
12935 ■■■■■ 已修改文件
fanliquan.xcodeproj/project.pbxproj 7320 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanliquan.xcodeproj/xcshareddata/xcschemes/fanliquan.xcscheme 77 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanliquan/AppDelegate.h 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanliquan/AppDelegate.m 11 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanliquan/Assets.xcassets/AppIcon.appiconset/Contents.json 72 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanliquan/Assets.xcassets/AppIcon.appiconset/icon-1024.png 补丁 | 查看 | 原始文档 | blame | 历史
fanliquan/Assets.xcassets/AppIcon.appiconset/icon-20@2x.png 补丁 | 查看 | 原始文档 | blame | 历史
fanliquan/Assets.xcassets/AppIcon.appiconset/icon-20@3x.png 补丁 | 查看 | 原始文档 | blame | 历史
fanliquan/Assets.xcassets/AppIcon.appiconset/icon-29.png 补丁 | 查看 | 原始文档 | blame | 历史
fanliquan/Assets.xcassets/AppIcon.appiconset/icon-29@2x.png 补丁 | 查看 | 原始文档 | blame | 历史
fanliquan/Assets.xcassets/AppIcon.appiconset/icon-29@3x.png 补丁 | 查看 | 原始文档 | blame | 历史
fanliquan/Assets.xcassets/AppIcon.appiconset/icon-40@2x.png 补丁 | 查看 | 原始文档 | blame | 历史
fanliquan/Assets.xcassets/AppIcon.appiconset/icon-40@3x.png 补丁 | 查看 | 原始文档 | blame | 历史
fanliquan/Assets.xcassets/AppIcon.appiconset/icon-57.png 补丁 | 查看 | 原始文档 | blame | 历史
fanliquan/Assets.xcassets/AppIcon.appiconset/icon-57@2x.png 补丁 | 查看 | 原始文档 | blame | 历史
fanliquan/Assets.xcassets/AppIcon.appiconset/icon-60@2x.png 补丁 | 查看 | 原始文档 | blame | 历史
fanliquan/Assets.xcassets/AppIcon.appiconset/icon-60@3x.png 补丁 | 查看 | 原始文档 | blame | 历史
fanliquan/Assets.xcassets/AppIcon.appiconset/启动图标 1024.png 补丁 | 查看 | 原始文档 | blame | 历史
fanliquan/Assets.xcassets/Contents.json 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanliquan/Assets.xcassets/ic_share_dy.imageset/Contents.json 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanliquan/Assets.xcassets/ic_share_dy.imageset/ic_share_dy@2x.png 补丁 | 查看 | 原始文档 | blame | 历史
fanliquan/Assets.xcassets/ic_share_dy.imageset/ic_share_dy@3x.png 补丁 | 查看 | 原始文档 | blame | 历史
fanliquan/Assets.xcassets/jump_img_dy.imageset/Contents.json 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanliquan/Assets.xcassets/jump_img_dy.imageset/img@2x.png 补丁 | 查看 | 原始文档 | blame | 历史
fanliquan/Assets.xcassets/jump_img_dy.imageset/img@3x.png 补丁 | 查看 | 原始文档 | blame | 历史
fanliquan/Assets.xcassets/导航/splash_ps.imageset/splash_ps.png 补丁 | 查看 | 原始文档 | blame | 历史
fanliquan/Assets.xcassets/导航/splash_s.imageset/splash_s.png 补丁 | 查看 | 原始文档 | blame | 历史
fanliquan/Assets.xcassets/导航/splash_x.imageset/splash_x.png 补丁 | 查看 | 原始文档 | blame | 历史
fanliquan/Info.plist 59 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanliquan/JDSDK-lite/JDSDK.bundle/safe.jpg 补丁 | 查看 | 原始文档 | blame | 历史
fanliquan/JDSDK-lite/JDSDK.framework/Headers/JDKeplerSDK.h 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanliquan/JDSDK-lite/JDSDK.framework/Headers/KeplerApiManager.h 160 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanliquan/JDSDK-lite/JDSDK.framework/Info.plist 补丁 | 查看 | 原始文档 | blame | 历史
fanliquan/JDSDK-lite/JDSDK.framework/JDSDK 补丁 | 查看 | 原始文档 | blame | 历史
fanliquan/JDSDK-lite/JDSDK.framework/_CodeSignature/CodeDirectory 补丁 | 查看 | 原始文档 | blame | 历史
fanliquan/JDSDK-lite/JDSDK.framework/_CodeSignature/CodeRequirements 补丁 | 查看 | 原始文档 | blame | 历史
fanliquan/JDSDK-lite/JDSDK.framework/_CodeSignature/CodeRequirements-1 补丁 | 查看 | 原始文档 | blame | 历史
fanliquan/JDSDK-lite/JDSDK.framework/_CodeSignature/CodeResources 132 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanliquan/JDSDK-lite/JDSDK.framework/_CodeSignature/CodeSignature 补丁 | 查看 | 原始文档 | blame | 历史
fanliquan/京东SDK_IOS/JDSDK.bundle/OrderDetail@3x.png 补丁 | 查看 | 原始文档 | blame | 历史
fanliquan/京东SDK_IOS/JDSDK.bundle/back_normal@3x.png 补丁 | 查看 | 原始文档 | blame | 历史
fanliquan/京东SDK_IOS/JDSDK.bundle/back_selected@3x.png 补丁 | 查看 | 原始文档 | blame | 历史
fanliquan/京东SDK_IOS/JDSDK.bundle/login@3x.png 补丁 | 查看 | 原始文档 | blame | 历史
fanliquan/京东SDK_IOS/JDSDK.bundle/message@3x.png 补丁 | 查看 | 原始文档 | blame | 历史
fanliquan/京东SDK_IOS/JDSDK.bundle/message_have@3x.png 补丁 | 查看 | 原始文档 | blame | 历史
fanliquan/京东SDK_IOS/JDSDK.bundle/more_normal@3x.png 补丁 | 查看 | 原始文档 | blame | 历史
fanliquan/京东SDK_IOS/JDSDK.bundle/more_selected@3x.png 补丁 | 查看 | 原始文档 | blame | 历史
fanliquan/京东SDK_IOS/JDSDK.bundle/recent@3x.png 补丁 | 查看 | 原始文档 | blame | 历史
fanliquan/京东SDK_IOS/JDSDK.bundle/search@3x.png 补丁 | 查看 | 原始文档 | blame | 历史
fanliquan/京东SDK_IOS/JDSDK.framework/Headers/KeplerApiManager.h 95 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanliquan/京东SDK_IOS/JDSDK.framework/Info.plist 补丁 | 查看 | 原始文档 | blame | 历史
fanliquan/京东SDK_IOS/JDSDK.framework/JDSDK 补丁 | 查看 | 原始文档 | blame | 历史
fanliquan/京东SDK_IOS/JDSDK.framework/Modules/module.modulemap 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanliquan/数据/ALWebView/ShonpingShareViewController.m 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanliquan/数据/Category/UIViewController+ControllerValue.m 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanliquan/数据/Category/UMCustom/UMCustomShop.h 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanliquan/数据/Category/UMCustom/UMCustomShop.m 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanliquan/数据/CommonMethod/CommonMethodManage.m 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanliquan/数据/CommonMethod/HomePopUpJumpAny.m 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanliquan/数据/YTHsharedManger.m 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanliquan/数据/lib/LXAlertView/HomePopUpView.m 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanliquan/数据/lib/LXAlertView/PraiseView.m 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanliquan/数据/lib/ptotoBrowser/HZPhotoBrowser.m 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanliquan/界面/ActivityCommonTemplate/CommonTemplateListController.m 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanliquan/界面/ByCheap/BuyCheapGoodsDetailController.m 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanliquan/界面/EnvelopeCollectionDetails/Cell/EnvelopeCollectionDetailsCell.m 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanliquan/界面/EnvelopeCollectionDetails/EnvelopeCollectionDetailsController.m 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanliquan/界面/GoodsJumpUtil.h 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanliquan/界面/GoodsJumpUtil.m 42 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanliquan/界面/ShareHot/SpreadGoodsDetailController.m 16 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanliquan/界面/动态/发圈/HotltermListController.m 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanliquan/界面/动态/发圈/View/DynamicSingleImageTextView.m 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanliquan/界面/动态/好货推荐/View/GoodsRecommendDownView.m 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanliquan/界面/动态/好货推荐/View/GoodsRecommendShowShareView.m 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanliquan/界面/动态/学院/View/CollegeHeaderView.m 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanliquan/界面/动态/活动/DynamicActivitieListController.m 18 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanliquan/界面/动态/邀请素材/InvoteMaterialListController.m 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanliquan/界面/品牌/Controller/BrandRebateDetailController.m 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanliquan/界面/品牌/Controller/BrandRebateListController.m 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanliquan/界面/品牌/Controller/BrandRebateSelectController.m 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanliquan/界面/商品详情/DY/DYGoodsDetailController.h 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanliquan/界面/商品详情/DY/DYGoodsDetailController.m 2532 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanliquan/界面/商品详情/DY/DYGoodsListController.h 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanliquan/界面/商品详情/DY/DYGoodsListController.m 577 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanliquan/界面/商品详情/DY/DYGoodsListShowController.h 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanliquan/界面/商品详情/DY/DYGoodsListShowController.m 309 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanliquan/界面/商品详情/DY/View/DYTransformView.h 29 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanliquan/界面/商品详情/DY/View/DYTransformView.m 143 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanliquan/界面/商品详情/GoodDeTrViewController.m 70 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanliquan/界面/商品详情/JD/Cell/JDGoodsHeaderTableViewCell.m 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanliquan/界面/商品详情/JD/Cell/JDGoodsInfoCell.m 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanliquan/界面/商品详情/JD/JDGoodsDetailController.m 76 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanliquan/界面/商品详情/JD/JDGoodsListController.m 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanliquan/界面/商品详情/JD/JDGoodsListShowController.m 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanliquan/界面/商品详情/JD/View/JDTransformView.m 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanliquan/界面/商品详情/PDD/PDDGoodsDetailController.m 89 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanliquan/界面/商品详情/PDD/PDDGoodsListController.m 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanliquan/界面/商品详情/PDD/PDDGoodsListShowController.m 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanliquan/界面/商品详情/PDD/View/PDDTransformView.m 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanliquan/界面/商品详情/SJTransitionView.m 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanliquan/界面/商品详情/SN/SNGoodsDetailController.m 77 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanliquan/界面/商品详情/SN/SNGoodsListController.m 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanliquan/界面/商品详情/SN/SNGoodsListShowController.m 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanliquan/界面/商品详情/SN/View/SNTransformView.m 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanliquan/界面/商品详情/WPH/Cell/WPHTransformView.m 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanliquan/界面/商品详情/WPH/WPHGoodsDetailController.m 77 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanliquan/界面/商品详情/WPH/WPHGoodsListController.m 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanliquan/界面/商品详情/WPH/WPHGoodsListShowController.m 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanliquan/界面/我的/Collection/View/CollectionCell.m 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanliquan/界面/我的/FootprintsViewCell.m 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanliquan/界面/我的/MineCell/NewMineView/MineTwoView.m 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanliquan/界面/我的/NewLogin/NewLoginValidationController.m 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanliquan/界面/我的/NewLogin/NewLoginViewController.m 18 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanliquan/界面/我的/NewMineController.m 116 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanliquan/界面/我的/ProductLibrary/cell/SJProLibTableViewCell.m 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanliquan/界面/我的/Setting/View/SettingViewController.m 18 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanliquan/界面/我的/ShareRecord/view/ALShareGoodsCell.m 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanliquan/界面/我的/UserInfo/Cell/UserinfoDidSelectCell.m 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanliquan/界面/我的/UserInfo/userInfoViewController.m 121 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanliquan/界面/搜索/SearchDetailController.m 122 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanliquan/界面/搜索/SearchDetailFilterDYView.h 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanliquan/界面/搜索/SearchDetailFilterDYView.m 92 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanliquan/界面/搜索/SearchDetailMainController.m 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanliquan/界面/搜索/SearchGongGeCollectionCell.m 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanliquan/界面/搜索/SearchMainController.m 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanliquan/界面/消息/MessageMainController.m 66 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanliquan/界面/网页视图/SureWebViewController.m 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanliquan/界面/邀请/MainInviteViewController.m 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanliquan/界面/邀请/商品分享/ActivityViewController/ShareActivityView.m 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanliquan/界面/邀请/商品分享/View/BotTextView.m 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanliquan/界面/邀请/商品分享/View/MultipleShowShareView.m 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanliquan/界面/邀请/商品分享/View/QuickShareView/QuickShareChangeBottomView.m 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanliquan/界面/邀请/商品分享/View/ShowShareView.m 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanliquan/界面/邀请/邀请好友/InvitationFriendsViewController.m 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanliquan/界面/首页/ActivitiesViewController.m 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanliquan/界面/首页/ActivityDetailController.m 5 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanliquan/界面/首页/HomeManage.m 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanliquan/界面/首页/ListViewClasscell.m 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanliquan/界面/首页/ListViewController.m 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanliquan/界面/首页/NEWHomeViewController.m 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanliquan/界面/首页/RecommendController.m 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanliquan/界面/首页/ThirdClassificationCell.m 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanliquan/界面/首页/View/RecommendHeaderView.m 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
推送证书/aps.cer 补丁 | 查看 | 原始文档 | blame | 历史
推送证书/证书.p12 补丁 | 查看 | 原始文档 | blame | 历史
fanliquan.xcodeproj/project.pbxproj
Diff too large
fanliquan.xcodeproj/xcshareddata/xcschemes/fanliquan.xcscheme
New file
@@ -0,0 +1,77 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
   LastUpgradeVersion = "1430"
   version = "1.7">
   <BuildAction
      parallelizeBuildables = "YES"
      buildImplicitDependencies = "YES">
      <BuildActionEntries>
         <BuildActionEntry
            buildForTesting = "YES"
            buildForRunning = "YES"
            buildForProfiling = "YES"
            buildForArchiving = "YES"
            buildForAnalyzing = "YES">
            <BuildableReference
               BuildableIdentifier = "primary"
               BlueprintIdentifier = "0DA0470A2A161FB100DDD4B4"
               BuildableName = "fanliquan.app"
               BlueprintName = "fanliquan"
               ReferencedContainer = "container:fanliquan.xcodeproj">
            </BuildableReference>
         </BuildActionEntry>
      </BuildActionEntries>
   </BuildAction>
   <TestAction
      buildConfiguration = "Debug"
      selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
      selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
      shouldUseLaunchSchemeArgsEnv = "YES"
      shouldAutocreateTestPlan = "YES">
   </TestAction>
   <LaunchAction
      buildConfiguration = "Debug"
      selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
      selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
      launchStyle = "0"
      useCustomWorkingDirectory = "NO"
      ignoresPersistentStateOnLaunch = "NO"
      debugDocumentVersioning = "YES"
      debugServiceExtension = "internal"
      allowLocationSimulation = "YES">
      <BuildableProductRunnable
         runnableDebuggingMode = "0">
         <BuildableReference
            BuildableIdentifier = "primary"
            BlueprintIdentifier = "0DA0470A2A161FB100DDD4B4"
            BuildableName = "fanliquan.app"
            BlueprintName = "fanliquan"
            ReferencedContainer = "container:fanliquan.xcodeproj">
         </BuildableReference>
      </BuildableProductRunnable>
   </LaunchAction>
   <ProfileAction
      buildConfiguration = "Release"
      shouldUseLaunchSchemeArgsEnv = "YES"
      savedToolIdentifier = ""
      useCustomWorkingDirectory = "NO"
      debugDocumentVersioning = "YES">
      <BuildableProductRunnable
         runnableDebuggingMode = "0">
         <BuildableReference
            BuildableIdentifier = "primary"
            BlueprintIdentifier = "0DA0470A2A161FB100DDD4B4"
            BuildableName = "fanliquan.app"
            BlueprintName = "fanliquan"
            ReferencedContainer = "container:fanliquan.xcodeproj">
         </BuildableReference>
      </BuildableProductRunnable>
   </ProfileAction>
   <AnalyzeAction
      buildConfiguration = "Debug">
   </AnalyzeAction>
   <ArchiveAction
      buildConfiguration = "Release"
      revealArchiveInOrganizer = "YES">
   </ArchiveAction>
</Scheme>
fanliquan/AppDelegate.h
@@ -18,6 +18,8 @@
@property (strong, nonatomic) UIWindow *window;
@property (nonatomic) BOOL inited;
@property (nonatomic) BOOL isLaunch;
/*
fanliquan/AppDelegate.m
@@ -74,6 +74,9 @@
    self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
    self.window.backgroundColor = [UIColor whiteColor];
    self.window.rootViewController= [[UIViewController alloc] init];
    if (@available(iOS 13.0, *)) {
        self.window.overrideUserInterfaceStyle = UIUserInterfaceStyleLight;
    }
    
    CGFloat screenH = [[UIScreen mainScreen] bounds].size.height;
    UIImageView *imageview = [[UIImageView alloc] initWithFrame:CGRectMake(0,  0, KScreenW, screenH)];
@@ -118,8 +121,10 @@
}
- (void)initData{
    if(self.inited){
        return;
    }
    self.inited = YES;
    [self fetchAppUpdateData];
    // æ•°æ®è½¬æ¢
    [ALUserInfoServiceManger dataChange];
@@ -1004,7 +1009,7 @@
{
    dispatch_async(dispatch_get_main_queue(), ^{
        // ç™¾å·å¹³å°åŸºç¡€SDK初始化,加载并初始化各个业务能力插件
        [[AlibcTradeSDK sharedInstance] setIsvAppName:@"板栗快省"];
        [[AlibcTradeSDK sharedInstance] setIsvAppName:@"返利券"];
        [[AlibcTradeSDK sharedInstance] asyncInitWithSuccess:^{
            ALLog(@"百川平台基础SDK初始化成功");
        } failure:^(NSError *error) {
fanliquan/Assets.xcassets/AppIcon.appiconset/Contents.json
old mode 100755 new mode 100644
@@ -1,75 +1,9 @@
{
  "images" : [
    {
      "filename" : "icon-20@2x.png",
      "idiom" : "iphone",
      "scale" : "2x",
      "size" : "20x20"
    },
    {
      "filename" : "icon-20@3x.png",
      "idiom" : "iphone",
      "scale" : "3x",
      "size" : "20x20"
    },
    {
      "filename" : "icon-29.png",
      "idiom" : "iphone",
      "scale" : "1x",
      "size" : "29x29"
    },
    {
      "filename" : "icon-29@2x.png",
      "idiom" : "iphone",
      "scale" : "2x",
      "size" : "29x29"
    },
    {
      "filename" : "icon-29@3x.png",
      "idiom" : "iphone",
      "scale" : "3x",
      "size" : "29x29"
    },
    {
      "filename" : "icon-40@2x.png",
      "idiom" : "iphone",
      "scale" : "2x",
      "size" : "40x40"
    },
    {
      "filename" : "icon-40@3x.png",
      "idiom" : "iphone",
      "scale" : "3x",
      "size" : "40x40"
    },
    {
      "filename" : "icon-57.png",
      "idiom" : "iphone",
      "scale" : "1x",
      "size" : "57x57"
    },
    {
      "filename" : "icon-57@2x.png",
      "idiom" : "iphone",
      "scale" : "2x",
      "size" : "57x57"
    },
    {
      "filename" : "icon-60@2x.png",
      "idiom" : "iphone",
      "scale" : "2x",
      "size" : "60x60"
    },
    {
      "filename" : "icon-60@3x.png",
      "idiom" : "iphone",
      "scale" : "3x",
      "size" : "60x60"
    },
    {
      "filename" : "icon-1024.png",
      "idiom" : "ios-marketing",
      "scale" : "1x",
      "filename" : "启动图标 1024.png",
      "idiom" : "universal",
      "platform" : "ios",
      "size" : "1024x1024"
    }
  ],
fanliquan/Assets.xcassets/AppIcon.appiconset/icon-1024.png
Binary files differ
fanliquan/Assets.xcassets/AppIcon.appiconset/icon-20@2x.png
Binary files differ
fanliquan/Assets.xcassets/AppIcon.appiconset/icon-20@3x.png
Binary files differ
fanliquan/Assets.xcassets/AppIcon.appiconset/icon-29.png
Binary files differ
fanliquan/Assets.xcassets/AppIcon.appiconset/icon-29@2x.png
Binary files differ
fanliquan/Assets.xcassets/AppIcon.appiconset/icon-29@3x.png
Binary files differ
fanliquan/Assets.xcassets/AppIcon.appiconset/icon-40@2x.png
Binary files differ
fanliquan/Assets.xcassets/AppIcon.appiconset/icon-40@3x.png
Binary files differ
fanliquan/Assets.xcassets/AppIcon.appiconset/icon-57.png
Binary files differ
fanliquan/Assets.xcassets/AppIcon.appiconset/icon-57@2x.png
Binary files differ
fanliquan/Assets.xcassets/AppIcon.appiconset/icon-60@2x.png
Binary files differ
fanliquan/Assets.xcassets/AppIcon.appiconset/icon-60@3x.png
Binary files differ
fanliquan/Assets.xcassets/AppIcon.appiconset/Æô¶¯Í¼±ê 1024.png
fanliquan/Assets.xcassets/Contents.json
@@ -1,6 +1,6 @@
{
  "info" : {
    "version" : 1,
    "author" : "xcode"
    "author" : "xcode",
    "version" : 1
  }
}
}
fanliquan/Assets.xcassets/ic_share_dy.imageset/Contents.json
New file
@@ -0,0 +1,22 @@
{
  "images" : [
    {
      "idiom" : "universal",
      "scale" : "1x"
    },
    {
      "idiom" : "universal",
      "filename" : "ic_share_dy@2x.png",
      "scale" : "2x"
    },
    {
      "idiom" : "universal",
      "filename" : "ic_share_dy@3x.png",
      "scale" : "3x"
    }
  ],
  "info" : {
    "version" : 1,
    "author" : "xcode"
  }
}
fanliquan/Assets.xcassets/ic_share_dy.imageset/ic_share_dy@2x.png
fanliquan/Assets.xcassets/ic_share_dy.imageset/ic_share_dy@3x.png
fanliquan/Assets.xcassets/jump_img_dy.imageset/Contents.json
New file
@@ -0,0 +1,22 @@
{
  "images" : [
    {
      "idiom" : "universal",
      "scale" : "1x"
    },
    {
      "idiom" : "universal",
      "filename" : "img@2x.png",
      "scale" : "2x"
    },
    {
      "idiom" : "universal",
      "filename" : "img@3x.png",
      "scale" : "3x"
    }
  ],
  "info" : {
    "version" : 1,
    "author" : "xcode"
  }
}
fanliquan/Assets.xcassets/jump_img_dy.imageset/img@2x.png
fanliquan/Assets.xcassets/jump_img_dy.imageset/img@3x.png
fanliquan/Assets.xcassets/µ¼º½/splash_ps.imageset/splash_ps.png

fanliquan/Assets.xcassets/µ¼º½/splash_s.imageset/splash_s.png

fanliquan/Assets.xcassets/µ¼º½/splash_x.imageset/splash_x.png

fanliquan/Info.plist
@@ -90,25 +90,50 @@
                <string>sdkback388f5133d13a5ea290aa5c44f3ebcc00</string>
            </array>
        </dict>
        <dict/>
        <dict>
            <key>CFBundleTypeRole</key>
            <string>Editor</string>
            <key>CFBundleURLName</key>
            <string></string>
            <key>CFBundleURLSchemes</key>
            <array/>
        </dict>
        <dict>
            <key>CFBundleTypeRole</key>
            <string>Editor</string>
            <key>CFBundleURLName</key>
            <string></string>
            <key>CFBundleURLSchemes</key>
            <array/>
        </dict>
        <dict>
            <key>CFBundleTypeRole</key>
            <string>Editor</string>
            <key>CFBundleURLName</key>
            <string></string>
            <key>CFBundleURLSchemes</key>
            <array/>
        </dict>
        <dict>
            <key>CFBundleTypeRole</key>
            <string>Editor</string>
            <key>CFBundleURLSchemes</key>
            <array/>
        </dict>
    </array>
    <key>LSApplicationQueriesSchemes</key>
    <array>
        <string>tbopen</string>
        <string>taobao</string>
        <string>timapiV1</string>
        <string>taobaolite</string>
        <string>pinduoduo</string>
        <string>vipshop</string>
        <string>jdlogin</string>
        <string>openapp.jdmobile</string>
        <string>openapp.jdpingou</string>
        <string>openjdlite</string>
        <string>wtlogintimV1</string>
        <string>timopensdkdataline</string>
        <string>timgamebindinggroup</string>
        <string>timopensdkapiV4</string>
        <string>timopensdkgrouptribeshare</string>
        <string>wtlogintim</string>
        <string>timOpensdkSSoLogin</string>
        <string>timapiwallet</string>
        <string>timgamebindinggroup</string>
        <string>timwpa</string>
        <string>timopensdkfriend</string>
        <string>timapi</string>
        <string>tim</string>
        <string>tmall</string>
        <string>mttbrowser</string>
@@ -138,6 +163,7 @@
        <string>mqqapi</string>
        <string>weibosdk2.5</string>
        <string>weibosdk</string>
        <string>timapiV1</string>
        <string>sinaweibosso</string>
        <string>sinaweibo</string>
        <string>sinaweibohd</string>
@@ -147,14 +173,7 @@
        <string>safepay</string>
        <string>alipay</string>
        <string>alipayauth</string>
        <string>openapp.jdmobile</string>
        <string>jdlogin</string>
        <string>pinduoduo</string>
        <string>baidumap</string>
        <string>iosamap</string>
        <string>qqmap</string>
        <string>suning</string>
        <string>vipshop</string>
    </array>
    <key>MOBAppKey</key>
    <string>253d407154420</string>
@@ -179,8 +198,6 @@
    <array>
        <string>remote-notification</string>
    </array>
    <key>UIStatusBarStyle</key>
    <string>UIStatusBarStyleDefault</string>
    <key>UIStatusBarTintParameters</key>
    <dict>
        <key>UINavigationBar</key>
fanliquan/JDSDK-lite/JDSDK.bundle/safe.jpg
old mode 100755 new mode 100644
fanliquan/JDSDK-lite/JDSDK.framework/Headers/JDKeplerSDK.h
old mode 100755 new mode 100644
File was renamed from fanliquan/¾©¶«SDK_IOS/JDSDK.framework/Headers/JDKeplerSDK.h
@@ -7,6 +7,7 @@
//
#import <UIKit/UIKit.h>
#import<JDSDK/KeplerApiManager.h>
//! Project version number for JDKeplerSDK.
FOUNDATION_EXPORT double JDKeplerSDKVersionNumber;
@@ -14,7 +15,6 @@
//! Project version string for JDKeplerSDK.
FOUNDATION_EXPORT const unsigned char JDKeplerSDKVersionString[];
// In this header, you should import all the public headers of your framework using statements like #import <JDKeplerSDK/PublicHeader.h>
#import<JDSDK/KeplerApiManager.h>
/* Release */
/* 3.5.0-20230407 */
fanliquan/JDSDK-lite/JDSDK.framework/Headers/KeplerApiManager.h
New file
@@ -0,0 +1,160 @@
//
//  KeplerApiManager.h
//  KeplerApp
//  æä¾›Kepler服务
//  Created by JD.K on 16/6/20.
//  Copyright Â© 2016å¹´ JD.K. All rights reserved.
#import <Foundation/Foundation.h>
#import <UIKit/UIKit.h>
NS_ASSUME_NONNULL_BEGIN
/** åˆå§‹åŒ–成功回调 */
typedef void (^initSuccessCallback)();
/** åˆå§‹åŒ–失败回调 */
typedef void (^initFailedCallback)(NSError * _Nonnull error);
/**
 æ‰“开成功回调
 */
typedef void(^OpenSuccessBlock)();
/**
 * å“åº”失败的错误回调,返回一个错误的链接或信息
 */
typedef void(^OpenFailedBlock)(NSInteger code, NSString * _Nonnull url);
typedef enum {
    KeplerErrorCodeUnInstalled = 422, //未安装京东app
    KeplerErrorCodeWhited, //本地url不在白名单中
    KeplerErrorCodeResponsed, //网络返回数据错误或code不为0
    KeplerErrorCodeNoSid, //sid为空
    KeplerErrorCodeInValidApp, //应用不合法
    KeplerErrorCodeUnInstalledJXAPP, //未安装京喜app
    KeplerErrorCodeNoNeedOpenJXFailed, //无法打开京喜商品,返回h5链接
    KeplerErrorCodeOpenJDFaild, //呼起京东失败
    KeplerErrorCodeOpenJXFaild, //呼起京喜失败
    KeplerErrorCodeUnInstalledJXLiteAPP, //未安装京喜特价app
    KeplerErrorCodeNoNeedOpenJXLiteFailed, //无法打开京喜特价商品,返回h5链接
    KeplerErrorCodeOpenJXLiteFaild, //呼起京喜特价失败
} KeplerErrorCode;
typedef enum {
    KeplerJXErrorCodeSucceed = 0,           //正常呼起
    KeplerJXErrorCodeReturnUrl = 1,         //兜底url
    KeplerJXErrorCodeNoSkuUrl = 2,          //非sku链接
    KeplerJXErrorCodeAnalysisFailed = 3,    //逆解析失败
    KeplerJXErrorCodeNoParameter = -1,      //参数为空
    KeplerJXErrorCodeUnusual = -99,         //异常
} KeplerJXErrorCode;
FOUNDATION_EXTERN const NSString *kJDKeplerReturnUrl_appName;
FOUNDATION_EXTERN const NSString *kJDKeplerReturnUrl_appSchema;
FOUNDATION_EXTERN const NSString *kJDKeplerReturnUrl_appBundle;
@interface KeplerApiManager : NSObject
/**
 åˆ†ä½£çš„ AppKey2
 */
@property (nonatomic, copy) NSString *secondAppKey;
//*********************************     é€šè¿‡äº¬ä¸œAPP打开链接相关参数      ************************************
/**
 å½“isOpenByH5为 NO æ—¶ï¼Œå‡†å¤‡è·³è½¬åˆ°JD APP时会调用这些代码。可以把开启 Loading动画的代码放到这里
 ä¸ºé¿å…é€ æˆæ··ä¹±ï¼Œåœ¨å…³é—­Kepler界面时,会置为nil。因此需要在每次打开Kepler之前单独设置。
 */
@property (nonatomic, copy) void(^startOpenJDAppBlock)();
/**
 å½“isOpenByH5为 NO æ—¶ï¼Œè·³è½¬JD APP准备工作完成时会调用这些代码,success为YES表示成功,可以打开JD APP,为NO时表示打开失败。
 ä¸ºé¿å…é€ æˆæ··ä¹±ï¼Œåœ¨å…³é—­Kepler界面时,会置为nil。因此需要在每次打开Kepler之前单独设置。
 update: success为NO且错误码等于-1005时,安全id为空
 */
@property (nonatomic, copy) void(^finishOpenJDAppBlock)(BOOL success,NSError *error);
/**
 *  äº¬ä¸œè¾¾äººå†…容ID å…³é—­kepler界面时会清除 å¦‚果需要此值 å†æ¬¡æ‰“开需要再次设置
 **/
@property (nonatomic, copy) NSString *actId;
/**
 *  äº¬ä¸œè¾¾äºº å†…容渠道扩展字段 å…³é—­kepler界面时会清除 å¦‚果需要此值 å†æ¬¡æ‰“开需要再次设置
 **/
@property (nonatomic, copy) NSString *ext;
/**
 * æ˜¯å¦èµ°æœåŠ¡ç«¯çš„æ¸ é“ï¼Œé»˜è®¤èµ°æœ¬åœ°æ¸ é“
 */
@property (nonatomic, assign) BOOL isServerChannel;
/**
 æ‰“开京东超时时间设置 å…³é—­ Kepler ç•Œé¢æ—¶ä¸ä¼šé‡ç½® é»˜è®¤ä¸º60
 */
@property (nonatomic, assign) NSTimeInterval openJDTimeout;
//*******************************************************************************************************
/**
 *  KeplerApiManager å•例
 *
 *  @return KeplerApiManager å•例
 */
+ (KeplerApiManager *)sharedKPService;
/**
 *  æ³¨å†ŒKepler æœåŠ¡
 *
 *  @param appKey      æ³¨å†Œçš„appKey
 *  @param appSecret   æ³¨å†Œçš„secretKey
 */
- (void)asyncInitSdk:(NSString *)appKey
           secretKey:(NSString *)appSecret
      sucessCallback:(initSuccessCallback)sucessCallback
      failedCallback:(initFailedCallback)failedCallback;
/**
 è·³è½¬äº¬ä¸œapp
 @param url è°ƒç”¨æ–¹ä¼ å…¥çš„URL参数
 @param userInfo è°ƒç”¨sdk时传入的kepler自定义参数
 @param failedCallback code è¡¨ç¤ºé”™è¯¯ç¼–码, url å¼•起调用失败的url
 */
- (void)openKeplerPageWithURL:(NSString *)url
                     userInfo:(NSDictionary *)userInfo
              successCallback:(OpenSuccessBlock _Nullable)success
               failedCallback:(OpenFailedBlock _Nonnull)failure;
/**
 æ ¹æ®url跳转京喜App,根据接口返回结果兼容京东App商品跳转
 @param url  å•†å“é“¾æŽ¥
 @param userInfo è‡ªå®šä¹‰å‚æ•°
 @param successBlock å‘¼èµ·App成功的回调
 @param failureBlock å‘¼èµ·å¤±è´¥å›žè°ƒã€‚打开原生App失败会以code+url方式返回,可用webview打开url
 @discussion è¿”回键信息通过userInfo参数传入,需通过外部变量kJDKeplerReturnUrl_appName,kJDKeplerReturnUrl_appSchema,kJDKeplerReturnUrl_appBundle设置key值,对应value分别为接入应用的应用名,schema,Bundle Identifier。
 */
- (void)openJXPageWithUrl:(NSString *)url
                 userInfo:(NSDictionary *)userInfo
                  success:(OpenSuccessBlock)successBlock
                  failure:(OpenFailedBlock)failureBlock;
/**
 æ ¹æ®url跳转京喜特价App,根据接口返回结果兼容京东App商品跳转
 @param url  å•†å“é“¾æŽ¥
 @param userInfo è‡ªå®šä¹‰å‚æ•°
 @param successBlock å‘¼èµ·App成功的回调
 @param failureBlock å‘¼èµ·å¤±è´¥å›žè°ƒã€‚打开原生App失败会以code+url方式返回,可用webview打开url
 @discussion è¿”回键信息通过userInfo参数传入,需通过外部变量kJDKeplerReturnUrl_appName,kJDKeplerReturnUrl_appSchema,kJDKeplerReturnUrl_appBundle设置key值,对应value分别为接入应用的应用名,schema,Bundle Identifier。
 */
- (void)openJXLitePageWithUrl:(NSString *)url
                     userInfo:(NSDictionary *)userInfo
                      success:(OpenSuccessBlock)successBlock
                      failure:(OpenFailedBlock)failureBlock;
@end
NS_ASSUME_NONNULL_END
fanliquan/JDSDK-lite/JDSDK.framework/Info.plist
Binary files differ
fanliquan/JDSDK-lite/JDSDK.framework/JDSDK
Binary files differ
fanliquan/JDSDK-lite/JDSDK.framework/_CodeSignature/CodeDirectory
Binary files differ
fanliquan/JDSDK-lite/JDSDK.framework/_CodeSignature/CodeRequirements
Binary files differ
fanliquan/JDSDK-lite/JDSDK.framework/_CodeSignature/CodeRequirements-1
Binary files differ
fanliquan/JDSDK-lite/JDSDK.framework/_CodeSignature/CodeResources
New file
@@ -0,0 +1,132 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>files</key>
    <dict>
        <key>Headers/JDKeplerSDK.h</key>
        <data>
        tK+/oXRJbwZMpTBOGmDSMJ1dzWA=
        </data>
        <key>Headers/KeplerApiManager.h</key>
        <data>
        6z7CV3j5tHMF4DW59Rz84+lfDEQ=
        </data>
        <key>Info.plist</key>
        <data>
        tKQUSZtZDkhvZzhLdVSHaZvFmJ0=
        </data>
    </dict>
    <key>files2</key>
    <dict>
        <key>Headers/JDKeplerSDK.h</key>
        <dict>
            <key>hash</key>
            <data>
            tK+/oXRJbwZMpTBOGmDSMJ1dzWA=
            </data>
            <key>hash2</key>
            <data>
            n74u1y1KFbi4kGDPTaesXnRlcXSNhvdCVs7og8rUXqw=
            </data>
        </dict>
        <key>Headers/KeplerApiManager.h</key>
        <dict>
            <key>hash</key>
            <data>
            6z7CV3j5tHMF4DW59Rz84+lfDEQ=
            </data>
            <key>hash2</key>
            <data>
            wWn1fdIaLo3x6Czo33o4eLQ9ve7TO8viWvLddDsCYfU=
            </data>
        </dict>
    </dict>
    <key>rules</key>
    <dict>
        <key>^.*</key>
        <true/>
        <key>^.*\.lproj/</key>
        <dict>
            <key>optional</key>
            <true/>
            <key>weight</key>
            <real>1000</real>
        </dict>
        <key>^.*\.lproj/locversion.plist$</key>
        <dict>
            <key>omit</key>
            <true/>
            <key>weight</key>
            <real>1100</real>
        </dict>
        <key>^Base\.lproj/</key>
        <dict>
            <key>weight</key>
            <real>1010</real>
        </dict>
        <key>^version.plist$</key>
        <true/>
    </dict>
    <key>rules2</key>
    <dict>
        <key>.*\.dSYM($|/)</key>
        <dict>
            <key>weight</key>
            <real>11</real>
        </dict>
        <key>^(.*/)?\.DS_Store$</key>
        <dict>
            <key>omit</key>
            <true/>
            <key>weight</key>
            <real>2000</real>
        </dict>
        <key>^.*</key>
        <true/>
        <key>^.*\.lproj/</key>
        <dict>
            <key>optional</key>
            <true/>
            <key>weight</key>
            <real>1000</real>
        </dict>
        <key>^.*\.lproj/locversion.plist$</key>
        <dict>
            <key>omit</key>
            <true/>
            <key>weight</key>
            <real>1100</real>
        </dict>
        <key>^Base\.lproj/</key>
        <dict>
            <key>weight</key>
            <real>1010</real>
        </dict>
        <key>^Info\.plist$</key>
        <dict>
            <key>omit</key>
            <true/>
            <key>weight</key>
            <real>20</real>
        </dict>
        <key>^PkgInfo$</key>
        <dict>
            <key>omit</key>
            <true/>
            <key>weight</key>
            <real>20</real>
        </dict>
        <key>^embedded\.provisionprofile$</key>
        <dict>
            <key>weight</key>
            <real>20</real>
        </dict>
        <key>^version\.plist$</key>
        <dict>
            <key>weight</key>
            <real>20</real>
        </dict>
    </dict>
</dict>
</plist>
fanliquan/JDSDK-lite/JDSDK.framework/_CodeSignature/CodeSignature
Binary files differ
fanliquan/¾©¶«SDK_IOS/JDSDK.bundle/OrderDetail@3x.png
Binary files differ
fanliquan/¾©¶«SDK_IOS/JDSDK.bundle/back_normal@3x.png
Binary files differ
fanliquan/¾©¶«SDK_IOS/JDSDK.bundle/back_selected@3x.png
Binary files differ
fanliquan/¾©¶«SDK_IOS/JDSDK.bundle/login@3x.png
Binary files differ
fanliquan/¾©¶«SDK_IOS/JDSDK.bundle/message@3x.png
Binary files differ
fanliquan/¾©¶«SDK_IOS/JDSDK.bundle/message_have@3x.png
Binary files differ
fanliquan/¾©¶«SDK_IOS/JDSDK.bundle/more_normal@3x.png
Binary files differ
fanliquan/¾©¶«SDK_IOS/JDSDK.bundle/more_selected@3x.png
Binary files differ
fanliquan/¾©¶«SDK_IOS/JDSDK.bundle/recent@3x.png
Binary files differ
fanliquan/¾©¶«SDK_IOS/JDSDK.bundle/search@3x.png
Binary files differ
fanliquan/¾©¶«SDK_IOS/JDSDK.framework/Headers/KeplerApiManager.h
File was deleted
fanliquan/¾©¶«SDK_IOS/JDSDK.framework/Info.plist
Binary files differ
fanliquan/¾©¶«SDK_IOS/JDSDK.framework/JDSDK
Binary files differ
fanliquan/¾©¶«SDK_IOS/JDSDK.framework/Modules/module.modulemap
File was deleted
fanliquan/Êý¾Ý/ALWebView/ShonpingShareViewController.m
@@ -807,7 +807,7 @@
    @weakify(self)
    dispatch_async(dispatch_get_main_queue(), ^{
        @strongify(self)
        [JRToast showWithText:@"请先登录板栗快省账号" bottomOffset:kToolBarH duration:1.2f];
        [JRToast showWithText:@"请先登录返利券账号" bottomOffset:kToolBarH duration:1.2f];
        NewLoginViewController *loginVc = [[NewLoginViewController alloc] init];
        loginVc.delegate = self;
        loginVc.rootVc = self;
fanliquan/Êý¾Ý/Category/UIViewController+ControllerValue.m
@@ -10,6 +10,7 @@
#import <objc/runtime.h>
#import <JDSDK/JDKeplerSDK.h>
#import <JDSDK/KeplerApiManager.h>
@implementation UIViewController (ControllerValue)
@@ -109,15 +110,20 @@
        return;
    }
    [YTHsharedManger startManger].isEnterForeground = YES;
    @weakify(self)
    [[KeplerApiManager sharedKPService] openKeplerPageWithURL:jumpLink?:@"" userInfo:nil failedCallback:^(NSInteger code, NSString *url) {
        // code 200 æ·»åŠ æˆåŠŸ 422 æœ¬åœ°ä¸å­˜åœ¨äº¬ä¸œapp 423 æœ¬åœ°url不在白名单 424 æœ¬åœ°open协议失败
        @strongify(self)
        if (code != 200) {
            ShonpingShareViewController *shonpingShareVc = [[ShonpingShareViewController alloc] init];
            shonpingShareVc.urlString = url;
            [self.navigationController pushViewController:shonpingShareVc animated:YES];
        }
    [[KeplerApiManager sharedKPService] openKeplerPageWithURL:jumpLink userInfo:nil successCallback:^{
        NSLog(@"京东跳转成功");
    } failedCallback:^(NSInteger code, NSString * _Nonnull url) {
            @strongify(self)
                   if (code != 200) {
                       NSLog(@"京东跳转结果:%d  url:%@",code,url);
                       ShonpingShareViewController *shonpingShareVc = [[ShonpingShareViewController alloc] init];
                       shonpingShareVc.urlString = jumpLink;
                       [self.navigationController pushViewController:shonpingShareVc animated:YES];
                   }
    }];
}
fanliquan/Êý¾Ý/Category/UMCustom/UMCustomShop.h
@@ -26,6 +26,12 @@
+ (void)umDetailPDDEnter:(NSString *)from;
/**
 * è¿›å…¥æŠ–音详情
 */
+ (void)umDetailDYEnter:(NSString *)from;
/**
 * å³ä¸Šè§’按钮点击
 */
+ (void)umDetail_right;
fanliquan/Êý¾Ý/Category/UMCustom/UMCustomShop.m
@@ -31,6 +31,13 @@
    [MobClick event:@"goods_detail_pdd" attributes:@{@"from":from}];
}
+ (void)umDetailDYEnter:(NSString *)from {//进入PDD详情
    if (!from) {
        from = @"";
    }
    [MobClick event:@"goods_detail_dy" attributes:@{@"from":from}];
}
+ (void)umDetail_right{//右上角按钮点击
    [MobClick event:@"goods_detail_more"];
fanliquan/Êý¾Ý/CommonMethod/CommonMethodManage.m
@@ -33,6 +33,8 @@
        
    } else if (goodsType == 5) {
        [self pushAnyInterfaceController:@"SNGoodsDetailController" parms:@{@"id":goodsId, @"from":from?:@"", @"goodsType":[NSString stringWithFormat:@"%ld",(long)goodsType]}];
    }else if (goodsType == 7) {
        [self pushAnyInterfaceController:@"DYGoodsDetailController" parms:@{@"id":goodsId, @"from":from?:@"", @"goodsType":[NSString stringWithFormat:@"%ld",(long)goodsType]}];
    }
}
fanliquan/Êý¾Ý/CommonMethod/HomePopUpJumpAny.m
@@ -44,13 +44,16 @@
- (void)jumpJingDong:(NSString *)jumpLink {
    [YTHsharedManger startManger].isEnterForeground = YES;
    @weakify(self)
    [[KeplerApiManager sharedKPService] openKeplerPageWithURL:jumpLink userInfo:nil failedCallback:^(NSInteger code, NSString *url) {
        // code 200 æ·»åŠ æˆåŠŸ 422 æœ¬åœ°ä¸å­˜åœ¨äº¬ä¸œapp 423 æœ¬åœ°url不在白名单 424 æœ¬åœ°open协议失败
    [[KeplerApiManager sharedKPService] openKeplerPageWithURL:jumpLink userInfo:nil successCallback:^{
        NSLog(@"京东跳转成功");
    } failedCallback:^(NSInteger code, NSString * _Nonnull url) {
        @strongify(self)
        if (code != 200) {
            NSLog(@"京东跳转结果:%@  url:%@",code,url);
            ShonpingShareViewController *shonpingShareVc = [[ShonpingShareViewController alloc] init];
            shonpingShareVc.urlString = url;
            shonpingShareVc.urlString = jumpLink;
            [[self fetchCurrentVc].navigationController pushViewController:shonpingShareVc animated:YES];
        }
    }];
fanliquan/Êý¾Ý/YTHsharedManger.m
@@ -71,7 +71,7 @@
    ALBBSDK *aLBBSDKloginService = [ALBBSDK sharedInstance];
    
    [aLBBSDKloginService auth:ViewController successCallback:^{
        if([ALUserInfoServiceManger fetchUID]) { // å½“前已经获取到板栗快省的Uid了,只有绑定账号一种可能
        if([ALUserInfoServiceManger fetchUID]) { // å½“前已经获取到返利券的Uid了,只有绑定账号一种可能
            ALBBUser *myMessage = [[ALBBCompatibleSession sharedInstance] getUser];
            [YTHsharedManger startManger].tbPicString = myMessage.avatarUrl;
            if ([YTHsharedManger startManger].isminebound) {
fanliquan/Êý¾Ý/lib/LXAlertView/HomePopUpView.m
@@ -82,7 +82,7 @@
}
- (void)onLoginVcName:(NSString *)vcName {
    [JRToast showWithText:@"请先登录板栗快省账号" bottomOffset:kToolBarH + 15 duration:1.2f];
    [JRToast showWithText:@"请先登录返利券账号" bottomOffset:kToolBarH + 15 duration:1.2f];
    // ç™»å½•界面
    NewLoginViewController *loginVc = [[NewLoginViewController alloc] init];
    loginVc.rootVc = [self.commonMethodManage fetchCurrentVc];
fanliquan/Êý¾Ý/lib/LXAlertView/PraiseView.m
@@ -134,7 +134,7 @@
    if (!_contentLabel) {
        _contentLabel=[[UILabel alloc] init];
        _contentLabel.textColor=[UIColor blackColor];
        _contentLabel.text=@"提现流程中\n支付宝会收取0.5%手续费\n该费用已由板栗快省代付\n给个面子好评一下呗!";
        _contentLabel.text=@"提现流程中\n支付宝会收取0.5%手续费\n该费用已由返利券代付\n给个面子好评一下呗!";
        _contentLabel.textAlignment=NSTextAlignmentCenter;
        _contentLabel.numberOfLines=0;
        _contentLabel.font=[UIFont italicSystemFontOfSize:16];
fanliquan/Êý¾Ý/lib/ptotoBrowser/HZPhotoBrowser.m
@@ -287,7 +287,7 @@
{
    if (error) {
        //        [self showTip:HZPhotoBrowserSaveImageFailText];
        ALToastCenter(@"无法保存\n请在iPhone的\"设置-隐私-照片\"选项中,允许板栗快省访问你的照片。");
        ALToastCenter(@"无法保存\n请在iPhone的\"设置-隐私-照片\"选项中,允许返利券访问你的照片。");
    } else {
        
        ALToastCenter(HZPhotoBrowserSaveImageSuccessText);
fanliquan/½çÃæ/ActivityCommonTemplate/CommonTemplateListController.m
@@ -261,7 +261,7 @@
}
- (void)onLoginVcName:(NSString *)vcName {
    [JRToast showWithText:@"请先登录板栗快省账号" bottomOffset:kToolBarH + 15 duration:1.2f];
    [JRToast showWithText:@"请先登录返利券账号" bottomOffset:kToolBarH + 15 duration:1.2f];
    // ç™»å½•界面
    NewLoginViewController *loginVc = [[NewLoginViewController alloc] init];
    loginVc.delegate = self;
fanliquan/½çÃæ/ByCheap/BuyCheapGoodsDetailController.m
@@ -460,7 +460,7 @@
    
    if (![ALUserInfoServiceManger fetchUID]) {
        
        [JRToast showWithText:@"请先登录板栗快省账号" bottomOffset:kToolBarH + 15 duration:1.2f];
        [JRToast showWithText:@"请先登录返利券账号" bottomOffset:kToolBarH + 15 duration:1.2f];
        
        NewLoginViewController *loginVc = [[NewLoginViewController alloc] init];
        loginVc.rootVc = self;
@@ -899,7 +899,7 @@
    }
    
    if (![ALUserInfoServiceManger fetchUID]) {
        [JRToast showWithText:@"请先登录板栗快省账号" bottomOffset:kToolBarH + 15 duration:1.2f];
        [JRToast showWithText:@"请先登录返利券账号" bottomOffset:kToolBarH + 15 duration:1.2f];
        
        NewLoginViewController *loginVc = [[NewLoginViewController alloc] init];
        loginVc.hidesBottomBarWhenPushed = YES;
@@ -932,7 +932,7 @@
    }
    
    if (![ALUserInfoServiceManger fetchUID]) {
        [JRToast showWithText:@"请先登录板栗快省账号" bottomOffset:kToolBarH + 15 duration:1.2f];
        [JRToast showWithText:@"请先登录返利券账号" bottomOffset:kToolBarH + 15 duration:1.2f];
        NewLoginViewController *loginVc = [[NewLoginViewController alloc] init];
        loginVc.isShopCar = YES;
        loginVc.delegate = self;
@@ -969,7 +969,7 @@
    
    if (![ALUserInfoServiceManger fetchUID]) {
        
        [JRToast showWithText:@"请先登录板栗快省账号" bottomOffset:kToolBarH + 15 duration:1.2f];
        [JRToast showWithText:@"请先登录返利券账号" bottomOffset:kToolBarH + 15 duration:1.2f];
        
        NewLoginViewController *loginVc = [[NewLoginViewController alloc] init];
        loginVc.hidesBottomBarWhenPushed = YES;
fanliquan/½çÃæ/EnvelopeCollectionDetails/Cell/EnvelopeCollectionDetailsCell.m
@@ -311,7 +311,7 @@
- (UILabel *)labelLogo {
    if (!_labelLogo) {
        _labelLogo = [[UILabel alloc] init];
        _labelLogo.text = @"板栗快省官方福利";
        _labelLogo.text = @"返利券官方福利";
        _labelLogo.textColor = UIColorFromRGBValue(0x666666);
        _labelLogo.font = [UIFont systemFontOfSize:9];
        if (SCREEN_WIDTH < 375) {
fanliquan/½çÃæ/EnvelopeCollectionDetails/EnvelopeCollectionDetailsController.m
@@ -210,7 +210,7 @@
}
- (void)onLoginVcName:(NSString *)vcName {
    [JRToast showWithText:@"请先登录板栗快省账号" bottomOffset:kToolBarH + 15 duration:1.2f];
    [JRToast showWithText:@"请先登录返利券账号" bottomOffset:kToolBarH + 15 duration:1.2f];
    // ç™»å½•界面
    NewLoginViewController *loginVc = [[NewLoginViewController alloc] init];
    loginVc.rootVc = self;
fanliquan/½çÃæ/GoodsJumpUtil.h
New file
@@ -0,0 +1,18 @@
//
//  GoodsJumpUtil.h
//  fanliquan
//
//  Created by developer on 2024/1/17.
//
#import <Foundation/Foundation.h>
NS_ASSUME_NONNULL_BEGIN
@interface GoodsJumpUtil : NSObject
// è·³è½¬æ‹¼å¤šå¤š
+ (void)jumpPingDuoDuo:(NSDictionary *) params with: (UINavigationController *) navigationController;
@end
NS_ASSUME_NONNULL_END
fanliquan/½çÃæ/GoodsJumpUtil.m
New file
@@ -0,0 +1,42 @@
//
//  GoodsJumpUtil.m
//  fanliquan
//
//  Created by developer on 2024/1/17.
//
#import "GoodsJumpUtil.h"
@implementation GoodsJumpUtil
+ (void)jumpPingDuoDuo:(NSDictionary *) params with: (UINavigationController *) navigationController{
    NSString* jumpLink = params[@"jumpLink"];
    bool jumNativeSuccess = NO;
    if(params[@"native"]&&NO){
        NSURL *url = [NSURL URLWithString: params[@"nativeJumpLink"]];
        if (url!=nil&&[[UIApplication sharedApplication] canOpenURL:url]) {
            [[UIApplication sharedApplication] openURL:url];
            return;
        }
    }
    // åˆ¤æ–­æ˜¯å¦æœ‰å°ç¨‹åºå‚æ•°
    if(params[@"wxxcxJumpInfo"]!=nil){
        WXLaunchMiniProgramReq *launchMiniProgramReq = [WXLaunchMiniProgramReq object];
        launchMiniProgramReq.userName = params[@"wxxcxJumpInfo"][@"userName"];
        launchMiniProgramReq.path = params[@"wxxcxJumpInfo"][@"path"] ;
        launchMiniProgramReq.miniProgramType = 0;
        [WXApi sendReq:launchMiniProgramReq completion:^(BOOL success) {
            if(!success){
                ShonpingShareViewController *shonpingShareVc = [[ShonpingShareViewController alloc] init];
                shonpingShareVc.urlString = jumpLink?:@"";
                [navigationController pushViewController:shonpingShareVc animated:YES];
            }
        }];
        return;
    }
    ShonpingShareViewController *shonpingShareVc = [[ShonpingShareViewController alloc] init];
    shonpingShareVc.urlString = jumpLink?:@"";
    [navigationController pushViewController:shonpingShareVc animated:YES];
}
@end
fanliquan/½çÃæ/ShareHot/SpreadGoodsDetailController.m
@@ -422,7 +422,7 @@
    
    if (![ALUserInfoServiceManger fetchUID]) {
        
        [JRToast showWithText:@"请先登录板栗快省账号" bottomOffset:kToolBarH + 15 duration:1.2f];
        [JRToast showWithText:@"请先登录返利券账号" bottomOffset:kToolBarH + 15 duration:1.2f];
        
        NewLoginViewController *loginVc = [[NewLoginViewController alloc] init];
        loginVc.rootVc = self;
@@ -457,7 +457,7 @@
}
- (void)onLoginVcName:(NSString *)vcName title:(NSString *)title {
    [JRToast showWithText:title?:@"请先登录板栗快省账号" bottomOffset:kToolBarH + 15 duration:1.2f];
    [JRToast showWithText:title?:@"请先登录返利券账号" bottomOffset:kToolBarH + 15 duration:1.2f];
    // ç™»å½•界面
    NewLoginViewController *loginVc = [[NewLoginViewController alloc] init];
    loginVc.delegate = self;
@@ -901,7 +901,7 @@
    
    NSMutableDictionary *shareParams = [NSMutableDictionary dictionary];
    
    [shareParams SSDKSetupShareParamsByText:@"我在板栗快省发现了一个有很好的商品,快来看看~"
    [shareParams SSDKSetupShareParamsByText:@"我在返利券发现了一个有很好的商品,快来看看~"
                                     images:self.shareDictionary[@"pictUrl"]
                                        url:self.shareDictionary[@"clickUrl"]
                                      title:self.goodsModel.title
@@ -965,7 +965,7 @@
        self.baseTipsPopView.leftTouchEvent = ^(NSInteger type) {
            @strongify(self)
            if (![ALUserInfoServiceManger fetchUID]) {
                [JRToast showWithText:@"请先登录板栗快省账号" bottomOffset:kToolBarH + 15 duration:1.2f];
                [JRToast showWithText:@"请先登录返利券账号" bottomOffset:kToolBarH + 15 duration:1.2f];
                NewLoginViewController *loginVc = [[NewLoginViewController alloc] init];
                loginVc.isShopCar = YES;
                loginVc.delegate = self;
@@ -1143,7 +1143,7 @@
    }
    
    if (![ALUserInfoServiceManger fetchUID]) {
        [JRToast showWithText:@"请先登录板栗快省账号" bottomOffset:kToolBarH + 15 duration:1.2f];
        [JRToast showWithText:@"请先登录返利券账号" bottomOffset:kToolBarH + 15 duration:1.2f];
        
        NewLoginViewController *loginVc = [[NewLoginViewController alloc] init];
        loginVc.hidesBottomBarWhenPushed = YES;
@@ -1174,7 +1174,7 @@
    }
    
    if (![ALUserInfoServiceManger fetchUID]) {
        [JRToast showWithText:@"请先登录板栗快省账号" bottomOffset:kToolBarH + 15 duration:1.2f];
        [JRToast showWithText:@"请先登录返利券账号" bottomOffset:kToolBarH + 15 duration:1.2f];
        NewLoginViewController *loginVc = [[NewLoginViewController alloc] init];
        loginVc.isShopCar = YES;
        loginVc.delegate = self;
@@ -1201,7 +1201,7 @@
    sender.userInteractionEnabled = NO;
    if (![ALUserInfoServiceManger fetchUID]) {
        
        [JRToast showWithText:@"请先登录板栗快省账号" bottomOffset:kToolBarH + 15 duration:1.2f];
        [JRToast showWithText:@"请先登录返利券账号" bottomOffset:kToolBarH + 15 duration:1.2f];
        
        NewLoginViewController *loginVc = [[NewLoginViewController alloc] init];
        loginVc.rootVc = self;
@@ -1259,7 +1259,7 @@
    
    if (![ALUserInfoServiceManger fetchUID]) {
        
        [JRToast showWithText:@"请先登录板栗快省账号" bottomOffset:kToolBarH + 15 duration:1.2f];
        [JRToast showWithText:@"请先登录返利券账号" bottomOffset:kToolBarH + 15 duration:1.2f];
        
        NewLoginViewController *loginVc = [[NewLoginViewController alloc] init];
        loginVc.hidesBottomBarWhenPushed = YES;
fanliquan/½çÃæ/¶¯Ì¬/·¢È¦/HotltermListController.m
@@ -456,7 +456,7 @@
}
- (void)onLoginVcName:(NSString *)vcName {
    [JRToast showWithText:@"请先登录板栗快省账号" bottomOffset:kToolBarH + 15 duration:1.2f];
    [JRToast showWithText:@"请先登录返利券账号" bottomOffset:kToolBarH + 15 duration:1.2f];
    // ç™»å½•界面
    NewLoginViewController *loginVc = [[NewLoginViewController alloc] init];
    loginVc.rootVc = self.rootVc;
fanliquan/½çÃæ/¶¯Ì¬/·¢È¦/View/DynamicSingleImageTextView.m
@@ -237,7 +237,7 @@
- (UILabel *)copyLabel {
    if (!_copyLabel) {
        _copyLabel = [[UILabel alloc] init];
        _copyLabel.text = @"分享含板栗快省标识";
        _copyLabel.text = @"分享含返利券标识";
        _copyLabel.userInteractionEnabled = YES;
        _copyLabel.textColor = UICOLOR_FROM_RGB(0x000000, 1.0);
        _copyLabel.font = [UIFont systemFontOfSize:14.0];
fanliquan/½çÃæ/¶¯Ì¬/ºÃ»õÍÆ¼ö/View/GoodsRecommendDownView.m
@@ -264,6 +264,10 @@
            imagesType = [UIImage imageNamed:@"ic_share_pdd"];
            [self.typeImageView setImage:imagesType];
            self.typeImageView.sd_resetLayout.leftSpaceToView(self.scrollView, 11).topSpaceToView(self.imageView, 9).widthIs(imagesType.size.width).heightIs(imagesType.size.height);
        }else if (model.goodsInfo.shopType == 70) {
            imagesType = [UIImage imageNamed:@"ic_share_dy"];
            [self.typeImageView setImage:imagesType];
        }
        
        self.taobao_tianmall_Label.text = [NSString stringWithFormat:@"%@ Â¥%@",model.goodsInfo.priceName,model.goodsInfo.zkPrice];
fanliquan/½çÃæ/¶¯Ì¬/ºÃ»õÍÆ¼ö/View/GoodsRecommendShowShareView.m
@@ -272,6 +272,10 @@
            imagesType = [UIImage imageNamed:@"ic_share_pdd"];
            [self.typeImageView setImage:imagesType];
            self.typeImageView.sd_resetLayout.leftSpaceToView(self.scrollView, 11).topSpaceToView(self.imageView, 9).widthIs(imagesType.size.width).heightIs(imagesType.size.height);
        }else if (model.goodsInfo.shopType == 70) {
            imagesType = [UIImage imageNamed:@"ic_share_dy"];
            [self.typeImageView setImage:imagesType];
        }
        
        self.taobao_tianmall_Label.text = [NSString stringWithFormat:@"%@ Â¥%@",model.goodsInfo.priceName,model.goodsInfo.zkPrice];
fanliquan/½çÃæ/¶¯Ì¬/ѧԺ/View/CollegeHeaderView.m
@@ -143,7 +143,7 @@
}
- (void)onLoginVcName:(NSString *)vcName {
    [JRToast showWithText:@"请先登录板栗快省账号" bottomOffset:kToolBarH + 15 duration:1.2f];
    [JRToast showWithText:@"请先登录返利券账号" bottomOffset:kToolBarH + 15 duration:1.2f];
    // ç™»å½•界面
    NewLoginViewController *loginVc = [[NewLoginViewController alloc] init];
    loginVc.rootVc = self.rootControoler;
fanliquan/½çÃæ/¶¯Ì¬/»î¶¯/DynamicActivitieListController.m
@@ -302,7 +302,7 @@
}
- (void)onLoginVcName:(NSString *)vcName {
    [JRToast showWithText:@"请先登录板栗快省账号" bottomOffset:kToolBarH + 15 duration:1.2f];
    [JRToast showWithText:@"请先登录返利券账号" bottomOffset:kToolBarH + 15 duration:1.2f];
    // ç™»å½•界面
    NewLoginViewController *loginVc = [[NewLoginViewController alloc] init];
    loginVc.rootVc = self.rootVc;
@@ -437,10 +437,10 @@
        return;
    }
    // æ˜¯å¦æ¿€æ´»é‚€è¯·åŠŸèƒ½
    if (![ALUserInfoServiceManger isInvited]) {
        [self onInviteVcName:nil];
        return;
    }
//    if (![ALUserInfoServiceManger isInvited]) {
//        [self onInviteVcName:nil];
//        return;
//    }
    self.view.userInteractionEnabled = NO;
    [self fetchTaoBaoAuthInfo:@"copyComment" requestCount:1];
}
@@ -510,10 +510,10 @@
        return;
    }
    // æ˜¯å¦æ¿€æ´»é‚€è¯·åŠŸèƒ½
    if ([((DynamicActivityListModel *)self.contentArray[indexPath.section]).jumpDetail[@"needLogin"] boolValue] && ![ALUserInfoServiceManger isInvited]) {
        [self onInviteVcName:nil];
        return;
    }
//    if ([((DynamicActivityListModel *)self.contentArray[indexPath.section]).jumpDetail[@"needLogin"] boolValue] && ![ALUserInfoServiceManger isInvited]) {
//        [self onInviteVcName:nil];
//        return;
//    }
    DynamicActivityListModel *dynamicActivityListModel = ((DynamicActivityListModel *)self.contentArray[indexPath.section]);
    [self.commonMethodManage pushController:dynamicActivityListModel.jumpDetail params:dynamicActivityListModel.params typePush:^(BOOL other) {}];
}
fanliquan/½çÃæ/¶¯Ì¬/ÑûÇëËØ²Ä/InvoteMaterialListController.m
@@ -452,7 +452,7 @@
}
- (void)onLoginVcName:(NSString *)vcName {
    [JRToast showWithText:@"请先登录板栗快省账号" bottomOffset:kToolBarH + 15 duration:1.2f];
    [JRToast showWithText:@"请先登录返利券账号" bottomOffset:kToolBarH + 15 duration:1.2f];
    // ç™»å½•界面
    NewLoginViewController *loginVc = [[NewLoginViewController alloc] init];
    loginVc.rootVc = self.rootVc;
fanliquan/½çÃæ/Æ·ÅÆ/Controller/BrandRebateDetailController.m
@@ -306,7 +306,7 @@
}
- (void)onLoginVcName:(NSString *)vcName {
    [JRToast showWithText:@"请先登录板栗快省账号" bottomOffset:kToolBarH duration:1.5];
    [JRToast showWithText:@"请先登录返利券账号" bottomOffset:kToolBarH duration:1.5];
    // ç™»å½•界面
    NewLoginViewController *loginVc = [[NewLoginViewController alloc] init];
    loginVc.delegate = self;
fanliquan/½çÃæ/Æ·ÅÆ/Controller/BrandRebateListController.m
@@ -283,7 +283,7 @@
}
- (void)onLoginVcName:(NSString *)vcName {
    [JRToast showWithText:@"请先登录板栗快省账号" bottomOffset:kToolBarH + 15 duration:1.2f];
    [JRToast showWithText:@"请先登录返利券账号" bottomOffset:kToolBarH + 15 duration:1.2f];
    // ç™»å½•界面
    NewLoginViewController *loginVc = [[NewLoginViewController alloc] init];
    loginVc.delegate = self;
fanliquan/½çÃæ/Æ·ÅÆ/Controller/BrandRebateSelectController.m
@@ -506,7 +506,7 @@
}
- (void)onLoginVcName:(NSString *)vcName {
    [JRToast showWithText:@"请先登录板栗快省账号" bottomOffset:kToolBarH + 15 duration:1.2f];
    [JRToast showWithText:@"请先登录返利券账号" bottomOffset:kToolBarH + 15 duration:1.2f];
    // ç™»å½•界面
    NewLoginViewController *loginVc = [[NewLoginViewController alloc] init];
    loginVc.delegate = self;
fanliquan/½çÃæ/ÉÌÆ·ÏêÇé/DY/DYGoodsDetailController.h
New file
@@ -0,0 +1,23 @@
//
//  DYGoodsDetailController.h
//  MIduo
//
//  Created by é‡åº†è¿ˆå°–科技有限公司 on 2019/7/25.
//  Copyright Â© 2019 yeshi. All rights reserved.
//
#import <UIKit/UIKit.h>
NS_ASSUME_NONNULL_BEGIN
@interface DYGoodsDetailController : BaseViewController
/// å•†å“ID
@property (nonatomic, copy) NSString *goodsID;
/// æ¥æº
@property (nonatomic, strong) NSString *from;
/// å¹³å°
@property (nonatomic, assign) NSInteger goodsType;
@end
NS_ASSUME_NONNULL_END
fanliquan/½çÃæ/ÉÌÆ·ÏêÇé/DY/DYGoodsDetailController.m
New file
@@ -0,0 +1,2532 @@
//
//  DYGoodsDetailController.m
//  MIduo
//
//  Created by é‡åº†è¿ˆå°–科技有限公司 on 2019/7/25.
//  Copyright Â© 2019 yeshi. All rights reserved.
//
#import "DYGoodsDetailController.h"
#import "NewGoodsShareController.h"
#import "FootprintsViewController.h"
#import "SJSharedTableViewCell.h"
#import "shoppingCartViewController.h"
#import "MyRidiculeController.h"
#import "GraphicDetailsController.h"
#import "SearchDetailMainController.h"
// Views
#import "ButtomCarView.h"
#import "GoosStoreInfoView.h"
#import "GDetailView.h"
#import "SJShopScrollView.h"
#import "DetailWKWebview.h"
#import "NoSingleTicketView.h"
#import "GoodsDetailPopWinView.h"
#import "JDNOFanLiButtonView.h"
#import "WebLoadProgressView.h"
// Cells
#import "JDGoodsHeaderTableViewCell.h"
#import "GDDetailTableViewCell.h"
#import "GDrecomeTableViewCell.h"
#import "NoShopTableViewCell.h"
// Tools
#import "NSString+AES256.h"
#import "UIImageView+WebCache.h"
#import "XHWebImageAutoSize.h"
#import <WebKit/WebKit.h>
#import <ShareSDK/ShareSDK.h>
#import <ShareSDKUI/ShareSDK+SSUI.h>
#import "DYTransformView.h"
@interface DYGoodsDetailController () <UITableViewDelegate, UITableViewDataSource,
GoodsHeaderTableViewCellDelegate, GDetailViewDelegate, ButtomCarViewDelegate,NoSingleTicketViewDelegate,
GDrecomeTableViewCellDelegate, NewLoginViewDelegate,WKNavigationDelegate,WKUIDelegate, UIWebViewDelegate,SJRollingViewDelegate, InviteCodeControllerDelegate>
{
    CGFloat contentOffsetY;
    CGFloat oldContentOffsetY;
    CGFloat newContentOffsetY;
    BOOL isShowdetail;
}
@property (nonatomic, strong) GDetailView *topView;
@property (nonatomic, strong) ButtomCarView *buttomView;
@property (nonatomic, nullable, strong) JDNOFanLiButtonView *noFanLiButtomView;
@property (nonatomic, strong) WKWebView *detailWebView;
@property (nonatomic, assign) CGFloat webHeight;
@property (nonatomic, strong) NSString *detailUrlString;
@property (nonatomic, strong) DYTransformView *transitionView;
@property (nonatomic, strong) UITableView *detailTableview;
@property (nonatomic, strong) UIButton * backButton;
@property (nonatomic, strong) UIButton * moreShareButton;
@property (nonatomic, strong) UIButton * blockBackButton;
@property (nonatomic, nullable, strong) GoodsDetailBaseModel *goodsModel;
@property (nonatomic, nullable, strong) NSDictionary *extraDictionary;
/// æ˜¯å¦æœ‰è¿”利
@property (nonatomic, assign) BOOL fanliValid;
/// æ˜¯å¦æœ‰åˆ†äº«
@property (nonatomic, assign) BOOL shareValid;
@property (nonatomic, strong) NSMutableArray *recommendArray;
@property (nonatomic, strong) NSMutableArray *likeArray;
@property (nonatomic, assign) BOOL isClicked;
@property (nonatomic, strong) SJAliBaicun *alibaichuan;
@property (nonatomic, assign) NSInteger value;
@property (nonatomic, assign) NSInteger code;
@property (nonatomic, assign) BOOL native;
@property (nonatomic, assign) BOOL isNative;
@property (nonatomic, assign) CGFloat tableviewHeight;
@property (nonatomic, assign) CGFloat tempWebHeight;
@property (nonatomic,strong)NSString *shoppingUrl;
/// 4 æ­£å¸¸   1 æ— å–œæ¬¢ã€æŽ¨è  2 æ— æŽ¨è  3 æ— å–œæ¬¢
@property (nonatomic,assign)NSInteger shopDetailType;
/// æ˜¯å¦éœ€è¦åŠ è½½è¿›åº¦æ¡
@property (nonatomic, assign) BOOL isProgressHud;
/// æ ¹æ®bool值判断是否收藏
@property (nonatomic, assign) BOOL isCollection;
@property (nonatomic, assign) BOOL isCollectionBack;
/// æ˜¯å¦ç‚¹å‡»ç™»é™†ï¼ŒçŠ¶æ€ ç™»é™†æœ‰æ²¡æˆåŠŸ
@property (nonatomic, assign) NSInteger clickLoginStates;
/// å¯¼èˆªæ çš„下的灰线
//@property (nonatomic, strong) UIView *navGaryLine;
//@property (nonatomic,strong) UIButton *ProLibraryBtn;//选品库
@property (nonatomic, strong) SJNoNetwork *noNetworkViews;
/// æœªè¿žæŽ¥ç½‘络
@property (nonatomic, assign) NSInteger netWorkCode;
@property (nonatomic, assign) BOOL isRolling;
@property (nonatomic, strong) SJShopScrollView *shopScrollView;
@property (nonatomic, strong) NSArray *shareUsersArray;
@property (nonatomic, strong) SJSharedTableViewCell *shopview;
@property (nonatomic, strong) GDrecomeTableViewCell *likeCell;
@property (nonatomic, strong) GDrecomeTableViewCell *recomeCell;
///补贴view
@property (nonatomic, nullable, strong) UILabel *labelSubsidy;
///三角符号
@property (nonatomic, nullable, strong) UIImageView *imageViewSJ;
@property (nonatomic, assign) BOOL storageState;
/// æ·˜å®è”盟H5数据 (authLink-淘宝授权链接,orderJS-爬取订单加载的js代码(AES加密过的),orderUrl-爬取订单加载的链接)
@property (nonatomic, nullable, strong) NSDictionary *taoBaoAuthInfoDic;
/// åŠ è½½çš„jsstring
@property (nonatomic, nullable, copy) NSString *jsString;
@property (nonatomic, strong) NoSingleTicketView *noSingleTicketView;
/// æ¥æºï¼ˆshare/zigou))
@property (nonatomic, nullable, copy) NSString *source;
/// çˆ¬å•加载的webview
@property (nonatomic, strong) UIWebView *linkWebView;
@property (nonatomic,assign)NSInteger type;
@property (nonatomic, nullable, strong) GoodsDetailPopWinView *goodsDetailPopWinView;
/// æ–°æ‰‹æ”»ç•¥
@property (nonatomic, copy) NSString *weex_file_newer;
@property (nonatomic, nullable, strong) BaseTipArrPopView *baseTipArrPopView;
@property (nonatomic, nullable, strong) BaseTipsPopView *baseTipsPopView;
@property (nonatomic, nullable, strong) UIScrollView *contentScrollView;
/// å°é»„条
@property (nonatomic, strong) SJRollingView *currentRollingView;
@property (nonatomic, assign)BOOL isCopyTaokouling;
@property (nonatomic, nullable, copy ) NSString *authLink;
@property (nonatomic, nullable, copy ) NSString *couponJumpLink;
@property (nonatomic, nullable, copy ) NSString *nativeCouponJumpLink;
@property (nonatomic, nullable, copy ) NSString *nativeJumpLink;
@property (nonatomic, nullable, strong) WebLoadProgressView *webLoadProgressView;
@property (nonatomic, strong) NSTimer *webTimerDis;
@property (nonatomic, assign) CGFloat lastContentOffest;
/// æ˜¯å¦ç¦»å¼€è¿‡å½“前视图
@property (nonatomic, assign) BOOL isLeavedNowView;
@property (nonatomic, assign) BOOL isRequestAPI;
@property (nonatomic, nullable, strong) FetchGoldcoinPopView *fetchGoldcoinPopView;
@property (nonatomic, strong) UIView *backView;
@property (nonatomic, strong) dispatch_source_t timers;
/// äº‘发单是否开启
@property (nonatomic, assign) BOOL cloudOpen;
@end
@implementation DYGoodsDetailController
- (void)viewDidLoad {
    [super viewDidLoad];
    self.navigationController.navigationBar.translucent = NO;
    self.isLeavedNowView = NO;
    self.title = @"商品详情";
    [self fetchWeexFileNewer];
    if (self.dataDictionary[@"paramsJSON"]) {
        if (self.dataDictionary[@"paramsJSON"][@"id"]) {
            self.goodsID = self.dataDictionary[@"paramsJSON"][@"id"];
        }
        if (self.dataDictionary[@"paramsJSON"][@"from"]) {
            self.from = self.dataDictionary[@"paramsJSON"][@"from"];
        }
        if (self.dataDictionary[@"paramsJSON"][@"goodsType"]) {
            self.goodsType = self.goodsType = [self.dataDictionary[@"goodsType"] integerValue];
        }
    }
    if (self.dataDictionary) {
        if (self.dataDictionary[@"id"]) {
            self.goodsID = self.dataDictionary[@"id"];
        }
        if (self.dataDictionary[@"from"]) {
            self.from = self.dataDictionary[@"from"];
        }
        if (self.dataDictionary[@"goodsType"]) {
            self.goodsType = [self.dataDictionary[@"goodsType"] integerValue];
        }
    }
    if (self.goodsType == 0) {
        self.goodsType = 3;
    }
    [UMCustomShop umDetailDYEnter:self.from];
    self.webHeight = 0.0;
    self.navigationController.navigationBar.titleTextAttributes =
    @{NSForegroundColorAttributeName:FLQNewNavigationTitleColor,
      NSFontAttributeName:[UIFont boldSystemFontOfSize:FLQNewNavigationTitleFont]};
    isShowdetail = YES;
    self.view.backgroundColor = XYRBackgroundColor;
    self.hidesBottomBarWhenPushed = YES;
    self.clickLoginStates = 0;
    self.isProgressHud = YES;
    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(EnterForeground:) name:@"isEnterForeground" object:nil];
    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(EnterBackground:) name:@"isEnterBackground" object:nil];
    [self initializeInterface];
    [self getOrderParseConfig];
    // å¦éšè—åº•部视图
    [self isHideBottomView];
    [self isCanFetchGoldCofin];// å®šæ—¶å™¨èŽ·å–æ˜¯å¦è¦é‡‘å¸
}
- (void)isCanFetchGoldCofin
{
    __block NSInteger times = 0;
    @weakify(self)
    dispatchTimer(self, 1.0, ^(dispatch_source_t  _Nonnull timer) {
        @strongify(self)
        self.timers = timer;
        times++;
        if (times >= 10 && self.lastContentOffest > 0 && !self.isLeavedNowView) {
            [self fetchBrowseGoldCofin];
            dispatch_source_cancel(timer);
        }
    });
}
- (void)fetchBrowseGoldCofin
{
    if (![ALUserInfoServiceManger fetchUID] || self.code == 2) {
        return;
    }
    NSDictionary *tempDictionary = @{@"goodsId":self.goodsID,@"goodsType":[NSString stringWithFormat:@"%ld",(long)self.goodsType]};
    NSString *paramsStr = [NSString jsonStringWithDictionary:tempDictionary];
    NSDictionary *params = @{@"uid":[ALUserInfoServiceManger fetchUID],@"event":@"scanGoods",@"data":paramsStr};
    @weakify(self)
    [[ALNetWorking startInterface] Post:[NSString stringWithFormat:@"%@/%@",domainHTTP2,@"integral/pushEvent"] param:params success:^(NSDictionary *object)
     {
        @strongify(self)
        if ([object[@"code"] integerValue] == 0) {
            if (!self.isLeavedNowView) {
                [self.fetchGoldcoinPopView show:object[@"data"][@"notify"]];
            }
        }
    } fail:^(id object) {}];
}
/**
 *是否隐藏底部视图
 */
- (void)isHideBottomView {
    if (self.from && [self.from isEqualToString:@"miandan"]) {
        self.buttomView.from = self.from;
    }
}
#pragma mark --- èŽ·å–æ–°æ‰‹æ”»ç•¥ ---
/**
 *
 *  èŽ·å–æ–°æ‰‹æ”»ç•¥
 *
 */
- (void)fetchWeexFileNewer
{
    NSArray *tempArr = [self fetchMainUrlArray];
    for (NSDictionary *dic in tempArr) {
        if ([dic[@"key"] isEqualToString:@"weex_file_newer"]) {
            self.weex_file_newer = dic[@"value"];
            break;
        }
    }
}
- (NSArray *)fetchMainUrlArray
{
    return [[[NSUserDefaults standardUserDefaults] objectForKey:@"MainUrlArray"] objectForKey:@"info"];
}
- (void)getAppPageNotificationWithType:(NSString *)type
{
    NSDictionary *dic = @{@"type":type};
    @weakify(self)
    [JYNetWorking Post:[NSString stringWithFormat:@"%@/%@",domainHTTP,@"help/getAppPageNotification"] param:dic success:^(NSDictionary *object) {
        @strongify(self)
        if ([object[@"code"]integerValue] == 0 && object[@"code"] != nil) {
            NSDictionary *dic = object[@"data"];
            BOOL bor = [[NSUserDefaults standardUserDefaults]boolForKey:dic[@"md5"]];
            if (!bor) {
                self.currentRollingView.dataSource = dic;
                self.isRolling = YES;
                self.currentRollingView.hidden = NO;
                self.shopScrollView.frame = CGRectMake(10, kNavigationBarH + kStatusBarH + RollingViewHeight + 16, SCREEN_WIDTH * 0.75, 30);
            }
        }
    } fail:^(id object) {
    }];
}
#pragma mark - SJRollingViewDelegate
- (void)closeRolling:(SJRollingView *)RollingView
{
    self.currentRollingView.hidden = YES;
    self.shopScrollView.frame = CGRectMake(10, CGRectGetMaxY(self.topView.frame) + 16, SCREEN_WIDTH * 0.75, 30);
}
- (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];
    self.netWorkCode = networkState;
    switch (networkState) {
        case -1: {
            if (!self.goodsModel) {
                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.goodsModel) {
                self.noNetworkViews.primtTitle.text = NETWORK_CONNECT_ANOMALY;
                [self.noNetworkViews.iconImage setImage:ALIMAGE_NAMED(@"defaultPage_noNetWork")];
                self.noNetworkViews.hidden = NO;
            } else {
                self.noNetworkViews.hidden = YES;
            }
            break;
        }
        case 1: { // 3G或者4G,反正用的是流量
            self.noNetworkViews.hidden = YES;
            if (!self.goodsModel) {
                [self getgoodsinfo];
            }
            break;
        }
        case 2: { // WIFI网络
            self.noNetworkViews.hidden = YES;
            if (!self.goodsModel) {
                [self getgoodsinfo];
            }
            break;
        }
        default:
            break;
    }
}
- (void)viewWillAppear:(BOOL)animated
{
    [super viewWillAppear:animated];
    [self.navigationController setNavigationBarHidden:YES animated:animated];
    [YTHsharedManger startManger].isEnterForeground = NO;
    [self.shopScrollView showTimer];
}
- (void)viewWillDisappear:(BOOL)animated
{
    [super viewWillDisappear:animated];
    [self.navigationController setNavigationBarHidden:NO animated:NO];
    [self.goodsDetailPopWinView dismiss];
    self.isProgressHud = NO;
    [self hideTransitionView];
    self.isLeavedNowView = YES;
    dispatch_source_cancel(self.timers);
    [self.shopScrollView stopTimer];
}
- (void)EnterBackground:(NSNotification *)notice
{
    self.isLeavedNowView = YES;
    dispatch_source_cancel(self.timers);
}
- (void)hideTransitionView
{
    self.transitionView.hidden = YES;
    [self.transitionView hiddenTransitionView];
}
- (void)initializeInterface {
    [self.view addSubview:self.detailTableview];
    [self.view addSubview:self.topView];
    [self.view addSubview:self.moreShareButton];
    [self.view addSubview:self.buttomView];
    [self.view addSubview:self.noFanLiButtomView];
    // [self.view addSubview:self.navGaryLine];
    [self.view addSubview:self.currentRollingView];
    [self.view addSubview:self.shopScrollView];
    UIImage *imgsj = ALIMAGE_NAMED(@"goodsdetail_sj");
    [self.view addSubview:self.imageViewSJ];
    self.imageViewSJ.sd_layout.bottomSpaceToView(self.buttomView, 0).rightSpaceToView(self.view, (SCREEN_WIDTH - 115) / 4).widthIs(imgsj.size.width).heightIs(imgsj.size.height);
    [self.view addSubview:self.labelSubsidy];
    self.labelSubsidy.sd_layout.rightSpaceToView(self.view, 8).bottomSpaceToView(self.imageViewSJ, 0).widthIs(140).heightIs(20);
    self.labelSubsidy.sd_cornerRadius = @4;
    [self.view addSubview:self.backView];
    [self.view addSubview:self.noNetworkViews];
    [self getAppPageNotificationWithType:@"goodsDetailDY"];
    [self addNetWorkNotice];
    [self.view addSubview:self.backButton];
    [self.view addSubview:self.blockBackButton];
    [self.view addSubview:self.transitionView];
    [self.view addSubview:self.noSingleTicketView];
}
#pragma mark å³ä¸Šè§’按钮
- (void)moreshareClicked:(UIButton *)sender {
    kPreventRepeatClickTime(0.5);
    [UMCustomShop umDetail_right];
    self.goodsDetailPopWinView = [[GoodsDetailPopWinView alloc] initGoodsDetailTopRightPopView:1];
    @weakify(self)
    self.goodsDetailPopWinView.selectName = ^(NSString *type) {
        @strongify(self)
        if ([type isEqualToString:@"复制链接"]) {
            [UMCustomShop umDetail_goods_detail_more_btn:@"复制链接"];
            [self.commonMethodManage setPasteboardContent:self.extraDictionary[@"h5Url"] title:@"链接复制成功"];
        } else if ([type isEqualToString:@"帮助中心"]) {
            [UMCustomShop umDetail_goods_detail_more_btn:@"帮助中心"];
            ShonpingShareViewController *shopVC = [[ShonpingShareViewController alloc]init];
            shopVC.urlString = [YTHsharedManger startManger].help;
            [self.navigationController pushViewController:shopVC animated:YES];
        } else if ([type isEqualToString:@"新手攻略"]) {
            [UMCustomShop umDetail_goods_detail_more_btn:@"新手攻略"];
            NSString *newuserGL = nil;
            if ([self isHaveValue:[YTHsharedManger startManger].gonglueCourceInfo[@"videoUrl"]]) {
                newuserGL = [YTHsharedManger startManger].gonglueCourceInfo[@"videoUrl"];
            } else {
                newuserGL = [YTHsharedManger startManger].gonglueCourceInfo[@"txtImgUtl"];
            }
            ShonpingShareViewController *shonpingShareVc = [[ShonpingShareViewController alloc] init];
            shonpingShareVc.urlString = newuserGL;
            [self.navigationController pushViewController:shonpingShareVc animated:YES];
        } else if ([type isEqualToString:@"联系客服"]) {
            [UMCustomShop umDetail_goods_detail_more_btn:@"联系客服"];
            [CustomerServiceManage pushinitMQ:@"商品详情"];
        } else if ([type isEqualToString:@"我要吐槽"]) {
            [UMCustomShop umDetail_goods_detail_more_btn:@"我要吐槽"];
            @weakify(self)
            dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.11 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
                @strongify(self)
                MyRidiculeController *myRidiculeVc = [[MyRidiculeController alloc] init];
                [self.navigationController pushViewController:myRidiculeVc animated:YES];
            });
        }
    };
    [self.goodsDetailPopWinView show];
}
- (void)getOrderParseConfig {
    //    config/getOrderParseConfig
    NSDictionary *dic = @{};
    [JYNetWorking Post:[NSString stringWithFormat:@"%@/%@",domainHTTP,@"config/getOrderParseConfig"] param:dic success:^(NSDictionary *object) {
        if (object != nil && [object[@"code"]integerValue] == 0) {
            self.taoBaoAuthInfoDic = object[@"data"];
            NSString *tempJs = object[@"data"][@"orderJS"];
            self.jsString = [tempJs aes256_decrypt:tempJs];
        }
    } fail:^(id object) {
    }];
}
- (void)openButtonEvent {
    self.buttomView.shareButton.enabled = YES;
    self.buttomView.buyButton.enabled = YES;
}
#pragma mark  --- WebViewDelegate ---
- (void)webViewDidStartLoad:(UIWebView *)webView
{
}
- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType
{
    NSString *urlString = request.URL.absoluteString;
    if ([urlString rangeOfString:@"yestv://taobaoorder"].location != NSNotFound) {
        NSArray *array = [urlString componentsSeparatedByString:@"#"];
        NSString *tempJs = array[1];
        NSMutableDictionary *params = [[NSMutableDictionary alloc] init];
        if ([ALUserInfoServiceManger fetchUID]) {
            [params setObject:[ALUserInfoServiceManger fetchUID] forKey:@"uid"];
        }
        if (tempJs) {
            [params setObject:[tempJs des256_encrypt:tempJs] forKey:@"orderData"];
        }
        [params setObject:@"unionAuth" forKey:@"source"];
        [JYNetWorking Post:[NSString stringWithFormat:@"%@/%@",domainHTTP,@"user/order/uploadParsedOrder"] param:params success:^(NSDictionary *object)
         {}
                      fail:^(id object) {}];
    }
    return YES;
}
- (void)webViewDidFinishLoad:(UIWebView *)webView
{
    [webView stringByEvaluatingJavaScriptFromString:self.jsString];
}
- (void)webView:(UIWebView *)webView didFailLoadWithError:(NSError *)error
{
}
- (void)EnterForeground:(NSNotification *)notice
{
    [YTHsharedManger startManger].isEnterForeground = NO;
    self.transitionView .hidden = YES;
    [self.transitionView hiddenTransitionView];
}
- (void)backTaped:(UIButton *)sender
{
    // [[ALNetWorking startInterface] cancelAll];
    [self.view hideToastActivity];
    [self hideCustomActivityView];
    [self clearTimers];
    [self.navigationController popViewControllerAnimated:YES];
}
- (void)clearTimers
{
    if (self.code != 2) {
        JDGoodsHeaderTableViewCell * cell = (JDGoodsHeaderTableViewCell *)[self.detailTableview cellForRowAtIndexPath:[NSIndexPath indexPathForRow:0 inSection:0]];
        [cell clearTimer];
        [self.shopScrollView clearTimer];
        [self.shopview clearTimer];
    }
}
#pragma mark --- å•†å“ä¿¡æ¯ ---
- (void)getgoodsinfo {
    if (self.isProgressHud) {
        [self showCustomActivityView];
        [self.view bringSubviewToFront:self.backButton];
    }
    self.buttomView.hidden = YES;
    [self getRecomeSource];
    NSMutableDictionary *params = [[NSMutableDictionary alloc] init];
    if ([ALUserInfoServiceManger fetchUID]) {
        [params setObject:[ALUserInfoServiceManger fetchUID] forKey:@"uid"];
    }
    if (self.from) {
        [params setObject:self.from forKey:@"from"];
    } else {
        [params setObject:@"" forKey:@"from"];
    }
    [params setObject:self.goodsID forKey:@"id"];
    @weakify(self)
    [JYNetWorking Post:[NSString stringWithFormat:@"%@/%@",domainHTTP2,@"goods/getDetailDY"] param:params success:^(NSDictionary *object)
     {
        @strongify(self)
        dispatch_async(dispatch_get_main_queue(), ^{
            self.detailTableview.hidden = NO;
            if (object) {
                self.code = [object[@"code"] integerValue];
                if (self.code == 2) {
                    self.backView.hidden = NO;
                } else {
                    self.detailTableview.frame = CGRectMake(0, 0, SCREEN_WIDTH, SCREEN_HEIGHT - self.tableviewHeight);
                    self.buttomView .hidden = NO;
                }
                if (self.code == 0) {
                    self.extraDictionary = object[@"data"][@"extra"];
                    self.fanliValid = [self.extraDictionary[@"fanliValid"] boolValue]; // æ˜¯å¦æœ‰è¿”利
                    self.shareValid = [self.extraDictionary[@"shareValid"] boolValue]; // æ˜¯å¦æœ‰åˆ†äº«
                    self.cloudOpen = [self.extraDictionary[@"cloudOpen"] boolValue];
                    self.isNative = [self.extraDictionary[@"isNative"] boolValue];   // æ˜¯å¦è·³è½¬åŽŸç”ŸAPP
                    self.detailUrlString = self.extraDictionary[@"detailUrl"];      // å›¾æ–‡è¯¦æƒ…链接
                    self.couponJumpLink = self.extraDictionary[@"couponJumpLink"];
                    self.nativeCouponJumpLink = self.extraDictionary[@"nativeCouponJumpLink"];
                    if ([self.extraDictionary[@"shareValid"] boolValue]) {
                        self.buttomView.hidden = NO;
                    } else {
                        self.noFanLiButtomView.hidden = NO;
                    }
                    self.shareUsersArray = self.extraDictionary[@"listShareUser"];
                    self.shopview.dataSource = self.shareUsersArray;
                    self.shopScrollView.datasource = self.extraDictionary[@"listCouponUser"];
                    self.goodsModel = [GoodsDetailBaseModel yy_modelWithJSON:object[@"data"][@"goods"]];
                    // æ˜¯å¦åŠ å…¥åˆ†äº«åº“
                    self.storageState = [self.extraDictionary[@"storage"] boolValue];
                    self.shopDetailType = 1;
                    self.topView.ButtonType = self.shopDetailType;
                    // æ˜¯å¦æ”¶è—
                    self.isCollection = [self.extraDictionary[@"collected"] boolValue];
                    self.buttomView.isCollection = self.isCollection;
                    [self.buttomView loadViewInfomation:self.goodsModel extraDic:self.extraDictionary];
                    [self.noFanLiButtomView loadViewInfomation:self.goodsModel extraDic:self.extraDictionary];
                    self.alibaichuan = [[SJAliBaicun alloc] initWithDic:self.extraDictionary[@"tbPidInfo"]];
                    if ([self isHaveValue:self.goodsModel.moneyInfo.compositionInfo]) {
                        if ([YTHsharedManger startManger].iosonling == 0 && ![self.from isEqualToString:@"miandan"]) {
                            self.labelSubsidy.hidden = NO;
                            self.imageViewSJ.hidden = NO;
                            self.labelSubsidy.text = self.goodsModel.moneyInfo.compositionInfo;
                        }
                    }
                    @weakify(self)
                    [UIView performWithoutAnimation:^{
                        @strongify(self)
                        [self.detailTableview reloadData];
                    }];
                    [self.detailTableview.mj_footer endRefreshingWithNoMoreData];
                }
            }
            [self hideCustomActivityView];
        });
    } fail:^(id object) {
        @strongify(self)
        dispatch_async(dispatch_get_main_queue(), ^{
            self.detailTableview.hidden = NO;
            [self hideCustomActivityView];
            NSError *error = (NSError *)object;
            if (error.code == -1009) {
                if (self.goodsModel) {
                    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.goodsModel) {
                    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)getRecomeSource
{
    NSMutableDictionary *params = [[NSMutableDictionary alloc] init];
    [params setObject:self.goodsID forKey:@"id"];
    [params setObject:[NSString stringWithFormat:@"%ld",(long)self.goodsType] forKey:@"goodsType"];
    @weakify(self)
    [JYNetWorking Post:[NSString stringWithFormat:@"%@/%@",domainHTTP2,@"goods/getRecommendGoods"] param:params success:^(NSDictionary *object)
     {
        @strongify(self)
        dispatch_async(dispatch_get_main_queue(), ^{
            if ([object[@"code"]integerValue] == 0) {
                [self.likeArray removeAllObjects];
                [self.recommendArray removeAllObjects];
                for (NSDictionary *dictionary in object[@"data"][@"listGuess"]) {
                    if ([self isHaveValue:dictionary]) {
                        [self.likeArray addObject:[GoodsDetailBaseModel yy_modelWithJSON:dictionary]];
                    }
                }
                for (NSDictionary *dictionary in object[@"data"][@"listQuality"]) {
                    if ([self isHaveValue:dictionary]) {
                        [self.recommendArray addObject:[GoodsDetailBaseModel yy_modelWithJSON:dictionary]];
                    }
                }
                self.likeCell.dataArray = self.likeArray;
                self.likeCell.isGuess = YES;
                self.recomeCell.dataArray = self.recommendArray;
                self.recomeCell.isGuess = NO;
                /// 4 æ­£å¸¸   1 æ— å–œæ¬¢ã€æŽ¨è  2 æ— æŽ¨è  3 æ— å–œæ¬¢
                if (self.likeArray.count != 0 && self.recommendArray.count != 0) {
                    self.shopDetailType = 4;
                }else if(self.recommendArray.count != 0){
                    self.shopDetailType = 3;
                }else if(self.likeArray.count != 0       ){
                    self.shopDetailType = 2;
                }else{
                    self.shopDetailType = 1;
                }
                self.topView.ButtonType = self.shopDetailType;
                [self.detailTableview reloadData];
            } else {
                self.shopDetailType = 1;
            }
            [self hideCustomActivityView];
            [self.detailTableview.mj_header endRefreshing];
            [self.detailTableview.mj_footer endRefreshing];
        });
    } fail:^(id object) {
        @strongify(self)
        [self hideCustomActivityView];
        [self.detailTableview.mj_header endRefreshing];
        [self.detailTableview.mj_footer endRefreshing];
        self.shopDetailType = 1;
    }];
}
#pragma mark - GoodsHeaderTableViewCellDelegate
- (void)closeRollView
{
    self.isRolling = NO;
    [self.detailTableview reloadData];
}
- (void)taokoulingCopy
{
    self.isCopyTaokouling = YES;
    self.baseTipsPopView.buttonCount = 2;
    self.baseTipsPopView.type = 1;
    self.baseTipsPopView.buttonLeftString = @"去登录";
    self.baseTipsPopView.buttonRightString = @"去领券";
    self.baseTipsPopView.titleString = @"温馨提示";
    self.baseTipsPopView.contentString = @"未登录无返利,确定免费领券?";
    [self.baseTipsPopView showView:nil];
}
#pragma mark --- ç«‹å³é¢†å– ---
- (void)useQuanClicked:(JDGoodsHeaderTableViewCell *)cell {
    if (![self socketReachabilityTest]) {
        [JRToast showWithText:NETWORK_CONNECT_ANOMALY bottomOffset:kToolBarH + 15 duration:1.2f];
        return;
    }
    BOOL isFirst = [[NSUserDefaults standardUserDefaults] boolForKey:@"dyAddVerifiStatusFirst"];
    if (![ALUserInfoServiceManger fetchUID] && !isFirst ) {
        self.isCopyTaokouling = NO;
        self.baseTipsPopView.textIsCenter = YES;
        self.baseTipsPopView.buttonCount = 2;
        self.baseTipsPopView.type = 1;
        self.baseTipsPopView.buttonLeftString = @"去登录";
        self.baseTipsPopView.buttonRightString = @"去领券";
        self.baseTipsPopView.titleString = @"温馨提示";
        self.baseTipsPopView.contentString = @"未登录无返利,确定免费领券?";
        @weakify(self)
        self.baseTipsPopView.leftTouchEvent = ^(NSInteger type) {
            @strongify(self)
            if (![ALUserInfoServiceManger fetchUID]) {
                [self onLoginVcName:nil title:nil];
                return ;
            }
            // æ˜¯å¦æ¿€æ´»é‚€è¯·åŠŸèƒ½
//            if (![ALUserInfoServiceManger isInvited]) {
//                [self onInviteVcName:nil];
//                return;
//            }
            [self getDYLnk];
        };
        self.baseTipsPopView.rightTouchEvent = ^(NSInteger type) {
            @strongify(self)
            [[NSUserDefaults standardUserDefaults] setBool:YES forKey:@"dyAddVerifiStatusFirst"];
            if (self.isCopyTaokouling) {
                [UMCustomShop umDetail_copy_token];
                [self.commonMethodManage setPasteboardContent:self.goodsModel.couponInfo.token title:@"口令复制成功"];
            } else {
                JDGoodsHeaderTableViewCell * cell = (JDGoodsHeaderTableViewCell *)[self.detailTableview cellForRowAtIndexPath:[NSIndexPath indexPathForRow:0 inSection:0]];
                [self useQuanClicked:cell];
            }
        };
        [self.baseTipsPopView showView:nil];
        return;
    }
    if(![ALUserInfoServiceManger fetchUID]){
        self.transitionView.contentLabel.text = @"未登录无返利";
        self.transitionView.hidden = NO;
        [self.transitionView showTransitionView];
        [self performSelector:@selector(jumpZJDY) withObject:nil/*可传任意类型参数*/ afterDelay:0.5];
    } else {
        if (![ALUserInfoServiceManger fetchUID]) {
            [self onLoginVcName:nil title:nil];
            return ;
        }
        // æ˜¯å¦æ¿€æ´»é‚€è¯·åŠŸèƒ½
//        if (![ALUserInfoServiceManger isInvited]) {
//            [self onInviteVcName:nil];
//            return;
//        }
        self.transitionView.contentLabel.text = @"购买后有返利,分享后有奖金";
        [self getDYLnk];
    }
    [UMCustomShop umDetail_buy];
    [UMCustomShop umDetail_coupon_click];
}
- (void)jumpZJDY {
    [YTHsharedManger startManger].isEnterForeground = YES;
    [self jumpDY:self.isNative jumpLink:self.couponJumpLink nativeJumpLink:self.nativeCouponJumpLink];
}
#pragma mark- GDrecomeTableViewCellDelegate
- (void)cellClicked:(GDrecomeTableViewCell *)cell goodId:(NSString *)goodsID {
    DYGoodsDetailController *goodDeTrVc = [[DYGoodsDetailController alloc] init];
    goodDeTrVc.goodsID = goodsID;
    goodDeTrVc.goodsType = 3;
    [self.navigationController pushViewController:goodDeTrVc animated:YES];
}
- (void)touchMaxCoupon {
    if ([self.goodsModel.otherInfo.rewardCoupon.jumpDetail[@"needLogin"] boolValue] && ![ALUserInfoServiceManger fetchUID]) {// æ²¡æœ‰ç™»é™†åŽ»ç™»é™†
        [self onLoginVcName:nil title:nil];
        return;
    }
    // æ˜¯å¦æ¿€æ´»é‚€è¯·åŠŸèƒ½
//    if (![ALUserInfoServiceManger isInvited]) {
//        [self onInviteVcName:nil];
//        return;
//    }
    [self pushAnyInterfaceController:self.goodsModel.otherInfo.rewardCoupon.jumpDetail[@"controller"] parms:self.goodsModel.otherInfo.rewardCoupon.params];
}
- (void)touchFanLiBi {
    [self pushAnyInterfaceController:@"ShonpingShareViewController" parms:@{@"url":self.goodsModel.moneyInfo.rateInfoHelpUrl?:@""}];
}
- (void)onLoginVcName:(NSString *)vcName title:(NSString *)title {
    if (title) {
        [JRToast showWithText:title bottomOffset:kToolBarH + 15 duration:1.2f];
    } else {
        [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)onInviteVcName:(NSString *)vcName {
    InviteCodeController *inviteCodeVc = [[InviteCodeController alloc] init];
    inviteCodeVc.delegates = self;
    inviteCodeVc.rootController = self;
    inviteCodeVc.type = vcName;
    [self.navigationController pushViewController:inviteCodeVc animated:YES];
}
#pragma mark - ButtomViewDelegate
- (void)copyLinkClicked:(ButtomCarView *)view {
    if (![ALUserInfoServiceManger fetchUID]) {
        [self onLoginVcName:nil title:nil];
        return;
    }
    // æ˜¯å¦æ¿€æ´»é‚€è¯·åŠŸèƒ½
//    if (![ALUserInfoServiceManger isInvited]) {
//        [self onInviteVcName:nil];
//        return;
//    }
    [self fetchCopyLink];
}
- (void)fetchCopyLink {
    [self.view makeToastActivity:CSToastPositionCenter];
    self.buttomView.buttonCopuLink.enabled = YES;
    ((UIImageView *)[self.buttomView.buttonCopuLink subviews][0]).alpha = 0.6;
    ((UILabel *)[self.buttomView.buttonCopuLink subviews][1]).textColor = UIColorFromRGBValue(0x999999);
    NSMutableDictionary *params = [[NSMutableDictionary alloc] init];
    [params setObject:_goodsID forKey:@"goodsId"];
    [params setObject:self.from?:@"" forKey:@"source"];
    [params setObject:[NSString stringWithFormat:@"%ld",(long)self.goodsType] forKey:@"goodsType"];
    [params setObject:@YES forKey:@"needGoods"];
    if ([self isHaveValue:[ALUserInfoServiceManger fetchUID]]) {
        [params setObject:[ALUserInfoServiceManger fetchUID] forKey:@"uid"];
    }
    @weakify(self)
    [[ALNetWorking startInterface] Post:[NSString stringWithFormat:@"%@/%@",domainHTTP2,@"share/createShareInfo"] param:params success:^(NSDictionary *object) {
        @strongify(self)
        dispatch_async(dispatch_get_main_queue(), ^{
            self.buttomView.buttonCopuLink.enabled = YES;
            ((UIImageView *)[self.buttomView.buttonCopuLink subviews][0]).alpha = 1;
            ((UILabel *)[self.buttomView.buttonCopuLink subviews][1]).textColor = UIColorFromRGBValue(0x333333);
            [self.view hideToastActivity];
            if ([self isHaveValue:object] && [object [@"code"] integerValue] == 0) {
                [self.commonMethodManage setPasteboardContent:object[@"data"][@"commentText"] title:@"链接复制成功"];
            } else {
                if (object[@"msg"]) {
                    ALToastCenter(object[@"msg"]);
                }
            }
        });
    } fail:^(id object) {
        @strongify(self)
        [self.view hideToastActivity];
        self.buttomView.buttonCopuLink.enabled = YES;
        ((UIImageView *)[self.buttomView.buttonCopuLink subviews][0]).alpha = 1;
        ((UILabel *)[self.buttomView.buttonCopuLink subviews][1]).textColor = UIColorFromRGBValue(0x333333);
    }];
}
- (void)collectionClicked:(ButtomCarView *)view {
    if (![self isHaveValue:[ALUserInfoServiceManger fetchUID]]) {
        [self onLoginVcName:@"goodsDetailCollection" title:@"登录后才能收藏哦"];
        return;
    }
//    if (![ALUserInfoServiceManger isInvited]) {
//        [self onInviteVcName:nil];
//        return;
//    }
    [self fecthAndPostCollection];
}
- (void)shareClicked:(ButtomCarView *)view {
    [self shareOperationSteps];
}
- (void)shareOperationSteps {
    if (![self socketReachabilityTest]) {
        [JRToast showWithText:NETWORK_CONNECT_ANOMALY bottomOffset:kToolBarH + 15  duration:1.2f];
        return;
    }
    if (![ALUserInfoServiceManger fetchUID]) {
        [self onLoginVcName:nil title:nil];
        return;
    }
    // æ˜¯å¦æ¿€æ´»é‚€è¯·åŠŸèƒ½
//    if (![ALUserInfoServiceManger isInvited]) {
//        [self onInviteVcName:nil];
//        return;
//    }
    [self jumpCreateShare];
}
- (void)jumpCreateShare {
    [self.view makeToastActivity:CSToastPositionCenter];
    self.buttomView.shareButton.enabled = NO;
    NSMutableDictionary *params = [[NSMutableDictionary alloc] init];
    [params setObject:_goodsID forKey:@"goodsId"];
    [params setObject:self.from?:@"" forKey:@"source"];
    [params setObject:[NSString stringWithFormat:@"%ld",(long)self.goodsType] forKey:@"goodsType"];
    [params setObject:[ALUserInfoServiceManger fetchUID] forKey:@"uid"];
    [params setObject:@YES forKey:@"needGoods"];
    @weakify(self)
    [[ALNetWorking startInterface] Post:[NSString stringWithFormat:@"%@/%@",domainHTTP2,@"share/createShareInfo"] param:params success:^(NSDictionary *object)
     {
        @strongify(self)
        dispatch_async(dispatch_get_main_queue(), ^{
            [self.view hideToastActivity];
            self.buttomView.shareButton.enabled = YES;
            if ([object[@"code"] integerValue] == 0) {
                if (!self.goodsModel) {
                    ALToastCenter(@"商品加载中!");
                    return;
                }
                NSDictionary *dataDictionary = @{@"goods" : self.goodsModel, @"share" : object[@"data"], @"goodsId" : [NSString stringWithFormat:@"%@",self.goodsID]};
                NewGoodsShareController *newGoodsShareVc = [[NewGoodsShareController alloc] init];
                newGoodsShareVc.dataDictionary = dataDictionary;
                [self.navigationController pushViewController:newGoodsShareVc animated:YES];
            } else {
                [JRToast showWithText:object[@"msg"] bottomOffset:kToolBarH + 15 duration:1.2f];
            }
        });
    } fail:^(id object) {
        @strongify(self)
        [self.view hideToastActivity];
        self.buttomView.shareButton.enabled = YES;
    }];
}
#pragma mark --- é¢†åˆ¸è¿”利/立即购买 ---
- (void)buyClicked:(ButtomCarView *)view {
    self.isCopyTaokouling = NO;
    self.transitionView.contentLabel.text = @"购买后有返利,分享后有奖金";
    [UMCustomShop umDetail_buy];
    [UMCustomShop umDetail_buy_common];
    if (![ALUserInfoServiceManger fetchUID]) {
        [self onLoginVcName:nil title:nil];
        return ;
    }
    // æ˜¯å¦æ¿€æ´»é‚€è¯·åŠŸèƒ½
//    if (![ALUserInfoServiceManger isInvited]) {
//        [self onInviteVcName:nil];
//        return;
//    }
    [self getDYLnk];
}
- (void)getDYLnk {
    NSDictionary *dic = @{@"uid":[ALUserInfoServiceManger fetchUID],@"id":self.goodsModel.goodsId?:@"",@"from" : @"goodsDetail",@"source":self.from?:@""};
    [self.view makeToastActivity:CSToastPositionCenter];
    @weakify(self)
    [JYNetWorking Post:[NSString stringWithFormat:@"%@/%@",domainHTTP2,@"goods/getDYLink"] param:dic success:^(NSDictionary *object) {
        [self.view hideToastActivity];
        @strongify(self)
        if ([object[@"code"] integerValue] == 0) {
            if (self.from && [self.from isEqualToString:@"miandan"]) {// å¦‚果是免单,down掉
                [self couponGetGoodsCouponList];
                return;
            }
            self.native = [object[@"data"][@"native"] boolValue]; //是否跳转原生
            self.shoppingUrl = object[@"data"][@"jumpLink"];
            self.nativeJumpLink = object[@"data"][@"nativeJumpLink"];
            self.transitionView.hidden = NO;
            [self.transitionView showTransitionView];
            [self performSelector:@selector(buyDYGoods) withObject:nil/*可传任意类型参数*/ afterDelay:0.5];
        } else {
            [JRToast showWithText:object[@"msg"] bottomOffset:kToolBarH + 15 duration:1.2f];
        }
    } fail:^(id object) {
        [self.view hideToastActivity];
    }];
}
- (void)buyDYGoods {
    [self jumpDY:self.native jumpLink:self.shoppingUrl nativeJumpLink:self.nativeJumpLink];
}
- (void)jumpDY:(BOOL)native jumpLink:(NSString *)jumpLink nativeJumpLink:(NSString *)nativeJumpLink {
    NSURL *url = [NSURL URLWithString:nativeJumpLink];
    if ( [[UIApplication sharedApplication] canOpenURL:url]) {
        [[UIApplication sharedApplication] openURL:url];
        [self hideTransitionView];
    } else {
        if(jumpLink){
            ShonpingShareViewController *shonpingShareVc = [[ShonpingShareViewController alloc] init];
            shonpingShareVc.urlString = jumpLink?:@"";
            [self.navigationController pushViewController:shonpingShareVc animated:YES];
        }else{
            [self hideTransitionView];
            [JRToast showWithText:@"尚未安装抖音" bottomOffset:kToolBarH + 15 duration:1.2f];
        }
    }
}
- (void)couponGetGoodsCouponList {
    if(![ALUserInfoServiceManger fetchUID]){
        return;
    }
    NSMutableDictionary *params = [[NSMutableDictionary alloc] init];
    [params setObject:[ALUserInfoServiceManger fetchUID] forKey:@"uid"];
    [params setObject:self.goodsID forKey:@"goodsId"];
    [params setObject:@"3" forKey:@"goodsType"];
    @weakify(self)
    [JYNetWorking Post:[NSString stringWithFormat:@"%@/%@",domainHTTP,@"user/coupon/getFreeCouponList"] param:params success:^(NSDictionary *object)
     {
        @strongify(self)
        if ([object[@"code"] integerValue] == 0) {
            self.noSingleTicketView.datasource = object[@"data"];
            [self.noSingleTicketView showNoSingleTicketView];
        } else {
            [JRToast showWithText:object[@"msg"] bottomOffset:kToolBarH + 15 duration:1.2f];
        }
    } fail:^(id object) {
    }];
}
#pragma mark - NoSingleTicketViewDelegate ï¼ˆå…å•券)
- (void)NoSingleUseClicked:(NoSingleTicketView *)TicketView quanID:(NSString *)quanID {
    NSDictionary *params = @{@"uid":[ALUserInfoServiceManger fetchUID],@"cid":quanID,@"goodId":self.goodsModel.goodsId,@"goodsType":@"3"};
    [JYNetWorking Post:[NSString stringWithFormat:@"%@/%@",domainHTTP,@"user/coupon/useFreeCoupon"] param:params success:^(NSDictionary *object) {
        if (object != nil && [object[@"code"] integerValue] == 0) {
            self.transitionView.hidden = NO;
            [self.transitionView showTransitionView];
            [self performSelector:@selector(buyDYGoods) withObject:nil/*可传任意类型参数*/ afterDelay:0.5];
        } else {
            [JRToast showWithText:object[@"msg"] duration:1.2];
        }
    } fail:^(id object) {
    }];
}
- (void)footprintTaped:(UIButton *)sender {
    [UMCustomShop umDetail_footer];
    FootprintsViewController *footprintsVc = [[FootprintsViewController alloc] init];
    [self.navigationController pushViewController:footprintsVc animated:YES];
}
#pragma mark --- ç‚¹å‡»æ”¶è— ---
- (void)collectTaped:(UIButton *)sender {
    if (![ALUserInfoServiceManger fetchUID]) {
        [self onLogin:@"collection" tips:@"登录后才能收藏哦"];
        return;
    }
    // æ˜¯å¦æ¿€æ´»é‚€è¯·åŠŸèƒ½
//    if (![ALUserInfoServiceManger isInvited]) {
//        [self onInviteVcName:nil];
//        return;
//    }
    [self fecthAndPostCollection];
}
- (void)fecthAndPostCollection {
    if (![self socketReachabilityTest]) {
        [JRToast showWithText:NETWORK_CONNECT_ANOMALY bottomOffset:kToolBarH + 15 duration:1.2f];
        return;
    }
    self.buttomView.buttonCollection.enabled = NO;
    NSMutableDictionary *params = @{}.mutableCopy;
    [params setObject:[ALUserInfoServiceManger fetchUID] forKey:@"uid"];
    [params setObject:self.goodsModel.goodsId forKey:@"id"];
    [params setObject:[NSString stringWithFormat:@"%ld",(long)_goodsType] forKey:@"goodsType"];
    if (!self.isCollection) {
        [params setObject:@"1" forKey:@"type"];
    } else {
        [params setObject:@"2" forKey:@"type"];
    }
    [[YTHNetInterface startInterface] cancelAll];
    @weakify(self)
    [JYNetWorking Post:[NSString stringWithFormat:@"%@/%@",domainHTTP2,@"consumer/collectionGoods"] param:params success:^(NSDictionary *object) {
        @strongify(self)
        NSInteger code = [object[@"code"] integerValue];
        if (code == 0) {
            self.isCollection = !self.isCollection;
            if (self.isCollection) {
                [UMCustomShop umDetail_collect];
                self.isCollection = YES;
            } else {
                [UMCustomShop umDetail_collect_cancel];
                self.isCollection = NO;
            }
            self.buttomView.isCollection = self.isCollection;
            [JRToast showWithText:object[@"data"] duration:1.2f];
        } else {
            [JRToast showWithText:object[@"msg"] duration:1.2f];
        }
        self.buttomView.buttonCollection.enabled = YES;
    } fail:^(id object) {
        self.buttomView.buttonCollection.enabled = YES;
    }];
}
#pragma mark --- æ·»åŠ åˆ†äº«åº“ ---
- (void)ProLibraryTaped:(UIButton *)sender {
    if (![ALUserInfoServiceManger fetchUID]) {
        [self onLoginVcName:nil title:nil];
        return ;
    }
    // æ˜¯å¦æ¿€æ´»é‚€è¯·åŠŸèƒ½
//    if (![ALUserInfoServiceManger isInvited]) {
//        [self onInviteVcName:nil];
//        return;
//    }
    sender.userInteractionEnabled = NO;
    [self onecClickBilling];
}
- (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)
        dispatch_async(dispatch_get_main_queue(), ^{
            self.isRequestAPI = NO;
            [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
{
    [[NSNotificationCenter defaultCenter] postNotificationName:@"noticeMessageVcUpdateData" object:nil];
    [self.messageManger getMessage];
    [self getgoodsinfo];
}
#pragma mark --- ç™»å½• ---
- (void)onLogin:(NSString *)name tips:(NSString *)tips
{
    [JRToast showWithText:tips?:@"请先登录返利券账号" bottomOffset:kToolBarH + 15 duration:1.2f];
    NewLoginViewController *loginVc = [[NewLoginViewController alloc] init];
    loginVc.rootVc = self;
    loginVc.delegate = self;
    loginVc.vcName = name;
    loginVc.from = @"拼多多详情";
    [self.navigationController pushViewController:loginVc animated:YES];
}
#pragma mark - GDetailViewDelegate
- (void)backClicked:(GDetailView *)view
{
    [self.navigationController popViewControllerAnimated:YES];
}
- (CGRect)setsecionFrame:(NSInteger)secion
{
    CGRect frame =  [self.detailTableview rectForHeaderInSection:secion];
    CGFloat height = 66;
    if (IS_IPHONE_X) {
        height = 86;
    }
    CGRect frame1 = CGRectMake(frame.origin.x, frame.origin.y - height, frame.size.width, frame.size.height);
    return frame1;
}
- (void)topButtonClicked:(GDetailView *)view sender:(UIButton *)sender
{
    sender.selected = YES;
    _isClicked = YES;
    self.topView.lineView.frame = CGRectMake(CGRectGetMidX(sender.frame) - 21, CGRectGetMaxY(sender.frame)-5, 40, 4);
    if (sender == self.topView.goodButton) {
        self.topView.alpha = 0;
        self.topView.likeButton.selected = NO;
        self.topView.detailButton.selected = NO;
        self.topView.recommendButton.selected = NO;
        NSIndexPath *indexPath = [NSIndexPath indexPathForRow:0 inSection:0];
        [self.detailTableview scrollToRowAtIndexPath:indexPath
                                    atScrollPosition:UITableViewScrollPositionTop animated:YES];
    }
    if (sender == self.topView.detailButton) {
        self.topView.alpha = 1;
        self.topView.goodButton.selected = NO;
        self.topView.recommendButton.selected = NO;
        self.topView.likeButton.selected = NO;
        if (self.code != 2) {
            CGRect frame = [self setsecionFrame:2];
            [_detailTableview setContentOffset:CGPointMake(frame.origin.x, frame.origin.y)];
        }
    }
    if (sender == self.topView.likeButton) {
        self.topView.alpha = 1;
        self.topView.goodButton.selected = NO;
        self.topView.detailButton.selected = NO;
        self.topView.recommendButton.selected = NO;
        int selectI = 0;
        if (self.code == 2) {
            selectI = 1;
        } else {
            selectI = 3;
        }
        CGRect frame = [self setsecionFrame:selectI];
        [_detailTableview setContentOffset:CGPointMake(frame.origin.x, frame.origin.y)];
    }
    if (sender == self.topView.recommendButton) {
        self.topView.alpha = 1;
        self.topView.goodButton.selected = NO;
        self.topView.detailButton.selected = NO;
        self.topView.likeButton.selected = NO;
        NSIndexPath *indexPath = nil;
        if (self.code == 2) {
            NSInteger w = [self.detailTableview numberOfRowsInSection:1];
            if (w!=0) {
                indexPath = [NSIndexPath indexPathForRow:0 inSection:1];
            }
        } else {
            int i = 0;
            if (_shopDetailType == 4) {
                i = 4;
            }else{
                i = 3;
            }
            CGRect frame = [self setsecionFrame:i];
            [_detailTableview setContentOffset:CGPointMake(frame.origin.x, frame.origin.y)];
        }
    }
}
- (void)showShopDetail:(UIButton *)sender
{
    [UMCustomShop umDetail_detail];
    isShowdetail = !isShowdetail;
    [self.detailTableview reloadData];
}
#pragma mark - scrollViewDelegate
- (void)scrollViewDidScroll:(UIScrollView *)scrollView
{
    if (scrollView.contentOffset.y > self.lastContentOffest) {
        self.lastContentOffest = scrollView.contentOffset.y;
    }
    newContentOffsetY = scrollView.contentOffset.y;
    if (newContentOffsetY > oldContentOffsetY && oldContentOffsetY > contentOffsetY) { // å‘上滚动
    } else if (newContentOffsetY < oldContentOffsetY && oldContentOffsetY < contentOffsetY) {// å‘下滚动
    } else {
    }
    if (scrollView.dragging) { // æ‹–拽
        if ((scrollView.contentOffset.y - contentOffsetY) > 5.0f) {  // å‘上拖拽
            self.topView.alpha = - (contentOffsetY - scrollView.contentOffset.y) / 150.0;
            if ( scrollView.contentOffset.y > 150) {
                self.topView.alpha = 1;
                self.topView.navGaryLine.alpha = 1;
                [_backButton setImage:[UIImage imageNamed:@"Left_back"] forState:UIControlStateNormal];
                [_moreShareButton setImage:[UIImage imageNamed:@"更多___up"] forState:UIControlStateNormal];
            }else
                if (scrollView.contentOffset.y < 10) {
                    self.topView.alpha = 0;
                    self.topView.navGaryLine.alpha = 0;
                    [_backButton setImage:[UIImage imageNamed:@"left_back_around"] forState:UIControlStateNormal];
                    [_moreShareButton setImage:[UIImage imageNamed:@"更多___"] forState:UIControlStateNormal];
                }
        }
        else if ((contentOffsetY - scrollView.contentOffset.y) > 5.0f)
        {   // å‘下拖拽
            self.topView.alpha = 1/ ((contentOffsetY - scrollView.contentOffset.y) / 150.0);
            if (scrollView.contentOffset.y < 10) {
                //滑到顶部更新
                self.topView.alpha = 0;
                self.topView.navGaryLine.alpha = 0;
                [_backButton setImage:[UIImage imageNamed:@"left_back_around"] forState:UIControlStateNormal];
                [_moreShareButton setImage:[UIImage imageNamed:@"更多___"] forState:UIControlStateNormal];
            }
            if ( scrollView.contentOffset.y > 150) {
                self.topView.alpha = 1;
                [_backButton setImage:[UIImage imageNamed:@"Left_back"] forState:UIControlStateNormal];
                [_moreShareButton setImage:[UIImage imageNamed:@"更多___up"] forState:UIControlStateNormal];
                self.topView.navGaryLine.alpha = 1;
            }
        } else {
        }
    }
    if (_isClicked) {
        _isClicked = NO;
    } else {
        NSIndexPath *indexpath = [self .detailTableview indexPathForRowAtPoint:CGPointMake(scrollView.contentOffset.x, scrollView.contentOffset.y)];
        if (indexpath.section == 0 && indexpath != nil) {
            self.topView.lineView.frame = CGRectMake(CGRectGetMidX(self.topView.goodButton.frame) - 21, CGRectGetMaxY(self.topView.goodButton.frame)-5, 40, 4);
            self.topView.goodButton.selected = YES;
            self.topView.detailButton.selected = NO;
            self.topView.recommendButton.selected = NO;
            self.topView.likeButton.selected = NO;
        }
        if (indexpath.section == 2 || (indexpath == nil && self.code != 2)) {
            self.topView.lineView.frame = CGRectMake(CGRectGetMidX(self.topView.detailButton.frame) - 21, CGRectGetMaxY(self.topView.detailButton.frame)-5, 40, 4);
            self.topView.goodButton.selected = NO;
            self.topView.detailButton.selected = YES;
            self.topView.recommendButton.selected = NO;
            self.topView.likeButton.selected = NO;
        }
        if (indexpath.section == 3) {
            if (_shopDetailType == 2 || _shopDetailType == 4) {
                self.topView.lineView.frame = CGRectMake(CGRectGetMidX(self.topView.likeButton.frame) - 21, CGRectGetMaxY(self.topView.likeButton.frame)-5, 40, 4);
                self.topView.likeButton.selected = YES;
                self.topView.recommendButton.selected = NO;
            }else{
                self.topView.likeButton.selected = NO;
                self.topView.recommendButton.selected = YES;
                self.topView.lineView.frame = CGRectMake(CGRectGetMidX(self.topView.recommendButton.frame) - 21, CGRectGetMaxY(self.topView.recommendButton.frame)-5, 40, 4);
            }
            self.topView.goodButton.selected = NO;
            self.topView.detailButton.selected = NO;
        }
        if (indexpath.section == 4) {
            self.topView.lineView.frame = CGRectMake(CGRectGetMidX(self.topView.recommendButton.frame) - 21, CGRectGetMaxY(self.topView.recommendButton.frame)-5, 40, 4);
            self.topView.goodButton.selected = NO;
            self.topView.detailButton.selected = NO;
            self.topView.recommendButton.selected = YES;
            self.topView.likeButton.selected = NO;
        }
    }
}
- (void)scrollViewDidEndScrollingAnimation:(UIScrollView *)scrollView
{
    _isClicked = NO;
}
#pragma mark --- UITableViewDelegate,UITableViewDataSource ----
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{
    if (self.code == 2) {
        if (_shopDetailType == 2 || _shopDetailType == 3) {
            return 2;
        } else if (_shopDetailType == 4) {
            return 3;
        } else {
            return 1;
        }
    }
    switch (_shopDetailType) {
        case 4:
        {
            return 5;
        } break;
        case 1:
        {
            return 3;
        } break;
        case 2:
        {
            return 4;
        } break;
        case 3:
        {
            return 4;
        } break;
        default:
            break;
    }
    return 0;
}
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
    if (section == 0) {
        return 1;
    }
    if (section == 2) {
        if (self.code == 2) {
            if (self.recommendArray.count != 0) {
                return 1;
            }
        }
        return 0;
    }
    if (section == 1) {
        if (self.code == 2) {
            if (self.likeArray.count != 0) {
                return 1;
            }
            if (self.recommendArray.count != 0) {
                return 1;
            }
        }
        return 0;
    }
    if (section == 3 || section == 4 ) {
        return 1;
    }
    return 0;
}
- (CGFloat)getSpaceLabelHeight:(NSString *)str withAttrDict:(NSDictionary *)dict withWidth:(CGFloat)width {
    CGSize size = [str boundingRectWithSize:CGSizeMake(width, MAXFLOAT) options:NSStringDrawingUsesLineFragmentOrigin attributes:dict context:nil].size;
    return size.height;
}
-(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {
    if (indexPath.section == 0) {
        // code == 2 å•†å“ä¸‹æž¶
        if (self.code == 2) {
            return SCREEN_WIDTH;
        }
        UIImage *icomImage = [UIImage imageNamed:@"ic_share_dy"];
        NSMutableParagraphStyle *style = [[NSParagraphStyle defaultParagraphStyle] mutableCopy];
        style.lineSpacing = 3;
        // å¯¹é½æ–¹å¼
        style.alignment = NSTextAlignmentLeft;
        // é¦–行缩进
        CGFloat firstLineHeadIndentHeight = 0;
        if ([self.goodsModel.title hasPrefix:@"【"]) {
            firstLineHeadIndentHeight = icomImage.size.width;
        } else {
            firstLineHeadIndentHeight = icomImage.size.width + 8;
        }
        style.firstLineHeadIndent =  firstLineHeadIndentHeight;
        NSDictionary *attributeDic = @{NSParagraphStyleAttributeName:style,NSFontAttributeName:[UIFont systemFontOfSize:15]};
        CGFloat height = [self getSpaceLabelHeight:[NSString stringWithFormat:@"%@",self.goodsModel.title] withAttrDict:attributeDic withWidth:SCREEN_WIDTH - 20];
        //是否有超级会员返
        CGFloat maxCouponHeight = 0;
        if (![self.from isEqualToString:@"miandan"]) {// æ˜¯å¦æ˜¯å…å•
            if ([ALUserInfoServiceManger fetchUserInfo]) {// æ˜¯å¦ç™»é™†
                if (![ALUserInfoServiceManger isMembership]) {// æ˜¯å¦æ˜¯ä¼šå‘˜
                    if (self.goodsModel.otherInfo.rewardCoupon) {
                        maxCouponHeight = 50;
                    }
                }
            } else {
                if (self.goodsModel.otherInfo.rewardCoupon) {
                    maxCouponHeight = 50;
                }
            }
        }
        //是否有标签
        CGFloat labelsHeght = 0;
        if ([self isHaveValue:self.goodsModel.labels]) {
            labelsHeght = 22;
        }
        CGFloat jianqu = 0;
        if ([YTHsharedManger startManger].iosonling == 1) {
            jianqu = 40;
        }
        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;
            }
        } else {
            return SCREEN_WIDTH + 117 + height + maxCouponHeight + labelsHeght - jianqu;
        }
    }
    if (indexPath.section == 1) {
        if (self.code == 2) {
            if (self.likeArray.count != 0) {
                NSInteger height = self.likeArray.count / 2 ;
                if (self.likeArray.count % 2 != 0) {
                    height = height + 1;
                }
                return  height  * ((SCREEN_WIDTH-30)/2+136);
            }
            if (self.recommendArray.count != 0) {
                NSInteger height = self.recommendArray.count / 2 ;
                if (self.recommendArray.count % 2 != 0) {
                    height = height + 1;
                }
                return  height  * ((SCREEN_WIDTH-30)/2+136);
            }
        } else {
            if (self.shareUsersArray.count == 0) {
                return CGFLOAT_MIN;
            } else {
                return 62;
            }
        }
    }
    if (indexPath.section == 2) {
        if (self.code == 2) {
            NSInteger height = self.recommendArray.count / 2 ;
            if (self.recommendArray.count % 2 != 0) {
                height = height +1;
            }
            return  height  * ((SCREEN_WIDTH-30)/2+136);
        }
    }
    CGFloat collectioncellheight = 305;
    if (SCREEN_WIDTH < 375) {
        collectioncellheight = 275;
    } else if (SCREEN_WIDTH > 375) {
        collectioncellheight = 325;
    }
    if (indexPath.section == 3) {
        if (_shopDetailType == 2 || _shopDetailType == 4) {
            NSInteger height = self.likeArray.count / 2;
            if (self.likeArray.count % 2 != 0) {
                height = height + 1;
            }
            return  height  * collectioncellheight + 15;
        } else {
            NSInteger height = self.recommendArray.count / 2 ;
            if (self.recommendArray.count % 2 != 0) {
                height = height + 1;
            }
            return  height  * collectioncellheight + 15;
        }
    }
    if (indexPath.section == 4) {
        NSInteger height = self.recommendArray.count / 2 ;
        if (self.recommendArray.count % 2 != 0) {
            height = height + 1;
        }
        return  height  * collectioncellheight + 15;
    }
    return CGFLOAT_MIN;
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    if (indexPath.section == 0) {
        if (self.code == 2) {
            NSString *identifier = @"NoShopTableViewCell";
            NoShopTableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:identifier];
            if (!cell) {
                cell = [[NoShopTableViewCell alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentifier:identifier];
            }
            cell.NoImage.image = [UIImage imageNamed:@"没有商品"];
            cell.selectionStyle = UITableViewCellSelectionStyleNone;
            return cell;
        }
        NSString *identifier = @"GoodsHeaderTableViewCell";
        JDGoodsHeaderTableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:identifier];
        if (!cell) {
            cell = [[JDGoodsHeaderTableViewCell alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentifier:identifier];
        }
        cell.delegate  = self;
        cell.from = self.from;
        cell.fanliValid = self.fanliValid;
        cell.shareValid = self.shareValid;
        cell.cloudOpen = self.cloudOpen;
        cell.model = self.goodsModel;
        [cell.buttonHairCircle addTarget:self action:@selector(ProLibraryTaped:) forControlEvents:UIControlEventTouchUpInside];
        @weakify(self)
        cell.touchCheckLike = ^{
            @strongify(self)
            SearchDetailMainController *searchDetailMainVc = [[SearchDetailMainController alloc] init];
            searchDetailMainVc.goodsType = @"1";
            searchDetailMainVc.searchKey = self.goodsModel.title;
            [self.navigationController pushViewController:searchDetailMainVc animated:YES];
        };
        cell.selectionStyle = UITableViewCellSelectionStyleNone;
        if (!self.goodsModel) {
            CATransition *animation = [CATransition animation];
            animation.type = kCATransitionFade;
            animation.duration = 0.4;
            [cell.layer addAnimation:animation forKey:nil];
            cell.hidden = YES;
            self.buttomView.hidden = YES;
        } else {
            CATransition *animation = [CATransition animation];
            animation.type = kCATransitionFade;
            animation.duration = 0.4;
            [cell.layer addAnimation:animation forKey:nil];
            cell.hidden = NO;
            self.buttomView.hidden = NO;
        }
        return cell;
    }
    if (indexPath.section == 2) {
        if (self.code == 2) {
            if (self.recommendArray.count != 0) {
                if (!self.goodsModel) {
                    CATransition *animation = [CATransition animation];
                    animation.type = kCATransitionFade;
                    animation.duration = 0.4;
                    [self.recomeCell.layer addAnimation:animation forKey:nil];
                    self.recomeCell.hidden = YES;
                } else {
                    CATransition *animation = [CATransition animation];
                    animation.type = kCATransitionFade;
                    animation.duration = 0.4;
                    [self.recomeCell.layer addAnimation:animation forKey:nil];
                    self.recomeCell.hidden = NO;
                }
                return self.recomeCell;
            }
        }
    }
    if (indexPath.section == 1) {
        if (self.code == 2) {
            if (self.likeArray != 0) {
                return self.likeCell;
            }
            if (self.recommendArray != 0) {
                return self.recomeCell;
            }
        }
    }
    if (indexPath.section == 3) {
        if (_shopDetailType == 2 || _shopDetailType == 4) {
            return self.likeCell;
        } else {
            return self.recomeCell;
        }
    } else {
        return self.recomeCell;
    }
}
- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section
{
    if (self.code == 2) {
        return 46;
    }
    if (section == 0 ) {
        return CGFLOAT_MIN;
    }
    if (section == 1) {
        if (self.shareUsersArray.count == 0) {
            return CGFLOAT_MIN;
        }
        return 62;
    }
    if (section == 4 && _shopDetailType == 2) {
        return CGFLOAT_MIN;
    }
    return 46;
}
- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section
{
    UIView *view = [[UIView alloc]initWithFrame:CGRectMake(0, 0, SCREEN_WIDTH, 45)];
    view.backgroundColor = [UIColor whiteColor];
    if (self.code == 2) {
        if (section == 1) {
            if (self.likeArray.count != 0) {
                UIView *headerView = [self setHeaderViewWithTitle:@"猜你喜欢" imageName:@"detail_icon_喜欢"];
                return headerView;
            }
            if (self.recommendArray.count != 0) {
                UIView *headerView = [self setHeaderViewWithTitle:@"相关推荐" imageName:@"detail_icon_推荐"];
                return headerView;
            }
        }
        if (section == 2) {
            UIView *headerView = [self setHeaderViewWithTitle:@"相关推荐" imageName:@"detail_icon_推荐"];
            return headerView;
        }
    }
    if(section == 1) {
        if (self.shareUsersArray.count != 0) {
            return self.shopview;
        }
    }
    if (section == 2) {
        UILabel *label = [[UILabel alloc]initWithFrame:CGRectMake(15, 0, SCREEN_WIDTH - 40, 45)];
        label.text = @"查看宝贝详情";
        label.font = [UIFont systemFontOfSize:15];
        label.textColor = SJColor(68, 68, 68, 1);
        [view addSubview:label];
        UIImageView *imageview = [[UIImageView alloc]init];
        imageview.frame = CGRectMake(SCREEN_WIDTH - 32 - 10, CGRectGetMidY(label.frame) - 11, 22, 22);
        UIView *lineView = [[UIView alloc]initWithFrame:CGRectMake(0, 44, SCREEN_WIDTH, 1)];
        lineView.backgroundColor = XYRBackgroundColor;
        if (isShowdetail) {
            imageview.image = [UIImage imageNamed:@"箭头向下"];
            lineView.hidden = NO;
        }else{
            imageview.image = [UIImage imageNamed:@"箭头向右"];
            lineView.hidden = YES;
        }
        [view addSubview:imageview];
        UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];
        button.frame = label.frame;
        [button addTarget:self action:@selector(showShopDetail:) forControlEvents:UIControlEventTouchUpInside];
        [view addSubview:button];
    }
    /// 4 æ­£å¸¸   1 æ— å–œæ¬¢ã€æŽ¨è  2 æ— æŽ¨è  3 æ— å–œæ¬¢
    if (section == 3 ) {
        if (_shopDetailType == 2 || _shopDetailType == 4) {
            UIView *headerView = [self setHeaderViewWithTitle:@"猜你喜欢" imageName:@"detail_icon_喜欢"];
            return headerView;
        } else {
            UIView *headerView = [self setHeaderViewWithTitle:@"相关推荐" imageName:@"detail_icon_推荐"];
            return headerView;
        }
    }
    if (section == 4) {
        UIView *headerView = [self setHeaderViewWithTitle:@"相关推荐" imageName:@"detail_icon_推荐"];
        return headerView;
    }
    return view;
}
- (UIView *)setHeaderViewWithTitle:(NSString *)title imageName:(NSString *)imageName
{
    UIView *view = [[UIView alloc]initWithFrame:CGRectMake(0, 0, SCREEN_WIDTH, 45)];
    view.backgroundColor = [UIColor whiteColor];
    UILabel *label = [[UILabel alloc]initWithFrame:CGRectMake(SCREEN_WIDTH / 2 - 30, 0, 70, 45)];
    label.textAlignment = NSTextAlignmentCenter;
    label.text = title;
    label.textColor = XYRMainColor;
    label.font = [UIFont systemFontOfSize:17];
    [view addSubview:label];
    UIImageView *leftImage = [[UIImageView alloc]initWithFrame:CGRectMake(CGRectGetMinX(label.frame) - 66, CGRectGetMidY(view.frame) - 1, 25, 1)];
    leftImage.image = [UIImage imageNamed:@"guodu_left"];
    [view addSubview:leftImage];
    UIImageView *rightImage = [[UIImageView alloc]initWithFrame:CGRectMake(CGRectGetMaxX(label.frame) + 12, CGRectGetMinY(leftImage.frame), 25, 1)];
    rightImage.image = [UIImage imageNamed:@"guodu_right"];
    [view addSubview:rightImage];
    UIImageView *imageview = [[UIImageView alloc]initWithFrame:CGRectMake(CGRectGetMaxX(leftImage.frame) + 12, CGRectGetMidY(leftImage.frame) - 9.5, 19, 19)];
    imageview.image = [UIImage imageNamed:imageName];
    [view addSubview:imageview];
    return view;
}
- (CGFloat)tableView:(UITableView *)tableView heightForFooterInSection:(NSInteger)section
{
    if (section == 0) {
        if (self.code == 2) {
            return 10;
        } else {
            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;
            }
            heightFooter = heightCloud + heightRecommend + 10;
            return heightFooter;
        }
    } else {
        if (section == 1) {
            if (self.shareUsersArray.count == 0) {
                return CGFLOAT_MIN;
            }
        }
        if (section == 2) {
            if (isShowdetail) {
                if (self.webHeight > 50) {
                    return self.webHeight + 10;
                } else {
                    return 50;
                }
            } else {
                return 10;
            }
        }
        return 10;
    }
}
- (UIView *)tableView:(UITableView *)tableView viewForFooterInSection:(NSInteger)section
{
    if (section == 0) {
        if (self.code == 2) {
            UIView *view = [[UIView alloc] initWithFrame:CGRectMake(0, 0, SCREEN_WIDTH, 10)];
            view.backgroundColor = XYRBackgroundColor;
            return view;
        } else {
            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;
            }
            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;
        }
    } else {
        if (section == 2) {
            if (isShowdetail) {
                if (self.webHeight > 50) {
                    self.contentScrollView.frame = CGRectMake(0, 0, SCREEN_WIDTH, self.webHeight + 10);
                    self.contentScrollView.backgroundColor = XYRBackgroundColor;
                    self.detailWebView.frame = CGRectMake(0, 0, SCREEN_WIDTH, self.webHeight);
                    [self.contentScrollView addSubview:self.detailWebView];
                } else {
                    self.contentScrollView.frame = CGRectMake(0, 0, SCREEN_WIDTH, 50);
                    self.contentScrollView.backgroundColor = XYRBackgroundColor;
                    [self.webLoadProgressView removeFromSuperview];
                    [self.contentScrollView addSubview:self.webLoadProgressView];
                }
                return self.contentScrollView;
            }
        }
        UIView *view = [[UIView alloc] initWithFrame:CGRectMake(0, 0, SCREEN_WIDTH, 10)];
        view.backgroundColor = XYRBackgroundColor;
        return view;
    }
}
/**
 *   ç‚¹å‡»åº—铺
 */
- (void)onClickStore
{
    kPreventRepeatClickTime(0.5);
    [UMCustomShop umGoods_detail_shop_detail];
    ShonpingShareViewController *shonpingShareVc = [[ShonpingShareViewController alloc] init];
    shonpingShareVc.navaTitle = self.goodsModel.shopInfo.shopName;
    shonpingShareVc.urlString = self.goodsModel.shopInfo.shopLink;
    [self.navigationController pushViewController:shonpingShareVc animated:YES];
}
#pragma mark --- getter ---
- (UITableView *)detailTableview
{
    if (_detailTableview ) {
        return _detailTableview;
    }
    _tableviewHeight = 50;
    if (IS_IPHONE_X) {
        _tableviewHeight = 70;
    }
    _detailTableview = [[UITableView alloc ]initWithFrame:CGRectMake(0, 0, SCREEN_WIDTH, SCREEN_HEIGHT - _tableviewHeight) style:UITableViewStyleGrouped];
    _detailTableview.delegate = self;
    _detailTableview.dataSource = self;
    _detailTableview.rowHeight = 300;
    _detailTableview.separatorStyle = UITableViewCellSelectionStyleNone;
    _detailTableview.estimatedRowHeight = 0;
    _detailTableview.estimatedSectionFooterHeight = 0;
    _detailTableview.estimatedSectionHeaderHeight = 0;
    _detailTableview.hidden = YES;
    _detailTableview.backgroundColor = XYRBackgroundColor;
    @weakify(self)
    MJRefreshAutoNormalFooter *footer = [MJRefreshAutoNormalFooter footerWithRefreshingBlock:^{
        @strongify(self)
        [self.detailTableview.mj_footer endRefreshingWithNoMoreData];
    }];
    [footer setTitle:@"" forState:MJRefreshStateIdle];
    [footer setTitle:@"" forState:MJRefreshStatePulling];
    [footer setTitle:@"" forState:MJRefreshStateRefreshing];
    _detailTableview.mj_footer = footer;
    [_detailTableview registerNib:[UINib nibWithNibName:@"GDDetailTableViewCell" bundle:nil] forCellReuseIdentifier:@"GDDetailTableViewCell"];
    [_detailTableview registerNib:[UINib nibWithNibName:@"NoShopTableViewCell" bundle:nil] forCellReuseIdentifier:@"NoShopTableViewCell"];
    //解决滑动视图顶部空出状态栏高度的问题
    if (@available(iOS 11.0, *)) {
        _detailTableview.contentInsetAdjustmentBehavior = UIScrollViewContentInsetAdjustmentNever;
    } else {
        if([UIViewController instancesRespondToSelector:@selector(edgesForExtendedLayout)]) {
            self.edgesForExtendedLayout = UIRectEdgeNone;
        }
    }
    return _detailTableview;
}
- (GDetailView *)topView
{
    if (_topView) {
        return _topView;
    }
    NSInteger height = 0;
    _topView = [[GDetailView alloc]initWithFrame:CGRectMake(0, height, SCREEN_WIDTH , kNavigationBarH + kStatusBarH)];
    _topView.backgroundColor = FLQNewNavigationBarColor;
    _topView.goodButton.selected = YES;
    _topView.lineView.frame = CGRectMake(CGRectGetMidX(self.topView.goodButton.frame) - 21, CGRectGetMaxY(self.topView.goodButton.frame)-5, 40, 4);
    _topView.delegate = self;
    _topView.alpha = 0;
    return _topView;
}
- (ButtomCarView *)buttomView {
    if (_buttomView) {
        return _buttomView;
    }
    NSInteger height = 50;
    if (IS_IPHONE_X) {
        height = 70;
    }
    _buttomView = [[ButtomCarView alloc]initWithFrame:CGRectMake(0, SCREEN_HEIGHT - height, SCREEN_WIDTH , height)];
    _buttomView.delegate = self;
    return _buttomView;
}
- (JDNOFanLiButtonView *)noFanLiButtomView
{
    if (_noFanLiButtomView) {
        return _noFanLiButtomView;
    }
    NSInteger height = IS_IPHONE_X? 70:50;
    _noFanLiButtomView = [[JDNOFanLiButtonView alloc]initWithFrame:CGRectMake(0, SCREEN_HEIGHT - height, SCREEN_WIDTH , height)];
    _noFanLiButtomView.hidden = YES;
    @weakify(self)
    _noFanLiButtomView.onClickButtonEvent = ^(NSInteger type) {
        @strongify(self)
        if (type == 0) {
            [self collectTaped:nil];
        } else if (type == 1) {
            [self buyClicked:nil];
        }
    };
    return _noFanLiButtomView;
}
- (DYTransformView *)transitionView
{
    if (_transitionView) {
        return _transitionView;
    }
    _transitionView = [[DYTransformView alloc]initWithFrame:CGRectMake(0, 0, SCREEN_WIDTH, SCREEN_HEIGHT)];
    _transitionView.hidden = YES;
    return _transitionView;
}
- (UIButton *)backButton
{
    if (_backButton ) {
        return _backButton;
    }
    _backButton = [UIButton buttonWithType:UIButtonTypeCustom];
    NSInteger height = 27;
    if (IS_IPHONE_X) {
        height = 47;
    }
    _backButton.frame = CGRectMake(20, height, 30, 30);
    [_backButton setImage:[UIImage imageNamed:@"left_back_around"] forState:UIControlStateNormal];
    return _backButton;
}
- (UIButton *)moreShareButton
{
    if (_moreShareButton ) {
        return _moreShareButton;
    }
    _moreShareButton = [UIButton buttonWithType:UIButtonTypeCustom];
    NSInteger height = 27;
    if (IS_IPHONE_X) {
        height = 47;
    }
    _moreShareButton.frame = CGRectMake(SCREEN_WIDTH - 20 - 30, height, 30, 30);
    [_moreShareButton setImage:[UIImage imageNamed:@"更多___"] forState:UIControlStateNormal];
    [_moreShareButton addTarget:self action:@selector(moreshareClicked:) forControlEvents:UIControlEventTouchUpInside];
    return _moreShareButton;
}
- (UIButton *)blockBackButton
{
    if (!_blockBackButton ) {
        _blockBackButton = [UIButton buttonWithType:UIButtonTypeCustom];
        _blockBackButton.frame = CGRectMake(0, 0, 70, kNavigationBarH + kStatusBarH);
        [_blockBackButton addTarget:self action:@selector(backTaped:) forControlEvents:UIControlEventTouchUpInside];
    }
    return _blockBackButton;
}
- (void)didReceiveMemoryWarning
{
    [super didReceiveMemoryWarning];
}
- (void)dealloc {
    [self.webTimerDis invalidate];
    self.webTimerDis = nil;
    if (self.timers) {
        dispatch_source_cancel(self.timers);
    }
    [[ALNetWorking startInterface] cancelAll];
    [[NSNotificationCenter defaultCenter] removeObserver:self];
    [[NSNotificationCenter defaultCenter] removeObserver:self];
    if (self.code != 2 && self.extraDictionary) {
        [self.detailWebView removeObserver:self forKeyPath:@"scrollView.contentSize"];
    }
}
- (SJNoNetwork *)noNetworkViews
{
    if (_noNetworkViews) {
        return _noNetworkViews;
    }
    _noNetworkViews = [[SJNoNetwork alloc]initWithFrame:CGRectMake(0, 0, SCREEN_WIDTH, SCREEN_HEIGHT)];
    _noNetworkViews.backgroundColor = XYRBackgroundColor;
    [_noNetworkViews.connectBtn addTarget:self action:@selector(ClickConnectBtn:) forControlEvents:UIControlEventTouchUpInside];
    [_noNetworkViews.buttonBack addTarget:self action:@selector(backTaped:) forControlEvents:UIControlEventTouchUpInside];
    _noNetworkViews.hidden = YES;
    _noNetworkViews.buttonBack.hidden = YES;
    return _noNetworkViews;
}
/**
 ç‚¹å‡»è”网
 */
- (void)ClickConnectBtn:(UIButton *)sender
{
    if (iOS10) {
        [[UIApplication sharedApplication] openURL:[NSURL URLWithString:UIApplicationOpenSettingsURLString]
                                           options:@{} completionHandler:nil];
    } else {
        [[UIApplication sharedApplication] openURL:[NSURL URLWithString:UIApplicationOpenSettingsURLString]];
    }
}
- (SJShopScrollView *)shopScrollView
{
    if (_shopScrollView) {
        return _shopScrollView;
    }
    _shopScrollView = [[SJShopScrollView alloc]initWithFrame:CGRectMake(10, CGRectGetMaxY(self.topView.frame) + 16, SCREEN_WIDTH * 0.75, 30)];
    return _shopScrollView;
}
- (SJRollingView *)currentRollingView
{
    if (_currentRollingView) {
        return _currentRollingView;
    }
    _currentRollingView = [[SJRollingView alloc]initWithFrame:CGRectMake(0, kNavigationBarH + kStatusBarH, SCREEN_WIDTH, RollingViewHeight)];
    _currentRollingView.hidden = YES;
    _currentRollingView.delegate = self;
    return _currentRollingView;
}
- (SJSharedTableViewCell *)shopview
{
    if (_shopview) {
        return _shopview;
    }
    _shopview = [[SJSharedTableViewCell alloc]initWithFrame:CGRectMake(0, 0, SCREEN_WIDTH, 62)];
    _shopview.backgroundColor = [UIColor whiteColor];
    return _shopview;
}
- (GDrecomeTableViewCell *)likeCell
{
    if (_likeCell) {
        return _likeCell;
    }
    _likeCell = [[GDrecomeTableViewCell alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"GDrecomeTableViewCell"];
    _likeCell.delegate = self;
    _likeCell.selectionStyle = UITableViewCellSelectionStyleNone;
    return _likeCell;
}
- (GDrecomeTableViewCell *)recomeCell
{
    if (_recomeCell) {
        return _recomeCell;
    }
    _recomeCell = [[GDrecomeTableViewCell alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"GDrecomeTableViewCell"];
    _recomeCell.delegate = self;
    _recomeCell.selectionStyle = UITableViewCellSelectionStyleNone;
    return _recomeCell;
}
- (UIView *)backView {
    if (_backView) {
        return _backView;
    }
    _backView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, SCREEN_WIDTH, SCREEN_HEIGHT)];
    _backView.backgroundColor = UICOLOR_FROM_RGB(0xf3f3f3, 1.0);
    UIImage *image = nil;
    NSString *string = nil;
    image = ALIMAGE_NAMED(@"defaultPage_noGoods");
    string = @"该商品已经下架了~";
    UIImageView *imageview = [[UIImageView alloc] init];
    imageview.image = image;
    [_backView addSubview:imageview];
    _backView.hidden = YES;
    imageview.sd_layout.centerXEqualToView(_backView).centerYEqualToView(_backView).widthIs(image.size.width).heightIs(image.size.height);
    UILabel *label = [[UILabel alloc] init];
    label.textColor = UICOLOR_FROM_RGB(0x333333, 1.0);
    label.font = [UIFont systemFontOfSize:15];
    label.textAlignment = NSTextAlignmentCenter;
    label.text = string;
    [_backView addSubview:label];
    label.sd_layout.leftSpaceToView(_backView, 10).rightSpaceToView(_backView, 10).topSpaceToView(imageview, 20).autoHeightRatio(0);
    [label updateLayout];
    CGFloat imageTopSpace = (SCREEN_HEIGHT - image.size.height - 20 - label.frame.size.height) / 2;
    imageview.sd_resetLayout.centerXEqualToView(_backView).topSpaceToView(_backView, imageTopSpace).widthIs(image.size.width).heightIs(image.size.height);
    return _backView;
}
- (void)setDetailUrlString:(NSString *)detailUrlString
{
    _detailUrlString = detailUrlString;
    [self.detailWebView loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:detailUrlString]]];
}
- (WKWebView *)detailWebView
{
    if (_detailWebView) {
        return _detailWebView;
    }
    _detailWebView = [[WKWebView alloc]initWithFrame:CGRectMake(0, 0, SCREEN_WIDTH, 0)];
    _detailWebView.UIDelegate = self;
    _detailWebView.navigationDelegate = self;
    _detailWebView.scrollView.userInteractionEnabled = NO;//禁止滚动,防止与UITableView冲突
    [_detailWebView addObserver:self forKeyPath:@"scrollView.contentSize" options:NSKeyValueObservingOptionNew context:nil];
    return _detailWebView;
}
-(UIScrollView *)contentScrollView
{
    if (!_contentScrollView) {
        _contentScrollView = [[UIScrollView alloc]init];
        _contentScrollView.contentSize = CGSizeMake(SCREEN_WIDTH, SCREEN_HEIGHT);
        _contentScrollView.scrollEnabled = NO;//禁止滚动,防止与UITableView冲突
    }
    return _contentScrollView;
}
- (WebLoadProgressView *)webLoadProgressView
{
    if (!_webLoadProgressView) {
        _webLoadProgressView = [[WebLoadProgressView alloc] init];
        _webLoadProgressView.frame = CGRectMake(0, 0, SCREEN_WIDTH, 50);
    }
    return _webLoadProgressView;
}
// é¡µé¢å¼€å§‹åŠ è½½æ—¶è°ƒç”¨
- (void)webView:(WKWebView *)webView didStartProvisionalNavigation:(WKNavigation *)navigation
{
    @weakify(self)
    dispatch_async(dispatch_get_main_queue(), ^{
        @strongify(self)
        self.webTimerDis = [NSTimer scheduledTimerWithTimeInterval:3.0f target:self selector:@selector(doSomethingDis) userInfo:nil repeats:NO];
    });
}
- (void)doSomethingDis {
    [self.webLoadProgressView clearHideView];
}
// é¡µé¢åŠ è½½å®Œæˆä¹‹åŽè°ƒç”¨
- (void)webView:(WKWebView *)webView didFinishNavigation:(WKNavigation *)navigation
{
    @weakify(self)
    dispatch_async(dispatch_get_main_queue(), ^{
        @strongify(self)
        [self doSomethingDis];
    });
}
- (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary<NSKeyValueChangeKey,id> *)change context:(void *)context {
    if (object == self.detailWebView && [keyPath isEqual:@"scrollView.contentSize"]) {
        UIScrollView *scrollView = self.detailWebView.scrollView;
        CGSize size = CGSizeMake(SCREEN_WIDTH, scrollView.contentSize.height);
        if (size.height > self.tempWebHeight) {
            self.tempWebHeight = size.height + 20;
            self.webHeight = size.height + 20;
            @weakify(self)
            [UIView performWithoutAnimation:^{
                @strongify(self)
                [self.detailTableview reloadData];
            }];
        }
    }
}
- (NSMutableArray *)likeArray {
    if (!_likeArray) {
        _likeArray = [[NSMutableArray alloc] init];
    }
    return _likeArray;
}
- (NSMutableArray *)recommendArray {
    if (!_recommendArray) {
        _recommendArray = [[NSMutableArray alloc] init];
    }
    return _recommendArray;
}
- (BaseTipArrPopView *)baseTipArrPopView {
    if (!_baseTipArrPopView) {
        _baseTipArrPopView = [[BaseTipArrPopView alloc] init];
    }
    return _baseTipArrPopView;
}
- (BaseTipsPopView *)baseTipsPopView {
    if (!_baseTipsPopView) {
        _baseTipsPopView = [[BaseTipsPopView alloc] init];
    }
    return _baseTipsPopView;
}
- (FetchGoldcoinPopView *)fetchGoldcoinPopView {
    if (!_fetchGoldcoinPopView) {
        _fetchGoldcoinPopView = [[FetchGoldcoinPopView alloc] init];
    }
    return _fetchGoldcoinPopView;
}
- (UILabel *)labelSubsidy {
    if (!_labelSubsidy) {
        _labelSubsidy = [[UILabel alloc] init];
        _labelSubsidy.hidden = YES;
        _labelSubsidy.textColor = UIColorFromRGBValue(0xE5005C);
        _labelSubsidy.textAlignment = NSTextAlignmentCenter;
        _labelSubsidy.font = [UIFont systemFontOfSize:10];
        _labelSubsidy.backgroundColor = UIColorFromRGBValue(0xFFE7F1);
    }
    return _labelSubsidy;
}
- (UIImageView *)imageViewSJ {
    if (!_imageViewSJ) {
        _imageViewSJ = [[UIImageView alloc] init];
        _imageViewSJ.hidden = YES;
        _imageViewSJ.image = ALIMAGE_NAMED(@"goodsdetail_sj");
    }
    return _imageViewSJ;
}
- (NoSingleTicketView *)noSingleTicketView {
    if (_noSingleTicketView) {
        return _noSingleTicketView;
    }
    _noSingleTicketView = [[NoSingleTicketView alloc]initWithFrame:self.view.bounds];
    _noSingleTicketView.delegate = self;
    return  _noSingleTicketView;
}
@end
fanliquan/½çÃæ/ÉÌÆ·ÏêÇé/DY/DYGoodsListController.h
New file
@@ -0,0 +1,20 @@
//
//  DYGoodsListController.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 DYGoodsListController : BaseViewController <ZJScrollPageViewChildVcDelegate>
@property (nonatomic, nullable, copy) NSString *cid;
@end
NS_ASSUME_NONNULL_END
fanliquan/½çÃæ/ÉÌÆ·ÏêÇé/DY/DYGoodsListController.m
New file
@@ -0,0 +1,577 @@
//
//  PDDGoodsListController.m
//  MIduo
//
//  Created by é‡åº†è¿ˆå°–科技有限公司 on 2019/7/26.
//  Copyright Â© 2019 yeshi. All rights reserved.
//
#import "DYGoodsListController.h"
#import "ThirdClassificationCell.h"
#import "JDGoodsListBannerView.h"
#import "NotLikePopView.h"
@interface DYGoodsListController () <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 DYGoodsListController
- (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, @"dy/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:@"3" 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
{
    PDDGoodsDetailController *goodsDetailVC = [[PDDGoodsDetailController alloc]init];
    goodsDetailVC.goodsID = ((GoodsDetailBaseModel *)self.contentArray[indexPath.section]).goodsId;
    goodsDetailVC.goodsType = 3;
    [self.navigationController pushViewController:goodsDetailVC 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;
        rect.size.height = SCREEN_HEIGHT - kNavigationBarH - kStatusBarH - 0.5 - 40;
        _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
fanliquan/½çÃæ/ÉÌÆ·ÏêÇé/DY/DYGoodsListShowController.h
New file
@@ -0,0 +1,17 @@
//
//  DYGoodsListShowController.h
//  MIduo
//
//  Created by é‡åº†è¿ˆå°–科技有限公司 on 2019/7/26.
//  Copyright Â© 2019 yeshi. All rights reserved.
//
#import <UIKit/UIKit.h>
NS_ASSUME_NONNULL_BEGIN
@interface DYGoodsListShowController : BaseViewController
@end
NS_ASSUME_NONNULL_END
fanliquan/½çÃæ/ÉÌÆ·ÏêÇé/DY/DYGoodsListShowController.m
New file
@@ -0,0 +1,309 @@
//
//  DYGoodsListShowController.m
//  MIduo
//
//  Created by é‡åº†è¿ˆå°–科技有限公司 on 2019/7/26.
//  Copyright Â© 2019 yeshi. All rights reserved.
//
#import "DYGoodsListShowController.h"
#import "DYGoodsListController.h"
@interface DYGoodsListShowController () <ZJScrollPageViewDelegate>
@property (nonatomic, nullable, strong) NSMutableArray *titleArray;
@property (nonatomic, nullable, strong) NSMutableArray *contentArray;
@property (nonatomic, nullable, copy) NSString *jdLink;
/// ç½‘络遮挡层
@property (nonatomic,strong) SJNoNetwork *noNetworkViews;
@property (nonatomic, nullable, strong) SJCustomActivityView *sjCustomActivityView;
@end
@implementation DYGoodsListShowController
- (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;
}
/**
 * åŠ è½½æ•°æ®
 */
- (void)loadDataSource
{
    @weakify(self)
    [JYNetWorking Post:[NSString stringWithFormat:@"%@/%@",domainHTTP2,@"dy/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.jdLink = object[@"data"][@"jdLink"];
                 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) {
        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) {
        DYGoodsListController *commonTemplateListVc = [[DYGoodsListController alloc] init];
        commonTemplateListVc.cid = self.contentArray[index][@"id"];
        childVc = commonTemplateListVc;
    }
    return childVc;
}
#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
fanliquan/½çÃæ/ÉÌÆ·ÏêÇé/DY/View/DYTransformView.h
New file
@@ -0,0 +1,29 @@
//
//  DYTransformView.h
//  MIduo
//
//  Created by é‡åº†è¿ˆå°–科技有限公司 on 2019/7/25.
//  Copyright Â© 2019 yeshi. All rights reserved.
//
#import <UIKit/UIKit.h>
NS_ASSUME_NONNULL_BEGIN
@interface DYTransformView : UIView
@property (nonatomic,strong)UIView *backView;
@property (nonatomic,strong)UIView *contentView;
@property (nonatomic,strong)UIImageView * fanImageview;
@property (nonatomic,strong)UIImageView * taoImageview;
@property (nonatomic,strong)UIImageView * jiantouImageview;
@property (nonatomic,strong)UIImageView * topImageView;
@property (nonatomic,strong)UILabel * titleLabel;//提示标题
@property (nonatomic,strong)UILabel * contentLabel;//提示内容
@property (nonatomic,assign)CGFloat contentFont;
- (void)dissMiss;
- (void)showTransitionView;
- (void)hiddenTransitionView;
@end
NS_ASSUME_NONNULL_END
fanliquan/½çÃæ/ÉÌÆ·ÏêÇé/DY/View/DYTransformView.m
New file
@@ -0,0 +1,143 @@
//
//  PDDTransformView.m
//  MIduo
//
//  Created by é‡åº†è¿ˆå°–科技有限公司 on 2019/7/25.
//  Copyright Â© 2019 yeshi. All rights reserved.
//
#import "DYTransformView.h"
#import "UIView+AZGradient.h"
#import "SJJumpRollView.h"
#define gapLength 50
@interface DYTransformView()
@property (nonatomic, strong) SJJumpRollView *rollView;
@end
@implementation DYTransformView
- (instancetype)initWithFrame:(CGRect)frame
{
    self = [super initWithFrame:frame];
    if (self) {
        self.contentFont = 13;
        if (SCREEN_WIDTH > 375) {
            self.contentFont = 15;
        }else if (SCREEN_WIDTH < 375){
            self.contentFont = 12;
        }
        [self addSubview:self.backView];
        [self addSubview:self.contentView];
    }
    return self;
}
- (void)dissMiss
{
    [self removeFromSuperview];
}
- (void)hiddenTransitionView
{
    [self.rollView hiddenumpRollView];
}
- (void)showTransitionView
{
    [self.rollView showJumpRollView];
}
#pragma mark - getter
- (UIView *)backView
{
    if (_backView) {
        return _backView;
    }
    _backView = [[UIView alloc]initWithFrame:CGRectMake(0, 0, SCREEN_WIDTH, SCREEN_HEIGHT)];
    _backView .backgroundColor  = SJColor(0, 0, 0, 0.76);
    return _backView;
}
- (UIView *)contentView
{
    if (_contentView) {
        return _contentView;
    }
    _contentView = [[UIView alloc]initWithFrame:CGRectMake(gapLength, (self.size.height - 200) / 2, SCREEN_WIDTH - gapLength * 2,  221 * ((SCREEN_WIDTH - gapLength * 2) / 500) * 1.81)];
    _contentView.backgroundColor  = [UIColor whiteColor];
  CGFloat cornerRadius = 16;
    if (SCREEN_WIDTH > 375) {
        cornerRadius = 19;
    }
    _contentView.layer.cornerRadius = cornerRadius;
    _contentView.layer.masksToBounds = YES;
    [_contentView addSubview:self.topImageView];
    [_contentView addSubview:self.rollView];
    [_contentView addSubview:self.titleLabel];
    [_contentView addSubview:self.contentLabel];
    return _contentView;
}
-  (UIImageView *)fanImageview{
    if (_fanImageview) {
        return _fanImageview;
    }
    _fanImageview = [[UIImageView alloc]initWithFrame:CGRectMake(45, 55, 60, 60)];
    _fanImageview.image = [UIImage imageNamed:@"详情——返利券"];
    return _fanImageview;
}
-  (UIImageView *)jiantouImageview{
    if (_jiantouImageview) {
        return _jiantouImageview;
    }
    //
    _jiantouImageview = [[UIImageView alloc]initWithFrame:CGRectMake(CGRectGetMaxX(self.fanImageview.frame) + 15, CGRectGetMinY(self.fanImageview.frame) + self.fanImageview.frame.size.height / 2 - 6.5, _contentView.frame.size.width - 240, 13)];
    _jiantouImageview.image = [UIImage imageNamed:@"详情——箭头"];
    return _jiantouImageview;
}
//jump_img 500 * 221
- (UIImageView *)topImageView {
    if (_topImageView) {
        return _topImageView;
    }
    _topImageView = [[UIImageView alloc]initWithFrame:CGRectMake(0, 0, _contentView.frame.size.width, 221 * (_contentView.frame.size.width / 500))];
    _topImageView.image = [UIImage imageNamed:@"jump_img_dy"];
    return _topImageView;
}
- (UILabel *)titleLabel {
    if (_titleLabel) {
        return _titleLabel;
    }
    CGFloat height = 30;
    if (SCREEN_WIDTH < 375) {
        height = 25;
    }else if(SCREEN_WIDTH > 375){
        height = 35;
    }
    _titleLabel  = [[UILabel alloc]initWithFrame:CGRectMake(0, CGRectGetMaxY(self.topImageView.frame) + height, _contentView.frame.size.width, 15)];
    _titleLabel.text = @"免费领券";
    _titleLabel.textColor = XYRMainColor;
    _titleLabel.font = [UIFont boldSystemFontOfSize:_contentFont + 2];
    _titleLabel.textAlignment = NSTextAlignmentCenter;
    return _titleLabel;
}
- (UILabel *)contentLabel {
    if (_contentLabel) {
        return _contentLabel;
    }
    _contentLabel  = [[UILabel alloc]initWithFrame:CGRectMake(0, CGRectGetMaxY(self.titleLabel.frame) + 8, _contentView.frame.size.width, _contentFont)];
    _contentLabel.text = @"购买后有返利,分享后有奖金";
    _contentLabel.textColor = SJColor(1, 1, 1, 1);
    _contentLabel.font = [UIFont systemFontOfSize:_contentFont];
    _contentLabel.textAlignment = NSTextAlignmentCenter;
    return _contentLabel;
}
- (SJJumpRollView *)rollView {
    if (_rollView) {
        return _rollView;
    }
    _rollView = [[SJJumpRollView alloc]initWithFrame:CGRectMake(0, CGRectGetMaxY(self.topImageView.frame), _contentView.frame.size.width, 10)];
    return _rollView;
}
@end
fanliquan/½çÃæ/ÉÌÆ·ÏêÇé/GoodDeTrViewController.m
@@ -1056,10 +1056,10 @@
                return ;
            }
            // æ˜¯å¦æ¿€æ´»é‚€è¯·åŠŸèƒ½
            if (![ALUserInfoServiceManger isInvited]) {
                [self onInviteVcName:nil];
                return;
            }
//            if (![ALUserInfoServiceManger isInvited]) {
//                [self onInviteVcName:nil];
//                return;
//            }
            [self fetchTaoBaoAuthInfo:@"zigou" requestCount:1 type:0];
        };
        
@@ -1086,10 +1086,10 @@
        
    } else {
        // æ˜¯å¦æ¿€æ´»é‚€è¯·åŠŸèƒ½
        if (![ALUserInfoServiceManger isInvited]) {
            [self onInviteVcName:nil];
            return;
        }
//        if (![ALUserInfoServiceManger isInvited]) {
//            [self onInviteVcName:nil];
//            return;
//        }
        
        self.transitionView.contentLabel.text = @"购买后有返利,分享后有奖金";
        [self fetchTaoBaoAuthInfo:@"zigou" requestCount:1 type:0];
@@ -1118,10 +1118,10 @@
        return;
    }
    // æ˜¯å¦æ¿€æ´»é‚€è¯·åŠŸèƒ½
    if (![ALUserInfoServiceManger isInvited]) {
        [self onInviteVcName:nil];
        return;
    }
//    if (![ALUserInfoServiceManger isInvited]) {
//        [self onInviteVcName:nil];
//        return;
//    }
    [self pushAnyInterfaceController:self.goodsModel.otherInfo.rewardCoupon.jumpDetail[@"controller"] parms:self.goodsModel.otherInfo.rewardCoupon.params];
}
@@ -1140,7 +1140,7 @@
}
- (void)onLoginVcName:(NSString *)vcName title:(NSString *)title {
    [JRToast showWithText:title?:@"请先登录板栗快省账号" bottomOffset:kToolBarH + 15 duration:1.2f];
    [JRToast showWithText:title?:@"请先登录返利券账号" bottomOffset:kToolBarH + 15 duration:1.2f];
    // ç™»å½•界面
    NewLoginViewController *loginVc = [[NewLoginViewController alloc] init];
    loginVc.delegate = self;
@@ -1227,10 +1227,10 @@
    }
    
    // æ˜¯å¦æ¿€æ´»é‚€è¯·åŠŸèƒ½
    if (![ALUserInfoServiceManger isInvited]) {
        [self onInviteVcName:nil];
        return;
    }
//    if (![ALUserInfoServiceManger isInvited]) {
//        [self onInviteVcName:nil];
//        return;
//    }
    [self fetchTaoBaoAuthInfo:@"share" requestCount:1 type:1];
}
@@ -1280,10 +1280,10 @@
        return;
    }
    // æ˜¯å¦æ¿€æ´»é‚€è¯·åŠŸèƒ½
    if (![ALUserInfoServiceManger isInvited]) {
        [self onInviteVcName:nil];
        return;
    }
//    if (![ALUserInfoServiceManger isInvited]) {
//        [self onInviteVcName:nil];
//        return;
//    }
    [self fecthAndPostCollection];
}
@@ -1304,10 +1304,10 @@
    }
    
    // æ˜¯å¦æ¿€æ´»é‚€è¯·åŠŸèƒ½
    if (![ALUserInfoServiceManger isInvited]) {
        [self onInviteVcName:nil];
        return;
    }
//    if (![ALUserInfoServiceManger isInvited]) {
//        [self onInviteVcName:nil];
//        return;
//    }
    
    [self fetchTaoBaoAuthInfo:@"share" requestCount:1 type:0];
}
@@ -1335,10 +1335,10 @@
    }
    
    // æ˜¯å¦æ¿€æ´»é‚€è¯·åŠŸèƒ½
    if (![ALUserInfoServiceManger isInvited]) {
        [self onInviteVcName:nil];
        return;
    }
//    if (![ALUserInfoServiceManger isInvited]) {
//        [self onInviteVcName:nil];
//        return;
//    }
    // æ£€æµ‹æ˜¯å¦éœ€è¦æ·˜å®H5登录
    [self fetchTaoBaoAuthInfo:@"zigou" requestCount:1 type:0];
}
@@ -1351,7 +1351,7 @@
- (void)ProLibraryTaped:(UIButton *)sender {
    if (![ALUserInfoServiceManger fetchUID]) {
        [JRToast showWithText:@"请先登录板栗快省账号" bottomOffset:kToolBarH + 15 duration:1.2f];
        [JRToast showWithText:@"请先登录返利券账号" bottomOffset:kToolBarH + 15 duration:1.2f];
        NewLoginViewController *loginVc = [[NewLoginViewController alloc] init];
        loginVc.rootVc = self;
        loginVc.delegate = self;
@@ -1361,10 +1361,10 @@
        return;
    }
    // æ˜¯å¦æ¿€æ´»é‚€è¯·åŠŸèƒ½
    if (![ALUserInfoServiceManger isInvited]) {
        [self onInviteVcName:nil];
        return;
    }
//    if (![ALUserInfoServiceManger isInvited]) {
//        [self onInviteVcName:nil];
//        return;
//    }
    [self onecClickBilling];
}
@@ -1416,7 +1416,7 @@
- (void)topButtonTaped:(UIButton *)sender {
    if (![ALUserInfoServiceManger fetchUID]) {
        [JRToast showWithText:@"请先登录板栗快省账号" bottomOffset:kToolBarH + 15 duration:1.2f];
        [JRToast showWithText:@"请先登录返利券账号" bottomOffset:kToolBarH + 15 duration:1.2f];
        
        NewLoginViewController *loginVc = [[NewLoginViewController alloc] init];
        loginVc.hidesBottomBarWhenPushed = YES;
fanliquan/½çÃæ/ÉÌÆ·ÏêÇé/JD/Cell/JDGoodsHeaderTableViewCell.m
@@ -382,6 +382,8 @@
            
        } else if (model.shopType == 50) {
            icomImage = ALIMAGE_NAMED(@"ic_share_sn");
        }else if (model.shopType == 70) {
            icomImage = ALIMAGE_NAMED(@"ic_share_dy");
        }
        
        self.labelImage.image = icomImage;
fanliquan/½çÃæ/ÉÌÆ·ÏêÇé/JD/Cell/JDGoodsInfoCell.m
@@ -386,6 +386,8 @@
            
        } else if (model.shopType == 50) {
            icomImage = ALIMAGE_NAMED(@"ic_share_sn");
        }else if (model.shopType == 70) {
            icomImage = ALIMAGE_NAMED(@"ic_share_dy");
        }
        self.labelImage.image = icomImage;
        self.labelImage.sd_resetLayout.leftSpaceToView(self.contentView, _spaceleft).topSpaceToView(self.labelOriginalPrice, 7 + maxCouponHeight).widthIs(icomImage.size.width).heightIs(icomImage.size.height);
fanliquan/½çÃæ/ÉÌÆ·ÏêÇé/JD/JDGoodsDetailController.m
@@ -829,10 +829,10 @@
            }
            
            // æ˜¯å¦æ¿€æ´»é‚€è¯·åŠŸèƒ½
            if (![ALUserInfoServiceManger isInvited]) {
                [self onInviteVcName:nil];
                return;
            }
//            if (![ALUserInfoServiceManger isInvited]) {
//                [self onInviteVcName:nil];
//                return;
//            }
            [self fetchJDCouponLink:couponLink];
        };
        
@@ -851,10 +851,10 @@
        
    } else {
        // æ˜¯å¦æ¿€æ´»é‚€è¯·åŠŸèƒ½
        if (![ALUserInfoServiceManger isInvited]) {
            [self onInviteVcName:nil];
            return;
        }
//        if (![ALUserInfoServiceManger isInvited]) {
//            [self onInviteVcName:nil];
//            return;
//        }
        self.transitionView.contentLabel.text = @"购买后有返利,分享后有奖金";
        [self getJingDongLnk:couponLink];
    }
@@ -906,10 +906,10 @@
    }
    
    // æ˜¯å¦æ¿€æ´»é‚€è¯·åŠŸèƒ½
    if (![ALUserInfoServiceManger isInvited]) {
        [self onInviteVcName:nil];
        return;
    }
//    if (![ALUserInfoServiceManger isInvited]) {
//        [self onInviteVcName:nil];
//        return;
//    }
    [self pushAnyInterfaceController:self.goodsModel.otherInfo.rewardCoupon.jumpDetail[@"controller"] parms:self.goodsModel.otherInfo.rewardCoupon.params];
}
@@ -932,7 +932,7 @@
        [JRToast showWithText:title bottomOffset:kToolBarH + 15 duration:1.2f];
        
    } else {
        [JRToast showWithText:@"请先登录板栗快省账号" bottomOffset:kToolBarH + 15 duration:1.2f];
        [JRToast showWithText:@"请先登录返利券账号" bottomOffset:kToolBarH + 15 duration:1.2f];
    }
    
    // ç™»å½•界面
@@ -958,10 +958,10 @@
        return;
    }
    // æ˜¯å¦æ¿€æ´»é‚€è¯·åŠŸèƒ½
    if (![ALUserInfoServiceManger isInvited]) {
        [self onInviteVcName:nil];
        return;
    }
//    if (![ALUserInfoServiceManger isInvited]) {
//        [self onInviteVcName:nil];
//        return;
//    }
    [self fetchCopyLink];
}
@@ -1011,10 +1011,10 @@
        return;
    }
    // æ˜¯å¦æ¿€æ´»é‚€è¯·åŠŸèƒ½
    if (![ALUserInfoServiceManger isInvited]) {
        [self onInviteVcName:nil];
        return;
    }
//    if (![ALUserInfoServiceManger isInvited]) {
//        [self onInviteVcName:nil];
//        return;
//    }
    [self fecthAndPostCollection];
}
@@ -1028,10 +1028,10 @@
        return;
    }
    // æ˜¯å¦æ¿€æ´»é‚€è¯·åŠŸèƒ½
    if (![ALUserInfoServiceManger isInvited]) {
        [self onInviteVcName:nil];
        return;
    }
//    if (![ALUserInfoServiceManger isInvited]) {
//        [self onInviteVcName:nil];
//        return;
//    }
    [self jumpCreateShare];
}
@@ -1088,10 +1088,10 @@
        return ;
    }
    // æ˜¯å¦æ¿€æ´»é‚€è¯·åŠŸèƒ½
    if (![ALUserInfoServiceManger isInvited]) {
        [self onInviteVcName:nil];
        return;
    }
//    if (![ALUserInfoServiceManger isInvited]) {
//        [self onInviteVcName:nil];
//        return;
//    }
    [self getJingDongLnk:nil];
}
@@ -1194,10 +1194,10 @@
        return;
    }
    // æ˜¯å¦æ¿€æ´»é‚€è¯·åŠŸèƒ½
    if (![ALUserInfoServiceManger isInvited]) {
        [self onInviteVcName:nil];
        return;
    }
//    if (![ALUserInfoServiceManger isInvited]) {
//        [self onInviteVcName:nil];
//        return;
//    }
    [self fecthAndPostCollection];
}
@@ -1255,10 +1255,10 @@
    }
    
    // æ˜¯å¦æ¿€æ´»é‚€è¯·åŠŸèƒ½
    if (![ALUserInfoServiceManger isInvited]) {
        [self onInviteVcName:nil];
        return;
    }
//    if (![ALUserInfoServiceManger isInvited]) {
//        [self onInviteVcName:nil];
//        return;
//    }
    sender.userInteractionEnabled = NO;
    [self onecClickBilling];
}
@@ -1318,7 +1318,7 @@
#pragma mark --- ç™»å½• ---
- (void)onLogin:(NSString *)name tips:(NSString *)tips
{
    [JRToast showWithText:tips?:@"请先登录板栗快省账号" bottomOffset:kToolBarH + 15 duration:1.2f];
    [JRToast showWithText:tips?:@"请先登录返利券账号" bottomOffset:kToolBarH + 15 duration:1.2f];
    NewLoginViewController *loginVc = [[NewLoginViewController alloc] init];
    loginVc.rootVc = self;
    loginVc.delegate = self;
fanliquan/½çÃæ/ÉÌÆ·ÏêÇé/JD/JDGoodsListController.m
@@ -273,7 +273,7 @@
- (void)onLoginVcName:(NSString *)vcName
{
    [JRToast showWithText:@"请先登录板栗快省账号" bottomOffset:kToolBarH + 15 duration:1.2f];
    [JRToast showWithText:@"请先登录返利券账号" bottomOffset:kToolBarH + 15 duration:1.2f];
    // ç™»å½•界面
    NewLoginViewController *loginVc = [[NewLoginViewController alloc] init];
    loginVc.delegate = self;
fanliquan/½çÃæ/ÉÌÆ·ÏêÇé/JD/JDGoodsListShowController.m
@@ -284,16 +284,20 @@
        return;
    }
    [YTHsharedManger startManger].isEnterForeground = YES;
    @weakify(self)
    [[KeplerApiManager sharedKPService] openKeplerPageWithURL:jumpLink userInfo:nil failedCallback:^(NSInteger code, NSString *url) {
        // code 200 æ·»åŠ æˆåŠŸ 422 æœ¬åœ°ä¸å­˜åœ¨äº¬ä¸œapp 423 æœ¬åœ°url不在白名单 424 æœ¬åœ°open协议失败
    [[KeplerApiManager sharedKPService] openKeplerPageWithURL:jumpLink userInfo:nil successCallback:^{
        NSLog(@"京东跳转成功");
    } failedCallback:^(NSInteger code, NSString * _Nonnull url) {
        @strongify(self)
        if (code != 200) {
            ShonpingShareViewController *shonpingShareVc = [[ShonpingShareViewController alloc] init];
            shonpingShareVc.urlString = url;
            [self.navigationController pushViewController:shonpingShareVc animated:YES];
            NSLog(@"京东跳转结果:%d  url:%@",code,url);
                        ShonpingShareViewController *shonpingShareVc = [[ShonpingShareViewController alloc] init];
                        shonpingShareVc.urlString = url;
                        [self.navigationController pushViewController:shonpingShareVc animated:YES];
        }
    }];
}
#pragma mark --- getter ---
fanliquan/½çÃæ/ÉÌÆ·ÏêÇé/JD/View/JDTransformView.m
@@ -81,7 +81,7 @@
        return _fanImageview;
    }
    _fanImageview = [[UIImageView alloc]initWithFrame:CGRectMake(45, 55, 60, 60)];
    _fanImageview.image = [UIImage imageNamed:@"详情——板栗快省"];
    _fanImageview.image = [UIImage imageNamed:@"详情——返利券"];
    return _fanImageview;
}
fanliquan/½çÃæ/ÉÌÆ·ÏêÇé/PDD/PDDGoodsDetailController.m
@@ -31,7 +31,6 @@
#import "GDrecomeTableViewCell.h"
#import "NoShopTableViewCell.h"
// Tools
#import <JDSDK/JDKeplerSDK.h>
#import "NSString+AES256.h"
#import "UIImageView+WebCache.h"
#import "XHWebImageAutoSize.h"
@@ -826,10 +825,10 @@
            }
            
            // æ˜¯å¦æ¿€æ´»é‚€è¯·åŠŸèƒ½
            if (![ALUserInfoServiceManger isInvited]) {
                [self onInviteVcName:nil];
                return;
            }
//            if (![ALUserInfoServiceManger isInvited]) {
//                [self onInviteVcName:nil];
//                return;
//            }
            [self getPingDuoDuoLnk];
        };
        
@@ -862,10 +861,10 @@
        }
        
        // æ˜¯å¦æ¿€æ´»é‚€è¯·åŠŸèƒ½
        if (![ALUserInfoServiceManger isInvited]) {
            [self onInviteVcName:nil];
            return;
        }
//        if (![ALUserInfoServiceManger isInvited]) {
//            [self onInviteVcName:nil];
//            return;
//        }
        self.transitionView.contentLabel.text = @"购买后有返利,分享后有奖金";
        [self getPingDuoDuoLnk];
    }
@@ -892,10 +891,10 @@
        return;
    }
    // æ˜¯å¦æ¿€æ´»é‚€è¯·åŠŸèƒ½
    if (![ALUserInfoServiceManger isInvited]) {
        [self onInviteVcName:nil];
        return;
    }
//    if (![ALUserInfoServiceManger isInvited]) {
//        [self onInviteVcName:nil];
//        return;
//    }
    [self pushAnyInterfaceController:self.goodsModel.otherInfo.rewardCoupon.jumpDetail[@"controller"] parms:self.goodsModel.otherInfo.rewardCoupon.params];
}
@@ -908,7 +907,7 @@
        [JRToast showWithText:title bottomOffset:kToolBarH + 15 duration:1.2f];
        
    } else {
        [JRToast showWithText:@"请先登录板栗快省账号" bottomOffset:kToolBarH + 15 duration:1.2f];
        [JRToast showWithText:@"请先登录返利券账号" bottomOffset:kToolBarH + 15 duration:1.2f];
    }
    // ç™»å½•界面
    NewLoginViewController *loginVc = [[NewLoginViewController alloc] init];
@@ -933,10 +932,10 @@
        return;
    }
    // æ˜¯å¦æ¿€æ´»é‚€è¯·åŠŸèƒ½
    if (![ALUserInfoServiceManger isInvited]) {
        [self onInviteVcName:nil];
        return;
    }
//    if (![ALUserInfoServiceManger isInvited]) {
//        [self onInviteVcName:nil];
//        return;
//    }
    [self fetchCopyLink];
}
@@ -985,10 +984,10 @@
        [self onLoginVcName:@"goodsDetailCollection" title:@"登录后才能收藏哦"];
        return;
    }
    if (![ALUserInfoServiceManger isInvited]) {
        [self onInviteVcName:nil];
        return;
    }
//    if (![ALUserInfoServiceManger isInvited]) {
//        [self onInviteVcName:nil];
//        return;
//    }
    [self fecthAndPostCollection];
}
@@ -1006,10 +1005,10 @@
        return;
    }
    // æ˜¯å¦æ¿€æ´»é‚€è¯·åŠŸèƒ½
    if (![ALUserInfoServiceManger isInvited]) {
        [self onInviteVcName:nil];
        return;
    }
//    if (![ALUserInfoServiceManger isInvited]) {
//        [self onInviteVcName:nil];
//        return;
//    }
    [self jumpCreateShare];
}
@@ -1064,10 +1063,10 @@
    }
    
    // æ˜¯å¦æ¿€æ´»é‚€è¯·åŠŸèƒ½
    if (![ALUserInfoServiceManger isInvited]) {
        [self onInviteVcName:nil];
        return;
    }
//    if (![ALUserInfoServiceManger isInvited]) {
//        [self onInviteVcName:nil];
//        return;
//    }
    [self getPingDuoDuoLnk];
}
@@ -1080,14 +1079,16 @@
        [self.view hideToastActivity];
        @strongify(self)
        if ([object[@"code"] integerValue] == 0) {
            self.native = [object[@"data"][@"native"] boolValue]; //是否跳转原生
            self.shoppingUrl = object[@"data"][@"jumpLink"];
            self.nativeJumpLink = object[@"data"][@"nativeJumpLink"];
            if (self.from && [self.from isEqualToString:@"miandan"]) {// å¦‚果是免单,down掉
                [self couponGetGoodsCouponList];
                return;
            }
            self.native = [object[@"data"][@"native"] boolValue]; //是否跳转原生
            self.shoppingUrl = object[@"data"][@"jumpLink"];
            self.nativeJumpLink = object[@"data"][@"nativeJumpLink"];
            
            self.transitionView.hidden = NO;
            [self.transitionView showTransitionView];
@@ -1109,7 +1110,7 @@
- (void)jumpPingDuoDuo:(BOOL)native jumpLink:(NSString *)jumpLink nativeJumpLink:(NSString *)nativeJumpLink {
    NSURL *url = [NSURL URLWithString:nativeJumpLink];
    if (native && [[UIApplication sharedApplication] canOpenURL:url]) {
    if ( [[UIApplication sharedApplication] canOpenURL:url]) {
        [[UIApplication sharedApplication] openURL:url];
        [self hideTransitionView];
        
@@ -1177,10 +1178,10 @@
        return;
    }
    // æ˜¯å¦æ¿€æ´»é‚€è¯·åŠŸèƒ½
    if (![ALUserInfoServiceManger isInvited]) {
        [self onInviteVcName:nil];
        return;
    }
//    if (![ALUserInfoServiceManger isInvited]) {
//        [self onInviteVcName:nil];
//        return;
//    }
    [self fecthAndPostCollection];
}
- (void)fecthAndPostCollection {
@@ -1237,10 +1238,10 @@
    }
    
    // æ˜¯å¦æ¿€æ´»é‚€è¯·åŠŸèƒ½
    if (![ALUserInfoServiceManger isInvited]) {
        [self onInviteVcName:nil];
        return;
    }
//    if (![ALUserInfoServiceManger isInvited]) {
//        [self onInviteVcName:nil];
//        return;
//    }
    sender.userInteractionEnabled = NO;
    [self onecClickBilling];
}
@@ -1300,7 +1301,7 @@
#pragma mark --- ç™»å½• ---
- (void)onLogin:(NSString *)name tips:(NSString *)tips
{
    [JRToast showWithText:tips?:@"请先登录板栗快省账号" bottomOffset:kToolBarH + 15 duration:1.2f];
    [JRToast showWithText:tips?:@"请先登录返利券账号" bottomOffset:kToolBarH + 15 duration:1.2f];
    NewLoginViewController *loginVc = [[NewLoginViewController alloc] init];
    loginVc.rootVc = self;
    loginVc.delegate = self;
fanliquan/½çÃæ/ÉÌÆ·ÏêÇé/PDD/PDDGoodsListController.m
@@ -273,7 +273,7 @@
- (void)onLoginVcName:(NSString *)vcName
{
    [JRToast showWithText:@"请先登录板栗快省账号" bottomOffset:kToolBarH + 15 duration:1.2f];
    [JRToast showWithText:@"请先登录返利券账号" bottomOffset:kToolBarH + 15 duration:1.2f];
    // ç™»å½•界面
    NewLoginViewController *loginVc = [[NewLoginViewController alloc] init];
    loginVc.delegate = self;
fanliquan/½çÃæ/ÉÌÆ·ÏêÇé/PDD/PDDGoodsListShowController.m
@@ -9,7 +9,6 @@
#import "PDDGoodsListShowController.h"
#import "PDDGoodsListController.h"
#import <JDSDK/JDKeplerSDK.h>
@interface PDDGoodsListShowController () <ZJScrollPageViewDelegate>
fanliquan/½çÃæ/ÉÌÆ·ÏêÇé/PDD/View/PDDTransformView.m
@@ -81,7 +81,7 @@
        return _fanImageview;
    }
    _fanImageview = [[UIImageView alloc]initWithFrame:CGRectMake(45, 55, 60, 60)];
    _fanImageview.image = [UIImage imageNamed:@"详情——板栗快省"];
    _fanImageview.image = [UIImage imageNamed:@"详情——返利券"];
    return _fanImageview;
}
fanliquan/½çÃæ/ÉÌÆ·ÏêÇé/SJTransitionView.m
@@ -81,7 +81,7 @@
        return _fanImageview;
    }
    _fanImageview = [[UIImageView alloc]initWithFrame:CGRectMake(45, 55, 60, 60)];
    _fanImageview.image = [UIImage imageNamed:@"详情——板栗快省"];
    _fanImageview.image = [UIImage imageNamed:@"详情——返利券"];
    return _fanImageview;
}
fanliquan/½çÃæ/ÉÌÆ·ÏêÇé/SN/SNGoodsDetailController.m
@@ -30,7 +30,6 @@
#import "GDrecomeTableViewCell.h"
#import "NoShopTableViewCell.h"
// Tools
#import <JDSDK/JDKeplerSDK.h>
#import "NSString+AES256.h"
#import "UIImageView+WebCache.h"
#import "XHWebImageAutoSize.h"
@@ -819,10 +818,10 @@
            }
            
            // æ˜¯å¦æ¿€æ´»é‚€è¯·åŠŸèƒ½
            if (![ALUserInfoServiceManger isInvited]) {
                [self onInviteVcName:nil];
                return;
            }
//            if (![ALUserInfoServiceManger isInvited]) {
//                [self onInviteVcName:nil];
//                return;
//            }
            [self getSuNingLink];
        };
        
@@ -855,10 +854,10 @@
        }
        
        // æ˜¯å¦æ¿€æ´»é‚€è¯·åŠŸèƒ½
        if (![ALUserInfoServiceManger isInvited]) {
            [self onInviteVcName:nil];
            return;
        }
//        if (![ALUserInfoServiceManger isInvited]) {
//            [self onInviteVcName:nil];
//            return;
//        }
        self.transitionView.contentLabel.text = @"购买后有返利,分享后有奖金";
        [self getSuNingLink];
    }
@@ -885,10 +884,10 @@
        return;
    }
    // æ˜¯å¦æ¿€æ´»é‚€è¯·åŠŸèƒ½
    if (![ALUserInfoServiceManger isInvited]) {
        [self onInviteVcName:nil];
        return;
    }
//    if (![ALUserInfoServiceManger isInvited]) {
//        [self onInviteVcName:nil];
//        return;
//    }
    [self pushAnyInterfaceController:self.goodsModel.otherInfo.rewardCoupon.jumpDetail[@"controller"] parms:self.goodsModel.otherInfo.rewardCoupon.params];
}
@@ -901,7 +900,7 @@
        [JRToast showWithText:title bottomOffset:kToolBarH + 15 duration:1.2f];
        
    } else {
        [JRToast showWithText:@"请先登录板栗快省账号" bottomOffset:kToolBarH + 15 duration:1.2f];
        [JRToast showWithText:@"请先登录返利券账号" bottomOffset:kToolBarH + 15 duration:1.2f];
    }
    // ç™»å½•界面
    NewLoginViewController *loginVc = [[NewLoginViewController alloc] init];
@@ -926,10 +925,10 @@
        return;
    }
    // æ˜¯å¦æ¿€æ´»é‚€è¯·åŠŸèƒ½
    if (![ALUserInfoServiceManger isInvited]) {
        [self onInviteVcName:nil];
        return;
    }
//    if (![ALUserInfoServiceManger isInvited]) {
//        [self onInviteVcName:nil];
//        return;
//    }
    [self fetchCopyLink];
}
@@ -978,10 +977,10 @@
        [self onLoginVcName:@"goodsDetailCollection" title:@"登录后才能收藏哦"];
        return;
    }
    if (![ALUserInfoServiceManger isInvited]) {
        [self onInviteVcName:nil];
        return;
    }
//    if (![ALUserInfoServiceManger isInvited]) {
//        [self onInviteVcName:nil];
//        return;
//    }
    [self fecthAndPostCollection];
}
@@ -999,10 +998,10 @@
        return;
    }
    // æ˜¯å¦æ¿€æ´»é‚€è¯·åŠŸèƒ½
    if (![ALUserInfoServiceManger isInvited]) {
        [self onInviteVcName:nil];
        return;
    }
//    if (![ALUserInfoServiceManger isInvited]) {
//        [self onInviteVcName:nil];
//        return;
//    }
    [self jumpCreateShare];
}
@@ -1057,10 +1056,10 @@
    }
    
    // æ˜¯å¦æ¿€æ´»é‚€è¯·åŠŸèƒ½
    if (![ALUserInfoServiceManger isInvited]) {
        [self onInviteVcName:nil];
        return;
    }
//    if (![ALUserInfoServiceManger isInvited]) {
//        [self onInviteVcName:nil];
//        return;
//    }
    [self getSuNingLink];
}
@@ -1126,10 +1125,10 @@
        return;
    }
    // æ˜¯å¦æ¿€æ´»é‚€è¯·åŠŸèƒ½
    if (![ALUserInfoServiceManger isInvited]) {
        [self onInviteVcName:nil];
        return;
    }
//    if (![ALUserInfoServiceManger isInvited]) {
//        [self onInviteVcName:nil];
//        return;
//    }
    [self fecthAndPostCollection];
}
- (void)fecthAndPostCollection {
@@ -1186,10 +1185,10 @@
    }
    
    // æ˜¯å¦æ¿€æ´»é‚€è¯·åŠŸèƒ½
    if (![ALUserInfoServiceManger isInvited]) {
        [self onInviteVcName:nil];
        return;
    }
//    if (![ALUserInfoServiceManger isInvited]) {
//        [self onInviteVcName:nil];
//        return;
//    }
    sender.userInteractionEnabled = NO;
    [self onecClickBilling];
}
@@ -1249,7 +1248,7 @@
#pragma mark --- ç™»å½• ---
- (void)onLogin:(NSString *)name tips:(NSString *)tips
{
    [JRToast showWithText:tips?:@"请先登录板栗快省账号" bottomOffset:kToolBarH + 15 duration:1.2f];
    [JRToast showWithText:tips?:@"请先登录返利券账号" bottomOffset:kToolBarH + 15 duration:1.2f];
    NewLoginViewController *loginVc = [[NewLoginViewController alloc] init];
    loginVc.rootVc = self;
    loginVc.delegate = self;
fanliquan/½çÃæ/ÉÌÆ·ÏêÇé/SN/SNGoodsListController.m
@@ -275,7 +275,7 @@
- (void)onLoginVcName:(NSString *)vcName
{
    [JRToast showWithText:@"请先登录板栗快省账号" bottomOffset:kToolBarH + 15 duration:1.2f];
    [JRToast showWithText:@"请先登录返利券账号" bottomOffset:kToolBarH + 15 duration:1.2f];
    // ç™»å½•界面
    NewLoginViewController *loginVc = [[NewLoginViewController alloc] init];
    loginVc.delegate = self;
fanliquan/½çÃæ/ÉÌÆ·ÏêÇé/SN/SNGoodsListShowController.m
@@ -9,7 +9,6 @@
#import "SNGoodsListShowController.h"
#import "SNGoodsListController.h"
#import <JDSDK/JDKeplerSDK.h>
@interface SNGoodsListShowController () <ZJScrollPageViewDelegate>
fanliquan/½çÃæ/ÉÌÆ·ÏêÇé/SN/View/SNTransformView.m
@@ -75,7 +75,7 @@
        return _fanImageview;
    }
    _fanImageview = [[UIImageView alloc]initWithFrame:CGRectMake(45, 55, 60, 60)];
    _fanImageview.image = [UIImage imageNamed:@"详情——板栗快省"];
    _fanImageview.image = [UIImage imageNamed:@"详情——返利券"];
    return _fanImageview;
}
fanliquan/½çÃæ/ÉÌÆ·ÏêÇé/WPH/Cell/WPHTransformView.m
@@ -78,7 +78,7 @@
        return _fanImageview;
    }
    _fanImageview = [[UIImageView alloc]initWithFrame:CGRectMake(45, 55, 60, 60)];
    _fanImageview.image = [UIImage imageNamed:@"详情——板栗快省"];
    _fanImageview.image = [UIImage imageNamed:@"详情——返利券"];
    return _fanImageview;
}
fanliquan/½çÃæ/ÉÌÆ·ÏêÇé/WPH/WPHGoodsDetailController.m
@@ -30,7 +30,6 @@
#import "GDrecomeTableViewCell.h"
#import "NoShopTableViewCell.h"
// Tools
#import <JDSDK/JDKeplerSDK.h>
#import "NSString+AES256.h"
#import "UIImageView+WebCache.h"
#import "XHWebImageAutoSize.h"
@@ -818,10 +817,10 @@
                return ;
            }
            // æ˜¯å¦æ¿€æ´»é‚€è¯·åŠŸèƒ½
            if (![ALUserInfoServiceManger isInvited]) {
                [self onInviteVcName:nil];
                return;
            }
//            if (![ALUserInfoServiceManger isInvited]) {
//                [self onInviteVcName:nil];
//                return;
//            }
            [self getWPHLink];
        };
        
@@ -848,10 +847,10 @@
        }
        
        // æ˜¯å¦æ¿€æ´»é‚€è¯·åŠŸèƒ½
        if (![ALUserInfoServiceManger isInvited]) {
            [self onInviteVcName:nil];
            return;
        }
//        if (![ALUserInfoServiceManger isInvited]) {
//            [self onInviteVcName:nil];
//            return;
//        }
        self.transitionView.contentLabel.text = @"购买后有返利,分享后有奖金";
        [self getWPHLink];
    }
@@ -878,10 +877,10 @@
        return;
    }
    // æ˜¯å¦æ¿€æ´»é‚€è¯·åŠŸèƒ½
    if (![ALUserInfoServiceManger isInvited]) {
        [self onInviteVcName:nil];
        return;
    }
//    if (![ALUserInfoServiceManger isInvited]) {
//        [self onInviteVcName:nil];
//        return;
//    }
    [self pushAnyInterfaceController:self.goodsModel.otherInfo.rewardCoupon.jumpDetail[@"controller"] parms:self.goodsModel.otherInfo.rewardCoupon.params];
}
@@ -894,7 +893,7 @@
        [JRToast showWithText:title bottomOffset:kToolBarH + 15 duration:1.2f];
        
    } else {
        [JRToast showWithText:@"请先登录板栗快省账号" bottomOffset:kToolBarH + 15 duration:1.2f];
        [JRToast showWithText:@"请先登录返利券账号" bottomOffset:kToolBarH + 15 duration:1.2f];
    }
    // ç™»å½•界面
    NewLoginViewController *loginVc = [[NewLoginViewController alloc] init];
@@ -920,10 +919,10 @@
        return;
    }
    // æ˜¯å¦æ¿€æ´»é‚€è¯·åŠŸèƒ½
    if (![ALUserInfoServiceManger isInvited]) {
        [self onInviteVcName:nil];
        return;
    }
//    if (![ALUserInfoServiceManger isInvited]) {
//        [self onInviteVcName:nil];
//        return;
//    }
    [self fetchCopyLink];
}
@@ -972,10 +971,10 @@
        [self onLoginVcName:@"goodsDetailCollection" title:@"登录后才能收藏哦"];
        return;
    }
    if (![ALUserInfoServiceManger isInvited]) {
        [self onInviteVcName:nil];
        return;
    }
//    if (![ALUserInfoServiceManger isInvited]) {
//        [self onInviteVcName:nil];
//        return;
//    }
    [self fecthAndPostCollection];
}
@@ -993,10 +992,10 @@
        return;
    }
    // æ˜¯å¦æ¿€æ´»é‚€è¯·åŠŸèƒ½
    if (![ALUserInfoServiceManger isInvited]) {
        [self onInviteVcName:nil];
        return;
    }
//    if (![ALUserInfoServiceManger isInvited]) {
//        [self onInviteVcName:nil];
//        return;
//    }
    [self jumpCreateShare];
}
@@ -1050,10 +1049,10 @@
    }
    
    // æ˜¯å¦æ¿€æ´»é‚€è¯·åŠŸèƒ½
    if (![ALUserInfoServiceManger isInvited]) {
        [self onInviteVcName:nil];
        return;
    }
//    if (![ALUserInfoServiceManger isInvited]) {
//        [self onInviteVcName:nil];
//        return;
//    }
    [self getWPHLink];
}
@@ -1114,10 +1113,10 @@
        return;
    }
    // æ˜¯å¦æ¿€æ´»é‚€è¯·åŠŸèƒ½
    if (![ALUserInfoServiceManger isInvited]) {
        [self onInviteVcName:nil];
        return;
    }
//    if (![ALUserInfoServiceManger isInvited]) {
//        [self onInviteVcName:nil];
//        return;
//    }
    [self fecthAndPostCollection];
}
- (void)fecthAndPostCollection {
@@ -1171,10 +1170,10 @@
    }
    
    // æ˜¯å¦æ¿€æ´»é‚€è¯·åŠŸèƒ½
    if (![ALUserInfoServiceManger isInvited]) {
        [self onInviteVcName:nil];
        return;
    }
//    if (![ALUserInfoServiceManger isInvited]) {
//        [self onInviteVcName:nil];
//        return;
//    }
    sender.userInteractionEnabled = NO;
    [self onecClickBilling];
}
@@ -1234,7 +1233,7 @@
#pragma mark --- ç™»å½• ---
- (void)onLogin:(NSString *)name tips:(NSString *)tips
{
    [JRToast showWithText:tips?:@"请先登录板栗快省账号" bottomOffset:kToolBarH + 15 duration:1.2f];
    [JRToast showWithText:tips?:@"请先登录返利券账号" bottomOffset:kToolBarH + 15 duration:1.2f];
    NewLoginViewController *loginVc = [[NewLoginViewController alloc] init];
    loginVc.rootVc = self;
    loginVc.delegate = self;
fanliquan/½çÃæ/ÉÌÆ·ÏêÇé/WPH/WPHGoodsListController.m
@@ -275,7 +275,7 @@
- (void)onLoginVcName:(NSString *)vcName
{
    [JRToast showWithText:@"请先登录板栗快省账号" bottomOffset:kToolBarH + 15 duration:1.2f];
    [JRToast showWithText:@"请先登录返利券账号" bottomOffset:kToolBarH + 15 duration:1.2f];
    // ç™»å½•界面
    NewLoginViewController *loginVc = [[NewLoginViewController alloc] init];
    loginVc.delegate = self;
fanliquan/½çÃæ/ÉÌÆ·ÏêÇé/WPH/WPHGoodsListShowController.m
@@ -9,8 +9,6 @@
#import "WPHGoodsListShowController.h"
#import "WPHGoodsListController.h"
#import <JDSDK/JDKeplerSDK.h>
@interface WPHGoodsListShowController () <ZJScrollPageViewDelegate>
@property (nonatomic, nullable, strong) NSMutableArray *titleArray;
fanliquan/½çÃæ/ÎÒµÄ/Collection/View/CollectionCell.m
@@ -290,6 +290,10 @@
            [self.typeImageView setImage:[UIImage imageNamed:@"ic_share_sn"]];
            icomImage = [UIImage imageNamed:@"ic_share_sn"];
            
        }else if (model.shopType == 70){
            [self.typeImageView setImage:[UIImage imageNamed:@"ic_share_dy"]];
            icomImage = [UIImage imageNamed:@"ic_share_dy"];
        }
        self.typeImageView.sd_resetLayout.leftSpaceToView(self.titleImageView, 10).topSpaceToView(self.bgView, 8).widthIs(icomImage.size.width).heightIs(icomImage.size.height);
        
fanliquan/½çÃæ/ÎÒµÄ/FootprintsViewCell.m
@@ -290,6 +290,10 @@
            [self.typeImageView setImage:[UIImage imageNamed:@"ic_share_sn"]];
            icomImage = [UIImage imageNamed:@"ic_share_sn"];
            
        }else if (model.shopType == 70){
            [self.typeImageView setImage:[UIImage imageNamed:@"ic_share_dy"]];
            icomImage = [UIImage imageNamed:@"ic_share_dy"];
        }
        self.typeImageView.sd_resetLayout.leftSpaceToView(self.titleImageView, 10).topSpaceToView(self.bgView, 8).widthIs(icomImage.size.width).heightIs(icomImage.size.height);
        
fanliquan/½çÃæ/ÎÒµÄ/MineCell/NewMineView/MineTwoView.m
@@ -148,10 +148,10 @@
        return;
    }
    // æ˜¯å¦æ¿€æ´»é‚€è¯·åŠŸèƒ½
    if (![ALUserInfoServiceManger isInvited]) {
        [self onInviteVcName:nil];
        return;
    }
//    if (![ALUserInfoServiceManger isInvited]) {
//        [self onInviteVcName:nil];
//        return;
//    }
    
    sender.selected = YES;
    NSInteger tag = sender.tag - 1030;
@@ -184,7 +184,7 @@
- (void)onLoginVcName:(NSString *)vcName {
    if (vcName) {
        [JRToast showWithText:@"请先登录板栗快省账号" bottomOffset:kToolBarH + 15 duration:1.2f];
        [JRToast showWithText:@"请先登录返利券账号" bottomOffset:kToolBarH + 15 duration:1.2f];
    }
    // ç™»å½•界面
    NewLoginViewController *loginVc = [[NewLoginViewController alloc] init];
fanliquan/½çÃæ/ÎÒµÄ/NewLogin/NewLoginValidationController.m
@@ -290,7 +290,7 @@
                
            } else if(index == 9001) {
                self.baseTipsPopView.titleString = @"号码已占用提示";
                self.baseTipsPopView.contentString = @"很抱歉,该手机号已被其他板栗快省帐号占用,若要继续完成本帐号手机号更换,请去取消占用或更换其他手机号,谢谢。";
                self.baseTipsPopView.contentString = @"很抱歉,该手机号已被其他返利券帐号占用,若要继续完成本帐号手机号更换,请去取消占用或更换其他手机号,谢谢。";
                [self.baseTipsPopView showView:nil];
                
            } else {
fanliquan/½çÃæ/ÎÒµÄ/NewLogin/NewLoginViewController.m
@@ -54,9 +54,9 @@
@property (nonatomic,strong)UILabel *yinsiLabel;
///、
@property (nonatomic,strong)UILabel *fuhaoLabel;
///《板栗快省用户协议》
///《返利券用户协议》
@property (nonatomic,strong)UILabel *xieyiLabel;
///《板栗快省用户协议》链接
///《返利券用户协议》链接
@property (nonatomic,strong)NSString *serviceProtocolLink;
///《隐私政策》链接
@property (nonatomic,strong)NSString *privacyProtocolLink;
@@ -87,7 +87,7 @@
- (void)dataConfig {
    if (!self.defaultTipsString) { // æ²¡æœ‰èµ‹å€¼çš„æ—¶å€™ï¼Œç»™å‡ºé»˜è®¤å€¼
        self.defaultTipsString = @"未注册的手机号注册后系统会自动创建板栗快省账户";
        self.defaultTipsString = @"未注册的手机号注册后系统会自动创建返利券账户";
    }
}
@@ -212,7 +212,7 @@
    _loginTpye = loginTpye;
    if (loginTpye == 2) {
        self.defaultTipsString = @"";
        self.welcomeLabel.text = @"绑定板栗快省";
        self.welcomeLabel.text = @"绑定返利券";
        self.titLabel.text = @"请输入你的常用手机号码";
        
        self.otherLoginView.hidden = YES;
@@ -220,8 +220,8 @@
        self.otherButton.hidden = YES;
        
    } else {
        self.defaultTipsString = @"未注册的手机号注册后系统会自动创建板栗快省账户";
        self.welcomeLabel.text = @"欢迎登录板栗快省";
        self.defaultTipsString = @"未注册的手机号注册后系统会自动创建返利券账户";
        self.welcomeLabel.text = @"欢迎登录返利券";
        self.titLabel.hidden = NO;
        self.otherLoginView.hidden = NO;
        self.xieyiView.hidden = NO;
@@ -620,7 +620,7 @@
}
/**
 æ¿æ —快省用户协议
 è¿”利券用户协议
 */
- (void)userRule:(UITapGestureRecognizer *)gesture
{
@@ -773,7 +773,7 @@
    _welcomeLabel = [[UILabel alloc]init];
    _welcomeLabel.textColor = SJColor(51, 51, 51, 1);
    _welcomeLabel.font = [UIFont systemFontOfSize:25];
    _welcomeLabel.text = @"欢迎登录板栗快省";
    _welcomeLabel.text = @"欢迎登录返利券";
    if (SCREEN_WIDTH < 375) {
        _welcomeLabel.font = [UIFont systemFontOfSize:23];
    }else if(SCREEN_WIDTH > 375){
@@ -1030,7 +1030,7 @@
        _xieyiLabel.font = [UIFont systemFontOfSize:11];
    }
    _xieyiLabel.textColor = XYRMainColor;
    _xieyiLabel.text = @"《板栗快省用户协议》";
    _xieyiLabel.text = @"《返利券用户协议》";
    _xieyiLabel.userInteractionEnabled = YES;
    UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(userRule:)];
    [_xieyiLabel addGestureRecognizer:tap];
fanliquan/½çÃæ/ÎÒµÄ/NewMineController.m
@@ -322,10 +322,10 @@
            return;
        }
        // æ˜¯å¦æ¿€æ´»é‚€è¯·åŠŸèƒ½
        if (![ALUserInfoServiceManger isInvited]) {
            [self onInviteVcName:nil];
            return;
        }
//        if (![ALUserInfoServiceManger isInvited]) {
//            [self onInviteVcName:nil];
//            return;
//        }
        BalanceViewController *balanceVc = [[BalanceViewController alloc] init];
        balanceVc.datasource = self.userInfo;
        [self.navigationController pushViewController:balanceVc animated:YES];
@@ -343,10 +343,10 @@
            return;
        }
        // æ˜¯å¦æ¿€æ´»é‚€è¯·åŠŸèƒ½
        if (![ALUserInfoServiceManger isInvited]) {
            [self onInviteVcName:nil];
            return;
        }
//        if (![ALUserInfoServiceManger isInvited]) {
//            [self onInviteVcName:nil];
//            return;
//        }
        if (type == 1) {
            [self pushAnyInterfaceController:@"BonusStatisticsController" parms:@{@"title":[self.mineManager fetchTitle:1 type:self.dateType], @"dateType":[NSString stringWithFormat:@"%ld",(long)self.dateType], @"type":[NSString stringWithFormat:@"%d",1], @"source":@"bonus"}];
            
@@ -383,10 +383,10 @@
            return;
        }
        // æ˜¯å¦æ¿€æ´»é‚€è¯·åŠŸèƒ½
        if ([self.arrayBanner[index][@"jumpDetail"][@"needLogin"] boolValue] && ![ALUserInfoServiceManger isInvited]) {
            [self onInviteVcName:nil];
            return;
        }
//        if ([self.arrayBanner[index][@"jumpDetail"][@"needLogin"] boolValue] && ![ALUserInfoServiceManger isInvited]) {
//            [self onInviteVcName:nil];
//            return;
//        }
        [self.commonMethodManage pushController:self.arrayBanner[index][@"jumpDetail"] params:self.arrayBanner[index][@"params"] typePush:^(BOOL other) {}];
    };
    self.viewMineBanner.clickClose = ^{
@@ -783,7 +783,7 @@
#pragma mark --- ç™»å½• ---
- (void)onLoginVcName:(NSString *)vcName {
    if (vcName) {
        [JRToast showWithText:@"请先登录板栗快省账号" bottomOffset:kToolBarH + 15 duration:1.2f];
        [JRToast showWithText:@"请先登录返利券账号" bottomOffset:kToolBarH + 15 duration:1.2f];
    }
    // ç™»å½•界面
    NewLoginViewController *loginVc = [[NewLoginViewController alloc] init];
@@ -1087,10 +1087,10 @@
        return;
    }
    // æ˜¯å¦æ¿€æ´»é‚€è¯·åŠŸèƒ½
    if (![ALUserInfoServiceManger isInvited]) {
        [self onInviteVcName:nil];
        return;
    }
//    if (![ALUserInfoServiceManger isInvited]) {
//        [self onInviteVcName:nil];
//        return;
//    }
    if (type == MineSixCellCellShareRecord) {
        [UMCustomUser umUser_sharerecord];
        [self pushAnyInterfaceController:@"ALShareRecordController" parms:nil];
@@ -1113,11 +1113,11 @@
            [self onLoginVcName:nil];
            return;
        }
        // æ˜¯å¦æ¿€æ´»é‚€è¯·åŠŸèƒ½
        if (![ALUserInfoServiceManger isInvited]) {
            [self onInviteVcName:nil];
            return;
        }
//        // æ˜¯å¦æ¿€æ´»é‚€è¯·åŠŸèƒ½
//        if (![ALUserInfoServiceManger isInvited]) {
//            [self onInviteVcName:nil];
//            return;
//        }
        [self pushAnyInterfaceController:@"NewOrderViewController" parms:nil];
        
    } else if (index == 101) {
@@ -1127,10 +1127,10 @@
            return;
        }
        // æ˜¯å¦æ¿€æ´»é‚€è¯·åŠŸèƒ½
        if (![ALUserInfoServiceManger isInvited]) {
            [self onInviteVcName:nil];
            return;
        }
//        if (![ALUserInfoServiceManger isInvited]) {
//            [self onInviteVcName:nil];
//            return;
//        }
        [self pushAnyInterfaceController:@"OrderComplainMainController" parms:nil];
        
    } else if (index == 102) {
@@ -1139,10 +1139,10 @@
            return;
        }
        // æ˜¯å¦æ¿€æ´»é‚€è¯·åŠŸèƒ½
        if (![ALUserInfoServiceManger isInvited]) {
            [self onInviteVcName:nil];
            return;
        }
//        if (![ALUserInfoServiceManger isInvited]) {
//            [self onInviteVcName:nil];
//            return;
//        }
        InvitationFriendsViewController *invitationFriendsVc = [[InvitationFriendsViewController alloc] init];
        invitationFriendsVc.isRequestAPI = YES;
        [self.navigationController pushViewController:invitationFriendsVc animated:YES];
@@ -1154,10 +1154,10 @@
            return;
        }
        // æ˜¯å¦æ¿€æ´»é‚€è¯·åŠŸèƒ½
        if (![ALUserInfoServiceManger isInvited]) {
            [self onInviteVcName:nil];
            return;
        }
//        if (![ALUserInfoServiceManger isInvited]) {
//            [self onInviteVcName:nil];
//            return;
//        }
        [self pushAnyInterfaceController:@"MyTeamController" parms:nil];
    }
}
@@ -1168,10 +1168,10 @@
        return;
    }
    // æ˜¯å¦æ¿€æ´»é‚€è¯·åŠŸèƒ½
    if (![ALUserInfoServiceManger isInvited]) {
        [self onInviteVcName:nil];
        return;
    }
//    if (![ALUserInfoServiceManger isInvited]) {
//        [self onInviteVcName:nil];
//        return;
//    }
    
    if ([name isEqualToString:@"金币任务"]) { // é‡‘币任务
        [self requestFetchTaskList];
@@ -1294,10 +1294,10 @@
        return;
    }
    // æ˜¯å¦æ¿€æ´»é‚€è¯·åŠŸèƒ½
    if (![ALUserInfoServiceManger isInvited]) {
        [self onInviteVcName:nil];
        return;
    }
//    if (![ALUserInfoServiceManger isInvited]) {
//        [self onInviteVcName:nil];
//        return;
//    }
    if ([self.taoBaoCart[@"jumpDetail"][@"type"] isEqualToString:@"baichuan"]) {
        if (![[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:@"taobao://"]]){
            [JRToast showWithText:@"未安装淘宝App,该功能无法使用" duration:1.2f];
@@ -1327,10 +1327,10 @@
            return;
        }
        // æ˜¯å¦æ¿€æ´»é‚€è¯·åŠŸèƒ½
        if (![ALUserInfoServiceManger isInvited]) {
            [self onInviteVcName:nil];
            return;
        }
//        if (![ALUserInfoServiceManger isInvited]) {
//            [self onInviteVcName:nil];
//            return;
//        }
        [self pushAnyInterfaceController:@"MinCollectViewController" parms:nil];
        
    } else if ([stringName isEqualToString:@"足迹"]) {
@@ -1359,10 +1359,10 @@
        return;
    }
    // æ˜¯å¦æ¿€æ´»é‚€è¯·åŠŸèƒ½
    if (![ALUserInfoServiceManger isInvited]) {
        [self onInviteVcName:nil];
        return;
    }
//    if (![ALUserInfoServiceManger isInvited]) {
//        [self onInviteVcName:nil];
//        return;
//    }
    [self pushAnyInterfaceController:@"userInfoViewController" parms:@{@"vipLink":_vipLink?:@""}];
}
@@ -1372,10 +1372,10 @@
        return;
    }
    // æ˜¯å¦æ¿€æ´»é‚€è¯·åŠŸèƒ½
    if (![ALUserInfoServiceManger isInvited]) {
        [self onInviteVcName:nil];
        return;
    }
//    if (![ALUserInfoServiceManger isInvited]) {
//        [self onInviteVcName:nil];
//        return;
//    }
    [self pushAnyInterfaceController:@"userInfoViewController" parms:@{@"vipLink":_vipLink?:@""}];
}
@@ -1437,10 +1437,10 @@
                return;
            }
            // æ˜¯å¦æ¿€æ´»é‚€è¯·åŠŸèƒ½
            if (![ALUserInfoServiceManger isInvited]) {
                [self onInviteVcName:nil];
                return;
            }
//            if (![ALUserInfoServiceManger isInvited]) {
//                [self onInviteVcName:nil];
//                return;
//            }
            [self pushAnyInterfaceController:@"ShonpingShareViewController" parms:@{@"url":dictionary[@"link"]?:@""}];
        };
    }
fanliquan/½çÃæ/ÎÒµÄ/ProductLibrary/cell/SJProLibTableViewCell.m
@@ -283,6 +283,11 @@
            UIImage *images = [UIImage imageNamed:@"ic_share_pdd"];
            self.typeImageView.sd_resetLayout.leftSpaceToView(self.titleImageView, 10).topSpaceToView(self.bgView, 8).widthIs(images.size.width).heightIs(images.size.height);
            icomImage = [UIImage imageNamed:@"ic_share_pdd"];
        }else if (model.goods.shopType == 70){
            [self.typeImageView setImage:[UIImage imageNamed:@"ic_share_dy"]];
            UIImage *images = [UIImage imageNamed:@"ic_share_dy"];
            self.typeImageView.sd_resetLayout.leftSpaceToView(self.titleImageView, 10).topSpaceToView(self.bgView, 8).widthIs(images.size.width).heightIs(images.size.height);
            icomImage = [UIImage imageNamed:@"ic_share_dy"];
        }
        
        // æ ‡é¢˜
fanliquan/½çÃæ/ÎÒµÄ/Setting/View/SettingViewController.m
@@ -274,7 +274,7 @@
}
- (void)loginName:(NSString *)vcName {
    [JRToast showWithText:@"请先登录板栗快省账号" bottomOffset:kToolBarH + 15 duration:1.2f];
    [JRToast showWithText:@"请先登录返利券账号" bottomOffset:kToolBarH + 15 duration:1.2f];
    NewLoginViewController *loginVc = [[NewLoginViewController alloc] init];
    loginVc.rootVc = self;
    loginVc.delegate = self;
@@ -514,10 +514,10 @@
                return;
            }
            // æ˜¯å¦æ¿€æ´»é‚€è¯·åŠŸèƒ½
            if (![ALUserInfoServiceManger isInvited]) {
                [self onInviteVcName:nil];
                return;
            }
//            if (![ALUserInfoServiceManger isInvited]) {
//                [self onInviteVcName:nil];
//                return;
//            }
            [self pushAnyInterfaceController:@"userInfoViewController" parms:nil];
            
        } else if (indexPath.row == 1){//账户等级
@@ -527,10 +527,10 @@
                return;
            }
            // æ˜¯å¦æ¿€æ´»é‚€è¯·åŠŸèƒ½
            if (![ALUserInfoServiceManger isInvited]) {
                [self onInviteVcName:nil];
                return;
            }
//            if (![ALUserInfoServiceManger isInvited]) {
//                [self onInviteVcName:nil];
//                return;
//            }
            [self pushAnyInterfaceController:@"AccountLevelController" parms:nil];
        }
        
fanliquan/½çÃæ/ÎÒµÄ/ShareRecord/view/ALShareGoodsCell.m
@@ -316,6 +316,11 @@
            UIImage *images = [UIImage imageNamed:@"ic_share_pdd"];
            self.typeImageView.sd_resetLayout.leftSpaceToView(self.titleImageView, 10).topSpaceToView(self.bgView, 8).widthIs(images.size.width).heightIs(images.size.height);
            icomImage = [UIImage imageNamed:@"ic_share_pdd"];
        }else if (model.goods.shopType == 70){
            [self.typeImageView setImage:[UIImage imageNamed:@"ic_share_dy"]];
            UIImage *images = [UIImage imageNamed:@"ic_share_dy"];
            self.typeImageView.sd_resetLayout.leftSpaceToView(self.titleImageView, 10).topSpaceToView(self.bgView, 8).widthIs(images.size.width).heightIs(images.size.height);
            icomImage = [UIImage imageNamed:@"ic_share_dy"];
        }
        
        // æ ‡é¢˜
fanliquan/½çÃæ/ÎÒµÄ/UserInfo/Cell/UserinfoDidSelectCell.m
@@ -45,7 +45,7 @@
    [self.contentView addSubview:self.labelContent];
    [self.contentView addSubview:self.viewLine];
    
    self.labelTitle.sd_layout.leftSpaceToView(self.contentView, 16).centerYEqualToView(self.contentView).widthIs(80).autoHeightRatio(0);
    self.labelTitle.sd_layout.leftSpaceToView(self.contentView, 16).centerYEqualToView(self.contentView).widthIs(160).autoHeightRatio(0);
    
    UIImage *image = ALIMAGE_NAMED(@"myteam_arrow");;
    self.imageViewArrow.sd_layout.rightSpaceToView(self.contentView, 15).centerYEqualToView(self.contentView).widthIs(image.size.width).heightIs(image.size.height);
fanliquan/½çÃæ/ÎÒµÄ/UserInfo/userInfoViewController.m
@@ -19,6 +19,7 @@
#import "UserinfoDidSelectCell.h"
#import "XMActionSheet.h"
#import "GoodsJumpUtil.h"
@interface userInfoViewController ()<UITableViewDelegate, UITableViewDataSource,UINavigationControllerDelegate, UIImagePickerControllerDelegate, TZImagePickerControllerDelegate>
@@ -44,6 +45,10 @@
@property (nonatomic, copy) NSString *fansCountLink;
/// ä¼šå‘˜ç›¸å…³çš„动作
@property (nonatomic, nullable, strong) NSDictionary *vipAction;
// æ‹¼å¤šå¤šä¹°ç»‘定
@property (nonatomic, assign) BOOL pddBuyBind;
// æ‹¼å¤šå¤šåˆ†äº«ç»‘定
@property (nonatomic, assign) BOOL pddShareBind;
@property (nonatomic, assign) NSInteger count;
@@ -76,6 +81,8 @@
    NSDictionary *dictionary = [ALUserInfoServiceManger dictionaryWithJsonString:[self.plist readFile][0]];
    self.invitCode = dictionary[@"invitCode"];
    self.invitCodeUpdated = [dictionary[@"invitCodeUpdated"] boolValue];
    self.pddBuyBind = [dictionary[@"pddBuyBind"] boolValue];
    self.pddShareBind = [dictionary[@"pddShareBind"] boolValue];
    self.dictionaryUserinfoNew = dictionary;
    if (dictionary[@"user"]) {
        self.userInfo = dictionary[@"user"];
@@ -189,6 +196,29 @@
        }
    }];
}
- (void) pddBind:(int) type{
    NSMutableDictionary *params = [[NSMutableDictionary alloc] init];
    if ([ALUserInfoServiceManger fetchUID]) {
        [params setObject:[ALUserInfoServiceManger fetchUID] forKey:@"uid"];
    }
    [params setObject: [NSString stringWithFormat:@"%d", type] forKey:@"type"];
    [JYNetWorking Post:[NSString stringWithFormat:@"%@/%@",domainHTTP2,@"pdd/getAuthJumpInfo"] param: params success:^(NSDictionary *object) {
        if ([self isHaveValue:object] && [object[@"code"] integerValue] == 0) {
            [GoodsJumpUtil jumpPingDuoDuo:object[@"data"] with:self.navigationController];
        } else {
            [JRToast showWithText:object[@"msg"] bottomOffset:kToolBarH + 15 duration:1.2f];
        }
    } fail:^(id object) {
        NSError *error = object;
        ALToastBottom(error.localizedDescription);
    }];
}
- (void)unBindPhonewithPhoneString:(NSString *)phoneString {
    
    NSMutableDictionary *dic = [[NSMutableDictionary alloc] init];
@@ -400,7 +430,7 @@
        
    } else if (section == 1) {
        if ([YTHsharedManger startManger].iosonling == 1) {//iOS审核中 ,x把下个section的内容拿上来
            return 4;
            return 6;
        }
        if ([self isHaveValue:_vipAction]) {
            return 2;
@@ -408,7 +438,7 @@
        return 1;
        
    } else {
        return 4;
        return 6;
    }
}
@@ -588,7 +618,7 @@
                }
                return cell;
                
            } else {//微信授权
            } else if (indexPath.row == 3) {//微信授权
                static NSString *cellIden = @"userinfoDidSelectCellWXBD";
                UserinfoDidSelectCell *cell = [tableView dequeueReusableCellWithIdentifier:cellIden];
                if (!cell){
@@ -605,9 +635,40 @@
                }
                cell.viewLine.hidden = YES;
                return cell;
            }else if (indexPath.row == 4) {//拼多多自购备案
                static NSString *cellIden = @"userinfoDidSelectCellWXBD";
                UserinfoDidSelectCell *cell = [tableView dequeueReusableCellWithIdentifier:cellIden];
                if (!cell){
                    cell = [[UserinfoDidSelectCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:cellIden];
                }
                cell.stringTitle = @"拼多多自购备案";
                if (_pddBuyBind) {//绑定状态
                    cell.stringContent = @"去更改";
                } else {//未绑定状态
                    cell.stringContent = @"去备案";
                }
                cell.viewLine.hidden = YES;
                return cell;
            }else if (indexPath.row == 5) {//拼多多分享备案
                static NSString *cellIden = @"userinfoDidSelectCellWXBD";
                UserinfoDidSelectCell *cell = [tableView dequeueReusableCellWithIdentifier:cellIden];
                if (!cell){
                    cell = [[UserinfoDidSelectCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:cellIden];
                }
                cell.stringTitle = @"拼多多分享备案";
                if (_pddShareBind) {//绑定状态
                    cell.stringContent = @"去更改";
                } else {//未绑定状态
                    cell.stringContent = @"去备案";
                }
                cell.viewLine.hidden = YES;
                return cell;
            }else{
                return nil;
            }
        } else {
            if ([self isHaveValue:_vipAction]) {
                if (indexPath.row == 0) {
@@ -704,7 +765,7 @@
            }
            return cell;
            
        } else {//微信授权
        } else if (indexPath.row == 3) {//微信授权
            static NSString *cellIden = @"userinfoDidSelectCellWXBD";
            UserinfoDidSelectCell *cell = [tableView dequeueReusableCellWithIdentifier:cellIden];
            if (!cell){
@@ -721,6 +782,40 @@
            }
            cell.viewLine.hidden = YES;
            return cell;
        }else if (indexPath.row == 4) {//拼多多自购备案
            static NSString *cellIden = @"userinfoDidSelectCellWXBD";
            UserinfoDidSelectCell *cell = [tableView dequeueReusableCellWithIdentifier:cellIden];
            if (!cell){
                cell = [[UserinfoDidSelectCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:cellIden];
            }
            cell.stringTitle = @"拼多多自购备案";
            if (_pddBuyBind) {//绑定状态
                cell.stringContent = @"去更改";
            } else {//未绑定状态
                cell.stringContent = @"绑定";
            }
            cell.viewLine.hidden = YES;
            return cell;
        }else if (indexPath.row == 5) {//拼多多分享备案
            static NSString *cellIden = @"userinfoDidSelectCellWXBD";
            UserinfoDidSelectCell *cell = [tableView dequeueReusableCellWithIdentifier:cellIden];
            if (!cell){
                cell = [[UserinfoDidSelectCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:cellIden];
            }
            cell.stringTitle = @"拼多多分享备案";
            if (_pddShareBind) {//绑定状态
                cell.stringContent = @"去更改";
            } else {//未绑定状态
                cell.stringContent = @"绑定";
            }
            cell.viewLine.hidden = YES;
            return cell;
        }else{
            return nil;
        }
    }
}
@@ -874,6 +969,20 @@
                    }
                }
            }
        }else if(indexPath.row == 4){//拼多多自购
            if (![self socketReachabilityTest]) {
                ALToastBottom(NETWORK_CONNECT_ANOMALY);
                return;
            }
            [self pddBind:1];
        }else if(indexPath.row == 5){//拼多多分享
            if (![self socketReachabilityTest]) {
                ALToastBottom(NETWORK_CONNECT_ANOMALY);
                return;
            }
            [self pddBind:2];
        }
    }
}
fanliquan/½çÃæ/ËÑË÷/SearchDetailController.m
@@ -13,6 +13,7 @@
#import "SearchDetailFilterView.h"
#import "SearchDetailFilterWPHView.h"
#import "SearchDetailFilterSNView.h"
#import "SearchDetailFilterDYView.h"
#import "SearchDetailConditionView.h"
#import "SearchDetailFiltrPriceView.h"
@@ -31,6 +32,7 @@
@property (nonatomic, nullable, strong) SearchDetailFilterView *searchDetailFilterView;
@property (nonatomic, nullable, strong) SearchDetailFilterWPHView *viewSearchDetailFilterWPH;
@property (nonatomic, nullable, strong) SearchDetailFilterSNView *viewSearchDetailFilterSN;
@property (nonatomic, nullable, strong) SearchDetailFilterDYView *viewSearchDetailFilterDY;
@property (nonatomic, nullable, strong) SearchDetailConditionView *searchDetailConditionView;
@@ -75,7 +77,7 @@
@property (nonatomic, nullable, strong) FetchGoldcoinPopView *fetchGoldcoinPopView;
@property (nonatomic) SMDelayedBlockHandle delayedBlockHandle;
///小黄条的类型:searchGoodsResult1(淘宝),searchGoodsResult2(京东),searchGoodsResult3(拼多多),searchGoodsResult4(唯品会),searchGoodsResult5(苏宁)
///小黄条的类型:searchGoodsResult1(淘宝),searchGoodsResult2(京东),searchGoodsResult3(拼多多),searchGoodsResult4(唯品会),searchGoodsResult5(苏宁),searchGoodsResult7(抖音)
@property (nonatomic, nullable, copy) NSString *notifyType;
@property (nonatomic, nullable, strong) NSDictionary *notification;
@@ -120,6 +122,8 @@
        
    } else if ([self.goodsType integerValue] == 5) {
        self.notifyType = @"searchGoodsResult5";
    }else if ([self.goodsType integerValue] == 7) {
        self.notifyType = @"searchGoodsResult7";
    }
    
    self.isSelectCoupon = NO;
@@ -178,6 +182,9 @@
        
    } else if ([_goodsType integerValue] == 5) {
        [self.view addSubview:self.viewSearchDetailFilterSN];
    }else if ([_goodsType integerValue] == 7) {
        [self.view addSubview:self.viewSearchDetailFilterDY];
        
    } else {
        [self.view addSubview:self.searchDetailFilterView];
@@ -240,6 +247,18 @@
    [self.viewSearchDetailFilterSN.rebatesButton addTarget:self action:@selector(onFilterGoodsSN:) forControlEvents:UIControlEventTouchUpInside];
    
    [self.viewSearchDetailFilterSN.filteringButton addTarget:self action:@selector(onFilterGoodsSN:) forControlEvents:UIControlEventTouchUpInside];
    // æŠ–音
    self.viewSearchDetailFilterDY.volumeButton.tag = 701;
    self.viewSearchDetailFilterDY.priceButton.tag = 702;
    self.viewSearchDetailFilterDY.rebatesButton.tag = 704;
    [self.viewSearchDetailFilterDY.volumeButton addTarget:self action:@selector(onFilterGoodsDY:) forControlEvents:UIControlEventTouchUpInside];
    [self.viewSearchDetailFilterDY.priceButton addTarget:self action:@selector(onFilterGoodsDY:) forControlEvents:UIControlEventTouchUpInside];
    [self.viewSearchDetailFilterDY.rebatesButton addTarget:self action:@selector(onFilterGoodsDY:) forControlEvents:UIControlEventTouchUpInside];
}
- (void)addNetWorkNotice {
@@ -456,6 +475,7 @@
    [self resetDataCoing];
    [self resetDataWPHCoing];
    [self resetDataSNCoing];
    [self resetDataDYCoing];
    
    [self.tableView.mj_header beginRefreshing];
}
@@ -684,6 +704,77 @@
    }
}
- (void)onFilterGoodsDY:(UIButton *)button {
    switch (button.tag) {
        case 701: {
            if (!button.selected) {
                button.selected = YES;
                self.viewSearchDetailFilterDY.priceButton.selected = NO;
                self.viewSearchDetailFilterDY.priceButton.tag = 702;
                self.viewSearchDetailFilterDY.rebatesButton.selected = NO;
                [self hidePriceView];
                self.order = 5;
                [self.tableView.mj_header beginRefreshing];
            }
            break;
        }
        case 702: {
            button.selected = YES;
            button.tag = 703;
            self.viewSearchDetailFilterDY.volumeButton.selected = NO;
            self.viewSearchDetailFilterDY.rebatesButton.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.viewSearchDetailFilterDY.volumeButton.selected = NO;
            self.viewSearchDetailFilterDY.rebatesButton.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.viewSearchDetailFilterDY.volumeButton.selected = NO;
                self.viewSearchDetailFilterDY.priceButton.selected = NO;
                self.viewSearchDetailFilterDY.priceButton.tag = 702;
                self.order = 4;
                [self hidePriceView];
                [self.tableView.mj_header beginRefreshing];
            }
            break;
        }
        default:
            break;
    }
}
- (void)ClickConnectBtn:(UIButton *)sender {
    if (iOS10) {
        [[UIApplication sharedApplication] openURL:[NSURL URLWithString:UIApplicationOpenSettingsURLString]
@@ -765,6 +856,27 @@
    self.viewSearchDetailFilterSN.rebatesButton.selected = NO;
    
    self.viewSearchDetailFilterSN.filteringButton.selected = NO;
    self.searchDetailConditionView.hidden = YES;
    self.isShow = NO;
    [self.searchDetailConditionView resetDataConfig];
    [self hidePriceView];
}
- (void)resetDataDYCoing {
    self.page = 1;
    self.order = 0;
    self.isHaveFilterArray = nil;
    self.viewSearchDetailFilterDY.volumeButton.selected = YES;
    self.viewSearchDetailFilterSN.priceButton.selected = NO;
    self.viewSearchDetailFilterSN.priceButton.tag = 702;
    self.viewSearchDetailFilterSN.rebatesButton.selected = NO;
    
    self.searchDetailConditionView.hidden = YES;
    self.isShow = NO;
@@ -1064,6 +1176,14 @@
    return _viewSearchDetailFilterSN;
}
- (SearchDetailFilterDYView *)viewSearchDetailFilterDY {
    if (!_viewSearchDetailFilterDY) {
        _viewSearchDetailFilterDY = [[SearchDetailFilterDYView alloc] initWithFrame:CGRectMake(0, 0, SCREEN_WIDTH, 40)];
    }
    return _viewSearchDetailFilterDY;
}
- (SearchDetailFiltrPriceView *)searchDetailFiltrPriceView {
    if (!_searchDetailFiltrPriceView) {
        _searchDetailFiltrPriceView = [[SearchDetailFiltrPriceView alloc] initWithFrame:CGRectMake(0, CGRectGetMaxY(self.searchDetailFilterView.frame), SCREEN_WIDTH, 0)];
fanliquan/½çÃæ/ËÑË÷/SearchDetailFilterDYView.h
New file
@@ -0,0 +1,25 @@
//
//  SearchDetailFilterDYView.h
//  MIduo
//
//  Created by aeline on 2020/6/4.
//  Copyright Â© 2020 yeshi. All rights reserved.
//
#import <UIKit/UIKit.h>
NS_ASSUME_NONNULL_BEGIN
@interface SearchDetailFilterDYView : UIView
@property (nonatomic, nullable, strong) ALButton *volumeButton;
/// ä»·æ ¼
@property (nonatomic, nullable, strong) ALButton *priceButton;
/// è¿”利比
@property (nonatomic, nullable, strong) ALButton *rebatesButton;
@end
NS_ASSUME_NONNULL_END
fanliquan/½çÃæ/ËÑË÷/SearchDetailFilterDYView.m
New file
@@ -0,0 +1,92 @@
//
//  SearchDetailFilterDYView.m
//  MIduo
//
//  Created by aeline on 2020/6/4.
//  Copyright Â© 2020 yeshi. All rights reserved.
//
#import "SearchDetailFilterDYView.h"
@interface SearchDetailFilterDYView ()
@property (nonatomic, nullable, strong) UIView *garyView;
@end
@implementation SearchDetailFilterDYView
- (instancetype)initWithFrame:(CGRect)frame
{
    self = [super initWithFrame:frame];
    if (self) {
        self.backgroundColor = [UIColor whiteColor];
        [self viewConfig];
    }
    return self;
}
- (void)viewConfig {
    [self addSubview:self.volumeButton];
    [self addSubview:self.priceButton];
    [self addSubview:self.rebatesButton];
    CGFloat dyWidth = (SCREEN_WIDTH > 375)?50:30;
    self.volumeButton.sd_layout.leftSpaceToView(self, dyWidth).topEqualToView(self).bottomEqualToView(self).widthIs((SCREEN_WIDTH-dyWidth*2)/3);
    self.priceButton.sd_layout.leftSpaceToView(self.volumeButton, 0).topEqualToView(self).bottomEqualToView(self).widthIs((SCREEN_WIDTH-dyWidth*2)/3);
    self.rebatesButton.sd_layout.leftSpaceToView(self.priceButton, 0).topEqualToView(self).bottomEqualToView(self).widthIs((SCREEN_WIDTH-dyWidth*2)/3);
    [_rebatesButton setTitleEdgeInsets:UIEdgeInsetsMake(0, -_priceButton.imageView.bounds.size.width, 0, _priceButton.imageView.bounds.size.width)];
    [_rebatesButton setImageEdgeInsets:UIEdgeInsetsMake(0, _priceButton.titleLabel.bounds.size.width, 0, -_priceButton.titleLabel.bounds.size.width)];
    [self addSubview:self.garyView];
    self.garyView.sd_layout.leftEqualToView(self).bottomEqualToView(self).rightEqualToView(self).heightIs(0.5);
}
- (ALButton *)volumeButton {
    if (!_volumeButton) {
        _volumeButton = [ALButton buttonWithType:UIButtonTypeCustom];
        [_volumeButton setTitle:@"销量" forState:UIControlStateNormal];
        [_volumeButton setTitleColor:UICOLOR_FROM_RGB(0x333333, 1.0) forState:UIControlStateNormal];
        [_volumeButton setTitleColor:UICOLOR_FROM_RGB(0xE5005C, 1.0) forState:UIControlStateSelected];
        _volumeButton.titleLabel.font = [UIFont systemFontOfSize:15];
        _volumeButton.selected = YES;
    }
    return _volumeButton;
}
- (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;
}
- (UIView *)garyView {
    if (!_garyView) {
        _garyView = [[UIView alloc] init];
        _garyView.backgroundColor = UICOLOR_FROM_RGB(0xe0e0e0, 1.0);
    }
    return _garyView;
}
@end
fanliquan/½çÃæ/ËÑË÷/SearchDetailMainController.m
@@ -68,12 +68,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":@"7"}];
    [self.contentArray addObject:@{@"goodsType":@"5"}];
    
    [[NSUserDefaults standardUserDefaults] setBool:YES forKey:@"searchdetailIsExpand"];
@@ -104,6 +106,7 @@
}
- (void)setupNavConfig {
    self.navigationController.navigationBar.backgroundColor= FLQNewNavigationBarColor;
    self.navigationController.navigationBar.translucent = NO;
    self.navigationController.navigationBar.barTintColor = FLQNewNavigationBarColor;
    self.navigationController.navigationBar.titleTextAttributes = @{NSForegroundColorAttributeName:FLQNewNavigationTitleColor,NSFontAttributeName:[UIFont boldSystemFontOfSize:FLQNewNavigationTitleFont]};
fanliquan/½çÃæ/ËÑË÷/SearchGongGeCollectionCell.m
@@ -62,6 +62,7 @@
    self.titleImageView.sd_cornerRadius = @5;
    
    UIImage *images = [UIImage imageNamed:@"ic_share_taobao"];
//    UIImage *images = [UIImage imageNamed:@"ic_share_dy"];
    [self.bgView addSubview:self.typeImageView];
    self.typeImageView.sd_layout.leftSpaceToView(self.bgView, 8).topSpaceToView(self.titleImageView, 11).widthIs(images.size.width).heightIs(images.size.height);
    
@@ -142,7 +143,10 @@
            
        } else if (model.shopType == 11){
            images = [UIImage imageNamed:@"ic_share_tmall"];
        } else if (model.shopType == 70){
            images = [UIImage imageNamed:@"ic_share_dy"];
        }
        self.typeImageView.image = images;
        
        // æ ‡é¢˜
fanliquan/½çÃæ/ËÑË÷/SearchMainController.m
@@ -63,12 +63,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":@"7"}];
    [self.contentArray addObject:@{@"goodsType":@"5"}];
}
@@ -250,6 +252,8 @@
        
    }  else if (goodsTypes == 5) {
        name = @"historySNSearchList";
    } else if (goodsTypes == 7) {
        name = @"historyDYSearchList";
    }
    return name;
}
fanliquan/½çÃæ/ÏûÏ¢/MessageMainController.m
@@ -389,7 +389,7 @@
- (void)onLoginVcName:(NSString *)vcName {
    if (vcName && ![vcName isEqualToString:@"lijidenglu"]) {
        [JRToast showWithText:@"请先登录板栗快省账号" bottomOffset:kToolBarH + 15 duration:1.2f];
        [JRToast showWithText:@"请先登录返利券账号" bottomOffset:kToolBarH + 15 duration:1.2f];
    }
    // ç™»å½•界面
    NewLoginViewController *loginVc = [[NewLoginViewController alloc] init];
@@ -538,10 +538,10 @@
                    return;
                }
                // æ˜¯å¦æ¿€æ´»é‚€è¯·åŠŸèƒ½
                if ([NSNumber numberWithBool:((MsgNotifyModel *)self.dataSource[indexPath.section - 1][@"data"]).jumpDetail[@"needLogin"]].boolValue && ![ALUserInfoServiceManger isInvited]) {
                    [self onInviteVcName:nil];
                    return;
                }
//                if ([NSNumber numberWithBool:((MsgNotifyModel *)self.dataSource[indexPath.section - 1][@"data"]).jumpDetail[@"needLogin"]].boolValue && ![ALUserInfoServiceManger isInvited]) {
//                    [self onInviteVcName:nil];
//                    return;
//                }
                [self readCommonMsg:self.dataSource[indexPath.section - 1][@"data"][@"type"] dataDictionary:self.dataSource[indexPath.section - 1] index:indexPath.section - 1 isHaveModel:YES];
                
                [self.commonMethodManage pushController:((MsgNotifyModel *)self.dataSource[indexPath.section - 1][@"data"]).jumpDetail params:((MsgNotifyModel *)self.dataSource[indexPath.section - 1][@"data"]).params typePush:^(BOOL other) {}];
@@ -563,10 +563,10 @@
                    return;
                }
                // æ˜¯å¦æ¿€æ´»é‚€è¯·åŠŸèƒ½
                if ([NSNumber numberWithBool:self.dataSource[indexPath.section - 1][@"data"][@"jumpDetail"][@"needLogin"]].boolValue && ![ALUserInfoServiceManger isInvited]) {
                    [self onInviteVcName:nil];
                    return;
                }
//                if ([NSNumber numberWithBool:self.dataSource[indexPath.section - 1][@"data"][@"jumpDetail"][@"needLogin"]].boolValue && ![ALUserInfoServiceManger isInvited]) {
//                    [self onInviteVcName:nil];
//                    return;
//                }
                [self readCommonMsg:self.dataSource[indexPath.section - 1][@"data"][@"type"] dataDictionary:self.dataSource[indexPath.section - 1] index:indexPath.section - 1 isHaveModel:NO];
                
                [self.commonMethodManage pushController:self.dataSource[indexPath.section - 1][@"data"][@"jumpDetail"] params:self.dataSource[indexPath.section - 1][@"data"][@"params"] typePush:^(BOOL other) {}];
@@ -578,10 +578,10 @@
                return;
            }
            // æ˜¯å¦æ¿€æ´»é‚€è¯·åŠŸèƒ½
            if ([NSNumber numberWithInteger:[((MsgSpecialModel *)self.dataSource[indexPath.section - 1][@"data"]).jumpDetail[@"needLogin"] integerValue]].boolValue && ![ALUserInfoServiceManger isInvited]) {
                [self onInviteVcName:nil];
                return;
            }
//            if ([NSNumber numberWithInteger:[((MsgSpecialModel *)self.dataSource[indexPath.section - 1][@"data"]).jumpDetail[@"needLogin"] integerValue]].boolValue && ![ALUserInfoServiceManger isInvited]) {
//                [self onInviteVcName:nil];
//                return;
//            }
            MsgSpecialModel *msgSpecialModel = ((MsgSpecialModel *)self.dataSource[indexPath.section - 1][@"data"]);
            [self.commonMethodManage pushController:msgSpecialModel.jumpDetail params:msgSpecialModel.params typePush:^(BOOL other) {}];
            
@@ -631,10 +631,10 @@
                return ;
            }
            // æ˜¯å¦æ¿€æ´»é‚€è¯·åŠŸèƒ½
            if (![ALUserInfoServiceManger isInvited]) {
                [self onInviteVcName:nil];
                return;
            }
//            if (![ALUserInfoServiceManger isInvited]) {
//                [self onInviteVcName:nil];
//                return;
//            }
            @strongify(self)
            kPreventRepeatClickTime(0.5);
            [self jumpMessageDetail:@"订单消息" type:@"order" isFromInvite:NO];
@@ -648,10 +648,10 @@
                return ;
            }
            // æ˜¯å¦æ¿€æ´»é‚€è¯·åŠŸèƒ½
            if (![ALUserInfoServiceManger isInvited]) {
                [self onInviteVcName:nil];
                return;
            }
//            if (![ALUserInfoServiceManger isInvited]) {
//                [self onInviteVcName:nil];
//                return;
//            }
            @strongify(self)
            kPreventRepeatClickTime(0.5);
            [self jumpMessageDetail:@"资金消息" type:@"money" isFromInvite:NO];
@@ -666,10 +666,10 @@
                return ;
            }
            // æ˜¯å¦æ¿€æ´»é‚€è¯·åŠŸèƒ½
            if (![ALUserInfoServiceManger isInvited]) {
                [self onInviteVcName:nil];
                return;
            }
//            if (![ALUserInfoServiceManger isInvited]) {
//                [self onInviteVcName:nil];
//                return;
//            }
            @strongify(self)
            kPreventRepeatClickTime(0.5);
            [self jumpMessageDetail:@"账号消息" type:@"account" isFromInvite:NO];
@@ -684,10 +684,10 @@
                return ;
            }
            // æ˜¯å¦æ¿€æ´»é‚€è¯·åŠŸèƒ½
            if (![ALUserInfoServiceManger isInvited]) {
                [self onInviteVcName:nil];
                return;
            }
//            if (![ALUserInfoServiceManger isInvited]) {
//                [self onInviteVcName:nil];
//                return;
//            }
            @strongify(self)
            kPreventRepeatClickTime(0.5);
            [self jumpMessageDetail:@"邀请消息" type:@"invite" isFromInvite:YES];
@@ -702,10 +702,10 @@
                return ;
            }
            // æ˜¯å¦æ¿€æ´»é‚€è¯·åŠŸèƒ½
            if (![ALUserInfoServiceManger isInvited]) {
                [self onInviteVcName:nil];
                return;
            }
//            if (![ALUserInfoServiceManger isInvited]) {
//                [self onInviteVcName:nil];
//                return;
//            }
            @strongify(self)
            kPreventRepeatClickTime(0.5);
            [self jumpMessageDetail:@"其它消息" type:@"other" isFromInvite:NO];
fanliquan/½çÃæ/ÍøÒ³ÊÓͼ/SureWebViewController.m
@@ -242,7 +242,7 @@
        TipLabel.font = [UIFont systemFontOfSize:14.0f];
        TipLabel.textAlignment = NSTextAlignmentCenter;
        TipLabel.numberOfLines = 0;
        TipLabel.text = @"注意:此收藏为你的淘宝收藏夹,板栗快省并未获取数据,隐私并不会泄露,请放心使用!";
        TipLabel.text = @"注意:此收藏为你的淘宝收藏夹,返利券并未获取数据,隐私并不会泄露,请放心使用!";
        [_tipView addSubview:TipLabel];
        
        UIButton *closeBtn=[[UIButton alloc] initWithFrame:CGRectMake((SCREEN_WIDTH-100)/2, 70, 100, 24)];
@@ -701,7 +701,7 @@
        [_tipMessageView addSubview:imageview];
        UILabel *label = [[UILabel alloc]initWithFrame:CGRectMake(0, 5, _tipMessageView.frame.size.width - 15, 30)];
        label.textColor = [UIColor whiteColor];
        label.text = @"只有登录板栗快省之后购买,才可以收到返利哟!";
        label.text = @"只有登录返利券之后购买,才可以收到返利哟!";
        label.font = [UIFont systemFontOfSize:12];
        if (SCREEN_WIDTH >= 375) {
            label.font = [UIFont systemFontOfSize:14];
@@ -1156,7 +1156,7 @@
        shareObject.webpageUrl = [NSString stringWithFormat:@"%@?id=%@",[[NSUserDefaults standardUserDefaults] objectForKey:@"shareGoods"],_goodsId];
    }else{
        //创建网页内容对象
        shareObject = [UMShareWebpageObject shareObjectWithTitle:@"板栗快省" descr:@"省钱省心的购物!做您的电商购物好帮手!" thumImage:[UIImage imageNamed:@"APP图标"]];
        shareObject = [UMShareWebpageObject shareObjectWithTitle:@"返利券" descr:@"省钱省心的购物!做您的电商购物好帮手!" thumImage:[UIImage imageNamed:@"APP图标"]];
        //设置网页地址
        shareObject.webpageUrl =[NSString stringWithFormat:@"%@?id=%@",[[NSUserDefaults standardUserDefaults] objectForKey:@"shareGoods"],_goodsId];
    }
fanliquan/½çÃæ/ÑûÇë/MainInviteViewController.m
@@ -425,10 +425,10 @@
- (void)onInviteEvent:(UIButton *)button {
    if (!([ALUserInfoServiceManger fetchUID])) {
        if (IS_IPHONE_X) {
            [JRToast showWithText:@"请先登录板栗快省账号" bottomOffset:kToolBarH + 15 duration:1.2f];
            [JRToast showWithText:@"请先登录返利券账号" bottomOffset:kToolBarH + 15 duration:1.2f];
            
        } else {
            ALToastBottom(@"请先登录板栗快省账号");
            ALToastBottom(@"请先登录返利券账号");
        }
        NewLoginViewController *loginVc = [[NewLoginViewController alloc] init];
        loginVc.delegate = self;
@@ -469,10 +469,10 @@
    if (![ALUserInfoServiceManger fetchUID]) {
        
        if (IS_IPHONE_X) {
            [JRToast showWithText:@"请先登录板栗快省账号" bottomOffset:kToolBarH + 15 duration:1.2f];
            [JRToast showWithText:@"请先登录返利券账号" bottomOffset:kToolBarH + 15 duration:1.2f];
            
        } else {
            ALToastBottom(@"请先登录板栗快省账号");
            ALToastBottom(@"请先登录返利券账号");
        }
        NewLoginViewController *loginVc = [[NewLoginViewController alloc] init];
        loginVc.delegate = self;
fanliquan/½çÃæ/ÑûÇë/ÉÌÆ··ÖÏí/ActivityViewController/ShareActivityView.m
@@ -358,7 +358,7 @@
- (UILabel *)labelTitle {
    if (!_labelTitle) {
        _labelTitle = [[UILabel alloc] init];
        _labelTitle.text = @"当分享方式为不含“板栗快省”标识,系统默认只分享一张含有二维码的分享图,如果你要分享多张图片请勾选,系统会记住你上一次的选择。";
        _labelTitle.text = @"当分享方式为不含“返利券”标识,系统默认只分享一张含有二维码的分享图,如果你要分享多张图片请勾选,系统会记住你上一次的选择。";
        _labelTitle.textColor = UIColorFromRGBValue(0x666666);
        _labelTitle.font = [UIFont systemFontOfSize:12];
    }
fanliquan/½çÃæ/ÑûÇë/ÉÌÆ··ÖÏí/View/BotTextView.m
@@ -291,7 +291,7 @@
- (UILabel *)copyLabel {
    if (!_copyLabel) {
        _copyLabel = [[UILabel alloc] init];
        _copyLabel.text = @"分享含板栗快省标识";
        _copyLabel.text = @"分享含返利券标识";
        _copyLabel.userInteractionEnabled = YES;
        _copyLabel.textColor = UICOLOR_FROM_RGB(0x000000, 1.0);
        _copyLabel.font = [UIFont systemFontOfSize:14.0];
fanliquan/½çÃæ/ÑûÇë/ÉÌÆ··ÖÏí/View/MultipleShowShareView.m
@@ -306,6 +306,10 @@
            imagesType = [UIImage imageNamed:@"ic_share_pdd"];
            [self.typeImageView setImage:imagesType];
            self.typeImageView.sd_resetLayout.leftSpaceToView(self.qrCodeimageView, 10).topSpaceToView(self.imageBgView, 15).widthIs(imagesType.size.width).heightIs(imagesType.size.height);
        }else if (((GoodsDetailBaseModel *)resultDic[@"goods"]).shopType == 70) {
            imagesType = [UIImage imageNamed:@"ic_share_dy"];
            [self.typeImageView setImage:imagesType];
        }
        
        self.taobao_tianmall_Label.text = [NSString stringWithFormat:@"%@ Â¥%@",((GoodsDetailBaseModel *)resultDic[@"goods"]).priceName,((GoodsDetailBaseModel *)resultDic[@"goods"]).zkPrice];
fanliquan/½çÃæ/ÑûÇë/ÉÌÆ··ÖÏí/View/QuickShareView/QuickShareChangeBottomView.m
@@ -58,7 +58,7 @@
        _buttonSlect = [ALButton buttonWithType:UIButtonTypeCustom];
        [_buttonSlect setImage:ALIMAGE_NAMED(@"new_share_btn_normol") forState:UIControlStateNormal];
        [_buttonSlect setImage:ALIMAGE_NAMED(@"new_share_btn_select") forState:UIControlStateSelected];
        [_buttonSlect setTitle:@" åˆ†äº«å«æ¿æ —快省标识" forState:UIControlStateNormal];
        [_buttonSlect setTitle:@" åˆ†äº«å«è¿”利券标识" forState:UIControlStateNormal];
        [_buttonSlect setTitleColor:UIColorFromRGBValue(0x000000) forState:UIControlStateNormal];
        _buttonSlect.titleLabel.font = [UIFont systemFontOfSize:14];
        [_buttonSlect addTarget:self action:@selector(onTouchAllSelect:) forControlEvents:UIControlEventTouchUpInside];
fanliquan/½çÃæ/ÑûÇë/ÉÌÆ··ÖÏí/View/ShowShareView.m
@@ -302,6 +302,9 @@
        } else if (shopType == 50) {
            imagesType = [UIImage imageNamed:@"ic_share_sn"];
            [self.typeImageView setImage:imagesType];
        }else if (shopType == 70) {
            imagesType = [UIImage imageNamed:@"ic_share_dy"];
            [self.typeImageView setImage:imagesType];
        }
        self.typeImageView.sd_resetLayout.leftSpaceToView(self.scrollView, 11).topSpaceToView(self.imageView, 9).widthIs(imagesType.size.width).heightIs(imagesType.size.height);
        
fanliquan/½çÃæ/ÑûÇë/ÑûÇëºÃÓÑ/InvitationFriendsViewController.m
@@ -342,7 +342,7 @@
    }
    [self fetchGoldCofin];
    [self.commonMethodManage setPasteboardContent:[NSString stringWithFormat:@"邀请码:%@\n板栗快省下载链接:%@",self.inviteCode,self.inviteLink] title:@"邀请链接复制成功"];
    [self.commonMethodManage setPasteboardContent:[NSString stringWithFormat:@"邀请码:%@\n返利券下载链接:%@",self.inviteCode,self.inviteLink] title:@"邀请链接复制成功"];
}
- (void)fetchInfomation {
fanliquan/½çÃæ/Ê×Ò³/ActivitiesViewController.m
@@ -741,7 +741,7 @@
    @weakify(self)
    dispatch_async(dispatch_get_main_queue(), ^{
        @strongify(self)
        [JRToast showWithText:@"请先登录板栗快省账号" bottomOffset:kToolBarH duration:1.2f];
        [JRToast showWithText:@"请先登录返利券账号" bottomOffset:kToolBarH duration:1.2f];
        NewLoginViewController *loginVc = [[NewLoginViewController alloc] init];
        loginVc.delegate = self;
        loginVc.rootVc = self.controllerRoot;
fanliquan/½çÃæ/Ê×Ò³/ActivityDetailController.m
@@ -293,7 +293,7 @@
- (void)onLoginVcName:(NSString *)vcName
{
    [JRToast showWithText:@"请先登录板栗快省账号" bottomOffset:kToolBarH + 15 duration:1.2f];
    [JRToast showWithText:@"请先登录返利券账号" bottomOffset:kToolBarH + 15 duration:1.2f];
    
    // ç™»å½•界面
    NewLoginViewController *loginVc = [[NewLoginViewController alloc] init];
@@ -317,6 +317,9 @@
    if (![ALUserInfoServiceManger fetchUID]) {
        return;
    }
    if(!self.oldIds){
        return;
    }
    NSDictionary *tempDictionary = @{@"id":self.oldIds};
    NSString *paramsStr = [NSString jsonStringWithDictionary:tempDictionary];
    NSDictionary *params = @{@"uid":[ALUserInfoServiceManger fetchUID],@"event":@"scanHomeBanner",@"data":paramsStr};
fanliquan/½çÃæ/Ê×Ò³/HomeManage.m
@@ -411,7 +411,7 @@
}
- (void)onLoginVcName:(NSString *)vcName {
    [JRToast showWithText:@"请先登录板栗快省账号" bottomOffset:kToolBarH + 15 duration:1.2f];
    [JRToast showWithText:@"请先登录返利券账号" bottomOffset:kToolBarH + 15 duration:1.2f];
    //登录界面
    NewLoginViewController *loginVc = [[NewLoginViewController alloc] init];
    //loginVc.delegate = self;
fanliquan/½çÃæ/Ê×Ò³/ListViewClasscell.m
@@ -220,6 +220,12 @@
            UIImage *images = [UIImage imageNamed:@"ic_share_pdd"];
            self.typeImageView.sd_resetLayout.leftSpaceToView(self.titleImageView, 10).topSpaceToView(self.bgView, 8).widthIs(images.size.width).heightIs(images.size.height);
            icomImage = [UIImage imageNamed:@"ic_share_pdd"];
        }else if (model.shopType == 70){
            [self.typeImageView setImage:[UIImage imageNamed:@"ic_share_dy"]];
            UIImage *images = [UIImage imageNamed:@"ic_share_dy"];
            self.typeImageView.sd_resetLayout.leftSpaceToView(self.titleImageView, 10).topSpaceToView(self.bgView, 8).widthIs(images.size.width).heightIs(images.size.height);
            icomImage = [UIImage imageNamed:@"ic_share_dy"];
        }
        
        // æ ‡é¢˜
fanliquan/½çÃæ/Ê×Ò³/ListViewController.m
@@ -362,6 +362,9 @@
    if (![ALUserInfoServiceManger fetchUID]) {
        return;
    }
    if(!self.oldIds){
        return;
    }
    NSDictionary *tempDictionary = @{@"id":self.oldIds};
    NSString *paramsStr = [NSString jsonStringWithDictionary:tempDictionary];
    NSDictionary *params = @{@"uid":[ALUserInfoServiceManger fetchUID],@"event":@"scanHomeBanner",@"data":paramsStr};
fanliquan/½çÃæ/Ê×Ò³/NEWHomeViewController.m
@@ -173,6 +173,8 @@
- (void)viewDidLoad {
    [super viewDidLoad];
    // æµ‹è¯•
   // [self clearPasteboard];
    
    [self dataConfig];
    self.navigationController.navigationBar.translucent = NO;
@@ -303,7 +305,7 @@
}
- (void)onLoginName:(NSString *)controllerName {
    [JRToast showWithText:@"请先登录板栗快省账号" bottomOffset:kToolBarH + 15 duration:1.5];
    [JRToast showWithText:@"请先登录返利券账号" bottomOffset:kToolBarH + 15 duration:1.5];
    // ç™»å½•界面
    NewLoginViewController *loginVc = [[NewLoginViewController alloc] init];
    loginVc.delegate = self;
fanliquan/½çÃæ/Ê×Ò³/RecommendController.m
@@ -345,6 +345,9 @@
    if (![ALUserInfoServiceManger fetchUID]) {
        return;
    }
    if(!self.oldIds){
        return;
    }
    NSDictionary *tempDictionary = @{@"id":self.oldIds};
    NSString *paramsStr = [NSString jsonStringWithDictionary:tempDictionary];
    
fanliquan/½çÃæ/Ê×Ò³/ThirdClassificationCell.m
@@ -254,6 +254,9 @@
        } else if (model.shopType == 50){
            [self.typeImageView setImage:[UIImage imageNamed:@"ic_share_sn"]];
            icomImage = [UIImage imageNamed:@"ic_share_sn"];
        }else if (model.shopType == 70){
            [self.typeImageView setImage:[UIImage imageNamed:@"ic_share_dy"]];
            icomImage = [UIImage imageNamed:@"ic_share_dy"];
        }
        self.typeImageView.sd_resetLayout.leftSpaceToView(self.titleImageView, 10).topSpaceToView(self.bgView, 8).widthIs(icomImage.size.width).heightIs(icomImage.size.height);
        
fanliquan/½çÃæ/Ê×Ò³/View/RecommendHeaderView.m
@@ -572,7 +572,7 @@
}
- (void)onLoginVcName:(NSString *)vcName {
    [JRToast showWithText:@"请先登录板栗快省账号" bottomOffset:kToolBarH + 15 duration:1.2f];
    [JRToast showWithText:@"请先登录返利券账号" bottomOffset:kToolBarH + 15 duration:1.2f];
    // ç™»å½•界面
    NewLoginViewController *loginVc = [[NewLoginViewController alloc] init];
    loginVc.delegate = self;
ÍÆËÍÖ¤Êé/aps.cer
Binary files differ
ÍÆËÍÖ¤Êé/Ö¤Êé.p12
Binary files differ