Commit 4665d8c9bff4bbdf6976849b964dd8d8eb28f19d

Authored by 张旭
2 parents 79e5a2cd 7fbda668

Merge branch 'master' of bj.gitlab.cnlive.com:ios-team/ScioLive into App-Store配置

CNLiveScioLive.xcodeproj/project.pbxproj
... ... @@ -7,15 +7,9 @@
7 7 objects = {
8 8  
9 9 /* Begin PBXBuildFile section */
10   - 080AB4C1217AD47D008BA78F /* TemplateShareButton.m in Sources */ = {isa = PBXBuildFile; fileRef = 080AB4C0217AD47D008BA78F /* TemplateShareButton.m */; };
11   - 080AB4C2217AD47D008BA78F /* TemplateShareButton.m in Sources */ = {isa = PBXBuildFile; fileRef = 080AB4C0217AD47D008BA78F /* TemplateShareButton.m */; };
12   - 080AB4C3217AD47D008BA78F /* TemplateShareButton.m in Sources */ = {isa = PBXBuildFile; fileRef = 080AB4C0217AD47D008BA78F /* TemplateShareButton.m */; };
13 10 080AB4C6217AD4F4008BA78F /* TemplateShareManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 080AB4C5217AD4F4008BA78F /* TemplateShareManager.m */; };
14 11 080AB4C7217AD4F4008BA78F /* TemplateShareManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 080AB4C5217AD4F4008BA78F /* TemplateShareManager.m */; };
15 12 080AB4C8217AD4F4008BA78F /* TemplateShareManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 080AB4C5217AD4F4008BA78F /* TemplateShareManager.m */; };
16   - 080AB4CB217AD51A008BA78F /* XWShareView.m in Sources */ = {isa = PBXBuildFile; fileRef = 080AB4CA217AD51A008BA78F /* XWShareView.m */; };
17   - 080AB4CC217AD51A008BA78F /* XWShareView.m in Sources */ = {isa = PBXBuildFile; fileRef = 080AB4CA217AD51A008BA78F /* XWShareView.m */; };
18   - 080AB4CD217AD51A008BA78F /* XWShareView.m in Sources */ = {isa = PBXBuildFile; fileRef = 080AB4CA217AD51A008BA78F /* XWShareView.m */; };
19 13 083847E1215C5DDD00186618 /* VPImageCropperViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 083847E0215C5DDD00186618 /* VPImageCropperViewController.m */; };
20 14 083847E2215C5DDD00186618 /* VPImageCropperViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 083847E0215C5DDD00186618 /* VPImageCropperViewController.m */; };
21 15 083847E3215C5DDD00186618 /* VPImageCropperViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 083847E0215C5DDD00186618 /* VPImageCropperViewController.m */; };
... ... @@ -782,12 +776,8 @@
782 776 /* End PBXCopyFilesBuildPhase section */
783 777  
784 778 /* Begin PBXFileReference section */
785   - 080AB4BF217AD47D008BA78F /* TemplateShareButton.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TemplateShareButton.h; sourceTree = "<group>"; };
786   - 080AB4C0217AD47D008BA78F /* TemplateShareButton.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = TemplateShareButton.m; sourceTree = "<group>"; };
787 779 080AB4C4217AD4F4008BA78F /* TemplateShareManager.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TemplateShareManager.h; sourceTree = "<group>"; };
788 780 080AB4C5217AD4F4008BA78F /* TemplateShareManager.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = TemplateShareManager.m; sourceTree = "<group>"; };
789   - 080AB4C9217AD51A008BA78F /* XWShareView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XWShareView.h; sourceTree = "<group>"; };
790   - 080AB4CA217AD51A008BA78F /* XWShareView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = XWShareView.m; sourceTree = "<group>"; };
791 781 083847DF215C5DDD00186618 /* VPImageCropperViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = VPImageCropperViewController.h; sourceTree = "<group>"; };
792 782 083847E0215C5DDD00186618 /* VPImageCropperViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = VPImageCropperViewController.m; sourceTree = "<group>"; };
793 783 0838483C215C838B00186618 /* CNLiveENTabBarController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = CNLiveENTabBarController.h; sourceTree = "<group>"; };
... ... @@ -1320,12 +1310,8 @@
1320 1310 080AB4BE217AD457008BA78F /* ShareTool */ = {
1321 1311 isa = PBXGroup;
1322 1312 children = (
1323   - 080AB4BF217AD47D008BA78F /* TemplateShareButton.h */,
1324   - 080AB4C0217AD47D008BA78F /* TemplateShareButton.m */,
1325 1313 080AB4C4217AD4F4008BA78F /* TemplateShareManager.h */,
1326 1314 080AB4C5217AD4F4008BA78F /* TemplateShareManager.m */,
1327   - 080AB4C9217AD51A008BA78F /* XWShareView.h */,
1328   - 080AB4CA217AD51A008BA78F /* XWShareView.m */,
1329 1315 );
1330 1316 path = ShareTool;
1331 1317 sourceTree = "<group>";
... ... @@ -3065,7 +3051,6 @@
3065 3051 08C08FE3214FA01B00E23D16 /* CNLiveViewController.m in Sources */,
3066 3052 0838483E215C838B00186618 /* CNLiveENTabBarController.m in Sources */,
3067 3053 085D86C7215A20A50037D480 /* CNLiveUserSettingViewController.m in Sources */,
3068   - 080AB4CB217AD51A008BA78F /* XWShareView.m in Sources */,
3069 3054 084ACE0F21547F9F0089E035 /* DBAction.m in Sources */,
3070 3055 08C0909C2150DCAC00E23D16 /* XWHTTPTool.m in Sources */,
3071 3056 08585D59215B4C7200FC2CA2 /* PGDatePickManager.m in Sources */,
... ... @@ -3151,7 +3136,6 @@
3151 3136 08585DDA215B70DA00FC2CA2 /* JSONKit.m in Sources */,
3152 3137 084ACE1D2154895E0089E035 /* GCPlaceholderTextView.m in Sources */,
3153 3138 08940D882154F6FD00F85DB6 /* CNLiveNewsDetailModel.m in Sources */,
3154   - 080AB4C1217AD47D008BA78F /* TemplateShareButton.m in Sources */,
3155 3139 084ACE0221547B4D0089E035 /* CNLiveMyCollectionViewController.m in Sources */,
3156 3140 084ACE1221547F9F0089E035 /* NoticeData.m in Sources */,
3157 3141 08C08F81214F997F00E23D16 /* main.m in Sources */,
... ... @@ -3283,7 +3267,6 @@
3283 3267 08FB876A215DD1C200DA5423 /* VoiceViewController.m in Sources */,
3284 3268 08585D48215B4C7200FC2CA2 /* UIColor+PGHex.m in Sources */,
3285 3269 08C08F8B214F998000E23D16 /* CNLiveScioLiveTests.m in Sources */,
3286   - 080AB4C2217AD47D008BA78F /* TemplateShareButton.m in Sources */,
3287 3270 08C090772150C79C00E23D16 /* ZXWSegment.m in Sources */,
3288 3271 085D869C2159CBBB0037D480 /* CNLivePlayerController.m in Sources */,
3289 3272 08585CE6215B302C00FC2CA2 /* CNLiveSearchViewController.m in Sources */,
... ... @@ -3306,7 +3289,6 @@
3306 3289 08C0909D2150DCAC00E23D16 /* XWHTTPTool.m in Sources */,
3307 3290 C3E502DB2152432700DA4320 /* CNHomeRightTableViewCell.m in Sources */,
3308 3291 08585D6F215B4C7200FC2CA2 /* PGPickerView.m in Sources */,
3309   - 080AB4CC217AD51A008BA78F /* XWShareView.m in Sources */,
3310 3292 08C090472150BC6500E23D16 /* CNMyTableViewHeaderView.m in Sources */,
3311 3293 08B5C56A215334CC00F5476E /* CNLiveSettingViewController.m in Sources */,
3312 3294 08C090B621510E4B00E23D16 /* CNLiveTableViewCell.m in Sources */,
... ... @@ -3441,7 +3423,6 @@
3441 3423 08FB876B215DD1C200DA5423 /* VoiceViewController.m in Sources */,
3442 3424 08585D49215B4C7200FC2CA2 /* UIColor+PGHex.m in Sources */,
3443 3425 08C08F96214F998000E23D16 /* CNLiveScioLiveUITests.m in Sources */,
3444   - 080AB4C3217AD47D008BA78F /* TemplateShareButton.m in Sources */,
3445 3426 08C090782150C79C00E23D16 /* ZXWSegment.m in Sources */,
3446 3427 085D869D2159CBBB0037D480 /* CNLivePlayerController.m in Sources */,
3447 3428 08585CE7215B302C00FC2CA2 /* CNLiveSearchViewController.m in Sources */,
... ... @@ -3464,7 +3445,6 @@
3464 3445 08C0909E2150DCAC00E23D16 /* XWHTTPTool.m in Sources */,
3465 3446 C3E502DC2152432700DA4320 /* CNHomeRightTableViewCell.m in Sources */,
3466 3447 08585D70215B4C7200FC2CA2 /* PGPickerView.m in Sources */,
3467   - 080AB4CD217AD51A008BA78F /* XWShareView.m in Sources */,
3468 3448 08C090482150BC6500E23D16 /* CNMyTableViewHeaderView.m in Sources */,
3469 3449 08B5C56B215334CC00F5476E /* CNLiveSettingViewController.m in Sources */,
3470 3450 08C090B721510E4B00E23D16 /* CNLiveTableViewCell.m in Sources */,
... ...
CNLiveScioLive/AppDelegate.m
... ... @@ -46,7 +46,7 @@
46 46 [MobClick startWithAppkey:uMengKey reportPolicy:BATCH channelId:nil];
47 47 [MobClick setLogEnabled:NO];
48 48  
49   - [[TemplateShareManager shareSingleton] shareConfig];
  49 + [[TemplateShareManager manager] shareConfig];
50 50  
51 51 //语言
52 52 [self setApplicationLanguage];
... ...
CNLiveScioLive/Pages/Home/新闻详情/Controller/ArticleDetailViewController.m
... ... @@ -239,52 +239,8 @@
239 239 break;
240 240 case 1002://分享
241 241 {
242   - NSArray* imageArray = weakSelf.model.img?@[weakSelf.model.img]:@[[UIImage imageNamed:@"cnlive_zhouxin_icon"]];
243   - if (imageArray) {
244   - NSString *text = [NSString stringWithFormat:@"%@",weakSelf.model.subTitle];
245   - if ([text isEqualToString:@"<null>"]) {
246   - text = weakSelf.model.title;
247   - }
248   - NSMutableDictionary *shareParams = [NSMutableDictionary dictionary];
249   - [shareParams SSDKSetupShareParamsByText:text images:imageArray url:[NSURL URLWithString:weakSelf.model.pageUrl] title:weakSelf.model.title type:SSDKContentTypeWebPage];
250   - NSArray *items = @[
251   - @(SSDKPlatformTypeQQ),
252   - @(SSDKPlatformSubTypeWechatTimeline),
253   - @(SSDKPlatformSubTypeWechatSession),
254   - @(SSDKPlatformTypeSinaWeibo)
255   - ];
256   - [ShareSDK showShareActionSheet:nil items:items shareParams:shareParams onShareStateChanged:^(SSDKResponseState state, SSDKPlatformType platformType, NSDictionary *userData, SSDKContentEntity *contentEntity, NSError *error, BOOL end) {
257   - NSLog(@"%lu",(unsigned long)state);
258   - switch (state) {
259   - case SSDKResponseStateSuccess:
260   - {
261   - UIAlertController *alert = [UIAlertController alertControllerWithTitle:CustomStr(@"ShareSuccess") message:nil preferredStyle:UIAlertControllerStyleAlert];
262   - UIAlertAction *action1 = [UIAlertAction actionWithTitle:CustomStr(@"Sure") style:UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action) {
263   - NSLog(@"点击了确定,进入确定的事件");
264   -
265   - }];
266   - [alert addAction:action1];
267   - [weakSelf presentViewController:alert animated:YES completion:nil];
268   - break;
269   - }
270   - case SSDKResponseStateFail:
271   - {
272   - UIAlertController *alert = [UIAlertController alertControllerWithTitle:CustomStr(@"ShareFailure") message:nil preferredStyle:UIAlertControllerStyleAlert];
273   - UIAlertAction *action1 = [UIAlertAction actionWithTitle:CustomStr(@"Sure") style:UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action) {
274   - NSLog(@"点击了确定,进入确定的事件");
275   -
276   - }];
277   - [alert addAction:action1];
278   - [weakSelf presentViewController:alert animated:YES completion:nil];
279   - break;
280   - }
281   - default:
282   - break;
283   - }
284   -
285   - }];
286   -
287   - }
  242 + [[TemplateShareManager manager] shareImage:self.model.img title:self.model.title text:self.model.desc?self.model.desc:self.model.title url:self.model.pageUrl controller:self];
  243 + return;
288 244 }
289 245 break;
290 246  
... ...
CNLiveScioLive/Pages/Home/新闻详情/Controller/VideoDetailViewController.m
... ... @@ -242,52 +242,8 @@ static NSString *newsLeftPicTableViewCell = @&quot;CNLiveNewsLeftPicTableViewCell&quot;;
242 242 break;
243 243 case 1002://分享
244 244 {
245   - NSArray* imageArray = weakSelf.model.img?@[weakSelf.model.img]:@[[UIImage imageNamed:@"cnlive_zhouxin_icon"]];
246   - if (imageArray) {
247   - NSString *text = [NSString stringWithFormat:@"%@",weakSelf.model.subTitle];
248   - if ([text isEqualToString:@"<null>"]) {
249   - text = weakSelf.model.title;
250   - }
251   - NSMutableDictionary *shareParams = [NSMutableDictionary dictionary];
252   - [shareParams SSDKSetupShareParamsByText:text images:imageArray url:[NSURL URLWithString:weakSelf.model.pageUrl] title:weakSelf.model.title type:SSDKContentTypeWebPage];
253   - NSArray *items = @[
254   - @(SSDKPlatformTypeQQ),
255   - @(SSDKPlatformSubTypeWechatTimeline),
256   - @(SSDKPlatformSubTypeWechatSession),
257   - @(SSDKPlatformTypeSinaWeibo)
258   - ];
259   - [ShareSDK showShareActionSheet:nil items:items shareParams:shareParams onShareStateChanged:^(SSDKResponseState state, SSDKPlatformType platformType, NSDictionary *userData, SSDKContentEntity *contentEntity, NSError *error, BOOL end) {
260   - NSLog(@"%lu",(unsigned long)state);
261   - switch (state) {
262   - case SSDKResponseStateSuccess:
263   - {
264   - UIAlertController *alert = [UIAlertController alertControllerWithTitle:CustomStr(@"ShareSuccess") message:nil preferredStyle:UIAlertControllerStyleAlert];
265   - UIAlertAction *action1 = [UIAlertAction actionWithTitle:CustomStr(@"Sure") style:UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action) {
266   - NSLog(@"点击了确定,进入确定的事件");
267   -
268   - }];
269   - [alert addAction:action1];
270   - [weakSelf presentViewController:alert animated:YES completion:nil];
271   - break;
272   - }
273   - case SSDKResponseStateFail:
274   - {
275   - UIAlertController *alert = [UIAlertController alertControllerWithTitle:CustomStr(@"ShareFailure") message:nil preferredStyle:UIAlertControllerStyleAlert];
276   - UIAlertAction *action1 = [UIAlertAction actionWithTitle:CustomStr(@"Sure") style:UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action) {
277   - NSLog(@"点击了确定,进入确定的事件");
278   -
279   - }];
280   - [alert addAction:action1];
281   - [weakSelf presentViewController:alert animated:YES completion:nil];
282   - break;
283   - }
284   - default:
285   - break;
286   - }
287   -
288   - }];
289   -
290   - }
  245 + [[TemplateShareManager manager] shareImage:self.model.img title:self.model.title text:self.model.desc?self.model.desc:self.model.title url:self.model.pageUrl controller:self];
  246 + return;
291 247 }
292 248 break;
293 249  
... ...
CNLiveScioLive/Pages/Home/新闻详情/OldController/OldArticleDetailViewController.m
... ... @@ -217,66 +217,13 @@
217 217 }
218 218 }
219 219 } else if (30000 == btn.tag) {
220   - __weak typeof(self) weakSelf = self;
221 220 NSString *img = [NSString stringWithFormat:@"%@",_dictionary[@"img"]];
222   - NSArray* imageArray = nil;
223   - if (0 == [img length]) {
224   - imageArray = @[[UIImage imageNamed:@"cnlive_zhouxin_icon"]];
225   - } else {
226   - imageArray = @[img];
227   - }
228   - if (imageArray) {
229   - NSString *text = [NSString stringWithFormat:@"%@",_dictionary[@"desc"]];
230   - if ([text isEqualToString:@"<null>"]||[text isEqualToString:@""]) {
231   - text = _dictionary[@"title"];
232   - }
233   - NSMutableDictionary *shareParams = [NSMutableDictionary dictionary];
234   - [shareParams SSDKSetupShareParamsByText:text
235   - images:imageArray
236   - url:[NSURL URLWithString:_dictionary[@"pageUrl"]]
237   - title:_dictionary[@"title"]
238   - type:SSDKContentTypeWebPage];
239   - NSArray *items = @[
240   - @(SSDKPlatformTypeQQ),
241   - @(SSDKPlatformSubTypeWechatTimeline),
242   - @(SSDKPlatformSubTypeWechatSession),
243   - @(SSDKPlatformTypeSinaWeibo)
244   - ];
245   - [ShareSDK showShareActionSheet:nil
246   - items:items
247   - shareParams:shareParams
248   - onShareStateChanged:^(SSDKResponseState state, SSDKPlatformType platformType, NSDictionary *userData, SSDKContentEntity *contentEntity, NSError *error, BOOL end) {
249   - NSLog(@"%lu",(unsigned long)state);
250   - switch (state) {
251   - case SSDKResponseStateSuccess:
252   - {
253   - UIAlertController *alert = [UIAlertController alertControllerWithTitle:CustomStr(@"ShareSuccess") message:nil preferredStyle:UIAlertControllerStyleAlert];
254   - UIAlertAction *action1 = [UIAlertAction actionWithTitle:CustomStr(@"Sure") style:UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action) {
255   - NSLog(@"点击了确定,进入确定的事件");
256   -
257   - }];
258   - [alert addAction:action1];
259   - [weakSelf presentViewController:alert animated:YES completion:nil];
260   - break;
261   - }
262   - case SSDKResponseStateFail:
263   - {
264   - UIAlertController *alert = [UIAlertController alertControllerWithTitle:CustomStr(@"ShareFailure") message:nil preferredStyle:UIAlertControllerStyleAlert];
265   - UIAlertAction *action1 = [UIAlertAction actionWithTitle:CustomStr(@"Sure") style:UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action) {
266   - NSLog(@"点击了确定,进入确定的事件");
267   -
268   - }];
269   - [alert addAction:action1];
270   - [weakSelf presentViewController:alert animated:YES completion:nil];
271   - break;
272   - }
273   - default:
274   - break;
275   - }
276   - }
277   - ];}
278   -
  221 + NSString *title = [NSString stringWithFormat:@"%@",_dictionary[@"title"]];
  222 + NSString *text = [NSString stringWithFormat:@"%@",!_dictionary[@"desc"]||[_dictionary[@"desc"] isEqualToString:@""]?title:_dictionary[@"desc"]];
  223 + NSString *url = [NSString stringWithFormat:@"%@",_dictionary[@"pageUrl"]];
  224 + [[TemplateShareManager manager] shareImage:img title:title text:text url:url controller:self];
279 225 return;
  226 +
280 227 }
281 228 }
282 229 - (void)viewDidLoad {
... ...
CNLiveScioLive/Pages/Home/新闻详情/OldController/OldVideoDetailViewController.m
... ... @@ -159,63 +159,13 @@
159 159 }
160 160 }
161 161 } else if (30000 == btn.tag) {
162   - __weak typeof(self) weakSelf = self;
163 162 NSString *img = [NSString stringWithFormat:@"%@",_dictionary[@"img"]];
164   - NSArray* imageArray = nil;
165   - if (0 == [img length]) {
166   - imageArray = @[[UIImage imageNamed:@"cnlive_zhouxin_icon"]];
167   - } else {
168   - imageArray = @[img];
169   - }
170   - if (imageArray) {
171   - NSString *text = [NSString stringWithFormat:@"%@",_dictionary[@"desc"]];
172   - if ([text isEqualToString:@"<null>"]||[text isEqualToString:@""]) {
173   - text = _dictionary[@"title"];
174   - }
175   - NSMutableDictionary *shareParams = [NSMutableDictionary dictionary];
176   - [shareParams SSDKSetupShareParamsByText:text images:imageArray url:[NSURL URLWithString:_dictionary[@"pageUrl"]] title:_dictionary[@"title"] type:SSDKContentTypeWebPage];
177   - //2、分享(可以弹出我们的分享菜单和编辑界面)
178   - NSArray *items = @[
179   - @(SSDKPlatformTypeQQ),
180   - @(SSDKPlatformSubTypeWechatTimeline),
181   - @(SSDKPlatformSubTypeWechatSession),
182   - @(SSDKPlatformTypeSinaWeibo)
183   - ];
184   - [ShareSDK showShareActionSheet:nil items:items shareParams:shareParams onShareStateChanged:^(SSDKResponseState state, SSDKPlatformType platformType, NSDictionary *userData, SSDKContentEntity *contentEntity, NSError *error, BOOL end) {
185   -
186   - switch (state) {
187   - case SSDKResponseStateSuccess:
188   - {
189   - UIAlertController *alert = [UIAlertController alertControllerWithTitle:CustomStr(@"ShareSuccess") message:nil preferredStyle:UIAlertControllerStyleAlert];
190   - UIAlertAction *action1 = [UIAlertAction actionWithTitle:CustomStr(@"Sure") style:UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action) {
191   - NSLog(@"点击了确定,进入确定的事件");
192   -
193   - }];
194   - [alert addAction:action1];
195   - [weakSelf presentViewController:alert animated:YES completion:nil];
196   - break;
197   - }
198   - case SSDKResponseStateFail:
199   - {
200   - UIAlertController *alert = [UIAlertController alertControllerWithTitle:CustomStr(@"ShareFailure") message:nil preferredStyle:UIAlertControllerStyleAlert];
201   - UIAlertAction *action1 = [UIAlertAction actionWithTitle:CustomStr(@"Sure") style:UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action) {
202   - NSLog(@"点击了确定,进入确定的事件");
203   -
204   - }];
205   - [alert addAction:action1];
206   - [weakSelf presentViewController:alert animated:YES completion:nil];
207   - break;
208   - }
209   - default:
210   - break;
211   - }
212   -
213   -
214   - }
215   -
216   - ];}
217   -
  163 + NSString *title = [NSString stringWithFormat:@"%@",_dictionary[@"title"]];
  164 + NSString *text = [NSString stringWithFormat:@"%@",!_dictionary[@"desc"]||[_dictionary[@"desc"] isEqualToString:@""]?title:_dictionary[@"desc"]];
  165 + NSString *url = [NSString stringWithFormat:@"%@",_dictionary[@"pageUrl"]];
  166 + [[TemplateShareManager manager] shareImage:img title:title text:text url:url controller:self];
218 167 return;
  168 +
219 169 }
220 170 }
221 171 - (void)viewWillAppear:(BOOL)animated {
... ...
CNLiveScioLive/Pages/Home/新闻详情/OldController/SCIOSpecialViewController.m
... ... @@ -122,67 +122,13 @@
122 122 }
123 123 }
124 124 } else if (30000 == btn.tag) {
125   - __weak typeof(self) weakSelf = self;
126   -
127 125 NSString *img = [NSString stringWithFormat:@"%@",_dictionary[@"img"]];
128   - NSArray* imageArray = nil;
129   - if (0 == [img length]) {
130   - imageArray = @[[UIImage imageNamed:@"cnlive_zhouxin_icon"]];
131   - } else {
132   - imageArray = @[img];
133   - }
134   - if (imageArray) {
135   - NSString *text = [NSString stringWithFormat:@"%@",_dictionary[@"subTitle"]];
136   - if ([text isEqualToString:@"<null>"]) {
137   - text = _dictionary[@"title"];
138   - }
139   - NSMutableDictionary *shareParams = [NSMutableDictionary dictionary];
140   - [shareParams SSDKSetupShareParamsByText:text
141   - images:imageArray
142   - url:[NSURL URLWithString:_dictionary[@"pageUrl"]]
143   - title:_dictionary[@"title"]
144   - type:SSDKContentTypeWebPage];
145   - NSArray *items = @[
146   - @(SSDKPlatformTypeQQ),
147   - @(SSDKPlatformSubTypeWechatTimeline),
148   - @(SSDKPlatformSubTypeWechatSession),
149   - @(SSDKPlatformTypeSinaWeibo)
150   - ];
151   - [ShareSDK showShareActionSheet:nil
152   - items:items
153   - shareParams:shareParams
154   - onShareStateChanged:^(SSDKResponseState state, SSDKPlatformType platformType, NSDictionary *userData, SSDKContentEntity *contentEntity, NSError *error, BOOL end) {
155   - NSLog(@"%lu",(unsigned long)state);
156   - switch (state) {
157   - case SSDKResponseStateSuccess:
158   - {
159   - UIAlertController *alert = [UIAlertController alertControllerWithTitle:CustomStr(@"ShareSuccess") message:nil preferredStyle:UIAlertControllerStyleAlert];
160   - UIAlertAction *action1 = [UIAlertAction actionWithTitle:CustomStr(@"Sure") style:UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action) {
161   - NSLog(@"点击了确定,进入确定的事件");
162   -
163   - }];
164   - [alert addAction:action1];
165   - [weakSelf presentViewController:alert animated:YES completion:nil];
166   - break;
167   - }
168   - case SSDKResponseStateFail:
169   - {
170   - UIAlertController *alert = [UIAlertController alertControllerWithTitle:CustomStr(@"ShareFailure") message:nil preferredStyle:UIAlertControllerStyleAlert];
171   - UIAlertAction *action1 = [UIAlertAction actionWithTitle:CustomStr(@"Sure") style:UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action) {
172   - NSLog(@"点击了确定,进入确定的事件");
173   -
174   - }];
175   - [alert addAction:action1];
176   - [weakSelf presentViewController:alert animated:YES completion:nil];
177   - break;
178   - }
179   - default:
180   - break;
181   - }
182   - }
183   - ];}
184   -
  126 + NSString *title = [NSString stringWithFormat:@"%@",_dictionary[@"title"]];
  127 + NSString *text = [NSString stringWithFormat:@"%@",!_dictionary[@"desc"]||[_dictionary[@"desc"] isEqualToString:@""]?title:_dictionary[@"desc"]];
  128 + NSString *url = [NSString stringWithFormat:@"%@",_dictionary[@"pageUrl"]];
  129 + [[TemplateShareManager manager] shareImage:img title:title text:text url:url controller:self];
185 130 return;
  131 +
186 132 }
187 133 }
188 134 - (void)viewDidLoad {
... ...
CNLiveScioLive/Pages/Live/Controller/GraphicLiveViewController.m
... ... @@ -191,67 +191,11 @@
191 191 }
192 192  
193 193 - (void)shareButton:(UIButton *)btn{
194   - NSString *text = [NSString stringWithFormat:@"%@",_dictionary[@"Description"]];
195   - NSString *shareUrl = [NSString stringWithFormat:@"%@",_dictionary[@"shareUrl"]];
196   -
197 194 NSString *img = [NSString stringWithFormat:@"%@",_dictionary[@"poster"]];
198   - NSArray* imageArray = nil;
199   - if (0 == [img length]) {
200   - imageArray = @[[UIImage imageNamed:@"cnlive_zhouxin_icon"]];
201   - } else {
202   - imageArray = @[img];
203   - }
204   -
205   - if ([text isEqualToString:@"<null>"]) {
206   - text = _dictionary[@"title"];
207   - }
208   - if ([shareUrl isEqualToString:@"<null>"]||[shareUrl isEqualToString:@"(null)"]) {
209   - shareUrl = @"http://app.scio.gov.cn/gxbShare.html";
210   - }
211   -
212   - NSMutableDictionary *shareParams = [NSMutableDictionary dictionary];
213   - [shareParams SSDKSetupShareParamsByText:text
214   - images:imageArray
215   - url:[NSURL URLWithString:shareUrl]
216   - title:_dictionary[@"title"]
217   - type:SSDKContentTypeWebPage];
218   - //2、分享(可以弹出我们的分享菜单和编辑界面)
219   - //要显示菜单的视图, iPad版中此参数作为弹出菜单的参照视图,只有传这个才可以弹出我们的分享菜单,可以传分享的按钮对象或者自己创建小的view 对象,iPhone可以传nil不会影响
220   - NSArray *items = @[
221   - @(SSDKPlatformTypeQQ),
222   - @(SSDKPlatformSubTypeWechatTimeline),
223   - @(SSDKPlatformSubTypeWechatSession),
224   - @(SSDKPlatformTypeSinaWeibo)
225   - ];
226   - [ShareSDK showShareActionSheet:nil items:items shareParams:shareParams onShareStateChanged:^(SSDKResponseState state, SSDKPlatformType platformType, NSDictionary *userData, SSDKContentEntity *contentEntity, NSError *error, BOOL end) {
227   -
228   - switch (state) {
229   - case SSDKResponseStateSuccess:
230   - {
231   - UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:CustomStr(@"ShareSuccess")
232   - message:nil
233   - delegate:nil
234   - cancelButtonTitle:CustomStr(@"Sure")
235   - otherButtonTitles:nil];
236   - [alertView show];
237   - break;
238   - }
239   - case SSDKResponseStateFail:
240   - {
241   - UIAlertView *alert = [[UIAlertView alloc] initWithTitle:CustomStr(@"ShareFailure")
242   - message:[NSString stringWithFormat:@"%@",error]
243   - delegate:nil
244   - cancelButtonTitle:CustomStr(@"Sure")
245   - otherButtonTitles:nil, nil];
246   - [alert show];
247   - break;
248   - }
249   - default:
250   - break;
251   -
252   - }
253   -
254   - }];
  195 + NSString *title = [NSString stringWithFormat:@"%@",_dictionary[@"title"]];
  196 + NSString *text = [NSString stringWithFormat:@"%@",!_dictionary[@"Description"]||[_dictionary[@"Description"] isEqualToString:@""]?title:_dictionary[@"Description"]];
  197 + NSString *url = [NSString stringWithFormat:@"%@",_dictionary[@"shareUrl"]];
  198 + [[TemplateShareManager manager] shareImage:img title:title text:text url:url controller:self];
255 199  
256 200 }
257 201  
... ...
CNLiveScioLive/Pages/Live/Controller/TopNoticeViewController.m
... ... @@ -217,65 +217,13 @@
217 217 }
218 218 }
219 219 } else if (30000 == btn.tag) {
220   - __weak typeof(self) weakSelf = self;
221 220 NSString *img = [NSString stringWithFormat:@"%@",_dictionary[@"programs"][0][@"img"]];
222   - NSArray* imageArray = nil;
223   - if (!_dictionary[@"programs"][0][@"img"]||[img isEqualToString:@""]) {
224   - imageArray = @[[UIImage imageNamed:@"cnlive_zhouxin_icon"]];
225   - } else {
226   - imageArray = @[img];
227   - }
228   - if (imageArray) {
229   - NSString *text = [NSString stringWithFormat:@"%@",_dictionary[@"programs"][0][@"subTitle"]];
230   - if (!_dictionary[@"programs"][0][@"subTitle"]||[text isEqualToString:@""]) {
231   - text = _dictionary[@"programs"][0][@"title"];
232   - }
233   - NSMutableDictionary *shareParams = [NSMutableDictionary dictionary];
234   - [shareParams SSDKSetupShareParamsByText:text
235   - images:imageArray
236   - url:[NSURL URLWithString:_dictionary[@"programs"][0][@"pageUrl"]]
237   - title:_dictionary[@"programs"][0][@"title"]
238   - type:SSDKContentTypeWebPage];
239   - NSArray *items = @[
240   - @(SSDKPlatformTypeQQ),
241   - @(SSDKPlatformSubTypeWechatTimeline),
242   - @(SSDKPlatformSubTypeWechatSession),
243   - @(SSDKPlatformTypeSinaWeibo)
244   - ];
245   - [ShareSDK showShareActionSheet:nil items:items shareParams:shareParams
246   - onShareStateChanged:^(SSDKResponseState state, SSDKPlatformType platformType, NSDictionary *userData, SSDKContentEntity *contentEntity, NSError *error, BOOL end) {
247   - NSLog(@"%lu",(unsigned long)state);
248   - switch (state) {
249   - case SSDKResponseStateSuccess:
250   - {
251   - UIAlertController *alert = [UIAlertController alertControllerWithTitle:CustomStr(@"ShareSuccess") message:nil preferredStyle:UIAlertControllerStyleAlert];
252   - UIAlertAction *action1 = [UIAlertAction actionWithTitle:CustomStr(@"Sure") style:UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action) {
253   - NSLog(@"点击了确定,进入确定的事件");
254   -
255   - }];
256   - [alert addAction:action1];
257   - [weakSelf presentViewController:alert animated:YES completion:nil];
258   - break;
259   - }
260   - case SSDKResponseStateFail:
261   - {
262   - UIAlertController *alert = [UIAlertController alertControllerWithTitle:CustomStr(@"ShareFailure") message:nil preferredStyle:UIAlertControllerStyleAlert];
263   - UIAlertAction *action1 = [UIAlertAction actionWithTitle:CustomStr(@"Sure") style:UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action) {
264   - NSLog(@"点击了确定,进入确定的事件");
265   -
266   - }];
267   - [alert addAction:action1];
268   - [weakSelf presentViewController:alert animated:YES completion:nil];
269   - break;
270   - }
271   - default:
272   - break;
273   - }
274   - }
275   - ];
276   -
277   - }
  221 + NSString *title = [NSString stringWithFormat:@"%@",_dictionary[@"programs"][0][@"title"]];
  222 + NSString *text = [NSString stringWithFormat:@"%@",!_dictionary[@"programs"][0][@"desc"]||[_dictionary[@"programs"][0][@"desc"] isEqualToString:@""]?title:_dictionary[@"programs"][0][@"desc"]];
  223 + NSString *url = [NSString stringWithFormat:@"%@",_dictionary[@"programs"][0][@"pageUrl"]];
  224 + [[TemplateShareManager manager] shareImage:img title:title text:text url:url controller:self];
278 225 return;
  226 +
279 227 }
280 228 }
281 229  
... ...
CNLiveScioLive/Pages/Live/Controller/VideoPlayBackViewController.m
... ... @@ -14,6 +14,8 @@
14 14  
15 15 @interface VideoPlayBackViewController ()<CNLivePlayerControllerDelegate> {
16 16 BOOL isPlay;
  17 + UIButton *_shareButton;
  18 +
17 19 }
18 20  
19 21 @end
... ... @@ -139,7 +141,7 @@
139 141 [shareButton addTarget:self action:@selector(shareButtonTaped:) forControlEvents:UIControlEventTouchUpInside];
140 142 [self.view addSubview:shareButton];
141 143 [shareButton setTag:30000];
142   -
  144 + _shareButton = shareButton;
143 145 }
144 146 - (void)shareButtonTaped:(id)sender {
145 147 UIButton *btn = (UIButton *)sender;
... ... @@ -168,62 +170,10 @@
168 170 }
169 171 } else if (30000 == btn.tag) {
170 172 NSString *img = [NSString stringWithFormat:@"%@",_dictionary[@"img"]];
171   - NSArray* imageArray = nil;
172   - if (0 == [img length]) {
173   - imageArray = @[[UIImage imageNamed:@"cnlive_zhouxin_icon"]];
174   - } else {
175   - imageArray = @[img];
176   - }
177   - if (imageArray) {
178   - NSString *text = [NSString stringWithFormat:@"%@",_dictionary[@"desc"]];
179   - if ([text isEqualToString:@"<null>"]||[text isEqualToString:@""]) {
180   - text = _dictionary[@"title"];
181   - }
182   - NSMutableDictionary *shareParams = [NSMutableDictionary dictionary];
183   - [shareParams SSDKSetupShareParamsByText:text
184   - images:imageArray
185   - url:[NSURL URLWithString:_dictionary[@"pageUrl"]]
186   - title:_dictionary[@"title"]
187   - type:SSDKContentTypeWebPage];
188   - //2、分享(可以弹出我们的分享菜单和编辑界面)
189   - //要显示菜单的视图, iPad版中此参数作为弹出菜单的参照视图,只有传这个才可以弹出我们的分享菜单,可以传分享的按钮对象或者自己创建小的view 对象,iPhone可以传nil不会影响
190   - NSArray *items = @[
191   - @(SSDKPlatformTypeQQ),
192   - @(SSDKPlatformSubTypeWechatTimeline),
193   - @(SSDKPlatformSubTypeWechatSession),
194   - @(SSDKPlatformTypeSinaWeibo)
195   - ];
196   - [ShareSDK showShareActionSheet:nil items:items shareParams:shareParams onShareStateChanged:^(SSDKResponseState state, SSDKPlatformType platformType, NSDictionary *userData, SSDKContentEntity *contentEntity, NSError *error, BOOL end) {
197   -
198   - switch (state) {
199   - case SSDKResponseStateSuccess:
200   - {
201   - UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:CustomStr(@"ShareSuccess")
202   - message:nil
203   - delegate:nil
204   - cancelButtonTitle:CustomStr(@"Sure")
205   - otherButtonTitles:nil];
206   - [alertView show];
207   - break;
208   - }
209   - case SSDKResponseStateFail:
210   - {
211   - UIAlertView *alert = [[UIAlertView alloc] initWithTitle:CustomStr(@"ShareFailure")
212   - message:[NSString stringWithFormat:@"%@",error]
213   - delegate:nil
214   - cancelButtonTitle:CustomStr(@"Sure")
215   - otherButtonTitles:nil, nil];
216   - [alert show];
217   - break;
218   - }
219   - default:
220   - break;
221   - }
222   - }
223   -
224   - ];
225   - }
226   -
  173 + NSString *title = [NSString stringWithFormat:@"%@",_dictionary[@"title"]];
  174 + NSString *text = [NSString stringWithFormat:@"%@",!_dictionary[@"desc"]||[_dictionary[@"desc"] isEqualToString:@""]?title:_dictionary[@"desc"]];
  175 + NSString *url = [NSString stringWithFormat:@"%@",_dictionary[@"pageUrl"]];
  176 + [[TemplateShareManager manager] shareImage:img title:title text:text url:url controller:self];
227 177 return;
228 178 }
229 179 }
... ... @@ -542,61 +492,7 @@
542 492 }
543 493  
544 494 - (void)shareButtonCNLivePlayerController:(CNLivePlayerController *)view{
545   - NSString *img = [NSString stringWithFormat:@"%@",_dictionary[@"img"]];
546   - NSArray* imageArray = nil;
547   - if (0 == [img length]) {
548   - imageArray = @[[UIImage imageNamed:@"cnlive_zhouxin_icon"]];
549   - } else {
550   - imageArray = @[img];
551   - }
552   - if (imageArray) {
553   - NSString *text = [NSString stringWithFormat:@"%@",_dictionary[@"desc"]];
554   - if ([text isEqualToString:@"<null>"]||[text isEqualToString:@""]) {
555   - text = _dictionary[@"title"];
556   - }
557   - NSMutableDictionary *shareParams = [NSMutableDictionary dictionary];
558   - [shareParams SSDKSetupShareParamsByText:text
559   - images:imageArray
560   - url:[NSURL URLWithString:_dictionary[@"pageUrl"]]
561   - title:_dictionary[@"title"]
562   - type:SSDKContentTypeWebPage];
563   - //2、分享(可以弹出我们的分享菜单和编辑界面)
564   - //要显示菜单的视图, iPad版中此参数作为弹出菜单的参照视图,只有传这个才可以弹出我们的分享菜单,可以传分享的按钮对象或者自己创建小的view 对象,iPhone可以传nil不会影响
565   - NSArray *items = @[
566   - @(SSDKPlatformTypeQQ),
567   - @(SSDKPlatformSubTypeWechatTimeline),
568   - @(SSDKPlatformSubTypeWechatSession),
569   - @(SSDKPlatformTypeSinaWeibo)
570   - ];
571   - [ShareSDK showShareActionSheet:nil items:items shareParams:shareParams
572   - onShareStateChanged:^(SSDKResponseState state, SSDKPlatformType platformType, NSDictionary *userData, SSDKContentEntity *contentEntity, NSError *error, BOOL end) {
573   -
574   - switch (state) {
575   - case SSDKResponseStateSuccess:
576   - {
577   - UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:CustomStr(@"ShareSuccess")
578   - message:nil
579   - delegate:nil
580   - cancelButtonTitle:CustomStr(@"Sure")
581   - otherButtonTitles:nil];
582   - [alertView show];
583   - break;
584   - }
585   - case SSDKResponseStateFail:
586   - {
587   - UIAlertView *alert = [[UIAlertView alloc] initWithTitle:CustomStr(@"ShareFailure")
588   - message:[NSString stringWithFormat:@"%@",error]
589   - delegate:nil
590   - cancelButtonTitle:CustomStr(@"Sure")
591   - otherButtonTitles:nil, nil];
592   - [alert show];
593   - break;
594   - }
595   - default:
596   - break;
597   - }
598   - }
599   - ];}
  495 + [self shareButtonTaped:_shareButton];
600 496  
601 497 }
602 498  
... ...
CNLiveScioLive/Pages/Newsound/OldController/VoiceViewController.m
... ... @@ -1060,66 +1060,12 @@ static const NSInteger margin = 34;
1060 1060 }
1061 1061 #pragma mark - Action
1062 1062 - (void)shareBtnClicked:(id)sender {
1063   - __weak typeof(self) weakSelf = self;
1064 1063 NSString *img = [NSString stringWithFormat:@"%@",_dictionary[@"img"]];
1065   - NSArray* imageArray = nil;
1066   - if (0 == [img length]) {
1067   - imageArray = @[[UIImage imageNamed:@"cnlive_zhouxin_icon"]];
1068   - } else {
1069   - imageArray = @[img];
1070   - }
1071   - if (imageArray) {
1072   - NSString *text = [NSString stringWithFormat:@"%@",_dictionary[@"subTitle"]];
1073   - if ([text isEqualToString:@"<null>"]) {
1074   - text = _dictionary[@"title"];
1075   - }
1076   - NSMutableDictionary *shareParams = [NSMutableDictionary dictionary];
1077   - [shareParams SSDKSetupShareParamsByText:text
1078   - images:imageArray
1079   - url:[NSURL URLWithString:_dictionary[@"pageUrl"]]
1080   - title:_dictionary[@"title"]
1081   - type:SSDKContentTypeWebPage];
1082   - //2、分享(可以弹出我们的分享菜单和编辑界面)
1083   - NSArray *items = @[
1084   - @(SSDKPlatformTypeQQ),
1085   - @(SSDKPlatformSubTypeWechatTimeline),
1086   - @(SSDKPlatformSubTypeWechatSession),
1087   - @(SSDKPlatformTypeSinaWeibo)
1088   - ];
1089   - [ShareSDK showShareActionSheet:nil items:items shareParams:shareParams onShareStateChanged:^(SSDKResponseState state, SSDKPlatformType platformType, NSDictionary *userData, SSDKContentEntity *contentEntity, NSError *error, BOOL end) {
1090   -
1091   - switch (state) {
1092   - case SSDKResponseStateSuccess:
1093   - {
1094   - UIAlertController *alert = [UIAlertController alertControllerWithTitle:CustomStr(@"ShareSuccess") message:nil preferredStyle:UIAlertControllerStyleAlert];
1095   - UIAlertAction *action1 = [UIAlertAction actionWithTitle:CustomStr(@"Sure") style:UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action) {
1096   - NSLog(@"点击了确定,进入确定的事件");
1097   -
1098   - }];
1099   - [alert addAction:action1];
1100   - [weakSelf presentViewController:alert animated:YES completion:nil];
1101   - break;
1102   - }
1103   - case SSDKResponseStateFail:
1104   - {
1105   - UIAlertController *alert = [UIAlertController alertControllerWithTitle:CustomStr(@"ShareFailure") message:nil preferredStyle:UIAlertControllerStyleAlert];
1106   - UIAlertAction *action1 = [UIAlertAction actionWithTitle:CustomStr(@"Sure") style:UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action) {
1107   - NSLog(@"点击了确定,进入确定的事件");
1108   -
1109   - }];
1110   - [alert addAction:action1];
1111   - [weakSelf presentViewController:alert animated:YES completion:nil];
1112   - break;
1113   - }
1114   - default:
1115   - break;
1116   - }
1117   -
1118   - }];
1119   -
1120   - }
  1064 + NSString *title = [NSString stringWithFormat:@"%@",_dictionary[@"title"]];
  1065 + NSString *text = [NSString stringWithFormat:@"%@",!_dictionary[@"desc"]||[_dictionary[@"desc"] isEqualToString:@""]?title:_dictionary[@"desc"]];
  1066 + NSString *url = [NSString stringWithFormat:@"%@",_dictionary[@"pageUrl"]];
  1067 + [[TemplateShareManager manager] shareImage:img title:title text:text url:url controller:self];
1121 1068  
1122   - return;
1123 1069 }
1124 1070  
1125 1071 - (void)favoriteBtnClicked:(id)sender {
... ...
CNLiveScioLive/Pages/Tools/ShareTool/TemplateShareButton.h deleted 100644 → 0
1   -//
2   -// TemplateShareButton.h
3   -// CNLiveScioLive
4   -//
5   -// Created by CNLive-zxw on 2018/10/20.
6   -// Copyright © 2018年 CNLive. All rights reserved.
7   -//
8   -
9   -#import <UIKit/UIKit.h>
10   -
11   -NS_ASSUME_NONNULL_BEGIN
12   -typedef NS_ENUM(NSUInteger, TemplateShareButtonType) {
13   - TemplateShareButtonTypeWeiBo = 0,//微博
14   - TemplateShareButtonTypeWeiXin = 1,//微信好友
15   - TemplateShareButtonTypePengYouQuan = 2,//微信朋友圈
16   - TemplateShareButtonTypeQQ = 3,//QQ好友
17   - TemplateShareButtonTypeQQZone = 4,//QQ空间
18   - TemplateShareButtonTypeTXWeiBo = 5,//腾讯微博
19   - TemplateShareButtonTypeXLWeiBo = 6,//新浪微博
20   - TemplateShareButtonTypeRenRen = 7,//人人网
21   - TemplateShareButtonTypeJuBao = 8//举报
22   -};
23   -
24   -@interface TemplateShareButton : UIButton
25   -
26   -/**
27   - * 分享的类型(新浪微博,微信,朋友圈,QQ,QQ空间,腾讯微博,人人,举报)
28   - */
29   -@property (nonatomic,assign) TemplateShareButtonType shareButtonType;
30   -
31   -/**
32   - * 各个渠道的title
33   - */
34   -@property (nonatomic,strong) NSString *title;
35   -
36   -/**
37   - * 各个渠道的图标
38   - */
39   -@property (nonatomic,strong) NSString *image;
40   -
41   -@end
42   -
43   -NS_ASSUME_NONNULL_END
CNLiveScioLive/Pages/Tools/ShareTool/TemplateShareButton.m deleted 100644 → 0
1   -//
2   -// TemplateShareButton.m
3   -// CNLiveScioLive
4   -//
5   -// Created by CNLive-zxw on 2018/10/20.
6   -// Copyright © 2018年 CNLive. All rights reserved.
7   -//
8   -
9   -#import "TemplateShareButton.h"
10   -
11   -@implementation TemplateShareButton{
12   - UILabel *_titleLabel;
13   -}
14   -
15   -- (id)initWithFrame:(CGRect)frame{
16   - self = [super initWithFrame:frame];
17   - if (self) {
18   - self.imageEdgeInsets = UIEdgeInsetsMake(10.0f,10.0f, 10.0f, 10.0f);
19   - _titleLabel = [[UILabel alloc]init];
20   - _titleLabel.font = [UIFont fontWithName:@"SourceHanSansCN-Regular" size:12.f];
21   - _titleLabel.textColor = [ UIColor colorWithRed:255.0 green:255.0 blue:255.0 alpha:1];
22   - _titleLabel.textAlignment = NSTextAlignmentCenter;
23   - [self addSubview:_titleLabel];
24   -
25   - }
26   - return self;
27   -}
28   -
29   -#pragma mark -- Getter and Setter
30   -- (void)setTitle:(NSString *)title{
31   - _title = title;
32   - _titleLabel.text = _title;
33   -}
34   -
35   -- (void)setImage:(NSString *)image{
36   - _image = image;
37   - [self setImage:[UIImage imageNamed:image] forState:UIControlStateNormal];
38   -
39   -}
40   -
41   -- (void)layoutSubviews{
42   - [super layoutSubviews];
43   - _titleLabel.frame = CGRectMake(0, self.frame.size.width, self.frame.size.width, 12.0f);
44   -
45   -}
46   -
47   -@end
CNLiveScioLive/Pages/Tools/ShareTool/TemplateShareManager.h
... ... @@ -7,13 +7,12 @@
7 7 //
8 8  
9 9 #import <Foundation/Foundation.h>
10   -#import "TemplateShareButton.h"
11 10  
12 11 NS_ASSUME_NONNULL_BEGIN
13 12  
14 13 @interface TemplateShareManager : NSObject
15 14  
16   -+ (instancetype)shareSingleton;
  15 ++ (instancetype)manager;
17 16  
18 17 /**
19 18 * 注册分享以及配置信息
... ... @@ -23,12 +22,13 @@ NS_ASSUME_NONNULL_BEGIN
23 22 /**
24 23 * 设置分享内容
25 24 *
26   - * @param type 分享渠道
27   - * @param shareText 分享内嵌文字
28   - * @param shareImage 分享内嵌图片,可以传入UIImage或者NSData类型
29   - * @param shareUrl 分享消息url地址
  25 + * @param title 分享内嵌文字
  26 + * @param text 分享内嵌文字
  27 + * @param image 分享内嵌图片,可以传入UIImage或者NSData类型
  28 + * @param url 分享消息url地址
  29 + * @param controller 控制器
30 30 */
31   -- (void)shareType:(TemplateShareButtonType)type shareImage:(id)shareImage shareTitle:(NSString *)shareTitle shareText:(NSString *)shareText shareUrl:(NSString *)shareUrl;
  31 +- (void)shareImage:(NSString *)image title:(NSString *)title text:(NSString *)text url:(NSString *)url controller:(UIViewController *)controller;
32 32  
33 33 @end
34 34  
... ...
CNLiveScioLive/Pages/Tools/ShareTool/TemplateShareManager.m
... ... @@ -7,23 +7,21 @@
7 7 //
8 8  
9 9 #import "TemplateShareManager.h"
10   -#import "TemplateShareButton.h"
11 10  
12 11 @implementation TemplateShareManager
  12 +static TemplateShareManager *shareManager = nil;
13 13  
14   -static TemplateShareManager *shareManaager = nil;
15   -+ (TemplateShareManager *)shareSingleton{
  14 ++ (TemplateShareManager *)manager{
16 15 @synchronized(self){
17   - if (shareManaager == nil) {
18   - shareManaager = [[TemplateShareManager alloc] init];
  16 + if (shareManager == nil) {
  17 + shareManager = [[TemplateShareManager alloc] init];
19 18 }
20 19 }
21   - return shareManaager;
  20 + return shareManager;
22 21 }
23 22  
24   -#pragma mark 注册友盟分享以及配置信息
25   -- (void)shareConfig
26   -{
  23 +#pragma mark 注册ShareSDK分享以及配置信息
  24 +- (void)shareConfig {
27 25 [ShareSDK registPlatforms:^(SSDKRegister *platformsRegister) {
28 26 //QQ
29 27 [platformsRegister setupQQWithAppId:@"1105424006" appkey:@"EneqtYjiKSswk05g"];
... ... @@ -36,108 +34,54 @@ static TemplateShareManager *shareManaager = nil;
36 34  
37 35 }];
38 36  
39   -// [ShareSDK registerApp:@"134f952a9e004" activePlatforms:@[@(SSDKPlatformTypeSinaWeibo),
40   -// @(SSDKPlatformSubTypeWechatSession),
41   -// @(SSDKPlatformSubTypeWechatTimeline),
42   -// @(SSDKPlatformTypeQQ)]
43   -// onImport:^(SSDKPlatformType platformType)
44   -// {
45   -// switch (platformType)
46   -// {
47   -// case SSDKPlatformTypeWechat:
48   -// [ShareSDKConnector connectWeChat:[WXApi class]];
49   -// break;
50   -// case SSDKPlatformTypeQQ:
51   -// [ShareSDKConnector connectQQ:[QQApiInterface class] tencentOAuthClass:[TencentOAuth class]];
52   -// break;
53   -// case SSDKPlatformTypeSinaWeibo:
54   -// [ShareSDKConnector connectWeibo:[WeiboSDK class]];
55   -// break;
56   -// default:
57   -// break;
58   -// }
59   -// }
60   -// onConfiguration:^(SSDKPlatformType platformType, NSMutableDictionary *appInfo)
61   -// {
62   -//
63   -// switch (platformType)
64   -// {
65   -// case SSDKPlatformTypeSinaWeibo:
66   -// //设置新浪微博应用信息,其中authType设置为使用SSO+Web形式授权
67   -// [appInfo SSDKSetupSinaWeiboByAppKey:@"604714517"
68   -// appSecret:@"542573f3d166742a230634d5c2576157"
69   -// redirectUri:@"https://api.weibo.com/oauth2/default.html"
70   -// authType:SSDKAuthTypeBoth];
71   -// break;
72   -// case SSDKPlatformTypeWechat:
73   -// [appInfo SSDKSetupWeChatByAppId:@"wx1eb184b8425c2503"
74   -// appSecret:@"4d250e1ef3b7f5f1bc3579237fd4ee62"];
75   -// break;
76   -// case SSDKPlatformTypeQQ:
77   -// [appInfo SSDKSetupQQByAppId:@"1105424006"
78   -// appKey:@"EneqtYjiKSswk05g"
79   -// authType:SSDKAuthTypeBoth];
80   -// break;
81   -// default:
82   -// break;
83   -// }
84   -// }];
85   -
86 37 }
87 38  
88   -- (void)shareType:(TemplateShareButtonType)type shareImage:(id)shareImage shareTitle:(NSString *)shareTitle shareText:(NSString *)shareText shareUrl:(NSString *)shareUrl{
89   -
90   - //1、创建分享参数
91   - NSMutableDictionary *shareParams = [NSMutableDictionary dictionary];
92   - [shareParams SSDKSetupShareParamsByText:shareText images:shareImage url:[NSURL URLWithString:shareUrl] title:shareTitle type:SSDKContentTypeWebPage];
93   -
94   - //2、分享
95   - if (type == TemplateShareButtonTypeWeiXin){
96   - //微信
97   - [self startSharePlatform:SSDKPlatformTypeWechat parameters:shareParams];
98   -
99   - }
100   - else if (type == TemplateShareButtonTypePengYouQuan) {
101   - //朋友圈
102   - [self startSharePlatform:SSDKPlatformSubTypeWechatTimeline parameters:shareParams];
  39 +- (void)shareImage:(NSString *)image title:(NSString *)title text:(NSString *)text url:(NSString *)url controller:(UIViewController *)controller {
  40 + NSArray *imageArray = nil;
  41 + if (!image||[image isEqualToString:@""]) {
  42 + imageArray = @[[UIImage imageNamed:@"cnlive_zhouxin_icon"]];
  43 + } else {
  44 + imageArray = @[image];
103 45 }
104   - else if (type == TemplateShareButtonTypeXLWeiBo){
105   - //新浪微博
106   - [self startSharePlatform:SSDKPlatformTypeSinaWeibo parameters:shareParams];
107   -
108   - }
109   - else if (type == TemplateShareButtonTypeQQ){
110   - //qq
111   - [self startSharePlatform:SSDKPlatformTypeQQ parameters:shareParams];
112   -
113   - }
114   - else if (type == TemplateShareButtonTypeQQZone){
115   - //qq空间
116   - [self startSharePlatform:SSDKPlatformSubTypeQZone parameters:shareParams];
117   -
118   - }
119   -
120   -}
121   -- (void)startSharePlatform:(SSDKPlatformType)platform parameters:(NSMutableDictionary *)parameters{
  46 + NSMutableDictionary *shareParams = [NSMutableDictionary dictionary];
  47 + [shareParams SSDKSetupShareParamsByText:text images:imageArray url:[NSURL URLWithString:url?url:@"http://app.scio.gov.cn/gxbShare.html"] title:title type:SSDKContentTypeWebPage];
  48 + NSArray *items = @[
  49 + @(SSDKPlatformSubTypeWechatSession),
  50 + @(SSDKPlatformSubTypeWechatTimeline),
  51 + @(SSDKPlatformTypeQQ),
  52 + @(SSDKPlatformTypeSinaWeibo)
  53 + ];
122 54  
123   - [ShareSDK share:platform parameters:parameters onStateChanged:^(SSDKResponseState state, NSDictionary *userData, SSDKContentEntity *contentEntity, NSError *error) {
124   -
  55 + [ShareSDK showShareActionSheet:nil customItems:items shareParams:shareParams sheetConfiguration:nil onStateChanged:^(SSDKResponseState state, SSDKPlatformType platformType, NSDictionary *userData, SSDKContentEntity *contentEntity, NSError *error, BOOL end) {
125 56 switch (state) {
126 57 case SSDKResponseStateSuccess:
127 58 {
128   - UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:CustomStr(@"ShareSuccess") message:nil delegate:nil cancelButtonTitle:CustomStr(@"Sure") otherButtonTitles:nil];
129   - [alertView show];
  59 + UIAlertController *alert = [UIAlertController alertControllerWithTitle:CustomStr(@"ShareSuccess") message:nil preferredStyle:UIAlertControllerStyleAlert];
  60 + UIAlertAction *action1 = [UIAlertAction actionWithTitle:CustomStr(@"Sure") style:UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action) {
  61 + NSLog(@"点击了确定,进入确定的事件");
  62 +
  63 + }];
  64 + [alert addAction:action1];
  65 + [controller presentViewController:alert animated:YES completion:nil];
130 66 break;
131 67 }
132 68 case SSDKResponseStateFail:
133 69 {
134   - UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:CustomStr(@"ShareFailure") message:[NSString stringWithFormat:@"%@",error] delegate:nil cancelButtonTitle:CustomStr(@"Sure") otherButtonTitles:nil];
135   - [alertView show];
  70 + UIAlertController *alert = [UIAlertController alertControllerWithTitle:CustomStr(@"ShareFailure") message:nil preferredStyle:UIAlertControllerStyleAlert];
  71 + UIAlertAction *action1 = [UIAlertAction actionWithTitle:CustomStr(@"Sure") style:UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action) {
  72 + NSLog(@"点击了确定,进入确定的事件");
  73 +
  74 + }];
  75 + [alert addAction:action1];
  76 + [controller presentViewController:alert animated:YES completion:nil];
136 77 break;
137 78 }
138 79 default:
139 80 break;
140 81 }
  82 +
141 83 }];
  84 +
142 85 }
  86 +
143 87 @end
... ...
CNLiveScioLive/Pages/Tools/ShareTool/XWShareView.h deleted 100644 → 0
1   -//
2   -// XWShareView.h
3   -// CNLiveScioLive
4   -//
5   -// Created by CNLive-zxw on 2018/10/20.
6   -// Copyright © 2018年 CNLive. All rights reserved.
7   -//
8   -
9   -#import <UIKit/UIKit.h>
10   -#import "TemplateShareButton.h"
11   -
12   -NS_ASSUME_NONNULL_BEGIN
13   -@protocol XWShareViewDelegate <NSObject>
14   -
15   -@required
16   -
17   -- (void)shareBtnClickWithType:(TemplateShareButtonType)type andShareVC:(UIViewController *)shareVC;
18   -
19   -@end
20   -@interface XWShareView : UIView
21   -
22   -
23   -@property (nonatomic,weak) id<XWShareViewDelegate> shareDelegate;
24   -
25   -/**
26   - * 自定义初始化方法
27   - *
28   - * @param frame frame
29   - * @param shareTitle reportButton是否隐藏
30   - * @param shareText reportButton是否隐藏
31   - * @param shareImg reportButton是否隐藏
32   - * @param shareUrl reportButton是否隐藏
33   - *
34   - * @return 返回一个XWShareView对象
35   - */
36   -
37   -
38   -- (instancetype)initWithFrame:(CGRect)frame ShareImg:(NSString *)shareImg ShareTitle:(NSString *)shareTitle ShareText:(NSString *)shareText ShareUrl:(NSString *)shareUrl;
39   -
40   -- (void)show;
41   -
42   -- (void)configibutton;
43   -
44   -@end
45   -
46   -NS_ASSUME_NONNULL_END
CNLiveScioLive/Pages/Tools/ShareTool/XWShareView.m deleted 100644 → 0
1   -//
2   -// XWShareView.m
3   -// CNLiveScioLive
4   -//
5   -// Created by CNLive-zxw on 2018/10/20.
6   -// Copyright © 2018年 CNLive. All rights reserved.
7   -//
8   -
9   -#import "XWShareView.h"
10   -#import "TemplateShareManager.h"
11   -
12   -
13   -@interface XWShareView (){
14   - UIToolbar *_toolBar;
15   -
16   - UIView *_contentView;
17   - TemplateShareButton *_weiboButton;
18   - TemplateShareButton *_weixinButton;
19   - TemplateShareButton *_pengyouquanButton;
20   - TemplateShareButton *_qqButton;
21   - TemplateShareButton *_qqZoneButton;
22   - TemplateShareButton *_txweiboButton;
23   - TemplateShareButton *_xlweiboButton;
24   - TemplateShareButton *_renrenButton;
25   - TemplateShareButton *_reportButton;
26   -
27   - NSString *_title;
28   - NSString *_shareText;
29   - NSString *_shareImg;
30   - NSString *_shareUrl;
31   - BOOL _isShowing;
32   -
33   -}
34   -
35   -@end
36   -
37   -@implementation XWShareView
38   -
39   -- (instancetype)initWithFrame:(CGRect)frame ShareImg:(NSString *)shareImg ShareTitle:(NSString *)shareTitle ShareText:(NSString *)shareText ShareUrl:(NSString *)shareUrl{
40   -
41   - self = [super initWithFrame:frame];
42   - if (self) {
43   - _isShowing = YES;
44   - _title = shareTitle;
45   - _shareText = [self getZZwithString:shareText];
46   - _shareImg = shareImg;
47   - _shareUrl = shareUrl;
48   -
49   - }
50   - return self;
51   -
52   -}
53   -
54   -- (void)dealloc{
55   - NSLog(@"%s DESTROYED-----------",__func__);
56   -
57   -}
58   -
59   -- (void)layoutSubviews{
60   - [super layoutSubviews];
61   -
62   -}
63   -
64   -#pragma mark -- Show Method
65   -- (void)show{
66   - UIWindow *window = [UIApplication sharedApplication].keyWindow;
67   - [window addSubview:self];
68   - [self mas_makeConstraints:^(MASConstraintMaker *make) {
69   - make.edges.equalTo(window);
70   - }];
71   -
72   - UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(btnCancel)];
73   - [self addGestureRecognizer:tap];
74   - [self configibutton];
75   -
76   -}
77   -#pragma mark -- UI
78   -- (void)configibutton{
79   -
80   - self.backgroundColor = [UIColor colorWithRed:0 green:0 blue:0 alpha:0.3];
81   -
82   - _contentView = [[UIView alloc]initWithFrame:CGRectMake(0, MainScreenHeight - 200, MainScreenWidth, 200)];
83   - _contentView.backgroundColor = [UIColor whiteColor];
84   - [self addSubview:_contentView];
85   -
86   - UILabel *title = [[UILabel alloc]initWithFrame:CGRectMake(100, 15, MainScreenWidth - 200, 22)];
87   - title.textAlignment = NSTextAlignmentCenter;
88   - title.text = @"分享到"; //@"分享到";
89   - title.font = Font(16);
90   - [_contentView addSubview:title];
91   -
92   - UIButton *close = [[UIButton alloc]initWithFrame:CGRectMake(MainScreenWidth - 44, 0, 44, 44)];
93   - [close setImage:[UIImage imageNamed:@"cnlive_icon"] forState:UIControlStateNormal];
94   - [close addTarget:self action:@selector(dismiss) forControlEvents:UIControlEventTouchUpInside];
95   - [_contentView addSubview:close];
96   -
97   - CGFloat shareWH = 80, shareMarginS = (MainScreenWidth - 3 * shareWH)/4.0;
98   -
99   - //朋友圈
100   - _pengyouquanButton = [TemplateShareButton buttonWithType:UIButtonTypeCustom];
101   - _pengyouquanButton.frame = CGRectMake(shareMarginS, 80, 80, 80);
102   - _pengyouquanButton.shareButtonType = TemplateShareButtonTypePengYouQuan;
103   - _pengyouquanButton.image = @"朋友圈";//@"朋友圈";
104   - [_pengyouquanButton addTarget:self action:@selector(didClickShareButtonAction:) forControlEvents:UIControlEventTouchUpInside];
105   - [_contentView addSubview:_pengyouquanButton];
106   -
107   - //微信
108   - _weixinButton = [TemplateShareButton buttonWithType:UIButtonTypeCustom];
109   - _weixinButton.frame = CGRectMake(2 * shareMarginS + shareWH, 80, 80, 80);
110   - _weixinButton.shareButtonType = TemplateShareButtonTypeWeiXin;
111   - _weixinButton.image = @"微信";//@"微信";
112   - [_weixinButton addTarget:self action:@selector(didClickShareButtonAction:) forControlEvents:UIControlEventTouchUpInside];
113   - [_contentView addSubview:_weixinButton];
114   -
115   - //新浪微博
116   - _xlweiboButton = [TemplateShareButton buttonWithType:UIButtonTypeCustom];
117   - _xlweiboButton.frame = CGRectMake(3 * shareMarginS + 2 * shareWH, 80, 80, 80);
118   - _xlweiboButton.shareButtonType = TemplateShareButtonTypeXLWeiBo;
119   -// _xlweiboButton.image = CustomStr(@"Weibo");//@"新浪微博";
120   - _xlweiboButton.image = @"新浪微博";//@"新浪微博";
121   - [_xlweiboButton addTarget:self action:@selector(didClickShareButtonAction:) forControlEvents:UIControlEventTouchUpInside];
122   - [_contentView addSubview:_xlweiboButton];
123   -
124   -}
125   -
126   -//取消分享
127   -- (void)dismiss{
128   - [self removeFromSuperview];
129   -}
130   -
131   -#pragma mark -- Event Response
132   -//取消分享
133   -- (void)btnCancel{
134   - [self removeFromSuperview];
135   -
136   -}
137   -- (void)didClickShareButtonAction:(TemplateShareButton *)button{
138   - [self dismiss];
139   - switch (button.shareButtonType) {
140   -
141   - case TemplateShareButtonTypePengYouQuan:case TemplateShareButtonTypeWeiXin:
142   - if ([WXApi isWXAppInstalled] && [WXApi isWXAppSupportApi]){
143   - TemplateShareManager *manger = [TemplateShareManager shareSingleton];
144   - [manger shareType:button.shareButtonType shareImage:_shareImg shareTitle:_title shareText:_shareText shareUrl:_shareUrl];
145   -
146   - }
147   - else{
148   - //未安装微信
149   -
150   - }
151   -
152   - break;
153   - case TemplateShareButtonTypeXLWeiBo:
154   -
155   - if ([WeiboSDK isCanShareInWeiboAPP] || [WeiboSDK isCanSSOInWeiboApp]){
156   - TemplateShareManager *manger = [TemplateShareManager shareSingleton];
157   - [manger shareType:button.shareButtonType shareImage:_shareImg shareTitle:_title shareText:_shareText shareUrl:_shareUrl];
158   -
159   - }
160   - else{
161   - //未安装新浪微博
162   -
163   - }
164   - break;
165   -
166   - case TemplateShareButtonTypeQQ:case TemplateShareButtonTypeQQZone:
167   -
168   - if ([QQApiInterface isQQInstalled]){
169   - TemplateShareManager *manger = [TemplateShareManager shareSingleton];
170   - [manger shareType:button.shareButtonType shareImage:_shareImg shareTitle:_title shareText:_shareText shareUrl:_shareUrl];
171   -
172   - }
173   - else{
174   - //未安装qq
175   - }
176   - break;
177   -
178   - default:
179   - break;
180   - }
181   -
182   -}
183   -#pragma mark - 去标签Tool
184   -- (NSString *)getZZwithString:(NSString *)string{
185   -
186   - if (!string || [string isEqualToString:@""] || [(NSNull *)string isEqual:[NSNull null]]) {
187   - return @"";
188   - }
189   -
190   -
191   - NSRegularExpression *regularScriptExpretion=[NSRegularExpression regularExpressionWithPattern:@"<script[^>]*?>[\\s\\S]*?<\\/script>"
192   - options:0
193   - error:nil];
194   -
195   - string=[regularScriptExpretion stringByReplacingMatchesInString:string options:NSMatchingReportProgress range:NSMakeRange(0, string.length) withTemplate:@""];
196   -
197   -
198   -
199   - NSRegularExpression *regularExpretion=[NSRegularExpression regularExpressionWithPattern:@"<style[^>]*?>[\\s\\S]*?<\\/style>"
200   - options:0
201   - error:nil];
202   - string=[regularExpretion stringByReplacingMatchesInString:string options:NSMatchingReportProgress range:NSMakeRange(0, string.length) withTemplate:@""];
203   -
204   -
205   -
206   -
207   - NSRegularExpression *regularHtmlExpretion=[NSRegularExpression regularExpressionWithPattern:@"<[^>]+>"
208   - options:0
209   - error:nil];
210   - string=[regularHtmlExpretion stringByReplacingMatchesInString:string options:NSMatchingReportProgress range:NSMakeRange(0, string.length) withTemplate:@""];
211   -
212   -
213   -
214   - string = [string stringByReplacingOccurrencesOfString:@"&nbsp;" withString:@""]; // 过滤&nbsp等标签
215   -
216   - return string;
217   -}
218   -
219   -@end