Commit f9ede31b4042a3c34b32cf9a789a2330ddd5c8f7

Authored by yanglingyu
1 parent f6d00428

首页导航返回闪动,错误页按钮无法点击

CNLiveCServiceModule.podspec
... ... @@ -8,7 +8,7 @@
8 8  
9 9 Pod::Spec.new do |s|
10 10 s.name = 'CNLiveCServiceModule'
11   - s.version = '0.0.35'
  11 + s.version = '0.0.36'
12 12 s.summary = '我的服务内容'
13 13  
14 14 # This description is used to generate tags and improve search results.
... ...
CNLiveCServiceModule/Classes/ViewController/CNLiveAllServiceVC.m
... ... @@ -40,11 +40,13 @@ static NSString *HistoryFootID = @"UICollectionFooterView";
40 40 self.dataSource = @[];
41 41 [self.listCollectionView reloadData];
42 42 }
  43 + self.listCollectionView.hidden = NO;
43 44 if (![CNLiveNetworking isNetworking]) {
44 45 self.listCollectionView.mj_footer.hidden = YES;
45 46 if (self.dataSource.count>0) {
46 47 return;
47 48 }
  49 + self.listCollectionView.hidden = YES;
48 50 [self showEmptyViewWithImage:[UIImage loadCServiceBundle:@"service_noNet"] text:@"网络开小差了,刷新试试" detailText:nil buttonTitle:@" 刷新 " buttonAction:@selector(requestService)];
49 51 self.emptyView.frame = CGRectMake(0, NavigationContentTop, SCREEN_WIDTH, SCREEN_HEIGHT-NavigationContentTop);
50 52 [self setCNAPIErrorEmptyView];
... ... @@ -77,6 +79,7 @@ static NSString *HistoryFootID = @"UICollectionFooterView";
77 79 }
78 80 [self.listCollectionView.mj_footer endRefreshing];
79 81 self.listCollectionView.mj_footer.hidden = YES;
  82 + self.listCollectionView.hidden = YES;
80 83 [self showEmptyViewWithImage:[UIImage loadCServiceBundle:@"service_failure"] text:@"加载失败,请点击重试" detailText:nil buttonTitle:@" 重试 " buttonAction:@selector(requestService)];
81 84 self.emptyView.frame = CGRectMake(0, NavigationContentTop, SCREEN_WIDTH, SCREEN_HEIGHT-NavigationContentTop);
82 85 [self setCNAPIErrorEmptyView];
... ... @@ -113,14 +116,9 @@ static NSString *HistoryFootID = @"UICollectionFooterView";
113 116 make.bottom.equalTo(self.mas_bottomLayoutGuide);
114 117 }];
115 118 }
116   -- (void)viewWillAppear:(BOOL)animated{
117   - [super viewWillAppear:animated];
118   - self.navigationController.navigationBarHidden = YES;
119   -}
120   -- (void)viewWillDisappear:(BOOL)animated
  119 +- (BOOL)preferredNavigationBarHidden
121 120 {
122   - [super viewWillDisappear:animated];
123   - self.navigationController.navigationBarHidden = NO;
  121 + return YES;
124 122 }
125 123 #pragma mark - UICollectionViewDelegate
126 124 - (void)collectionView:(UICollectionView *)collectionView didSelectItemAtIndexPath:(NSIndexPath *)indexPath{
... ...
CNLiveCServiceModule/Classes/ViewController/CNLiveMyServicesVC.m
... ... @@ -31,11 +31,13 @@ static NSString *HotListCellID = @"HotListCellID";
31 31 self.dataSource = @[];
32 32 [self.listCollectionView reloadData];
33 33 }
  34 + self.listCollectionView.hidden = NO;
34 35 if (![CNLiveNetworking isNetworking]) {
35 36 self.listCollectionView.mj_footer.hidden = YES;
36 37 if (self.dataSource.count > 0) {
37 38 return;
38 39 }
  40 + self.listCollectionView.hidden = YES;
39 41 [self showEmptyViewWithImage:[UIImage loadCServiceBundle:@"service_noNet"] text:@"网络开小差了,刷新试试" detailText:nil buttonTitle:@" 刷新 " buttonAction:@selector(myServiceData)];
40 42 self.emptyView.frame = CGRectMake(0, NavigationContentTop, SCREEN_WIDTH, SCREEN_HEIGHT-NavigationContentTop);
41 43 [self setCNAPIErrorEmptyView];
... ... @@ -51,6 +53,7 @@ static NSString *HotListCellID = @"HotListCellID";
51 53 if (self.dataSource.count > 0) {
52 54 return;
53 55 }
  56 + self.listCollectionView.hidden = YES;
54 57 self.listCollectionView.mj_footer.hidden = YES;
55 58 self.navigationBar.right.hidden = YES;
56 59 [self showEmptyViewWithImage:[UIImage loadCServiceBundle:@"service_noMsg"] text:@"暂无内容" detailText:nil buttonTitle:NULL buttonAction:NULL];
... ... @@ -76,6 +79,7 @@ static NSString *HotListCellID = @"HotListCellID";
76 79 [QMUITips hideAllTipsInView:self.view];
77 80 [self.listCollectionView.mj_footer endRefreshing];
78 81 self.listCollectionView.mj_footer.hidden = YES;
  82 + self.listCollectionView.hidden = YES;
79 83 strongself
80 84 self.navigationBar.right.hidden = YES;
81 85 [self showEmptyViewWithImage:[UIImage loadCServiceBundle:@"service_failure"] text:@"加载失败,请点击重试" detailText:nil buttonTitle:@" 重试 " buttonAction:@selector(myServiceData)];
... ... @@ -105,14 +109,9 @@ static NSString *HotListCellID = @"HotListCellID";
105 109 make.bottom.equalTo(self.mas_bottomLayoutGuide);
106 110 }];
107 111 }
108   -- (void)viewWillAppear:(BOOL)animated {
109   - [super viewWillAppear:animated];
110   - self.navigationController.navigationBarHidden = YES;
111   -}
112   -- (void)viewWillDisappear:(BOOL)animated
  112 +- (BOOL)preferredNavigationBarHidden
113 113 {
114   - [super viewWillDisappear:animated];
115   - self.navigationController.navigationBarHidden = NO;
  114 + return YES;
116 115 }
117 116 #pragma mark - UICollectionViewDelegate
118 117 - (void)collectionView:(UICollectionView *)collectionView didSelectItemAtIndexPath:(NSIndexPath *)indexPath{
... ...
CNLiveCServiceModule/Classes/ViewController/CNLiveServiceSearchVC.m
... ... @@ -157,16 +157,18 @@ static NSString *HistoryFootID = @"HistoryFootID";
157 157 - (void)viewWillAppear:(BOOL)animated
158 158 {
159 159 [super viewWillAppear:animated];
160   - self.navigationController.navigationBarHidden = YES;
161 160 [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(resignActive) name:UIApplicationDidEnterBackgroundNotification object:nil];
162 161 }
163 162 - (void)viewWillDisappear:(BOOL)animated
164 163 {
165 164 [super viewWillDisappear:animated];
166   - self.navigationController.navigationBarHidden = NO;
167 165 [[NSNotificationCenter defaultCenter] removeObserver:self];
168 166 [CNLiveServiceHistorySearch saveHistorySearch:self.histories.mutableCopy];
169 167 }
  168 +- (BOOL)preferredNavigationBarHidden
  169 +{
  170 + return YES;
  171 +}
170 172 #pragma mark - Notification
171 173 - (void)resignActive{
172 174 [CNLiveServiceHistorySearch saveHistorySearch:self.histories.mutableCopy];
... ...
CNLiveCServiceModule/Classes/ViewController/CNLiveServiceVC.m
... ... @@ -43,11 +43,13 @@ static NSString *CNGoodsOrVideoheaderID = @"CNLiveGoodsOrVideoHeaderView";
43 43 @implementation CNLiveServiceVC
44 44 - (void)requestService{
45 45 self.isError = NO;
  46 + self.listCollectionView.hidden = NO;
46 47 if (![CNLiveNetworking isNetworking]) {
47 48 [_listCollectionView.mj_header endRefreshing];
48 49 if (self.dataSource.count>0 && self.pageListSource.count>0) {
49 50 return;
50 51 }
  52 + self.listCollectionView.hidden = YES;
51 53 [self showEmptyViewWithImage:[UIImage loadCServiceBundle:@"service_noNet"] text:@"网络开小差了,刷新试试" detailText:nil buttonTitle:@" 刷新 " buttonAction:@selector(requestService)];
52 54 self.emptyView.frame = CGRectMake(0, NavigationContentTop, SCREEN_WIDTH, SCREEN_HEIGHT-NavigationContentTop);
53 55 [self setCNAPIErrorEmptyView];
... ... @@ -87,6 +89,7 @@ static NSString *CNGoodsOrVideoheaderID = @"CNLiveGoodsOrVideoHeaderView";
87 89 if (self.dataSource.count>0||self.pageListSource.count>0) {
88 90 return;
89 91 }
  92 + self.listCollectionView.hidden = YES;
90 93 [self showEmptyViewWithImage:[UIImage loadCServiceBundle:@"service_failure"] text:@"加载失败,请点击重试" detailText:nil buttonTitle:@" 重试 " buttonAction:@selector(requestService)];
91 94 self.emptyView.frame = CGRectMake(0, NavigationContentTop, SCREEN_WIDTH, SCREEN_HEIGHT-NavigationContentTop);
92 95 [self setCNAPIErrorEmptyView];
... ... @@ -112,18 +115,15 @@ static NSString *CNGoodsOrVideoheaderID = @"CNLiveGoodsOrVideoHeaderView";
112 115 - (void)viewWillAppear:(BOOL)animated
113 116 {
114 117 [super viewWillAppear:animated];
115   - self.navigationController.navigationBarHidden = YES;
116   -
117 118 if (self.oldFontSize != [CNFontAndRatioTool getFontSizeCoefficient]) {
118 119 self.oldFontSize = [CNFontAndRatioTool getFontSizeCoefficient];
119 120 [self requestService];
120 121 }
121 122 }
122 123  
123   -- (void)viewWillDisappear:(BOOL)animated
  124 +- (BOOL)preferredNavigationBarHidden
124 125 {
125   - [super viewWillDisappear:animated];
126   - self.navigationController.navigationBarHidden = NO;
  126 + return YES;
127 127 }
128 128 - (void)viewDidLayoutSubviews
129 129 {
... ...
Example/CNLiveCServiceModule.xcodeproj/project.pbxproj
... ... @@ -7,6 +7,9 @@
7 7 objects = {
8 8  
9 9 /* Begin PBXBuildFile section */
  10 + 08E1066E27910A12006DB3F7 /* CNLiveServiceManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 08E1066827910A12006DB3F7 /* CNLiveServiceManager.m */; };
  11 + 08E1066F27910A12006DB3F7 /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 08E1066A27910A12006DB3F7 /* LaunchScreen.storyboard */; };
  12 + 08E1067027910A12006DB3F7 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 08E1066C27910A12006DB3F7 /* Main.storyboard */; };
10 13 08FF465A2758CD4B001A767D /* CNLiveCServiceModuleImpl.m in Sources */ = {isa = PBXBuildFile; fileRef = 08FF46582758CD4A001A767D /* CNLiveCServiceModuleImpl.m */; };
11 14 6003F58E195388D20070C39A /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 6003F58D195388D20070C39A /* Foundation.framework */; };
12 15 6003F590195388D20070C39A /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 6003F58F195388D20070C39A /* CoreGraphics.framework */; };
... ... @@ -38,6 +41,10 @@
38 41 /* End PBXContainerItemProxy section */
39 42  
40 43 /* Begin PBXFileReference section */
  44 + 08E1066727910A12006DB3F7 /* CNLiveServiceManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CNLiveServiceManager.h; sourceTree = "<group>"; };
  45 + 08E1066827910A12006DB3F7 /* CNLiveServiceManager.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CNLiveServiceManager.m; sourceTree = "<group>"; };
  46 + 08E1066B27910A12006DB3F7 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = LaunchScreen.storyboard; sourceTree = "<group>"; };
  47 + 08E1066D27910A12006DB3F7 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Main.storyboard; sourceTree = "<group>"; };
41 48 08FF46582758CD4A001A767D /* CNLiveCServiceModuleImpl.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CNLiveCServiceModuleImpl.m; sourceTree = "<group>"; };
42 49 08FF46592758CD4B001A767D /* CNLiveCServiceModuleImpl.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CNLiveCServiceModuleImpl.h; sourceTree = "<group>"; };
43 50 24FCDF117E18830B2795CC8A /* Pods_CNLiveCServiceModule_Tests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_CNLiveCServiceModule_Tests.framework; sourceTree = BUILT_PRODUCTS_DIR; };
... ... @@ -98,9 +105,21 @@
98 105 /* End PBXFrameworksBuildPhase section */
99 106  
100 107 /* Begin PBXGroup section */
  108 + 08E1066927910A12006DB3F7 /* Base.lproj */ = {
  109 + isa = PBXGroup;
  110 + children = (
  111 + 08E1066A27910A12006DB3F7 /* LaunchScreen.storyboard */,
  112 + 08E1066C27910A12006DB3F7 /* Main.storyboard */,
  113 + );
  114 + path = Base.lproj;
  115 + sourceTree = "<group>";
  116 + };
101 117 08FF464727586356001A767D /* CNLIveCServiceModule */ = {
102 118 isa = PBXGroup;
103 119 children = (
  120 + 08E1066927910A12006DB3F7 /* Base.lproj */,
  121 + 08E1066727910A12006DB3F7 /* CNLiveServiceManager.h */,
  122 + 08E1066827910A12006DB3F7 /* CNLiveServiceManager.m */,
104 123 08FF46592758CD4B001A767D /* CNLiveCServiceModuleImpl.h */,
105 124 08FF46582758CD4A001A767D /* CNLiveCServiceModuleImpl.m */,
106 125 );
... ... @@ -221,6 +240,7 @@
221 240 6003F587195388D20070C39A /* Frameworks */,
222 241 6003F588195388D20070C39A /* Resources */,
223 242 388A34DFF0F9E22583B1B874 /* [CP] Embed Pods Frameworks */,
  243 + C1C41FFB61C3A8767649C16C /* [CP] Copy Pods Resources */,
224 244 );
225 245 buildRules = (
226 246 );
... ... @@ -297,6 +317,8 @@
297 317 873B8AEB1B1F5CCA007FD442 /* Main.storyboard in Resources */,
298 318 71719F9F1E33DC2100824A3D /* LaunchScreen.storyboard in Resources */,
299 319 6003F5A9195388D20070C39A /* Images.xcassets in Resources */,
  320 + 08E1067027910A12006DB3F7 /* Main.storyboard in Resources */,
  321 + 08E1066F27910A12006DB3F7 /* LaunchScreen.storyboard in Resources */,
300 322 6003F598195388D20070C39A /* InfoPlist.strings in Resources */,
301 323 );
302 324 runOnlyForDeploymentPostprocessing = 0;
... ... @@ -354,13 +376,29 @@
354 376 "${BUILT_PRODUCTS_DIR}/CNLiveEnvironment/CNLiveEnvironment.framework",
355 377 "${BUILT_PRODUCTS_DIR}/CNLiveNewTripartiteManagement/CNLiveNewTripartiteManagement.framework",
356 378 "${BUILT_PRODUCTS_DIR}/CNLiveRequestBastKit/CNLiveRequestBastKit.framework",
  379 + "${PODS_ROOT}/CNLiveSDK/CNLiveSDK/Classes/CNLivePaySDK.framework",
357 380 "${BUILT_PRODUCTS_DIR}/CNLiveUserManagement/CNLiveUserManagement.framework",
  381 + "${PODS_ROOT}/DSARModule/DSARModule/Frameworks/DSARModule.framework",
  382 + "${BUILT_PRODUCTS_DIR}/DSBaseModule/DSBaseModule.framework",
  383 + "${BUILT_PRODUCTS_DIR}/DSGTMBase64/DSGTMBase64.framework",
  384 + "${BUILT_PRODUCTS_DIR}/DSToolsModule/DSToolsModule.framework",
  385 + "${BUILT_PRODUCTS_DIR}/DZNEmptyDataSet/DZNEmptyDataSet.framework",
  386 + "${BUILT_PRODUCTS_DIR}/HappyDNS/HappyDNS.framework",
  387 + "${BUILT_PRODUCTS_DIR}/IQKeyboardManager/IQKeyboardManager.framework",
  388 + "${BUILT_PRODUCTS_DIR}/MBProgressHUD/MBProgressHUD.framework",
358 389 "${BUILT_PRODUCTS_DIR}/MJExtension/MJExtension.framework",
359 390 "${BUILT_PRODUCTS_DIR}/MJRefresh/MJRefresh.framework",
360 391 "${BUILT_PRODUCTS_DIR}/Masonry/Masonry.framework",
  392 + "${PODS_ROOT}/PLPlayerKit/Pod/Library/PLPlayerKit.framework",
361 393 "${BUILT_PRODUCTS_DIR}/QMUIKit/QMUIKit.framework",
  394 + "${BUILT_PRODUCTS_DIR}/Qiniu/Qiniu.framework",
  395 + "${BUILT_PRODUCTS_DIR}/SAMKeychain/SAMKeychain.framework",
  396 + "${BUILT_PRODUCTS_DIR}/SDAutoLayout/SDAutoLayout.framework",
362 397 "${BUILT_PRODUCTS_DIR}/SDCycleScrollView/SDCycleScrollView.framework",
363 398 "${BUILT_PRODUCTS_DIR}/SDWebImage/SDWebImage.framework",
  399 + "${BUILT_PRODUCTS_DIR}/TZImagePickerController/TZImagePickerController.framework",
  400 + "${BUILT_PRODUCTS_DIR}/WebViewJavascriptBridge/WebViewJavascriptBridge.framework",
  401 + "${BUILT_PRODUCTS_DIR}/YBImageBrowser/YBImageBrowser.framework",
364 402 "${BUILT_PRODUCTS_DIR}/YYAsyncLayer/YYAsyncLayer.framework",
365 403 "${BUILT_PRODUCTS_DIR}/YYCache/YYCache.framework",
366 404 "${BUILT_PRODUCTS_DIR}/YYCategories/YYCategories.framework",
... ... @@ -386,13 +424,29 @@
386 424 "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/CNLiveEnvironment.framework",
387 425 "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/CNLiveNewTripartiteManagement.framework",
388 426 "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/CNLiveRequestBastKit.framework",
  427 + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/CNLivePaySDK.framework",
389 428 "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/CNLiveUserManagement.framework",
  429 + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/DSARModule.framework",
  430 + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/DSBaseModule.framework",
  431 + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/DSGTMBase64.framework",
  432 + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/DSToolsModule.framework",
  433 + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/DZNEmptyDataSet.framework",
  434 + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/HappyDNS.framework",
  435 + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/IQKeyboardManager.framework",
  436 + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/MBProgressHUD.framework",
390 437 "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/MJExtension.framework",
391 438 "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/MJRefresh.framework",
392 439 "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Masonry.framework",
  440 + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/PLPlayerKit.framework",
393 441 "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/QMUIKit.framework",
  442 + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Qiniu.framework",
  443 + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/SAMKeychain.framework",
  444 + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/SDAutoLayout.framework",
394 445 "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/SDCycleScrollView.framework",
395 446 "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/SDWebImage.framework",
  447 + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/TZImagePickerController.framework",
  448 + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/WebViewJavascriptBridge.framework",
  449 + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/YBImageBrowser.framework",
396 450 "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/YYAsyncLayer.framework",
397 451 "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/YYCache.framework",
398 452 "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/YYCategories.framework",
... ... @@ -430,6 +484,66 @@
430 484 shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n";
431 485 showEnvVarsInLog = 0;
432 486 };
  487 + C1C41FFB61C3A8767649C16C /* [CP] Copy Pods Resources */ = {
  488 + isa = PBXShellScriptBuildPhase;
  489 + buildActionMask = 2147483647;
  490 + files = (
  491 + );
  492 + inputPaths = (
  493 + "${PODS_ROOT}/Target Support Files/Pods-CNLiveCServiceModule_Example/Pods-CNLiveCServiceModule_Example-resources.sh",
  494 + "${PODS_ROOT}/DSCnliveShopSDK/DSCnliveShopSDK/Assets/DSAddressModule.bundle",
  495 + "${PODS_ROOT}/DSCnliveShopSDK/DSCnliveShopSDK/Assets/DSARModule.bundle",
  496 + "${PODS_ROOT}/DSCnliveShopSDK/DSCnliveShopSDK/Assets/DSCouponModule.bundle",
  497 + "${PODS_ROOT}/DSCnliveShopSDK/DSCnliveShopSDK/Assets/DSCultureModule.bundle",
  498 + "${PODS_ROOT}/DSCnliveShopSDK/DSCnliveShopSDK/Assets/DSDarenModule.bundle",
  499 + "${PODS_ROOT}/DSCnliveShopSDK/DSCnliveShopSDK/Assets/DSDefaultModule.bundle",
  500 + "${PODS_ROOT}/DSCnliveShopSDK/DSCnliveShopSDK/Assets/DSExpressModule.bundle",
  501 + "${PODS_ROOT}/DSCnliveShopSDK/DSCnliveShopSDK/Assets/DSGiftModule.bundle",
  502 + "${PODS_ROOT}/DSCnliveShopSDK/DSCnliveShopSDK/Assets/DSHappinessModule.bundle",
  503 + "${PODS_ROOT}/DSCnliveShopSDK/DSCnliveShopSDK/Assets/DSLifeServiceModule.bundle",
  504 + "${PODS_ROOT}/DSCnliveShopSDK/DSCnliveShopSDK/Assets/DSOldHappinessModule.bundle",
  505 + "${PODS_ROOT}/DSCnliveShopSDK/DSCnliveShopSDK/Assets/DSOptimizationModule.bundle",
  506 + "${PODS_ROOT}/DSCnliveShopSDK/DSCnliveShopSDK/Assets/DSPayModule.bundle",
  507 + "${PODS_ROOT}/DSCnliveShopSDK/DSCnliveShopSDK/Assets/DSPlayerModule.bundle",
  508 + "${PODS_ROOT}/DSCnliveShopSDK/DSCnliveShopSDK/Assets/DSQrCodeModule.bundle",
  509 + "${PODS_ROOT}/DSCnliveShopSDK/DSCnliveShopSDK/Assets/DSRefreshModule.bundle",
  510 + "${PODS_ROOT}/DSCnliveShopSDK/DSCnliveShopSDK/Assets/DSRepastModule.bundle",
  511 + "${PODS_ROOT}/DSCnliveShopSDK/DSCnliveShopSDK/Assets/DSServiceModule.bundle",
  512 + "${PODS_ROOT}/DSCnliveShopSDK/DSCnliveShopSDK/Assets/DSShopCartModule.bundle",
  513 + "${PODS_ROOT}/DSCnliveShopSDK/DSCnliveShopSDK/Assets/DSShopModule.bundle",
  514 + "${PODS_ROOT}/DSCnliveShopSDK/DSCnliveShopSDK/Assets/DSVideoCModule.bundle",
  515 + "${PODS_ROOT}/DSCnliveShopSDK/DSCnliveShopSDK/Assets/DSWebViewModule.bundle",
  516 + );
  517 + name = "[CP] Copy Pods Resources";
  518 + outputPaths = (
  519 + "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/DSAddressModule.bundle",
  520 + "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/DSARModule.bundle",
  521 + "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/DSCouponModule.bundle",
  522 + "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/DSCultureModule.bundle",
  523 + "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/DSDarenModule.bundle",
  524 + "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/DSDefaultModule.bundle",
  525 + "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/DSExpressModule.bundle",
  526 + "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/DSGiftModule.bundle",
  527 + "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/DSHappinessModule.bundle",
  528 + "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/DSLifeServiceModule.bundle",
  529 + "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/DSOldHappinessModule.bundle",
  530 + "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/DSOptimizationModule.bundle",
  531 + "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/DSPayModule.bundle",
  532 + "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/DSPlayerModule.bundle",
  533 + "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/DSQrCodeModule.bundle",
  534 + "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/DSRefreshModule.bundle",
  535 + "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/DSRepastModule.bundle",
  536 + "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/DSServiceModule.bundle",
  537 + "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/DSShopCartModule.bundle",
  538 + "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/DSShopModule.bundle",
  539 + "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/DSVideoCModule.bundle",
  540 + "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/DSWebViewModule.bundle",
  541 + );
  542 + runOnlyForDeploymentPostprocessing = 0;
  543 + shellPath = /bin/sh;
  544 + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-CNLiveCServiceModule_Example/Pods-CNLiveCServiceModule_Example-resources.sh\"\n";
  545 + showEnvVarsInLog = 0;
  546 + };
433 547 /* End PBXShellScriptBuildPhase section */
434 548  
435 549 /* Begin PBXSourcesBuildPhase section */
... ... @@ -439,6 +553,7 @@
439 553 files = (
440 554 6003F59E195388D20070C39A /* CNLIVEAppDelegate.m in Sources */,
441 555 6003F5A7195388D20070C39A /* CNLIVEViewController.m in Sources */,
  556 + 08E1066E27910A12006DB3F7 /* CNLiveServiceManager.m in Sources */,
442 557 08FF465A2758CD4B001A767D /* CNLiveCServiceModuleImpl.m in Sources */,
443 558 6003F59A195388D20070C39A /* main.m in Sources */,
444 559 );
... ... @@ -463,6 +578,22 @@
463 578 /* End PBXTargetDependency section */
464 579  
465 580 /* Begin PBXVariantGroup section */
  581 + 08E1066A27910A12006DB3F7 /* LaunchScreen.storyboard */ = {
  582 + isa = PBXVariantGroup;
  583 + children = (
  584 + 08E1066B27910A12006DB3F7 /* Base */,
  585 + );
  586 + name = LaunchScreen.storyboard;
  587 + sourceTree = "<group>";
  588 + };
  589 + 08E1066C27910A12006DB3F7 /* Main.storyboard */ = {
  590 + isa = PBXVariantGroup;
  591 + children = (
  592 + 08E1066D27910A12006DB3F7 /* Base */,
  593 + );
  594 + name = Main.storyboard;
  595 + sourceTree = "<group>";
  596 + };
466 597 6003F596195388D20070C39A /* InfoPlist.strings */ = {
467 598 isa = PBXVariantGroup;
468 599 children = (
... ...
Example/CNLiveCServiceModule/CNLiveCServiceModuleImpl.m
... ... @@ -7,9 +7,29 @@
7 7 //
8 8  
9 9 #import "CNLiveCServiceModuleImpl.h"
  10 +#import "CNLiveServiceManager.h"
10 11  
11 12 @implementation CNLiveCServiceModuleImpl
12 13 - (void)jumpControllerType:(CNCServiceJumpType)type param:(NSDictionary *_Nullable)param controller:(UIViewController *)controller{
13   -
  14 + switch (type) {
  15 + case CNCServiceJumpTypeService:{
  16 + [CNLiveServiceManager jumpController:param[@"serviceId"] type:param[@"type"] to:param[@"to"] shopType:param[@"shopType"] controller:controller];
  17 + }
  18 + break;
  19 +
  20 + case CNCServiceJumpTypeWebVC:{
  21 +// [CNLiveSkipActionManager checkWithFunctionForShareURL:param[@"webUrl"]];
  22 + }
  23 + break;
  24 + case CNCServiceJumpTypeGetPage:{
  25 + //通用跳转
  26 +// [CNUniversalSkipHandler skipToVCByModel:[CNAmuseContentModel mj_objectWithKeyValues:param] channelName:@""];
  27 + }
  28 + default:
  29 + {
  30 +
  31 + }
  32 + break;
  33 + }
14 34 }
15 35 @end
... ...
Example/CNLiveCServiceModule/CNLiveServiceManager.h 0 → 100644
  1 +//
  2 +// CNLiveServiceManager.h
  3 +// CNLiveNetAdd
  4 +//
  5 +// Created by CNLive-zxw on 2020/8/28.
  6 +// Copyright © 2020 cnlive. All rights reserved.
  7 +//
  8 +
  9 +#import <Foundation/Foundation.h>
  10 +
  11 +NS_ASSUME_NONNULL_BEGIN
  12 +
  13 +@interface CNLiveServiceManager : NSObject
  14 +
  15 +/**
  16 + * 服务号跳转
  17 + *
  18 + * @param servingId 服务号id
  19 + * @param type type
  20 + * @param to to
  21 + * @param shopType shopType
  22 + */
  23 ++ (void)jumpController:(NSString *)servingId type:(NSString *)type to:(NSString *)to shopType:(NSString *)shopType controller:(UIViewController *)controller;
  24 +
  25 +@end
  26 +
  27 +NS_ASSUME_NONNULL_END
... ...
Example/CNLiveCServiceModule/CNLiveServiceManager.m 0 → 100644
  1 +//
  2 +// CNLiveServiceManager.m
  3 +// CNLiveNetAdd
  4 +//
  5 +// Created by CNLive-zxw on 2020/8/28.
  6 +// Copyright © 2020 cnlive. All rights reserved.
  7 +//
  8 +
  9 +#import "CNLiveServiceManager.h"
  10 +#import <DSCnliveShopSDK/DSCnliveShopSDKProtocolUCM.h>
  11 +#import <DSCnliveShopSDK/DSCnliveShopSDKSkip.h>
  12 +#import <DSCnliveShopSDK/DSCnliveShopSDKManager.h>
  13 +
  14 +@implementation CNLiveServiceManager
  15 ++ (void)jumpController:(NSString *)servingId type:(NSString *)type to:(NSString *)to shopType:(NSString *)shopType controller:(UIViewController *)controller {
  16 + [DSCnliveShopSDKProtocolUCM uMengCheckCallBackType:DSUMengCheckTypeActionMethod subType:DSUMengCheckSLTypeServiceHPClickItem];
  17 +
  18 + if ([type isEqualToString:@"100"]) {//领头雁
  19 + [controller.navigationController.navigationBar setHidden:YES];
  20 + [controller.tabBarController.tabBar setHidden:YES];
  21 +// if (!CNLiveStringIsEmpty(to)) {
  22 +// [BHConfig set:@"url" value:to];
  23 +// }
  24 +
  25 + CATransition *transition = [CATransition animation];
  26 + transition.duration = 0.3f;
  27 + transition.type = kCATransitionPush;
  28 + transition.subtype = kCATransitionFromTop;
  29 + transition.timingFunction = [CAMediaTimingFunction functionWithName: kCAMediaTimingFunctionEaseOut];
  30 +
  31 +// CNLiveLTYTabBarController *vc = [[CNLiveLTYTabBarController alloc]init];
  32 +// vc.hidesBottomBarWhenPushed = YES;
  33 +// [controller.navigationController pushViewController:vc animated:NO];
  34 +// [controller.navigationController.view.layer addAnimation:transition forKey:kCATransition];
  35 +
  36 + return;
  37 + }
  38 + if ([type isEqualToString:@"21"]||[type isEqualToString:@"50"]) {
  39 + [[DSCnliveShopSDKManager sharedManager].skip skipType:type to:servingId shopType:to currentVC:controller];
  40 + return;
  41 + }
  42 + if ([type isEqualToString:@"103"]) {
  43 + NSError *error;
  44 + NSDictionary *dic = [NSJSONSerialization JSONObjectWithData:[to dataUsingEncoding:NSUTF8StringEncoding] options:NSJSONReadingAllowFragments error:&error];
  45 +// if (error||![dic isKindOfClass:[NSDictionary class]]) {
  46 +// [QMUITips showInfo:@"参数错误" inView:AppKeyWindow hideAfterDelay:0.3];
  47 +// return;
  48 +// }
  49 +// [CNLiveShareImageManager pushWeChatMiniProgremWithMiniAppId:dic[@"id"] Path:dic[@"path"] mType:WXMiniProgramTypeRelease extMsg:nil extDic:nil];
  50 + return;
  51 + }
  52 + if ([type isEqualToString:@"104"]) {
  53 + NSError *error;
  54 + NSDictionary *dic = [NSJSONSerialization JSONObjectWithData:[to dataUsingEncoding:NSUTF8StringEncoding] options:NSJSONReadingAllowFragments error:&error];
  55 + NSString *spURL = @"cnlive://swan/";
  56 + spURL = [spURL stringByAppendingString:dic[@"id"]];
  57 +// [CNLiveBBASMModuleService openBBASMModule:spURL];
  58 + return;
  59 + }
  60 + [[DSCnliveShopSDKManager sharedManager].skip skipType:type to:to shopType:shopType currentVC:controller];
  61 +
  62 +}
  63 +
  64 +@end
... ...
Example/Podfile
... ... @@ -6,6 +6,7 @@ source &#39;https://mirrors.tuna.tsinghua.edu.cn/git/CocoaPods/Specs.git&#39;
6 6 source 'http://bj.gitlab.cnlive.com/DSIOSTeam/DSSpecRepos.git'
7 7 target 'CNLiveCServiceModule_Example' do
8 8 pod 'CNLiveCServiceModule', :path => '../'
  9 + pod 'DSCnliveShopSDK'
9 10  
10 11 target 'CNLiveCServiceModule_Tests' do
11 12 inherit! :search_paths
... ...