Files
youle_app_ios/msext/Class/Control/WXApiRequestHandler.m
2023-12-27 20:38:37 +08:00

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