123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322 |
- //
- // WXApiManager.m
- // SDKSample
- //
- // Created by Jeason on 15/7/14.
- //
- //
- #import "WXApi.h"
- #import "WXApiRequestHandler.h"
- #import "WXApiManager.h"
- #import "SendMessageToWXReq+requestWithTextOrMediaMessage.h"
- #import "WXMediaMessage+messageConstruct.h"
- @implementation WXApiRequestHandler
- #pragma mark - Public Methods
- + (void)sendText:(NSString *)text
- InScene:(enum WXScene)scene {
- SendMessageToWXReq *req = [SendMessageToWXReq requestWithText:text
- OrMediaMessage:nil
- bText:YES
- InScene:scene];
- [WXApi sendReq:req completion:nil];
- }
- + (void)sendImageData:(NSData *)imageData
- TagName:(NSString *)tagName
- MessageExt:(NSString *)messageExt
- Action:(NSString *)action
- ThumbImage:(UIImage *)thumbImage
- InScene:(enum WXScene)scene {
- WXImageObject *ext = [WXImageObject object];
- ext.imageData = imageData;
-
- WXMediaMessage *message = [WXMediaMessage messageWithTitle:nil
- Description:nil
- Object:ext
- MessageExt:messageExt
- MessageAction:action
- ThumbImage:thumbImage
- MediaTag:tagName];
-
- SendMessageToWXReq* req = [SendMessageToWXReq requestWithText:nil
- OrMediaMessage:message
- bText:NO
- InScene:scene];
-
- [WXApi sendReq:req completion:nil];
- }
- + (void)sendLinkURL:(NSString *)urlString
- TagName:(NSString *)tagName
- Title:(NSString *)title
- Description:(NSString *)description
- ThumbImage:(UIImage *)thumbImage
- InScene:(enum WXScene)scene {
- WXWebpageObject *ext = [WXWebpageObject object];
- ext.webpageUrl = urlString;
- WXMediaMessage *message = [WXMediaMessage messageWithTitle:title
- Description:description
- Object:ext
- MessageExt:nil
- MessageAction:nil
- ThumbImage:thumbImage
- MediaTag:tagName];
-
- SendMessageToWXReq* req = [SendMessageToWXReq requestWithText:nil
- OrMediaMessage:message
- bText:NO
- InScene:scene];
- [WXApi sendReq:req completion:nil];
- }
- + (void)sendMusicURL:(NSString *)musicURL
- dataURL:(NSString *)dataURL
- Title:(NSString *)title
- Description:(NSString *)description
- ThumbImage:(UIImage *)thumbImage
- InScene:(enum WXScene)scene {
- WXMusicObject *ext = [WXMusicObject object];
- ext.musicUrl = musicURL;
- ext.musicDataUrl = dataURL;
- WXMediaMessage *message = [WXMediaMessage messageWithTitle:title
- Description:description
- Object:ext
- MessageExt:nil
- MessageAction:nil
- ThumbImage:thumbImage
- MediaTag:nil];
-
- SendMessageToWXReq* req = [SendMessageToWXReq requestWithText:nil
- OrMediaMessage:message
- bText:NO
- InScene:scene];
-
- [WXApi sendReq:req completion:nil];
- }
- + (void)sendVideoURL:(NSString *)videoURL
- Title:(NSString *)title
- Description:(NSString *)description
- ThumbImage:(UIImage *)thumbImage
- InScene:(enum WXScene)scene {
- WXMediaMessage *message = [WXMediaMessage message];
- message.title = title;
- message.description = description;
- [message setThumbImage:thumbImage];
-
- WXVideoObject *ext = [WXVideoObject object];
- ext.videoUrl = videoURL;
-
- message.mediaObject = ext;
-
- SendMessageToWXReq* req = [SendMessageToWXReq requestWithText:nil
- OrMediaMessage:message
- bText:NO
- InScene:scene];
- [WXApi sendReq:req completion:nil];
- }
- + (void)sendEmotionData:(NSData *)emotionData
- ThumbImage:(UIImage *)thumbImage
- InScene:(enum WXScene)scene {
- WXMediaMessage *message = [WXMediaMessage message];
- [message setThumbImage:thumbImage];
-
- WXEmoticonObject *ext = [WXEmoticonObject object];
- ext.emoticonData = emotionData;
-
- message.mediaObject = ext;
-
- SendMessageToWXReq* req = [SendMessageToWXReq requestWithText:nil
- OrMediaMessage:message
- bText:NO
- InScene:scene];
- [WXApi sendReq:req completion:nil];
- }
- + (void)sendFileData:(NSData *)fileData
- fileExtension:(NSString *)extension
- Title:(NSString *)title
- Description:(NSString *)description
- ThumbImage:(UIImage *)thumbImage
- InScene:(enum WXScene)scene {
- WXMediaMessage *message = [WXMediaMessage message];
- message.title = title;
- message.description = description;
- [message setThumbImage:thumbImage];
-
- WXFileObject *ext = [WXFileObject object];
- ext.fileExtension = @"pdf";
- ext.fileData = fileData;
-
- message.mediaObject = ext;
-
- SendMessageToWXReq* req = [SendMessageToWXReq requestWithText:nil
- OrMediaMessage:message
- bText:NO
- InScene:scene];
- [WXApi sendReq:req completion:nil];
- }
- + (void)sendMiniProgramWebpageUrl:(NSString *)webpageUrl
- userName:(NSString *)userName
- path:(NSString *)path
- title:(NSString *)title
- Description:(NSString *)description
- ThumbImage:(UIImage *)thumbImage
- hdImageData:(NSData *)hdImageData
- withShareTicket:(BOOL)withShareTicket
- miniProgramType:(WXMiniProgramType)programType
- InScene:(enum WXScene)scene
- {
- WXMiniProgramObject *ext = [WXMiniProgramObject object];
- ext.webpageUrl = webpageUrl;
- ext.userName = userName;
- ext.path = path;
- ext.hdImageData = hdImageData;
- ext.withShareTicket = withShareTicket;
- ext.miniProgramType = programType;
-
- WXMediaMessage *message = [WXMediaMessage messageWithTitle:title
- Description:description
- Object:ext
- MessageExt:nil
- MessageAction:nil
- ThumbImage:thumbImage
- MediaTag:nil];
-
- SendMessageToWXReq* req = [SendMessageToWXReq requestWithText:nil
- OrMediaMessage:message
- bText:NO
- InScene:scene];
-
- [WXApi sendReq:req completion:nil];
- }
- + (void)launchMiniProgramWithUserName:(NSString *)userName
- path:(NSString *)path
- type:(WXMiniProgramType)miniProgramType
- {
- WXLaunchMiniProgramReq *launchMiniProgramReq = [WXLaunchMiniProgramReq object];
- launchMiniProgramReq.userName = userName;
- launchMiniProgramReq.path = path;
- launchMiniProgramReq.miniProgramType = miniProgramType;
-
- return [WXApi sendReq:launchMiniProgramReq completion:nil];
- }
- + (void)sendAppContentData:(NSData *)data
- ExtInfo:(NSString *)info
- ExtURL:(NSString *)url
- Title:(NSString *)title
- Description:(NSString *)description
- MessageExt:(NSString *)messageExt
- MessageAction:(NSString *)action
- ThumbImage:(UIImage *)thumbImage
- InScene:(enum WXScene)scene {
- WXAppExtendObject *ext = [WXAppExtendObject object];
- ext.extInfo = info;
- ext.url = url;
- ext.fileData = data;
- WXMediaMessage *message = [WXMediaMessage messageWithTitle:title
- Description:description
- Object:ext
- MessageExt:messageExt
- MessageAction:action
- ThumbImage:thumbImage
- MediaTag:nil];
-
- SendMessageToWXReq* req = [SendMessageToWXReq requestWithText:nil
- OrMediaMessage:message
- bText:NO
- InScene:scene];
- [WXApi sendReq:req completion:nil];
- }
- + (void)addCardsToCardPackage:(NSArray *)cardIds cardExts:(NSArray *)cardExts
- {
- NSMutableArray *cardItems = [NSMutableArray array];
- for (NSString *cardId in cardIds) {
- WXCardItem *item = [[WXCardItem alloc] init];
- item.cardId = cardId;
- item.appID = @"wxf8b4f85f3a794e77";
- [cardItems addObject:item];
- }
-
- for (NSInteger index = 0; index < cardItems.count; index++) {
- WXCardItem *item = cardItems[index];
- NSString *ext = cardExts[index];
- item.extMsg = ext;
- }
-
- AddCardToWXCardPackageReq *req = [[AddCardToWXCardPackageReq alloc] init];
- req.cardAry = cardItems;
- [WXApi sendReq:req completion:nil];
- }
- + (void)chooseCard:(NSString *)appid
- cardSign:(NSString *)cardSign
- nonceStr:(NSString *)nonceStr
- signType:(NSString *)signType
- timestamp:(UInt32)timestamp
- {
- WXChooseCardReq *chooseCardReq = [[WXChooseCardReq alloc] init];
- chooseCardReq.appID = appid;
- chooseCardReq.cardSign = cardSign;
- chooseCardReq.nonceStr = nonceStr;
- chooseCardReq.signType = signType;
- chooseCardReq.timeStamp = timestamp;
- [WXApi sendReq:chooseCardReq completion:nil];
-
- }
- + (void)sendAuthRequestScope:(NSString *)scope
- State:(NSString *)state
- OpenID:(NSString *)openID
- InViewController:(UIViewController *)viewController
- {
- SendAuthReq* req = [[SendAuthReq alloc] init];
- req.scope = scope; // @"post_timeline,sns"
- req.state = state;
- req.openID = openID;
-
- [WXApi sendAuthReq:req
- viewController:viewController
- delegate:[WXApiManager sharedManager]
- completion:nil];
- }
- + (void)openUrl:(NSString *)url
- {
- OpenWebviewReq *req = [[OpenWebviewReq alloc] init];
- req.url = url;
- [WXApi sendReq:req completion:nil];
- }
- + (void)chooseInvoice:(NSString *)appid
- cardSign:(NSString *)cardSign
- nonceStr:(NSString *)nonceStr
- signType:(NSString *)signType
- timestamp:(UInt32)timestamp
- {
- WXChooseInvoiceReq *chooseInvoiceReq = [[WXChooseInvoiceReq alloc] init];
- chooseInvoiceReq.appID = appid;
- chooseInvoiceReq.cardSign = cardSign;
- chooseInvoiceReq.nonceStr = nonceStr;
- chooseInvoiceReq.signType = signType;
- // chooseCardReq.cardType = @"INVOICE";
- chooseInvoiceReq.timeStamp = timestamp;
- // chooseCardReq.canMultiSelect = 1;
- [WXApi sendReq:chooseInvoiceReq completion:nil];
- }
- @end
|