// // 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 + (BOOL)sendText:(NSString *)text InScene:(enum WXScene)scene { SendMessageToWXReq *req = [SendMessageToWXReq requestWithText:text OrMediaMessage:nil bText:YES InScene:scene]; return [WXApi sendReq:req]; } + (BOOL)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]; return [WXApi sendReq:req]; } + (BOOL)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]; return [WXApi sendReq:req]; } + (BOOL)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]; return [WXApi sendReq:req]; } + (BOOL)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]; return [WXApi sendReq:req]; } + (BOOL)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]; return [WXApi sendReq:req]; } + (BOOL)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]; return [WXApi sendReq:req]; } + (BOOL)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]; return [WXApi sendReq:req]; } //+ (BOOL)addCardsToCardPackage:(NSArray *)cardIds cardExts:(NSArray *)cardExts{ // NSMutableArray *cardItems = [NSMutableArray array]; // for (NSString *cardId in cardIds) { // WXCardItem *item = [[[WXCardItem alloc] init] autorelease]; // 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] autorelease]; // req.cardAry = cardItems; // return [WXApi sendReq:req]; //} //+ (BOOL)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; // return [WXApi sendReq:chooseCardReq]; // //} + (BOOL)sendAuthRequestScope:(NSString *)scope State:(NSString *)state OpenID:(NSString *)openID InViewController:(UIViewController *)viewController { SendAuthReq* req = [[[SendAuthReq alloc] init] autorelease]; req.scope = scope; // @"post_timeline,sns" req.state = state; req.openID = openID; return [WXApi sendAuthReq:req viewController:viewController delegate:[WXApiManager sharedManager]]; } + (BOOL)openProfileWithAppID:(NSString *)appID Description:(NSString *)description UserName:(NSString *)userName ExtMsg:(NSString *)extMessage { [WXApi registerApp:appID withDescription:description]; JumpToBizProfileReq *req = [[[JumpToBizProfileReq alloc]init]autorelease]; req.profileType = WXBizProfileType_Device; req.username = userName; req.extMsg = extMessage; return [WXApi sendReq:req]; } + (BOOL)jumpToBizWebviewWithAppID:(NSString *)appID Description:(NSString *)description tousrname:(NSString *)tousrname ExtMsg:(NSString *)extMsg { [WXApi registerApp:appID withDescription:description]; JumpToBizWebviewReq *req = [[[JumpToBizWebviewReq alloc]init]autorelease]; req.tousrname = tousrname; req.extMsg = extMsg; req.webType = WXMPWebviewType_Ad; return [WXApi sendReq:req]; } + (BOOL)openUrl:(NSString *)url { OpenWebviewReq *req = [[OpenWebviewReq alloc] init]; req.url = url; return [WXApi sendReq:req]; } //+ (BOOL)openHBWithAppid:(NSString *)appid // package:(NSString *)package // sign:(NSString *)sign; //{ // [WXApi registerApp:appid withDescription:@"demo 2.0"]; // HBReq *aHBReq = [[HBReq alloc] init]; // aHBReq.nonceStr = @"1474873519_wxsphb"; // aHBReq.timeStamp = 1474873519; // aHBReq.package = package; // aHBReq.sign = sign; // return [WXApi sendReq:aHBReq]; //} @end