290 lines
11 KiB
Objective-C
Executable File
290 lines
11 KiB
Objective-C
Executable File
//
|
|
// 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
|