123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132 |
- //
- // customShareManageTool.m
- // 隐私保护
- //
- // Created by xd h on 2024/5/11.
- //
- #import "customShareManageTool.h"
- //微信分享头文件
- #import "WXApi.h"
- #import "WXApiObject.h"
- //QQ分享头文件
- #import <TencentOpenAPI/TencentOAuth.h>
- #import <TencentOpenAPI/QQApiInterface.h>
- #import <TencentOpenAPI/QQApiInterfaceObject.h>
- @implementation customShareManageTool
- + (nonnull instancetype)sharedManager {
- static dispatch_once_t once;
- static id instance;
- dispatch_once(&once, ^{
- instance = [[self alloc] init];
- });
- return instance;
- }
- //分享没有图片 请用自己的AppIcon 作为分享图片
- //shareUrl 分享链接
- //shareTitle 分享标题
- //shareContent 分享内容
- // type1 朋友圈 2 微信好友 3 QQ
- - (void)shareType:(NSInteger)type withShareUrl:(NSString*)shareUrl withShareTitle:(NSString*)shareTitle withShareContent:(NSString*)shareContent
- {
- //[[iToast makeText:@"接入云游戏的APP分享请在这里添加代码实现"] show];
-
- //HLog(@"type:%ld---shareUrl:%@---shareTitle:%@",type,shareUrl,shareTitle)
-
- if(type == 3)
- {
- [self shareQQwithShareUrl:shareUrl withShareTitle:shareTitle withShareContent:shareContent];
- }
- else if(type == 1 || type == 2)
- {
- [self shareWechatByType:type withShareUrl:shareUrl withShareTitle:shareTitle withShareContent:shareContent];
- }
- // else{}
- }
- - (void)shareQQwithShareUrl:(NSString*)shareUrl withShareTitle:(NSString*)shareTitle withShareContent:(NSString*)shareContent
- {
- if(![QQApiInterface isSupportShareToQQ])
- {
- //[[iToast makeText:@"未安装QQ,请先安装QQ"] show];
- [[iToast makeText:NSLocalizedString(@"share_no_qq",nil)] show];
- return;
- }
- //分享没有图片 请用自己的AppIcon 作为分享图片
- UIImage *shareImage = [UIImage imageNamed:@"AppIcon"];
- /*分享文字+连接*/
- NSURL*curUrl = [NSURL URLWithString:shareUrl];
- QQApiNewsObject *newsObj = [QQApiNewsObject
- objectWithURL:curUrl
- title:shareTitle
- description:shareContent
- previewImageData:UIImagePNGRepresentation(shareImage)];
- SendMessageToQQReq *req = [SendMessageToQQReq reqWithContent:newsObj];
- //将内容分享到qq
- QQApiSendResultCode sent = [QQApiInterface sendReq:req];
- if (sent != 0) {
- [[iToast makeText:@"QQ分享失败,请稍后重试"] show];
- KyoLog(@"QQ好友分享失败");
- }
- else {
- KyoLog(@"QQ好友分享成功");
- }
- }
- //
- // type1 朋友圈 2 微信好友 3 QQ
- - (void)shareWechatByType:(NSInteger)type withShareUrl:(NSString*)shareUrl withShareTitle:(NSString*)shareTitle withShareContent:(NSString*)shareContent
- {
- if(![WXApi isWXAppInstalled])
- {
- //[[iToast makeText:@"未安装微信,请先安装微信"] show];
- [[iToast makeText:NSLocalizedString(@"share_no_wx",nil)] show];
- return;
- }
- //分享没有图片 请用自己的AppIcon 作为分享图片
- UIImage *shareImage = [UIImage imageNamed:@"PrivateX_icon"];
- /*分享文字+连接*/
- WXWebpageObject *webpageObject = [WXWebpageObject object];
- webpageObject.webpageUrl = shareUrl;
- WXMediaMessage *message = [WXMediaMessage message];
- message.title = shareTitle;
- message.description = shareContent;
- [message setThumbImage:shareImage];
- message.mediaObject = webpageObject;
- SendMessageToWXReq *req = [[SendMessageToWXReq alloc] init];
- req.bText = NO;
- req.message = message;
- if (type == 2) {
- req.scene = WXSceneSession;
- }
- else{
- req.scene = WXSceneTimeline;
- }
- [WXApi sendReq:req completion:^(BOOL success) {
- if (success == NO) {
- KyoLog(@"微信分享失败");
- [[iToast makeText:@"微信分享失败,请稍后重试"] show];
- }else {
- KyoLog(@"微信分享成功");
- }
- }];
- }
- @end
|