diff --git a/Ash_AWord.xcodeproj/project.pbxproj b/Ash_AWord.xcodeproj/project.pbxproj index 490af3f..90904ae 100644 --- a/Ash_AWord.xcodeproj/project.pbxproj +++ b/Ash_AWord.xcodeproj/project.pbxproj @@ -34,6 +34,19 @@ A97C55061AC933AD0038818A /* UMSnsAccountViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = A97C54FA1AC933AD0038818A /* UMSnsAccountViewController.xib */; }; A97C55071AC933AD0038818A /* UMSShareListController.xib in Resources */ = {isa = PBXBuildFile; fileRef = A97C54FB1AC933AD0038818A /* UMSShareListController.xib */; }; A97C55081AC933AD0038818A /* UMSocialSDKResourcesNew.bundle in Resources */ = {isa = PBXBuildFile; fileRef = A97C54FC1AC933AD0038818A /* UMSocialSDKResourcesNew.bundle */; }; + A98F98521ACA29B5007C4594 /* libSocialQQ.a in Frameworks */ = {isa = PBXBuildFile; fileRef = A98F98481ACA29B5007C4594 /* libSocialQQ.a */; }; + A98F98531ACA29B5007C4594 /* TencentOpenAPI.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A98F98491ACA29B5007C4594 /* TencentOpenAPI.framework */; }; + A98F98541ACA29B5007C4594 /* TencentOpenApi_IOS_Bundle.bundle in Resources */ = {isa = PBXBuildFile; fileRef = A98F984A1ACA29B5007C4594 /* TencentOpenApi_IOS_Bundle.bundle */; }; + A98F98551ACA29B5007C4594 /* libSocialWechat.a in Frameworks */ = {isa = PBXBuildFile; fileRef = A98F984D1ACA29B5007C4594 /* libSocialWechat.a */; }; + A98F98561ACA29B5007C4594 /* libWeChatSDK.a in Frameworks */ = {isa = PBXBuildFile; fileRef = A98F984E1ACA29B5007C4594 /* libWeChatSDK.a */; }; + A98F98581ACA2A5A007C4594 /* Security.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A98F98571ACA2A5A007C4594 /* Security.framework */; }; + A98F985A1ACA2A65007C4594 /* libiconv.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = A98F98591ACA2A65007C4594 /* libiconv.dylib */; }; + A98F985C1ACA2A6F007C4594 /* SystemConfiguration.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A98F985B1ACA2A6F007C4594 /* SystemConfiguration.framework */; }; + A98F985E1ACA2A77007C4594 /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A98F985D1ACA2A77007C4594 /* CoreGraphics.framework */; }; + A98F98601ACA2A86007C4594 /* libsqlite3.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = A98F985F1ACA2A86007C4594 /* libsqlite3.dylib */; }; + A98F98621ACA2A8E007C4594 /* CoreTelephony.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A98F98611ACA2A8E007C4594 /* CoreTelephony.framework */; }; + A98F98641ACA2A95007C4594 /* libstdc++.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = A98F98631ACA2A95007C4594 /* libstdc++.dylib */; }; + A98F98661ACA2A9F007C4594 /* libz.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = A98F98651ACA2A9F007C4594 /* libz.dylib */; }; A9B4E39F1AC9908E00A1DBDF /* libMobClickLibrary.a in Frameworks */ = {isa = PBXBuildFile; fileRef = A9B4E39C1AC9908E00A1DBDF /* libMobClickLibrary.a */; }; A9FAD4221AC922A5007ADC10 /* MainViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = A9FAD4201AC922A5007ADC10 /* MainViewController.m */; }; A9FAD4231AC922A5007ADC10 /* MainViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = A9FAD4211AC922A5007ADC10 /* MainViewController.xib */; }; @@ -103,6 +116,23 @@ A97C54FB1AC933AD0038818A /* UMSShareListController.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = UMSShareListController.xib; sourceTree = ""; }; A97C54FC1AC933AD0038818A /* UMSocialSDKResourcesNew.bundle */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.plug-in"; path = UMSocialSDKResourcesNew.bundle; sourceTree = ""; }; A97C54FD1AC933AD0038818A /* zh-Hans */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hans"; path = "zh-Hans.lproj/UMSocialLocalizable.strings"; sourceTree = ""; }; + A98F98481ACA29B5007C4594 /* libSocialQQ.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = libSocialQQ.a; sourceTree = ""; }; + A98F98491ACA29B5007C4594 /* TencentOpenAPI.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = TencentOpenAPI.framework; sourceTree = ""; }; + A98F984A1ACA29B5007C4594 /* TencentOpenApi_IOS_Bundle.bundle */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.plug-in"; path = TencentOpenApi_IOS_Bundle.bundle; sourceTree = ""; }; + A98F984B1ACA29B5007C4594 /* UMSocialQQHandler.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = UMSocialQQHandler.h; sourceTree = ""; }; + A98F984D1ACA29B5007C4594 /* libSocialWechat.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = libSocialWechat.a; sourceTree = ""; }; + A98F984E1ACA29B5007C4594 /* libWeChatSDK.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = libWeChatSDK.a; sourceTree = ""; }; + A98F984F1ACA29B5007C4594 /* UMSocialWechatHandler.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = UMSocialWechatHandler.h; sourceTree = ""; }; + A98F98501ACA29B5007C4594 /* WXApi.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WXApi.h; sourceTree = ""; }; + A98F98511ACA29B5007C4594 /* WXApiObject.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WXApiObject.h; sourceTree = ""; }; + A98F98571ACA2A5A007C4594 /* Security.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Security.framework; path = System/Library/Frameworks/Security.framework; sourceTree = SDKROOT; }; + A98F98591ACA2A65007C4594 /* libiconv.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libiconv.dylib; path = usr/lib/libiconv.dylib; sourceTree = SDKROOT; }; + A98F985B1ACA2A6F007C4594 /* SystemConfiguration.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SystemConfiguration.framework; path = System/Library/Frameworks/SystemConfiguration.framework; sourceTree = SDKROOT; }; + A98F985D1ACA2A77007C4594 /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; }; + A98F985F1ACA2A86007C4594 /* libsqlite3.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libsqlite3.dylib; path = usr/lib/libsqlite3.dylib; sourceTree = SDKROOT; }; + A98F98611ACA2A8E007C4594 /* CoreTelephony.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreTelephony.framework; path = System/Library/Frameworks/CoreTelephony.framework; sourceTree = SDKROOT; }; + A98F98631ACA2A95007C4594 /* libstdc++.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = "libstdc++.dylib"; path = "usr/lib/libstdc++.dylib"; sourceTree = SDKROOT; }; + A98F98651ACA2A9F007C4594 /* libz.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libz.dylib; path = usr/lib/libz.dylib; sourceTree = SDKROOT; }; A9B4E39C1AC9908E00A1DBDF /* libMobClickLibrary.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = libMobClickLibrary.a; sourceTree = ""; }; A9B4E39D1AC9908E00A1DBDF /* MobClick.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MobClick.h; sourceTree = ""; }; A9B4E39E1AC9908E00A1DBDF /* MobClickSocialAnalytics.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MobClickSocialAnalytics.h; sourceTree = ""; }; @@ -129,8 +159,20 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + A98F98661ACA2A9F007C4594 /* libz.dylib in Frameworks */, + A98F98641ACA2A95007C4594 /* libstdc++.dylib in Frameworks */, + A98F98621ACA2A8E007C4594 /* CoreTelephony.framework in Frameworks */, + A98F98601ACA2A86007C4594 /* libsqlite3.dylib in Frameworks */, + A98F985E1ACA2A77007C4594 /* CoreGraphics.framework in Frameworks */, + A98F985C1ACA2A6F007C4594 /* SystemConfiguration.framework in Frameworks */, + A98F985A1ACA2A65007C4594 /* libiconv.dylib in Frameworks */, + A98F98581ACA2A5A007C4594 /* Security.framework in Frameworks */, + A98F98561ACA29B5007C4594 /* libWeChatSDK.a in Frameworks */, + A98F98531ACA29B5007C4594 /* TencentOpenAPI.framework in Frameworks */, + A98F98521ACA29B5007C4594 /* libSocialQQ.a in Frameworks */, 018BA697D81ADF73A75A2345 /* libPods.a in Frameworks */, A9B4E39F1AC9908E00A1DBDF /* libMobClickLibrary.a in Frameworks */, + A98F98551ACA29B5007C4594 /* libSocialWechat.a in Frameworks */, A97C54FF1AC933AD0038818A /* libUMSocial_Sdk_4.2.1.a in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; @@ -279,6 +321,7 @@ A97C54D91AC9014D0038818A /* Vender */ = { isa = PBXGroup; children = ( + A98F98461ACA29B5007C4594 /* UMSocial_Sdk_Extra_Frameworks */, A9B4E39B1AC9908E00A1DBDF /* UMAnalytics_Sdk_3.4.6 */, A97C54E31AC933AD0038818A /* UMSocial_Sdk_4.2.1 */, A97C54DA1AC901970038818A /* MBProgressHUD */, @@ -356,6 +399,38 @@ path = SocialSDKXib; sourceTree = ""; }; + A98F98461ACA29B5007C4594 /* UMSocial_Sdk_Extra_Frameworks */ = { + isa = PBXGroup; + children = ( + A98F98471ACA29B5007C4594 /* TencentOpenAPI */, + A98F984C1ACA29B5007C4594 /* Wechat */, + ); + path = UMSocial_Sdk_Extra_Frameworks; + sourceTree = ""; + }; + A98F98471ACA29B5007C4594 /* TencentOpenAPI */ = { + isa = PBXGroup; + children = ( + A98F98481ACA29B5007C4594 /* libSocialQQ.a */, + A98F98491ACA29B5007C4594 /* TencentOpenAPI.framework */, + A98F984A1ACA29B5007C4594 /* TencentOpenApi_IOS_Bundle.bundle */, + A98F984B1ACA29B5007C4594 /* UMSocialQQHandler.h */, + ); + path = TencentOpenAPI; + sourceTree = ""; + }; + A98F984C1ACA29B5007C4594 /* Wechat */ = { + isa = PBXGroup; + children = ( + A98F984D1ACA29B5007C4594 /* libSocialWechat.a */, + A98F984E1ACA29B5007C4594 /* libWeChatSDK.a */, + A98F984F1ACA29B5007C4594 /* UMSocialWechatHandler.h */, + A98F98501ACA29B5007C4594 /* WXApi.h */, + A98F98511ACA29B5007C4594 /* WXApiObject.h */, + ); + path = Wechat; + sourceTree = ""; + }; A9B4E39B1AC9908E00A1DBDF /* UMAnalytics_Sdk_3.4.6 */ = { isa = PBXGroup; children = ( @@ -397,6 +472,14 @@ D600413F4BCED5BE80E26E1F /* Frameworks */ = { isa = PBXGroup; children = ( + A98F98651ACA2A9F007C4594 /* libz.dylib */, + A98F98631ACA2A95007C4594 /* libstdc++.dylib */, + A98F98611ACA2A8E007C4594 /* CoreTelephony.framework */, + A98F985F1ACA2A86007C4594 /* libsqlite3.dylib */, + A98F985D1ACA2A77007C4594 /* CoreGraphics.framework */, + A98F985B1ACA2A6F007C4594 /* SystemConfiguration.framework */, + A98F98591ACA2A65007C4594 /* libiconv.dylib */, + A98F98571ACA2A5A007C4594 /* Security.framework */, E7B8559E65B4108EA2C3F343 /* libPods.a */, ); name = Frameworks; @@ -468,6 +551,7 @@ A97C55071AC933AD0038818A /* UMSShareListController.xib in Resources */, A97C54FE1AC933AD0038818A /* UMSocialLocalizable.strings in Resources */, A97C55041AC933AD0038818A /* UMShareEditViewControlleriPad.xib in Resources */, + A98F98541ACA29B5007C4594 /* TencentOpenApi_IOS_Bundle.bundle in Resources */, A95510A01AC39E6A0006D16F /* LaunchScreen.xib in Resources */, A9FAD42D1AC923E2007ADC10 /* MessageViewController.xib in Resources */, A955109D1AC39E6A0006D16F /* Images.xcassets in Resources */, diff --git a/Ash_AWord/AppDelegate.m b/Ash_AWord/AppDelegate.m index 579cd02..104bf8e 100644 --- a/Ash_AWord/AppDelegate.m +++ b/Ash_AWord/AppDelegate.m @@ -8,8 +8,8 @@ #import "AppDelegate.h" #import "UMSocial.h" -//#import "UMSocialWechatHandler.h" -//#import "UMSocialQQHandler.h" +#import "UMSocialWechatHandler.h" +#import "UMSocialQQHandler.h" #import "MobClick.h" @interface AppDelegate () @@ -50,8 +50,8 @@ { // [WXApi registerApp:kWXAppId]; [UMSocialData setAppKey:kUmengAppkey]; -// [UMSocialWechatHandler setWXAppId:kWXAppId appSecret:kWXAppSecret url:@"http://www.xiaoyu.com"]; -// [UMSocialQQHandler setQQWithAppId:kQQAppId appKey:kQQAppSecret url:@"http://www.xiaoyu.com"]; + [UMSocialWechatHandler setWXAppId:kWXAppId appSecret:kWXAppSecret url:@"http://www.xiaoyu.com"]; + [UMSocialQQHandler setQQWithAppId:kQQAppId appKey:kQQAppSecret url:@"http://www.xiaoyu.com"]; [MobClick startWithAppkey:kUmengAppkey reportPolicy:REALTIME channelId:@"App Store"]; NSString *version = [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleShortVersionString"]; diff --git a/Ash_AWord/Vender/UMSocial_Sdk_Extra_Frameworks/TencentOpenAPI/TencentOpenAPI.framework/Headers/QQApi.h b/Ash_AWord/Vender/UMSocial_Sdk_Extra_Frameworks/TencentOpenAPI/TencentOpenAPI.framework/Headers/QQApi.h new file mode 100644 index 0000000..df2d28c --- /dev/null +++ b/Ash_AWord/Vender/UMSocial_Sdk_Extra_Frameworks/TencentOpenAPI/TencentOpenAPI.framework/Headers/QQApi.h @@ -0,0 +1,444 @@ +// +// QQApi.h +// QQApi +// +// Created by Tencent on 5/1/12. +// Copyright (c) 2012 Tencent. All rights reserved. +// + +/** @file */ + +#import +@class QQApiObject; +@class QQApiMessage; +@class QQApiAdItem; + +typedef enum +{ + EQQAPISENDSUCESS = 0, + EQQAPIQQNOTINSTALLED = 1, + EQQAPIQQNOTSUPPORTAPI = 2, + EQQAPIMESSAGETYPEINVALID = 3, + EQQAPIMESSAGECONTENTNULL = 4, + EQQAPIMESSAGECONTENTINVALID = 5, + EQQAPIAPPNOTREGISTED = 6, + EQQAPIAPPSHAREASYNC = 7, + EQQAPISENDFAILD = -1, + + //qzone分享不支持text类型分享 + EQQAPIQZONENOTSUPPORTTEXT = 10000, + //qzone分享不支持image类型分享 + EQQAPIQZONENOTSUPPORTIMAGE = 10001, +} QQApiSendResultCode; + + +//////////////////////////////////////////////////////////////////////////////////////////////////////////// +// QQApi +//////////////////////////////////////////////////////////////////////////////////////////////////////////// + +/** \brief QQApi主要接口类。. + + 可以通过其中的接口注册插件,发送、接收消息,打开QQ,测试QQ是否支持插件等 + */ +@interface QQApi : NSObject + +/** + 向QQ App发送消息 + @param message 待发送的消息对象 + + @return 发送结果错误码 + */ ++ (QQApiSendResultCode)sendMessage:(QQApiMessage *)message; + +/** + 把URL反序列化成QQApiMessage对象,在AppDelegate的handleOpenURL中调用 + @return + 如果这是来自QQ的调用,一个QQApiMessage实例将被返回,否则返回nil。 + @note + App应通过QQApiMessage.type来判断具体消息类型以作出进一步的处理。 + */ ++ (QQApiMessage *)handleOpenURL:(NSURL *)url sourceApplication:(NSString *)source annotation:(id)annotation; + +/** + @see QQApi#handleOpenURL:sourceApplication:annotation: + */ ++ (QQApiMessage *)handleOpenURL:(NSURL *)url; + +/** + 获取广告数据列表 + @return + QQApiAdItem数组 + */ ++ (NSArray*)getAdItemArray; + +/** + 检测是否已安装QQ + @return + 如果QQ已安装则返回TRUE,否则返回FALSE + */ ++ (BOOL)isQQInstalled; + +/** + 批量检测QQ号码是否在线 + */ ++ (void)getQQUinOnlineStatues:(NSArray *)QQUins delegate:(id)target; + +/** + 检测QQ是否支持API调用 + @return + 如果当前安装QQ版本支持API调用则返回TRUE,否则返回FALSE + */ ++ (BOOL)isQQSupportApi; + +/** + 获取QQ下载地址 + + 如果App通过QQApi#isQQInstalledQQApi#isQQSupportApi检测发现QQ没安装或当前版本QQ不支持API调用,可引导用户通过打开此链接下载最新版QQ。 + @return + iPhoneQQ下载地址 + */ ++ (NSString*)getQQInstallURL; + +/** + 启动QQ + @return + 成功返回TRUE,否则返回FALSE + */ ++ (BOOL)openQQApp; +@end + + +//////////////////////////////////////////////////////////////////////////////////////////////////////////// +// Message definition +//////////////////////////////////////////////////////////////////////////////////////////////////////////// + +/** + 消息类型定义 + */ +enum +{ + // Message from QQ to Plugin app. Plugin app is required to display the data object attached in this message + QQApiMessageTypeShowMessageFromQQRequest = 0x01,///< QQ发给插件App的请求 + QQApiMessageTypeShowMessageFromQQResponse = 0x02, + + // Message from QQ to Plugin app. Plugin app is required to send data to QQ + QQApiMessageTypeGetMessageFromQQRequest = 0x03, + QQApiMessageTypeGetMessageFromQQResponse = 0x04, + + // Message from Plugin app to QQ. Plugin app is sharing data with QQ + QQApiMessageTypeSendMessageToQQRequest = 0x05, + // Message from QQ to Plugin app. + QQApiMessageTypeSendMessageToQQResponse = 0x06, + + // Message from Plugin app to QZone, + QQApiMessageTypeSendMessageToQQQZoneRequest = 0x07, + + QQApiMessageTypeReserved = 0xF0 +}; + +/** + 新补充的 用来区分消息是发送给哪个平台(这个多余了 设计的有点问题) + */ +typedef enum +{ + //分享到qq + kShareMsgToQQ = 0x0, + //分享到qzone结合版 + kShareMsgToQQQZone = 0x1, +}QQShareType; + +typedef NSUInteger QQApiMessageType; + +// QQApiMessage +/** @brief API MESSAGE对象. + + 用于在QQ和插件间发送消息、数据等。 + */ +@interface QQApiMessage : NSObject +/** + 消息类型. + @note 参见QQApi.h中的 QQApiMessageType 定义 + */ +@property (nonatomic) QQApiMessageType type; +/** + */ +@property (nonatomic, retain)QQApiObject* object; + +/** + 初始化函数 + */ +- (id)initWithObject:(QQApiObject*)obj andType:(QQApiMessageType)type; +/** + 通过ApiObject获取QQApiMessage对象 + @note 通过此接口获取的对象类型为APP发送到QQ的请求 + */ ++ (QQApiMessage*) messageWithObject:(QQApiObject*)obj; +/** + 通过ApiObject及MessageType获取QQApiMessage对象 + */ ++ (QQApiMessage*) messageWithObject:(QQApiObject*)obj andType:(QQApiMessageType)type; +@end + + +//////////////////////////////////////////////////////////////////////////////////////////////////////////// +// Payload object definition +//////////////////////////////////////////////////////////////////////////////////////////////////////////// + +// QQApiObject control flags +enum +{ + kQQAPICtrlFlagQZoneShareOnStart = 0x01, + kQQAPICtrlFlagQZoneShareForbid = 0x02, +}; + +// QQApiObject +/** \brief 所有在QQ及插件间发送的数据对象的根类。 + */ +@interface QQApiObject : NSObject +@property(nonatomic,retain) NSString* title; ///< 标题,最长128个字符 +@property(nonatomic,retain) NSString* description; ///<简要描述,最长512个字符 + +@property (nonatomic, assign) uint64_t cflag; + +@end + +// QQApiResultObject +/** \brief 用于请求回应的数据类型。 +

可能错误码及描述如下:

+ + + + + + + + +
errorerrorDescription注释
0nil成功
-1param error参数错误
-2group code is invalid该群不在自己的群列表里面
-3upload photo failed上传图片失败
-4user give up the current operation用户放弃当前操作
-5client internal error客户端内部处理错误
+ */ +@interface QQApiResultObject : QQApiObject +@property(nonatomic,retain) NSString* error; ///<错误 +@property(nonatomic,retain) NSString* errorDescription; ///<错误描述 +@property(nonatomic,retain) NSString* extendInfo; ///<扩展信息 +@end + +// QQApiTextObject +/** \brief 文本对象 + */ +@interface QQApiTextObject : QQApiObject +@property(nonatomic,retain)NSString* text; ///<文本内容,必填,最长1536个字符 + +-(id)initWithText:(NSString*)text; ///<初始化方法 ++(id)objectWithText:(NSString*)text;///<工厂方法,获取一个QQApiTextObject对象. +@end + +// QQApiURLObject +typedef enum QQApiURLTargetType{ + QQApiURLTargetTypeNotSpecified = 0x00, + QQApiURLTargetTypeAudio = 0x01, + QQApiURLTargetTypeVideo = 0x02, + QQApiURLTargetTypeNews = 0x03 +}QQApiURLTargetType; + +/** @brief URL对象类型。 + + 包括URL地址,URL地址所指向的目标类型及预览图像。 + */ +@interface QQApiURLObject : QQApiObject +/** + URL地址所指向的目标类型. + @note 参见QQApi.h 中的 QQApiURLTargetType 定义. + */ +@property(nonatomic)QQApiURLTargetType targetContentType; + +@property(nonatomic,retain)NSURL* url; ///QQApiExtendObject对象 + @param data 数据内容 + @param previewImageData 用于预览的图片 + @param title 标题 + @param description 此对象,分享的描述 + @return + 一个自动释放的QQApiExtendObject实例 + */ ++ (id)objectWithData:(NSData*)data previewImageData:(NSData*)previewImageData title:(NSString*)title description:(NSString*)description; + +@end + +// QQApiImageObject +/** @brief 图片对象 + 用于分享图片内容的对象,是一个指定为图片类型的QQApiExtendObject + */ +@interface QQApiImageObject : QQApiExtendObject +@end + +// QQApiAudioObject +/** @brief 音频URL对象 + 用于分享目标内容为音频的URL的对象 + */ +@interface QQApiAudioObject : QQApiURLObject + +@property (nonatomic, retain) NSURL *flashURL; ///<音频URL地址,最长512个字符 + +/** + 获取一个autorelease的QQApiAudioObject + @param url 音频内容的目标URL + @param title 分享内容的标题 + @param description 分享内容的描述 + @param data 分享内容的预览图像 + @note 如果url为空,调用QQApi#sendMessage:时将返回FALSE + */ ++(id)objectWithURL:(NSURL*)url title:(NSString*)title description:(NSString*)description previewImageData:(NSData*)data; + +/** + 获取一个autorelease的QQApiAudioObject + @param url 音频内容的目标URL + @param title 分享内容的标题 + @param description 分享内容的描述 + @param previewURL 分享内容的预览图像URL + @note 如果url为空,调用QQApi#sendMessage:时将返回FALSE + */ ++(id)objectWithURL:(NSURL*)url title:(NSString*)title description:(NSString*)description previewImageURL:(NSURL*)previewURL; + +@end + +// QQApiVideoObject +/** @brief 视频URL对象 + 用于分享目标内容为视频的URL的对象 + */ +@interface QQApiVideoObject : QQApiURLObject + +@property (nonatomic, retain) NSURL *flashURL; ///<视频URL地址,最长512个字符 + +/** + 获取一个autorelease的QQApiVideoObject + @param url 视频内容的目标URL + @param title 分享内容的标题 + @param description 分享内容的描述 + @param data 分享内容的预览图像 + @note 如果url为空,调用QQApi#sendMessage:时将返回FALSE + */ ++(id)objectWithURL:(NSURL*)url title:(NSString*)title description:(NSString*)description previewImageData:(NSData*)data; + +/** + 获取一个autorelease的QQApiVideoObject + @param url 视频内容的目标URL + @param title 分享内容的标题 + @param description 分享内容的描述 + @param previewURL 分享内容的预览图像URL + @note 如果url为空,调用QQApi#sendMessage:时将返回FALSE + */ ++(id)objectWithURL:(NSURL*)url title:(NSString*)title description:(NSString*)description previewImageURL:(NSURL*)previewURL; + +@end + +// QQApiNewsObject +/** @brief 新闻URL对象 + 用于分享目标内容为新闻的URL的对象 + */ +@interface QQApiNewsObject : QQApiURLObject +/** + 获取一个autorelease的QQApiNewsObject + @param url 视频内容的目标URL + @param title 分享内容的标题 + @param description 分享内容的描述 + @param data 分享内容的预览图像 + @note 如果url为空,调用QQApi#sendMessage:时将返回FALSE + */ ++(id)objectWithURL:(NSURL*)url title:(NSString*)title description:(NSString*)description previewImageData:(NSData*)data; + +/** + 获取一个autorelease的QQApiNewsObject + @param url 视频内容的目标URL + @param title 分享内容的标题 + @param description 分享内容的描述 + @param previewURL 分享内容的预览图像URL + @note 如果url为空,调用QQApi#sendMessage:时将返回FALSE + */ ++(id)objectWithURL:(NSURL*)url title:(NSString*)title description:(NSString*)description previewImageURL:(NSURL*)previewURL; + +@end + +// QQApiPayObject +/** \brief 支付对象 + */ +@interface QQApiPayObject : QQApiObject +@property(nonatomic,retain)NSString* OrderNo; ///<支付订单号,必填 +@property(nonatomic,retain)NSString* AppInfo; ///<支付来源信息,必填 + +-(id)initWithOrderNo:(NSString*)OrderNo AppInfo:(NSString*)AppInfo; ///<初始化方法 ++(id)objectWithOrderNo:(NSString*)OrderNo AppInfo:(NSString*)AppInfo;///<工厂方法,获取一个QQApiPayObject对象. +@end + +// QQApiCommonContentObject; +/** @brief 通用模板类型对象 + 用于分享一个固定显示模板的图文混排对象 + @note 图片列表和文本列表不能同时为空 +*/ +@interface QQApiCommonContentObject : QQApiObject +/** + 预定义的界面布局类型 + */ +@property(nonatomic,assign) unsigned int layoutType; +@property(nonatomic,assign) NSData* previewImageData;///<预览图 +@property(nonatomic,retain) NSArray* textArray;///<文本列表 +@property(nonatomic,retain) NSArray* pictureDataArray;///<图片列表 ++(id)objectWithLayoutType:(int)layoutType textArray:(NSArray*)textArray pictureArray:(NSArray*)pictureArray previewImageData:(NSData*)data; +/** + 将一个NSDictionary对象转化为QQApiCommomContentObject,如果无法转换,则返回空 + */ ++(id)objectWithDictionary:(NSDictionary*)dic; +-(NSDictionary*)toDictionary; +@end + +//////////////////////////////////////////////////////////////////////////////////////////////////////////// +// Ad item object definition +//////////////////////////////////////////////////////////////////////////////////////////////////////////// +/** @brief 广告数据对象 + */ +@interface QQApiAdItem : NSObject +@property(nonatomic,retain) NSString* title; ///<名称 +@property(nonatomic,retain) NSString* description;///<描述 +@property(nonatomic,retain) NSData* imageData;///<广告图片 +@property(nonatomic,retain) NSURL* target;///<广告目标链接 +@end + +// QQApiWPAObject +/** \brief 发起WPA对象 + */ +@interface QQApiWPAObject : QQApiObject +@property(nonatomic,retain)NSString* uin; ///<想要对话的QQ号 + +-(id)initWithUin:(NSString*)uin; ///<初始化方法 ++(id)objectWithUin:(NSString*)uin;///<工厂方法,获取一个QQApiWPAObject对象. +@end diff --git a/Ash_AWord/Vender/UMSocial_Sdk_Extra_Frameworks/TencentOpenAPI/TencentOpenAPI.framework/Headers/QQApiInterface.h b/Ash_AWord/Vender/UMSocial_Sdk_Extra_Frameworks/TencentOpenAPI/TencentOpenAPI.framework/Headers/QQApiInterface.h new file mode 100644 index 0000000..78c3d8a --- /dev/null +++ b/Ash_AWord/Vender/UMSocial_Sdk_Extra_Frameworks/TencentOpenAPI/TencentOpenAPI.framework/Headers/QQApiInterface.h @@ -0,0 +1,101 @@ +/// +/// \file QQApiInterface.h +/// \brief QQApi接口简化封装 +/// +/// Created by Tencent on 12-5-15. +/// Copyright (c) 2012年 Tencent. All rights reserved. +/// + +#import +#import "QQApi.h" +#import "QQApiInterfaceObject.h" + +/** + \brief 处理来至QQ的请求及响应的回调协议 + */ +@protocol QQApiInterfaceDelegate + +/** + 处理来至QQ的请求 + */ +- (void)onReq:(QQBaseReq *)req; + +/** + 处理来至QQ的响应 + */ +- (void)onResp:(QQBaseResp *)resp; + +/** + 处理QQ在线状态的回调 + */ +- (void)isOnlineResponse:(NSDictionary *)response; + +@end + +/** + \brief 对QQApi的简单封装类 + */ +@interface QQApiInterface : NSObject + +/** + 处理由手Q唤起的跳转请求 + \param url 待处理的url跳转请求 + \param delegate 第三方应用用于处理来至QQ请求及响应的委托对象 + \return 跳转请求处理结果,YES表示成功处理,NO表示不支持的请求协议或处理失败 + */ ++ (BOOL)handleOpenURL:(NSURL *)url delegate:(id)delegate; + +/** + 向手Q发起分享请求 + \param req 分享内容的请求 + \return 请求发送结果码 + */ ++ (QQApiSendResultCode)sendReq:(QQBaseReq *)req; + +/** + 向手Q QZone结合版发起分享请求 + \note H5分享只支持单张网络图片的传递 + \param req 分享内容的请求 + \return 请求发送结果码 + */ ++ (QQApiSendResultCode)SendReqToQZone:(QQBaseReq *)req; + +/** + 向手Q发送应答消息 + \param resp 应答消息 + \return 应答发送结果码 + */ ++ (QQApiSendResultCode)sendResp:(QQBaseResp *)resp; + +/** + 检测是否已安装QQ + \return 如果QQ已安装则返回YES,否则返回NO + */ ++ (BOOL)isQQInstalled; + +/** + 批量检测QQ号码是否在线 + */ ++ (void)getQQUinOnlineStatues:(NSArray *)QQUins delegate:(id)delegate; + +/** + 检测QQ是否支持API调用 + \return 如果当前安装QQ版本支持API调用则返回YES,否则返回NO + */ ++ (BOOL)isQQSupportApi; + +/** + 启动QQ + \return 成功返回YES,否则返回NO + */ ++ (BOOL)openQQ; + +/** + 获取QQ下载地址 + + 如果App通过QQApiInterface#isQQInstalledQQApiInterface#isQQSupportApi检测发现QQ没安装或当前版本QQ不支持API调用,可引导用户通过打开此链接下载最新版QQ。 + \return iPhoneQQ下载地址 + */ ++ (NSString *)getQQInstallUrl; + +@end diff --git a/Ash_AWord/Vender/UMSocial_Sdk_Extra_Frameworks/TencentOpenAPI/TencentOpenAPI.framework/Headers/QQApiInterfaceObject.h b/Ash_AWord/Vender/UMSocial_Sdk_Extra_Frameworks/TencentOpenAPI/TencentOpenAPI.framework/Headers/QQApiInterfaceObject.h new file mode 100644 index 0000000..ab82816 --- /dev/null +++ b/Ash_AWord/Vender/UMSocial_Sdk_Extra_Frameworks/TencentOpenAPI/TencentOpenAPI.framework/Headers/QQApiInterfaceObject.h @@ -0,0 +1,157 @@ +/// +/// \file QQApiInterfaceObject.h +/// \brief QQApiInterface所依赖的请求及应答消息对象封装帮助类 +/// +/// Created by Tencent on 12-5-15. +/// Copyright (c) 2012年 Tencent. All rights reserved. +/// + +#ifndef QQApiInterface_QQAPIOBJECT_h +#define QQApiInterface_QQAPIOBJECT_h + +#import "QQApi.h" + +/** + QQApi请求消息类型 + */ +enum QQApiInterfaceReqType +{ + EGETMESSAGEFROMQQREQTYPE = 0, ///< 手Q -> 第三方应用,请求第三方应用向手Q发送消息 + ESENDMESSAGETOQQREQTYPE = 1, ///< 第三方应用 -> 手Q,第三方应用向手Q分享消息 + ESHOWMESSAGEFROMQQREQTYPE = 2 ///< 手Q -> 第三方应用,请求第三方应用展现消息中的数据 +}; + +/** + QQApi应答消息类型 + */ +enum QQApiInterfaceRespType +{ + ESHOWMESSAGEFROMQQRESPTYPE = 0, ///< 第三方应用 -> 手Q,第三方应用应答消息展现结果 + EGETMESSAGEFROMQQRESPTYPE = 1, ///< 第三方应用 -> 手Q,第三方应用回应发往手Q的消息 + ESENDMESSAGETOQQRESPTYPE = 2 ///< 手Q -> 第三方应用,手Q应答处理分享消息的结果 +}; + +/** + QQApi请求消息基类 + */ +@interface QQBaseReq : NSObject + +/** 请求消息类型,参见\ref QQApiInterfaceReqType */ +@property (nonatomic, assign) int type; + +@end + +/** + QQApi应答消息基类 + */ +@interface QQBaseResp : NSObject + +/** 请求处理结果 */ +@property (nonatomic, copy) NSString* result; + +/** 具体错误描述信息 */ +@property (nonatomic, copy) NSString* errorDescription; + +/** 应答消息类型,参见\ref QQApiInterfaceRespType */ +@property (nonatomic, assign) int type; + +/** 扩展信息 */ +@property (nonatomic, assign) NSString* extendInfo; + +@end + +/** + GetMessageFromQQReq请求帮助类 + */ +@interface GetMessageFromQQReq : QQBaseReq + +/** + 创建一个GetMessageFromQQReq请求实例 + */ ++ (GetMessageFromQQReq *)req; + +@end + +/** + GetMessageFromQQResp应答帮助类 + */ +@interface GetMessageFromQQResp : QQBaseResp + +/** + 创建一个GetMessageFromQQResp应答实例 + \param message 具体分享消息实例 + \return 新创建的GetMessageFromQQResp应答实例 + */ ++ (GetMessageFromQQResp *)respWithContent:(QQApiObject *)message; + +/** 具体分享消息 */ +@property (nonatomic, retain) QQApiObject *message; + +@end + +/** + SendMessageToQQReq请求帮助类 + */ +@interface SendMessageToQQReq : QQBaseReq + +/** + 创建一个SendMessageToQQReq请求实例 + \param message 具体分享消息实例 + \return 新创建的SendMessageToQQReq请求实例 + */ ++ (SendMessageToQQReq *)reqWithContent:(QQApiObject *)message; + +/** 具体分享消息 */ +@property (nonatomic, retain) QQApiObject *message; + +@end + +/** + SendMessageToQQResp应答帮助类 + */ +@interface SendMessageToQQResp : QQBaseResp + +/** + 创建一个SendMessageToQQResp应答实例 + \param result 请求处理结果 + \param errDesp 具体错误描述信息 + \param extendInfo 扩展信息 + \return 新创建的SendMessageToQQResp应答实例 + */ ++(SendMessageToQQResp*) respWithResult:(NSString *)result errorDescription:(NSString *)errDesp extendInfo:(NSString*)extendInfo; + +@end + +/** + ShowMessageFromQQReq请求帮助类 + */ +@interface ShowMessageFromQQReq : QQBaseReq + +/** + 创建一个ShowMessageFromQQReq请求实例 + \param message 具体待展现消息实例 + \return 新创建的ShowMessageFromQQReq请求实例 + */ ++ (ShowMessageFromQQReq *)reqWithContent:(QQApiObject *)message; + +/** 具体待展现消息 */ +@property (nonatomic, retain) QQApiObject *message; + +@end + +/** + ShowMessageFromQQResp应答帮助类 + */ +@interface ShowMessageFromQQResp : QQBaseResp + +/** + 创建一个ShowMessageFromQQResp应答实例 + \param result 展现消息结果 + \param errDesp 具体错误描述信息 + \return 新创建的ShowMessageFromQQResp应答实例 + */ ++ (ShowMessageFromQQResp *)respWithResult:(NSString *)result errorDescription:(NSString *)errDesp; + +@end + +#endif diff --git a/Ash_AWord/Vender/UMSocial_Sdk_Extra_Frameworks/TencentOpenAPI/TencentOpenAPI.framework/Headers/TencentApiInterface.h b/Ash_AWord/Vender/UMSocial_Sdk_Extra_Frameworks/TencentOpenAPI/TencentOpenAPI.framework/Headers/TencentApiInterface.h new file mode 100644 index 0000000..8adbf3d --- /dev/null +++ b/Ash_AWord/Vender/UMSocial_Sdk_Extra_Frameworks/TencentOpenAPI/TencentOpenAPI.framework/Headers/TencentApiInterface.h @@ -0,0 +1,99 @@ +// +// TencentMessage.h +// TencentOpenApi_IOS +// +// Created by qqconnect on 13-5-29. +// Copyright (c) 2013年 Tencent. All rights reserved. +// + +#import +#import "TencentMessageObject.h" + +typedef enum +{ + kIphoneQQ, + kIphoneQZONE, + kThirdApp, +} +TecnentPlatformType; + +typedef enum +{ + kTencentApiSuccess, + kTencentApiPlatformUninstall, + kTencentApiPlatformNotSupport, + kTencentApiParamsError, + kTencentApiFail, +} +TencentApiRetCode; + +@class TencentApiReq; +@class TencentApiResp; + +/** + * \brief TencentApiInterface的回调 + * + * TencentApiInterface的回调接口 + * \note v1.0版本只支持腾讯业务拉起第三方请求内容 + */ +@protocol TencentApiInterfaceDelegate + +@optional +/** + * 请求获得内容 当前版本只支持第三方相应腾讯业务请求 + */ +- (BOOL)onTencentReq:(TencentApiReq *)req; + +/** + * 响应请求答复 当前版本只支持腾讯业务相应第三方的请求答复 + */ +- (BOOL)onTencentResp:(TencentApiResp *)resp; + +@end + +/** + * \brief TencentApiInterface的回调 + * + * TencentApiInterface的调用接口 + * \note v1.0版本只支持第三方答复内容 + */ +@interface TencentApiInterface : NSObject + +/** + * 发送答复返回腾讯业务 + * \param resp 答复内容 + * \return 返回码 + */ ++ (TencentApiRetCode)sendRespMessageToTencentApp:(TencentApiResp *)resp; + +/** + * 是否可以处理拉起协议 + * \param url + * \param delegate 指定的回调 + * \return 是否是腾讯API认识的消息类型 + */ ++ (BOOL)canOpenURL:(NSURL *)url delegate:(id)delegate; + +/** + * 处理应用拉起协议 + * \param url + * \param delegate 指定的回调 + * \return 是否是腾讯API认识的消息类型 + */ ++ (BOOL)handleOpenURL:(NSURL *)url delegate:(id)delegate; + +/** + * 用户设备是否安装腾讯APP + * \param platform 指定的腾讯业务 + * \return YES:安装 NO:未安装 + */ ++ (BOOL)isTencentAppInstall:(TecnentPlatformType)platform; + +/** + * 用户设备是否支持调用SDK + * \param platform 指定的腾讯业务 + * \return YES:支持 NO:不支持 + */ ++ (BOOL)isTencentAppSupportTencentApi:(TecnentPlatformType)platform; + +@end diff --git a/Ash_AWord/Vender/UMSocial_Sdk_Extra_Frameworks/TencentOpenAPI/TencentOpenAPI.framework/Headers/TencentMessageObject.h b/Ash_AWord/Vender/UMSocial_Sdk_Extra_Frameworks/TencentOpenAPI/TencentOpenAPI.framework/Headers/TencentMessageObject.h new file mode 100644 index 0000000..f7bdba5 --- /dev/null +++ b/Ash_AWord/Vender/UMSocial_Sdk_Extra_Frameworks/TencentOpenAPI/TencentOpenAPI.framework/Headers/TencentMessageObject.h @@ -0,0 +1,410 @@ +// +// TencentMessageObject.h +// TencentOpenApi_IOS +// +// Created by qqconnect on 13-5-27. +// Copyright (c) 2013年 Tencent. All rights reserved. +// + +#import +#import +#import "sdkdef.h" + +#define kTextLimit (1024 * 1024) +#define kDataLimit (1024 * 1024 * 10) +#define kPreviewDataLimit (1024 * 1024) + +@class TencentApiReq; +@class TencentApiResp; + +/** + * 必填的NSArray型参数 + */ +typedef NSArray *TCRequiredArray; + +/** + * 必填的NSDictionary型参数 + */ +typedef NSDictionary *TCRequiredDictionary; + +/** + * 必填的TencentApiReq型参数 + */ +typedef TencentApiReq *TCRequiredReq; + +/** + * 可选的UIImage类型参数 + */ +typedef NSData *TCOptionalData; + + +/** + * 可选的NSArray型参数 + */ +typedef NSArray *TCOptionalArray; + +/** + * 可选的TencentApiReq型参数 + */ +typedef TencentApiReq *TCOptionalReq; + +/** + * TencentReqMessageType 请求类型枚举参数 + */ +typedef enum +{ + /** TX APP请求内容填充(需要第三方开发者填充完成内容后需要主动调用sendRespMessageToTencentApp)*/ + ReqFromTencentAppQueryContent, + /** TX APP请求展现内容 (不用调用答复) */ + ReqFromTencentAppShowContent, + /** 第三方 APP 请求内容 */ + ReqFromThirdAppQueryContent, + /** 第三方 APP 请求展现内容(类似分享)*/ + ReqFromThirdAppShowContent, +} +TencentReqMessageType; + +typedef enum +{ + RespFromTencentAppQueryContent, + RespFromTencentAppShowContent, + RespFromThirdAppQueryContent, + RespFromThirdAppShowContent, +} +TencentRespMessageType; + +/** + * TencentObjVersion 腾讯API消息类型枚举 + */ +typedef enum +{ + /** 文本类型 */ + TencentTextObj, + /** 图片类型 */ + TencentImageObj, + /** 音频类型 */ + TencentAudioObj, + /** 视频类型 */ + TencentVideoObj, + /** 图片视频类 */ + TencentImageAndVideoObj, +} +TencentObjVersion; + +/** + * \brief 请求包 + * + * TencentApiReq用来向其他业务发送请求包 + */ +@interface TencentApiReq : NSObject + +/** + * 根据序列号生成一个请求包 + * \param apiSeq 请求序列号 + * \param type 请求类型 + * \return tencentApiReq实例 + */ ++ (TencentApiReq *)reqFromSeq:(NSInteger)apiSeq type:(TencentReqMessageType)type; + +/** 请求类型 */ +@property (readonly, assign)TCRequiredInt nMessageType; + +/** 请求平台 */ +@property (readonly, assign)NSInteger nPlatform; + +/** 请求的SDK版本号 */ +@property (readonly, assign)NSInteger nSdkVersion; + +/** 请求序列号 */ +@property (readonly, assign)TCRequiredInt nSeq; + +/** 第三方的APPID */ +@property (nonatomic, retain)TCRequiredStr sAppID; + +/** 请求内容 TencentBaseMessageObj对象数组 */ +@property (nonatomic, retain)TCOptionalArray arrMessage; + +/** 请求的描述 可以用于告诉对方这个请求的特定场景 */ +@property (nonatomic, retain)TCOptionalStr sDescription; + +@end + +/** + * \brief 答复包 + * + * TencentApiResp用来向其他业务发送答复包 + */ +@interface TencentApiResp : NSObject + +/** + * 根据序列号生成一个答复包 + * \param req 答复对应的请求包(如果req不是TencentApiReq或者他的子类,会抛出异常) + * \return 答复包体 + */ ++ (TencentApiResp *)respFromReq:(TencentApiReq *)req; + +/** 返回码 */ +@property (nonatomic, assign)TCOptionalInt nRetCode; + +/** 返回消息 */ +@property (nonatomic, retain)TCOptionalStr sRetMsg; + +/** 答复对应的请求包 */ +@property (nonatomic, retain)TCOptionalReq objReq; + +@end + +/** + * \brief 消息体 + * + * TencentBaseMessageObj 应用之间传递消息体 + */ +@interface TencentBaseMessageObj : NSObject + +/** 消息类型 */ +@property (nonatomic, assign)NSInteger nVersion; + +/** 消息描述 */ +@property (nonatomic, retain)NSString *sName; + +/** 消息的扩展信息 主要是可以用来进行一些请求消息体的描述 譬如图片要求的width height 文字的关键字什么的, 也可以不用填写*/ +@property (nonatomic, retain)NSDictionary *dictExpandInfo; + +/** + * 消息是否有效 + */ +- (BOOL)isVaild; + +@end + +#pragma mark TencentTextMessage +/** + * \brief 文本的消息体 + * + * TencentTextMessageObjV1 应用之间传递的文本消息体 + */ +@interface TencentTextMessageObjV1 : TencentBaseMessageObj + +/** + * 文本 + * \note 文本长度不能超过4096个字 + */ +@property (nonatomic, retain) NSString *sText; + + +/** + * 初始化文本消息 + * \param text 文本 + * \return 初始化返回的文本消息 + */ +- (id)initWithText:(NSString *)text; + +@end + + +#pragma mark TecentImageMessage + +/** + * TencentApiImageSourceType 图片数据类型(请求方对数据类型可能会有限制) + */ +typedef enum +{ + /** 图片数据是url或二进制数据 */ + AllImage, + /** 图片数据是url */ + UrlImage, + /** 图片数据是二进制数据 */ + DataImage, +}TencentApiImageSourceType; + +/** + * \brief 图片的消息体 + * + * TencentImageMessageObjV1 应用之间传递的图片消息体 + */ +@interface TencentImageMessageObjV1 : TencentBaseMessageObj + +/** + * 图片数据 + * \note 图片不能大于10M + */ +@property (nonatomic, retain) NSData *dataImage; + +/** + * 缩略图的数据 + * \note 图片不能大于1M + */ +@property (nonatomic, retain) NSData *dataThumbImage; + +/** 图片URL */ +@property (nonatomic, retain) NSString *sUrl; + +/** 图片的描述 */ +@property (nonatomic, retain) NSString *sDescription; + +/** 图片的size */ +@property (nonatomic, assign) CGSize szImage; + +/** + * 图片来源 + * \note TencentApiImageSourceType对应的类型 + */ +@property (readonly, assign) NSInteger nType; + +/** + * 初始化图片消息 + * \param dataImage 图片类型 + * \return 初始化返回的图片消息 + */ +- (id)initWithImageData:(NSData *)dataImage; + +/** + * 初始化图片消息 + * \param url 图片url + * \return 初始化返回的图片消息 + */ +- (id)initWithImageUrl:(NSString *)url; + +/** + * 初始化图片消息 + * \param type 图片类型 + * \return 初始化返回的图片消息 + */ +- (id)initWithType:(TencentApiImageSourceType)type; +@end + + +#pragma mark TencentAudioMessage +/** + * \brief 音频的消息体 + * + * TencentAudioMessageObjV1 应用之间传递的音频消息体 + */ +@interface TencentAudioMessageObjV1 : TencentBaseMessageObj + +/** 音频URL */ +@property (nonatomic, retain) NSString *sUrl; + +/** + * 音频的预览图 + * \note图片不能大于1M + */ +@property (nonatomic, retain) NSData *dataImagePreview; + +/** 音频的预览图URL */ +@property (nonatomic, retain) NSString *sImagePreviewUrl; + +/** 音频的描述 */ +@property (nonatomic, retain) NSString *sDescription; + +/** + * 初始化图片消息 + * \param url 音频URL + * \return 初始化返回的音频消息 + */ +- (id)initWithAudioUrl:(NSString *)url; + +@end + + +#pragma mark TencentVideoMessage + +/** + * TencentApiVideoSourceType 视频数据类型(请求方对数据类型可能会有限制) + */ + +typedef enum +{ + /** 视频来源于本地或网络 */ + AllVideo, + /** 视频来源于本地 */ + LocalVideo, + /** 视频来源于网络 */ + NetVideo, +}TencentApiVideoSourceType; + +/** + * \brief 视频的消息体 + * + * TencentVideoMessageV1 应用之间传递的视频消息体 + */ +@interface TencentVideoMessageV1 : TencentBaseMessageObj + +/** + * 视频URL + * \note 不能超过1024 + */ +@property (nonatomic, retain) NSString *sUrl; + +/** + * 视频来源 主要是用来让发起方指定视频的来源 + * \note TencentApiVideoSourceType 对应的类型 只读参数 + */ +@property (readonly, assign) NSInteger nType; + +/** + * 视频的预览图 + * \note 图片不能大于1M + */ +@property (nonatomic, retain) NSData *dataImagePreview; + +/** 视频的预览图URL */ +@property (nonatomic, retain) NSString *sImagePreviewUrl; + +/** 视频的描述 */ +@property (nonatomic, retain) NSString *sDescription; + +/** + * 初始化视频消息 + * \param url 视频URL + * \param type 视频来源类型 + * \return 初始化返回的视频消息 + */ +- (id)initWithVideoUrl:(NSString *)url type:(TencentApiVideoSourceType)type; + + +/** + * 初始化视频消息 + * \param type 视频来源类型 + * \return 初始化返回的视频消息 + */ +- (id)initWithType:(TencentApiVideoSourceType)type; +@end + +#pragma mark TencentImageMessageObj +/** + * \brief 视频图片消息体 + * + * TencentVideoMessageV1 这是一个扩展的类 是一个图片视频类 + * \note 图片视频可以任选一个内容填充 但是注意只能填一个 当有一种类型被填充后 另外一个种类型就无法填充了 + */ +@interface TencentImageAndVideoMessageObjV1 : TencentBaseMessageObj + +/** 图片消息 */ +@property (nonatomic, retain) TencentImageMessageObjV1 *objImageMessage; + +/** 视频消息 */ +@property (nonatomic, retain) TencentVideoMessageV1 *objVideoMessage; + +/** + * 初始化图片消息 + * \param dataImage 图片数据 + * \param url 视频url + * \return 初始化返回的图片视频消息 + */ +- (id)initWithMessage:(NSData *)dataImage videoUrl:(NSString *)url; + +/** + * 设置图片 + * \param dataImage 图片数据 + */ +- (void)setDataImage:(NSData *)dataImage; + +/** + * 设置视频 + * \param videoUrl 视频URL + */ +- (void)setVideoUrl:(NSString *)videoUrl; +@end + + diff --git a/Ash_AWord/Vender/UMSocial_Sdk_Extra_Frameworks/TencentOpenAPI/TencentOpenAPI.framework/Headers/TencentOAuth.h b/Ash_AWord/Vender/UMSocial_Sdk_Extra_Frameworks/TencentOpenAPI/TencentOpenAPI.framework/Headers/TencentOAuth.h new file mode 100644 index 0000000..3c06385 --- /dev/null +++ b/Ash_AWord/Vender/UMSocial_Sdk_Extra_Frameworks/TencentOpenAPI/TencentOpenAPI.framework/Headers/TencentOAuth.h @@ -0,0 +1,575 @@ +/// +/// \file TencentOAuth.h +/// \brief QQ互联开放平台授权登录及相关开放接口实现类 +/// +/// Created by Tencent on 12-12-21. +/// Copyright (c) 2012年 Tencent. All rights reserved. +/// + +#import +#import "sdkdef.h" +#import "TencentOAuthObject.h" +#import "WeiBoAPI.h" +#import "WeiyunAPI.h" + +@protocol TencentSessionDelegate; +@protocol TencentLoginDelegate; +@protocol TencentApiInterfaceDelegate; + +@class TencentApiReq; +@class TencentApiResp; +/** + * \brief TencentOpenAPI授权登录及相关开放接口调用 + * + * TencentOAuth实现授权登录逻辑以及相关开放接口的请求调用 + */ +@interface TencentOAuth : NSObject +{ + NSMutableDictionary* _apiRequests; + NSString* _accessToken; + NSDate* _expirationDate; + id _sessionDelegate; + NSString* _localAppId; + NSString* _openId; + NSString* _redirectURI; + NSArray* _permissions; +} + +/** Access Token凭证,用于后续访问各开放接口 */ +@property(nonatomic, copy) NSString* accessToken; + +/** Access Token的失效期 */ +@property(nonatomic, copy) NSDate* expirationDate; + +/** 已实现的开放接口的回调委托对象 */ +@property(nonatomic, assign) id sessionDelegate; + +/** 第三方应用在开发过程中设置的URLSchema,用于浏览器登录后后跳到第三方应用 */ +@property(nonatomic, copy) NSString* localAppId; + +/** 用户授权登录后对该用户的唯一标识 */ +@property(nonatomic, copy) NSString* openId; + +/** 用户登录成功过后的跳转页面地址 */ +@property(nonatomic, copy) NSString* redirectURI; + +/** 第三方应用在互联开放平台申请的appID */ +@property(nonatomic, retain) NSString* appId; + +/** 登陆透传的数据 */ +@property(nonatomic, copy) NSDictionary* passData; + + +/** + * 返回sdk的版本号 + */ ++ (NSString *)sdkVerison; + +/** + * 初始化TencentOAuth对象 + * \param appId 第三方应用在互联开放平台申请的唯一标识 + * \param delegate 第三方应用用于接收请求返回结果的委托对象 + * \return 初始化后的授权登录对象 + */ +- (id)initWithAppId:(NSString *)appId + andDelegate:(id)delegate; + + +/** + * 判断用户手机上是否安装手机QQ + * \return YES:安装 NO:没安装 + */ ++ (BOOL)iphoneQQInstalled; + +/** + * 判断用户手机上的手机QQ是否支持SSO登录 + * \return YES:支持 NO:不支持 + */ ++ (BOOL)iphoneQQSupportSSOLogin; + +/** + * 判断用户手机上是否安装手机QZone + * \return YES:安装 NO:没安装 + */ ++ (BOOL)iphoneQZoneInstalled; + +/** + * 判断用户手机上的手机QZone是否支持SSO登录 + * \return YES:支持 NO:不支持 + */ ++ (BOOL)iphoneQZoneSupportSSOLogin; + +/** + * 登录授权 / DAU统计 SDK 1.9版本以后,登录授权接口建议使用该接口,以前接口将会废弃 + * + * if:((openid != nil) && (accesstoken != nil)) ,进行统计DAU操作,并验证token是否有效 + * esle: 进行登录授权操作 + * 如果统计DAU时,发现token失效,将自动进入登录流程 + * + * \param permissions 授权信息列 + */ +- (BOOL)authorize:(NSArray *)permissions; + +/** + * 登录授权 + * \param permissions 授权信息列表 + * \param bInSafari 是否使用safari进行登录.IOS SDK 1.3版本开始此参数废除 + */ +- (BOOL)authorize:(NSArray *)permissions + inSafari:(BOOL)bInSafari; + +/** + * 登录授权 + * \param permissions 授权信息列表 + * \param localAppId 应用APPID + * \param bInSafari 是否使用safari进行登录.IOS SDK 1.3版本开始此参数废除 + */ +- (BOOL)authorize:(NSArray *)permissions + localAppId:(NSString *)localAppId + inSafari:(BOOL)bInSafari; + +/** + * 增量授权,因用户没有授予相应接口调用的权限,需要用户确认是否授权 + * \param permissions 需增量授权的信息列表 + * \return 增量授权调用是否成功 + */ +- (BOOL)incrAuthWithPermissions:(NSArray *)permissions; + +/** + * 重新授权,因token废除或失效导致接口调用失败,需用户重新授权 + * \param permissions 授权信息列表,同登录授权 + * \return 授权调用是否成功 + */ +- (BOOL)reauthorizeWithPermissions:(NSArray *)permissions; + +/** + * (静态方法)处理应用拉起协议 + * \param url 处理被其他应用呼起时的逻辑 + * \return 处理结果,YES表示成功,NO表示失败 + */ ++ (BOOL)HandleOpenURL:(NSURL *)url; + +/** + * (静态方法)sdk是否可以处理应用拉起协议 + * \param url 处理被其他应用呼起时的逻辑 + * \return 处理结果,YES表示可以 NO表示不行 + */ ++ (BOOL)CanHandleOpenURL:(NSURL *)url; + +/** + * 退出登录 + * \param delegate 第三方应用用于接收请求返回结果的委托对象 + */ +- (void)logout:(id)delegate; + +/** + * 判断登录态是否有效 + * \return 处理结果,YES表示有效,NO表示无效,请用户重新登录授权 + */ +- (BOOL)isSessionValid; + +/** + * 获取用户个人信息 + * \return 处理结果,YES表示API调用成功,NO表示API调用失败,登录态失败,重新登录 + */ +- (BOOL)getUserInfo; + +/** + * 获取用户QZone相册列表 + * \attention 需\ref apply_perm + * \return 处理结果,YES表示API调用成功,NO表示API调用失败,登录态失败,重新登录 + */ +- (BOOL)getListAlbum; + +/** + * 获取用户QZone相片列表 + * \attention 需\ref apply_perm + * \param params 参数字典,字典的关键字参见TencentOAuthObject.h中的\ref TCListPhotoDic + * \return 处理结果,YES表示API调用成功,NO表示API调用失败,登录态失败,重新登录 + */ +- (BOOL)getListPhotoWithParams:(NSMutableDictionary *)params; + + +/** + * 分享到QZone + * \param params 参数字典,字典的关键字参见TencentOAuthObject.h中的\ref TCAddShareDic + * \return 处理结果,YES表示API调用成功,NO表示API调用失败,登录态失败,重新登录 + */ +- (BOOL)addShareWithParams:(NSMutableDictionary *)params; + + +/** + * 上传照片到QZone指定相册 + * \attention 需\ref apply_perm + * \param params 参数字典,字典的关键字参见TencentOAuthObject.h中的\ref TCUploadPicDic + * \return 处理结果,YES表示API调用成功,NO表示API调用失败,登录态失败,重新登录 + */ +- (BOOL)uploadPicWithParams:(NSMutableDictionary *)params; + +/** + * 在QZone相册中创建一个新的相册 + * \attention 需\ref apply_perm + * \param params 参数字典,字典的关键字参见TencentOAuthObject.h中的\ref TCAddAlbumDic + * \return 处理结果,YES表示API调用成功,NO表示API调用失败,登录态失败,重新登录 + */ +- (BOOL)addAlbumWithParams:(NSMutableDictionary *)params; + +/** + * 检查是否是QZone某个用户的粉丝 + * \param params 参数字典,字典的关键字参见TencentOAuthObject.h中的\ref TCCheckPageFansDic + * \return 处理结果,YES表示API调用成功,NO表示API调用失败,登录态失败,重新登录 + */ +- (BOOL)checkPageFansWithParams:(NSMutableDictionary *)params; + +/** + * 在QZone中发表一篇日志 + * \attention 需\ref apply_perm + * \param params 参数字典,字典的关键字参见TencentOAuthObject.h中的\ref TCAddOneBlogDic + * \return 处理结果,YES表示API调用成功,NO表示API调用失败,登录态失败,重新登录 + */ +- (BOOL)addOneBlogWithParams:(NSMutableDictionary *)params; + +/** + * 在QZone中发表一条说说 + * \attention 需\ref apply_perm + * \param params 参数字典,字典的关键字参见TencentOAuthObject.h中的\ref TCAddTopicDic + * \return 处理结果,YES表示API调用成功,NO表示API调用失败,登录态失败,重新登录 + */ +- (BOOL)addTopicWithParams:(NSMutableDictionary *)params; + +/** + * 设置QQ头像 使用默认的效果处理设置头像的界面 + * \attention 需\ref apply_perm + * \param params 参数字典,字典的关键字参见TencentOAuthObject.h中的\ref TCSetUserHeadpic + * \return 处理结果,YES表示API调用成功,NO表示API调用失败,登录态失败,重新登录 + */ +- (BOOL)setUserHeadpic:(NSMutableDictionary *)params; + + +/** + * 设置QQ头像 会返回设置头像由第三方自己处理界面的弹出方式 + * \attention 需\ref apply_perm + * \param params 参数字典,字典的关键字参见TencentOAuthObject.h中的\ref TCSetUserHeadpic + * \param viewController 设置头像的界面 + * \return 处理结果,YES表示API调用成功,NO表示API调用失败,登录态失败,重新登录 + */ +- (BOOL)setUserHeadpic:(NSMutableDictionary *)params andViewController:(UIViewController **)viewController; + +/** + * 获取QQ会员信息(仅包括是否为QQ会员,是否为年费QQ会员) + * \attention 需\ref apply_perm + * \return 处理结果,YES表示API调用成功,NO表示API调用失败,登录态失败,重新登录 + */ +- (BOOL)getVipInfo; + +/** + * 获取QQ会员详细信息 + * \attention 需\ref apply_perm + * \return 处理结果,YES表示API调用成功,NO表示API调用失败,登录态失败,重新登录 + */ +- (BOOL)getVipRichInfo; + +/** + * 获取微博好友名称输入提示,即通过字符串查找匹配的微博好友 + * \param params 参数字典,字典的关键字参见TencentOAuthObject.h中的\ref TCMatchNickTipsDic + * \return 处理结果,YES表示API调用成功,NO表示API调用失败,登录态失败,重新登录 + */ +- (BOOL)matchNickTips:(NSMutableDictionary *)params; + +/** + * 获取最近的微博好友 + * \param params 参数字典,字典的关键字参见TencentOAuthObject.h中的\ref TCGetIntimateFriendsDic + * \return 处理结果,YES表示API调用成功,NO表示API调用失败,登录态失败,重新登录 + */ +- (BOOL)getIntimateFriends:(NSMutableDictionary *)params; + +/** + * QZone定向分享,可以@到具体好友,完成后将触发responseDidReceived:forMessage:回调,message:“SendStory” + * \param params 参数字典 + * \param fopenIdArray 第三方应用预传人好友列表,好友以openid标识 + * \return 处理结果,YES表示API调用成功,NO表示API调用失败,登录态失败,重新登录 + */ +- (BOOL)sendStory:(NSMutableDictionary *)params friendList:(NSArray *)fopenIdArray; + +/** + * 发送应用邀请,完成后将触发responseDidReceived:forMessage:回调,message:“AppInvitation” + * \param desc 应用的描述文字,不超过35字符,如果为nil或@“”则显示默认描述 + * \param imageUrl 应用的图标,如果为nil或者@“”则显示默认图标 + * \param source 透传参数,由开发者自定义该参数内容 + * \return 处理结果,YES表示API调用成功,NO表示API调用失败,登录态失败,重新登录 + */ +- (BOOL)sendAppInvitationWithDescription:(NSString *)desc imageURL:(NSString *)imageUrl source:(NSString *)source; + +/** + * 发起PK或者发送炫耀,完成后将触发responseDidReceived:forMessage:回调,message:“AppChallenge” + * \param receiver 必须指定一位进行PK或者炫耀的好友,填写其OpenID,填写多个OpenID将截取第一个 + * \param type 类型,"pk"或者“brag” + * \param imageUrl 炫耀/挑战场景图的URL + * \param message 炫耀/挑战中的内容描述,不超过50个字符,超过限制则自动截断 + * \param source 透传参数,由开发者自定义该参数内容 + * \return 处理结果,YES表示API调用成功,NO表示API调用失败,登录态失败,重新登录 + */ +- (BOOL)sendChallenge:(NSString *)receiver type:(NSString *)type imageURL:(NSString *)imageUrl message:(NSString *)message source:(NSString *)source; + +/** + * 赠送或者请求礼物,完成后将触发responseDidReceived:forMessage:回调,message:“AppGiftRequest” + * \param receiver 赠送或者请求礼物的好友的OpenID,支持填写多个,OpenID之用","分隔,为nil时将由用户通过好友选择器选择好友 + * \param exclude 用户通过好友选择器选择好友场景下,希望排除的好友(不显示在好友选择器) + * \param specified 用户通过好友选择器选择好友场景下,希望出现的指定好友 + * \param only 是否只显示specified指定的好友 + * \param type 类型,"request"或者“freegift” + * \param title 免费礼物或请求名称,不超过6个字符 + * \param message 礼物或请求的默认赠言,控制在35个汉字以内,超过限制自动截断 + * \param imageUrl 请求或礼物配图的URL,如果不传,则默认在弹框中显示应用的icon + * \param source 透传参数,由开发者自定义该参数内容 + * \return 处理结果,YES表示API调用成功,NO表示API调用失败,登录态失败,重新登录 + */ +- (BOOL)sendGiftRequest:(NSString *)receiver exclude:(NSString *)exclude specified:(NSString *)specified only:(BOOL)only type:(NSString *)type title:(NSString *)title message:(NSString *)message imageURL:(NSString *)imageUrl source:(NSString *)source; + +/** + * 退出指定API调用 + * \param userData 用户调用某条API的时候传入的保留参数 + * \return 处理结果,YES表示成功 NO表示失败 + */ +- (BOOL)cancel:(id)userData; + +/** + * CGI类任务创建接口 + * \param apiURL CGI请求的URL地址 + * \param method CGI请求方式:"GET","POST" + * \param params CGI请求参数字典 + * \param callback CGI请求结果的回调接口对象 + * \return CGI请求任务实例,用于取消任务,返回nil代表任务创建失败 + */ +- (TCAPIRequest *)cgiRequestWithURL:(NSURL *)apiURL method:(NSString *)method params:(NSDictionary *)params callback:(id)callback; + +/** + * TencentOpenApi发送任务统一接口 + * \param request 请求发送的任务 + * \param callback 任务发送后的回调地址 + */ +- (BOOL)sendAPIRequest:(TCAPIRequest *)request callback:(id)callback; + +@end + +/** + * \brief TencentLoginDelegate iOS Open SDK 1.3 API回调协议 + * + * 第三方应用实现登录的回调协议 + */ +@protocol TencentLoginDelegate + +@required + +/** + * 登录成功后的回调 + */ +- (void)tencentDidLogin; + +/** + * 登录失败后的回调 + * \param cancelled 代表用户是否主动退出登录 + */ +- (void)tencentDidNotLogin:(BOOL)cancelled; + +/** + * 登录时网络有问题的回调 + */ +- (void)tencentDidNotNetWork; + +@optional +/** + * 登录时权限信息的获得 + */ +- (NSArray *)getAuthorizedPermissions:(NSArray *)permissions withExtraParams:(NSDictionary *)extraParams; + +@end + +/** + * \brief TencentSessionDelegate iOS Open SDK 1.3 API回调协议 + * + * 第三方应用需要实现每条需要调用的API的回调协议 + */ +@protocol TencentSessionDelegate + +@optional + +/** + * 退出登录的回调 + */ +- (void)tencentDidLogout; + +/** + * 因用户未授予相应权限而需要执行增量授权。在用户调用某个api接口时,如果服务器返回操作未被授权,则触发该回调协议接口,由第三方决定是否跳转到增量授权页面,让用户重新授权。 + * \param tencentOAuth 登录授权对象。 + * \param permissions 需增量授权的权限列表。 + * \return 是否仍然回调返回原始的api请求结果。 + * \note 不实现该协议接口则默认为不开启增量授权流程。若需要增量授权请调用\ref TencentOAuth#incrAuthWithPermissions: \n注意:增量授权时用户可能会修改登录的帐号 + */ +- (BOOL)tencentNeedPerformIncrAuth:(TencentOAuth *)tencentOAuth withPermissions:(NSArray *)permissions; + +/** + * [该逻辑未实现]因token失效而需要执行重新登录授权。在用户调用某个api接口时,如果服务器返回token失效,则触发该回调协议接口,由第三方决定是否跳转到登录授权页面,让用户重新授权。 + * \param tencentOAuth 登录授权对象。 + * \return 是否仍然回调返回原始的api请求结果。 + * \note 不实现该协议接口则默认为不开启重新登录授权流程。若需要重新登录授权请调用\ref TencentOAuth#reauthorizeWithPermissions: \n注意:重新登录授权时用户可能会修改登录的帐号 + */ +- (BOOL)tencentNeedPerformReAuth:(TencentOAuth *)tencentOAuth; + +/** + * 用户通过增量授权流程重新授权登录,token及有效期限等信息已被更新。 + * \param tencentOAuth token及有效期限等信息更新后的授权实例对象 + * \note 第三方应用需更新已保存的token及有效期限等信息。 + */ +- (void)tencentDidUpdate:(TencentOAuth *)tencentOAuth; + +/** + * 用户增量授权过程中因取消或网络问题导致授权失败 + * \param reason 授权失败原因,具体失败原因参见sdkdef.h文件中\ref UpdateFailType + */ +- (void)tencentFailedUpdate:(UpdateFailType)reason; + +/** + * 获取用户个人信息回调 + * \param response API返回结果,具体定义参见sdkdef.h文件中\ref APIResponse + * \remarks 正确返回示例: \snippet example/getUserInfoResponse.exp success + * 错误返回示例: \snippet example/getUserInfoResponse.exp fail + */ +- (void)getUserInfoResponse:(APIResponse*) response; + +/** + * 获取用户QZone相册列表回调 + * \param response API返回结果,具体定义参见sdkdef.h文件中\ref APIResponse + * \remarks 正确返回示例: \snippet example/getListAlbumResponse.exp success + * 错误返回示例: \snippet example/getListAlbumResponse.exp fail + */ +- (void)getListAlbumResponse:(APIResponse*) response; + +/** + * 获取用户QZone相片列表 + * \param response API返回结果,具体定义参见sdkdef.h文件中\ref APIResponse + * \remarks 正确返回示例: \snippet example/getListPhotoResponse.exp success + * 错误返回示例: \snippet example/getListPhotoResponse.exp fail + */ +- (void)getListPhotoResponse:(APIResponse*) response; + +/** + * 检查是否是QZone某个用户的粉丝回调 + * \param response API返回结果,具体定义参见sdkdef.h文件中\ref APIResponse + * \remarks 正确返回示例: \snippet example/checkPageFansResponse.exp success + * 错误返回示例: \snippet example/checkPageFansResponse.exp fail + */ +- (void)checkPageFansResponse:(APIResponse*) response; + +/** + * 分享到QZone回调 + * \param response API返回结果,具体定义参见sdkdef.h文件中\ref APIResponse + * \remarks 正确返回示例: \snippet example/addShareResponse.exp success + * 错误返回示例: \snippet example/addShareResponse.exp fail + */ +- (void)addShareResponse:(APIResponse*) response; + +/** + * 在QZone相册中创建一个新的相册回调 + * \param response API返回结果,具体定义参见sdkdef.h文件中\ref APIResponse + * \remarks 正确返回示例: \snippet example/addAlbumResponse.exp success + * 错误返回示例: \snippet example/addAlbumResponse.exp fail + */ +- (void)addAlbumResponse:(APIResponse*) response; + +/** + * 上传照片到QZone指定相册回调 + * \param response API返回结果,具体定义参见sdkdef.h文件中\ref APIResponse + * \remarks 正确返回示例: \snippet example/uploadPicResponse.exp success + * 错误返回示例: \snippet example/uploadPicResponse.exp fail + */ +- (void)uploadPicResponse:(APIResponse*) response; + + +/** + * 在QZone中发表一篇日志回调 + * \param response API返回结果,具体定义参见sdkdef.h文件中\ref APIResponse + * \remarks 正确返回示例: \snippet example/addOneBlogResponse.exp success + * 错误返回示例: \snippet example/addOneBlogResponse.exp fail + */ +- (void)addOneBlogResponse:(APIResponse*) response; + +/** + * 在QZone中发表一条说说回调 + * \param response API返回结果,具体定义参见sdkdef.h文件中\ref APIResponse + * \remarks 正确返回示例: \snippet example/addTopicResponse.exp success + * 错误返回示例: \snippet example/addTopicResponse.exp fail + */ +- (void)addTopicResponse:(APIResponse*) response; + +/** + * 设置QQ头像回调 + * \param response API返回结果,具体定义参见sdkdef.h文件中\ref APIResponse + * \remarks 正确返回示例: \snippet example/setUserHeadpicResponse.exp success + * 错误返回示例: \snippet example/setUserHeadpicResponse.exp fail + */ +- (void)setUserHeadpicResponse:(APIResponse*) response; + +/** + * 获取QQ会员信息回调 + * \param response API返回结果,具体定义参见sdkdef.h文件中\ref APIResponse + * \remarks 正确返回示例: \snippet example/getVipInfoResponse.exp success + * 错误返回示例: \snippet example/getVipInfoResponse.exp fail + */ +- (void)getVipInfoResponse:(APIResponse*) response; + +/** + * 获取QQ会员详细信息回调 + * \param response API返回结果,具体定义参见sdkdef.h文件中\ref APIResponse + */ +- (void)getVipRichInfoResponse:(APIResponse*) response; + +/** + * 获取微博好友名称输入提示回调 + * \param response API返回结果,具体定义参见sdkdef.h文件中\ref APIResponse + * \remarks 正确返回示例: \snippet example/matchNickTipsResponse.exp success + * 错误返回示例: \snippet example/matchNickTipsResponse.exp fail + */ +- (void)matchNickTipsResponse:(APIResponse*) response; + +/** + * 获取最近的微博好友回调 + * \param response API返回结果,具体定义参见sdkdef.h文件中\ref APIResponse + * \remarks 正确返回示例: \snippet example/getIntimateFriendsResponse.exp success + * 错误返回示例: \snippet example/getIntimateFriendsResponse.exp fail + */ +- (void)getIntimateFriendsResponse:(APIResponse*) response; + +/** + * sendStory分享的回调(已废弃,使用responseDidReceived:forMessage:) + * \param response API返回结果,具体定义参见sdkdef.h文件中\ref APIResponse + */ +- (void)sendStoryResponse:(APIResponse*) response; + +/** + * 社交API统一回调接口 + * \param response API返回结果,具体定义参见sdkdef.h文件中\ref APIResponse + * \param message 响应的消息,目前支持‘SendStory’,‘AppInvitation’,‘AppChallenge’,‘AppGiftRequest’ + */ +- (void)responseDidReceived:(APIResponse*)response forMessage:(NSString *)message; + +/** + * post请求的上传进度 + * \param tencentOAuth 返回回调的tencentOAuth对象 + * \param bytesWritten 本次回调上传的数据字节数 + * \param totalBytesWritten 总共已经上传的字节数 + * \param totalBytesExpectedToWrite 总共需要上传的字节数 + * \param userData 用户自定义数据 + */ +- (void)tencentOAuth:(TencentOAuth *)tencentOAuth didSendBodyData:(NSInteger)bytesWritten totalBytesWritten:(NSInteger)totalBytesWritten totalBytesExpectedToWrite:(NSInteger)totalBytesExpectedToWrite userData:(id)userData; + + +/** + * 通知第三方界面需要被关闭 + * \param tencentOAuth 返回回调的tencentOAuth对象 + * \param viewController 需要关闭的viewController + */ +- (void)tencentOAuth:(TencentOAuth *)tencentOAuth doCloseViewController:(UIViewController *)viewController; + + +@end diff --git a/Ash_AWord/Vender/UMSocial_Sdk_Extra_Frameworks/TencentOpenAPI/TencentOpenAPI.framework/Headers/TencentOAuthObject.h b/Ash_AWord/Vender/UMSocial_Sdk_Extra_Frameworks/TencentOpenAPI/TencentOpenAPI.framework/Headers/TencentOAuthObject.h new file mode 100644 index 0000000..a533639 --- /dev/null +++ b/Ash_AWord/Vender/UMSocial_Sdk_Extra_Frameworks/TencentOpenAPI/TencentOpenAPI.framework/Headers/TencentOAuthObject.h @@ -0,0 +1,504 @@ +/// +/// \file TencentOAuthObject.h +/// 对开放接口的调用提供参数字典封装的辅助类 +/// +/// Created by Tencent on 12-12-28. +/// Copyright (c) 2012年 Tencent. All rights reserved. +/// + +#import +#import +#import "sdkdef.h" + + +#pragma mark - +#pragma mark TCAddTopicDic + +/** + * \brief 发表说说的参数字典定义 + * + * 可以直接填写相应参数后将对象当作参数传入API中 + */ +@interface TCAddTopicDic : TCAPIRequest + +/** + * 返回一个对象用来进行API参数的填充 + * \note 不用释放,返回的对象是自动释放的 + */ ++ (TCAddTopicDic *) dictionary; + +/** + * 发布心情时引用的信息的类型。 + * \note 1表示图片; 2表示网页; 3表示视频 + */ +@property (nonatomic, retain) TCOptionalStr paramRichtype; + +/** + * 发布心情时引用的信息的值。有richtype时必须有richval + * + * \note + * -# 当richtype为图片(即richtype为1,应用场景为发布心情时引用某张图片)时,\n + * richval需要传入该图片的相关参数。引用的图片来源分为两种:一种为网站图片,\n + * 一种为QQ空间相册中的某张图片。 + * - 当引用的图片来自网站,richval包含下列参数的值:\n + * | 参数名称 | 是否必须 | 类型 | 描述 | + * | ------ | ------- | ------ | ----------------- | + * | url | 必须 | string | 网站图片的URL | + * | height | 必须 | string | 图片高度,单位: px | + * | width | 必须 | string | 图片宽度,单位: px | + * \n + * 输入时每个值中间用“&”分隔,如下所示:\n + * “url=http://qq.com/logo.png&width=25&height=21” + * + * - 当引用的图片来自QQ空间相册,richval包含下列参数的值。\n + * 这些值都需要通过调用相册OpenAPI来获得。参数意义如下:\n + * | 参数名称 | 是否必须 | 类型 | 描述 | + * | --------- | ------ | ------ | ---------------------------------- | + * | albumid | 必须 | string | 图片所属空间相册的ID | + * | pictureid | 必须 | string | 图片ID | + * | sloc | 必须 | string | 小图ID | + * | pictype | | string | 图片类型(JPG = 1;GIF = 2;PNG = 3) | + * | picheight | | string | 图片高度,单位: px | + * | picwidth | | string | 图片宽度,单位: px | + * 输入时每个值中间用逗号分隔,如下所示 :\n + * “albumid,pictureid,sloc,pictype,picheight,picwidth” + * -# 当richtype为网页(即richtype为2,应用场景为针对某网页发表评论)时,\n + * richval需要传入该网页的URL,发表为feeds时,后台会自动将该URL转换为短URL。 + * -# 当richtype为视频(即richtype为3,应用场景为针对某视频发表评论)时,\n + * richval需要传入该视频的URL,发表为feeds时,后台会对该URL进行解析,\n + * 在feeds上显示播放器,视频源及缩略图。 + */ +@property (nonatomic, retain) TCOptionalStr paramRichval; + +/** + * 发布的心情的内容。 + */ +@property (nonatomic, retain) TCRequiredStr paramCon; + +/** + * 地址文。例如:广东省深圳市南山区高新科技园腾讯大厦。lbs_nm,lbs_x,lbs_y通常一起使用,来明确标识一个地址。 + */ +@property (nonatomic, retain) TCOptionalStr paramLbs_nm; + +/** + * 经度。-180.0到+180.0,+表示东经。lbs_nm,lbs_x,lbs_y通常一起使用,来明确标识一个地址。 + */ +@property (nonatomic, retain) TCOptionalStr paramLbs_x; + +/** + * 纬度。-90.0到+90.0,+表示北纬。lbs_nm,lbs_x,lbs_y通常一起使用,来明确标识一个地址。 + */ +@property (nonatomic, retain) TCOptionalStr paramLbs_y; + +/** + * 第三方应用的平台类型。 + * \note 1表示QQ空间; 2表示腾讯朋友; 3表示腾讯微博平台; 4表示腾讯Q+平台。 + */ +@property (nonatomic, retain) TCOptionalStr paramThirdSource; +@end + + +#pragma mark - +#pragma mark TCAddOneBlogDic +/** + * \brief 发表日志的参数字典定义 + * + * 可以直接填写相应参数后将对象当作参数传入API中 + */ +@interface TCAddOneBlogDic : TCAPIRequest + +/** + * 返回一个对象用来进行API参数的填充 + * \note 不用释放,返回的对象是自动释放的 + */ ++ (TCAddOneBlogDic *) dictionary; + +/** + * 日志标题(纯文本,最大长度128个字节,utf-8编码)。 + */ +@property (nonatomic, retain) TCRequiredStr paramTitle; + +/** + * content 文章内容(html数据,最大长度100*1024个字节,utf-8编码) + */ +@property (nonatomic, retain) TCRequiredStr paramContent; +@end + +#pragma mark - +#pragma mark TCAddAlbumDic +/** + * \brief 创建空间相册的参数字典定义 + * + * 可以直接填写相应参数后将对象当作参数传入API中 + */ +@interface TCAddAlbumDic : TCAPIRequest + +/** + * 返回一个对象用来进行API参数的填充 + * + * \note 不用释放,返回的对象是自动释放的 + */ ++ (TCAddAlbumDic *) dictionary; + +/** + * albumname 必须 string 相册名 不能超过30个字符。 + */ +@property (nonatomic, retain) TCRequiredStr paramAlbumname; + + +/** + * albumdesc string 相册描述,不能超过200个字符。 + */ +@property (nonatomic, retain) TCOptionalStr paramAlbumdesc; + +/** + * priv string 相册权限 + * + * \note 其取值含义为: 1=公开;3=只主人可见; 4=QQ好友可见; 5=问答加密。\n + * 不传则相册默认为公开权限。\n + * 如果priv取值为5,即相册是问答加密的,则必须包含问题和答案两个参数:\n + * - question: 问题,不能超过30个字符。 + * - answer: 答案,不能超过30个字符。 + */ +@property (nonatomic, retain) TCOptionalStr paramPriv; + +/** + * question 问题,不能超过30个字符。 + * \note 如果priv取值为5,必须包含这个参数: + **/ +@property (nonatomic, retain) TCOptionalStr paramQuestion; + +/** + * answer 答案,不能超过30个字符。 + * \note 如果priv取值为5,必须包含这个参数: + **/ +@property (nonatomic, retain) TCOptionalStr paramAnswer; + +@end + +#pragma mark - +#pragma mark TCUploadPicDic +/** + * \brief 上传一张照片到QQ空间相册的参数字典定义 + * + * 可以直接填写相应参数后将对象当作参数传入API中 + */ +@interface TCUploadPicDic : TCAPIRequest + +/** + * 返回一个对象用来进行API参数的填充 + * \note 不用释放,返回的对象是自动释放的 + */ ++ (TCUploadPicDic *) dictionary; + +/** + * photodesc string 照片描述,注意照片描述不能超过200个字符。 + */ +@property (nonatomic, retain) TCOptionalStr paramPhotodesc; +/** + * string 照片的命名,必须以.jpg, .gif, .png, .jpeg, .bmp此类后缀结尾。 + */ +@property (nonatomic, retain) TCOptionalStr paramTitle; + +/** + * string 相册id。可不填,不填时则根据“mobile”标识选择默认上传的相册。 + */ +@property (nonatomic, retain) TCOptionalStr paramAlbumid; + +/** + * 标志位 + * + * \note 0表示PC,1表示手机。用于当不传相册id时(即albumid为空时)控制是否传到手机相册。\n + * -# 如果传1,则当albumid为空时,图片会上传到手机相册; + * -# 如果不传或传0,则当albumid为空时,图片会上传到贴图相册; + */ +@property (nonatomic, assign) TCOptionalStr paramMobile; + +/** + * x string 照片拍摄时的地理位置的经度。请使用原始数据(纯经纬度,0-360)。 + */ +@property (nonatomic, retain) TCOptionalStr paramX; + +/** + * y string 照片拍摄时的地理位置的纬度。请使用原始数据(纯经纬度,0-360)。 + */ +@property (nonatomic, retain) TCOptionalStr paramY; + +/** + * picture 必须 string 上传照片的文件名以及图片的内容(在发送请求时,图片内容以二进制数据流的形式发送,见下面的请求示例),注意照片名称不能超过30个字符。 + */ +@property (nonatomic, retain) TCRequiredImage paramPicture; + +/** + * needfeed int 标识上传照片时是否要发feed + * \note(0:不发feed; 1:发feed)。如果不填则默认为发feed。 + */ +@property (nonatomic, assign)TCOptionalStr paramNeedfeed; + +/** + * successnum int 批量上传照片时,已成功上传的张数,指明上传完成情况。 + * \note 单张上传时可以不填,不填则默认为0。 + */ +@property (nonatomic, assign)TCOptionalStr paramSuccessnum; + +/** + * picnum int 批量上传照片的总张数,如果不填则默认为1。 + * \note + * - 如果picnum=1,为单张上传,发送单张上传feed; + * - 如果picnum>1,为批量上传,发送批量上传feed。 + * 批量上传方式:picnum为一次上传照片的张数,successnum初始值为0,每调用一次照片上传接口后递增其值。 + * 信息中心中的feed表现形式:批量上传时最新的7张在feed中展示。其中最新上传的一张图片展示为大图,剩下的 + * 六张按从新到旧的顺序展示为小图,其他图片不在feed中展示。 + */ +@property (nonatomic, assign)TCOptionalStr paramPicnum; + +@end + +#pragma mark - +#pragma mark TCAddShareDic +/** + * \brief 同步分享到QQ空间,腾讯微博的参数字典定义 + * + * 可以直接填写相应参数后将对象当作参数传入API中 + */ +@interface TCAddShareDic : TCAPIRequest + +/** + * 返回一个对象用来进行API参数的填充 + * + * \note 不用释放,返回的对象是自动释放的 + */ ++ (TCAddShareDic *) dictionary; + +/** + * title 必须 string feeds的标题 最长36个中文字,超出部分会被截断。 + */ +@property (nonatomic, retain) TCRequiredStr paramTitle; + + +/** + * url 必须 string 分享所在网页资源的链接,点击后跳转至第三方网页,对应上文接口说明中2的超链接。请以http://开头。 + */ +@property (nonatomic, retain) TCRequiredStr paramUrl; + + +/** + * comment string 用户评论内容,也叫发表分享时的分享理由 禁止使用系统生产的语句进行代替。 + * 最长40个中文字,超出部分会被截断。 + */ +@property (nonatomic, retain) TCOptionalStr paramComment; + + +/** + * summary string 所分享的网页资源的摘要内容,或者是网页的概要描述 最长80个中文字,超出部分会被截断。 + */ +@property (nonatomic, retain) TCOptionalStr paramSummary; + +/** + * images string 所分享的网页资源的代表性图片链接",请以http://开头,长度限制255字符。多张图片以竖线(|)分隔,目前只有第一张图片有效,图片规格100*100为佳。 + */ +@property (nonatomic, retain) TCOptionalStr paramImages; + +/** + * type string 分享内容的类型。 + * + * \note 4表示网页;5表示视频(type=5时,必须传入playurl) + */ +@property (nonatomic, retain) TCOptionalStr paramType; + +/** + * playurl string 长度限制为256字节。仅在type=5的时候有效,表示视频的swf播放地址。 + */ +@property (nonatomic, retain) TCOptionalStr paramPlayurl; + +/** + * site 必须 string 分享的来源网站名称,请填写网站申请接入时注册的网站名称 + */ +@property (nonatomic, retain) TCRequiredStr paramSite; + +/** + * fromurl 必须 string 分享的来源网站对应的网站地址url 请以http://开头。 + */ +@property (nonatomic, retain) TCRequiredStr paramFromurl; + +/** + * nswb string 值为1时,表示分享不默认同步到微博,其他值或者不传此参数表示默认同步到微博。 + */ +@property (nonatomic, retain) TCOptionalStr paramNswb; + +@end + +#pragma mark - +#pragma mark TCCheckPageFansDic +/** + * \brief 验证是否认证空间粉丝tttyttyyyu的参数字典定义 + * + * 可以直接填写相应参数后将对象当作参数传入API中 + */ +@interface TCCheckPageFansDic : TCAPIRequest + +/** + * 返回一个对象用来进行API参数的填充 + * + * \note 不用释放,返回的对象是自动释放的 + */ ++ (TCCheckPageFansDic *) dictionary; + +/** + * 表示认证空间的QQ号码 + */ +@property (nonatomic, retain) TCRequiredStr paramPage_id; +@end + +#pragma mark - +#pragma mark TCSetUserHeadpic +/** + * \brief 设置用户头像 + * + * 可以直接填写相应参数后将对象当作参数传入API中 + */ +@interface TCSetUserHeadpic : TCAPIRequest + +/** + * 返回一个对象用来进行API参数的填充 + * \note 不用释放,返回的对象是自动释放的 + */ ++ (TCSetUserHeadpic *) dictionary; + +/** + * 设置用户头像的图片 + */ +@property (nonatomic, retain) TCRequiredImage paramImage; + +/** + * 图片的文件名 + */ +@property (nonatomic, retain) TCOptionalStr paramFileName; +@end + +#pragma mark - +#pragma mark TCListPhotoDic + +/** + * \brief 获取用户QQ空间相册中的照片列表 + * + * 可以直接填写相应参数后将对象当作参数传入API中 + */ +@interface TCListPhotoDic : TCAPIRequest + +/** + * 返回一个对象用来进行API参数的填充 + * + * \note 不用释放,返回的对象是自动释放的 + */ ++ (TCListPhotoDic *) dictionary; + +/** + * 表示要获取的照片列表所在的相册ID + */ +@property (nonatomic, retain) TCRequiredStr paramAlbumid; + +@end + +#pragma mark - +#pragma mark TCMatchNickTipsDic +/** + * \brief 微博获取好友输入提示的参数字典定义 + * + * 可以直接填写相应参数后将对象当作参数传入API中 + */ +@interface TCMatchNickTipsDic : TCAPIRequest + +/** + * 返回一个对象用来进行API参数的填充 + * + * \note 不用释放,返回的对象是自动释放的 + */ ++ (TCMatchNickTipsDic *) dictionary; + +/** + * 匹配字符串(目前匹配范围为我收听的人) + */ +@property (nonatomic, retain) TCRequiredStr paramMatch; + +/** + * 请求个数(1-10) + */ +@property (nonatomic, retain) TCRequiredStr paramReqnum; + +@end + + +#pragma mark - +#pragma mark TCGetIntimateFriendsDic +/** + * \brief 微博获取最近联系人列表的参数字典定义 + * + * 可以直接填写相应参数后将对象当作参数传入API中 + */ +@interface TCGetIntimateFriendsDic : TCAPIRequest + +/** + * 返回一个对象用来进行API参数的填充 + * + * \note 不用释放,返回的对象是自动释放的 + */ ++ (TCGetIntimateFriendsDic *) dictionary; + +/** + * 请求个数(1-20) + */ +@property (nonatomic, retain) TCRequiredStr paramReqnum; + +@end + +#pragma mark - +#pragma mark TCSendStoryDic +/** + * \brief QQ空间定向分享的参数字典定义 + * + * 该分享支持@到指定好友,最多支持10个好友。 + * 其中第三方应用可预传最多5个指定好友的openid,其余好友由用户自行选择。 + * 该分享形式仅提供跳QZone分享和本地Html5分享两种形式。 + * sendStroy不支持userData参数 + */ +@interface TCSendStoryDic : TCAPIRequest + +/** + * 返回一个对象用来进行API参数的填充 + * + * \note 不用释放,返回的对象是自动释放的 + */ ++ (TCSendStoryDic *) dictionary; + +/** + * 分享的标题 + */ +@property (nonatomic, retain) TCRequiredStr paramTitle; + +/** + * 故事摘要,最多不超过50个汉字,可以为空 + */ +@property (nonatomic, retain) TCOptionalStr paramSummary; + +/** + * 默认展示在输入框里的分享理由,最多120个汉字,可以为空 + */ +@property (nonatomic, retain) TCOptionalStr paramDescription; + +/** + * 图片url + */ +@property (nonatomic, retain) TCOptionalStr paramPics; + +/** + * 如果不填,则默认为"进入应用" + */ +@property (nonatomic, retain) TCRequiredStr paramAct; + +/** + * 点击分享的Url + */ +@property (nonatomic, retain) TCOptionalStr paramShareUrl; + +@end diff --git a/Ash_AWord/Vender/UMSocial_Sdk_Extra_Frameworks/TencentOpenAPI/TencentOpenAPI.framework/Headers/WeiBoAPI.h b/Ash_AWord/Vender/UMSocial_Sdk_Extra_Frameworks/TencentOpenAPI/TencentOpenAPI.framework/Headers/WeiBoAPI.h new file mode 100644 index 0000000..7e5d277 --- /dev/null +++ b/Ash_AWord/Vender/UMSocial_Sdk_Extra_Frameworks/TencentOpenAPI/TencentOpenAPI.framework/Headers/WeiBoAPI.h @@ -0,0 +1,79 @@ +// +// WeiBoAPI.h +// TencentOpenApi_IOS +// +// Created by qqconnect on 13-6-25. +// Copyright (c) 2013年 Tencent. All rights reserved. +// + +#import +#import "sdkdef.h" + +/** 微博相关接口基类 */ +@interface WeiBo_baseRequest : TCAPIRequest + +@end + + +/** + * \brief 发表一条微博信息(纯文本)到腾讯微博平台上。 + * \note 注意连续两次发布的微博内容不可以重复。 + */ + +@interface WeiBo_add_t_POST : WeiBo_baseRequest + +/** + * 表示要发表的微博内容。 + * \note 必须为UTF-8编码,最长为140个汉字,也就是420字节。 + * 如果微博内容中有URL,后台会自动将该URL转换为短URL,每个URL折算成11个字节。 + * 若在此处@好友,需正确填写好友的微博账号,而非昵称。 + */ +@property (nonatomic, retain) TCRequiredStr param_content; + +/** + * 用户ip。 + * \note 必须正确填写用户侧真实ip,不能为内网ip及以127或255开头的ip,以分析用户所在地。 + */ +@property (nonatomic, retain) TCOptionalStr param_clientip; + +/** + * 用户所在地理位置的经度。 + * \note 为实数,最多支持10位有效数字。有效范围:-180.0到+180.0,+表示东经,默认为0.0。 + */ +@property (nonatomic, retain) TCOptionalStr param_longitude; + +/** + * 用户所在地理位置的纬度。 + * \note 为实数,最多支持10位有效数字。有效范围:-90.0到+90.0,+表示北纬,默认为0.0。 + */ +@property (nonatomic, retain) TCOptionalStr param_latitude; + +/** + * 容错标志,支持按位操作,默认为0。 + * \note 0×2:图片数据大小错误则报错; + * 0×4:检查图片格式不支持则报错; + * 0×8:上传图片失败则报错; + * 0×20:微博内容长度超过140字则报错; + * 0:以上错误均做容错处理,即发表普通微博; + * 0×2|0×4|0×8|0×20:同旧模式,以上各种情况均报错,不做兼容处理。 + * 0x2,0x4,0x8 只对 \ref WeiBo_add_pic_t_POST 有效 + */ +@property (nonatomic, retain) TCRequiredStr param_compatibleflag; + +@end + +/** + * \brief 上传一张图片,并发布一条消息到腾讯微博平台上。 + * \note 除了图片参数 其他参数参照 \ref WeiBo_add_t_POST + */ +@interface WeiBo_add_pic_t_POST : WeiBo_add_t_POST + +/** + * 要上传的图片的文件名以及图片的内容 + * \note 图片仅支持gif、jpeg、jpg、png、bmp及ico格式 + * (所有图片都会重新压缩,gif被重新压缩后不会再有动画效果),图片size小于4M + */ + +@property (nonatomic, retain) TCRequiredImage param_pic; + +@end diff --git a/Ash_AWord/Vender/UMSocial_Sdk_Extra_Frameworks/TencentOpenAPI/TencentOpenAPI.framework/Headers/WeiyunAPI.h b/Ash_AWord/Vender/UMSocial_Sdk_Extra_Frameworks/TencentOpenAPI/TencentOpenAPI.framework/Headers/WeiyunAPI.h new file mode 100644 index 0000000..22c3112 --- /dev/null +++ b/Ash_AWord/Vender/UMSocial_Sdk_Extra_Frameworks/TencentOpenAPI/TencentOpenAPI.framework/Headers/WeiyunAPI.h @@ -0,0 +1,296 @@ +/// +/// \file WeiyunAPI.h +/// \brief 提供微云平台相关接口的调用参数封装辅助类 +/// +/// Created by Tencent on 13-6-20. +/// Copyright (c) 2013年 Tencent. All rights reserved. +/// + + +#import +#import "sdkdef.h" + + +/** CGI请求上传数据回调协议 */ +@protocol TCAPIRequestUploadDelegate + +/** + * 询问是否要开始上传数据 + * \param uploadRequest 对应的上传请求上下文 + * \param storageRequest 用于上传数据的NSURLRequest对象 + * \return 是否要开始上传数据,YES表示自动开始上传,NO表示不上传 + * \note 目前自动上传逻辑不支持断点续传机制,建议上传的数据不要太大 + */ +- (BOOL)cgiUploadRequest:(TCAPIRequest *)uploadRequest shouldBeginUploadingStorageRequest:(NSURLRequest *)storageRequest; + +@end + + +/** CGI请求下载数据回调协议 */ +@protocol TCAPIRequestDownloadDelegate + +/** + * 询问是否要开始下载数据 + * \param downloadRequest 对应的下载请求上下文 + * \param storageRequest 用于下载数据的NSURLRequest对象 + * \return 是否要开始下载数据,YES表示自动开始下载,NO表示不下载 + * \note 目前自动下载逻辑不支持断点分块机制,建议下载的数据不要太大 + */ +- (BOOL)cgiDownloadRequest:(TCAPIRequest *)downloadRequest shouldBeginDownloadingStorageRequest:(NSURLRequest *)storageRequest; + +@end + + +/** 微云相关接口基类 */ +@interface WeiYun_BaseRequest : TCAPIRequest + +@end + +#pragma mark - 照片相关 +/** + * \brief 申请上传照片 + * + * 本接口用于申请上传照片;然后app用返回的存储平台url地址、端口等信息上传照片文件自身内容到存储平台 + * \note 是否需要APP申请API权限:是\n + * 是否需要用户授权:是 + */ +@interface WeiYun_upload_photo_GET : WeiYun_BaseRequest + +/** 待上传文件SHA */ +@property (nonatomic, retain) TCRequiredStr param_sha; + +/** 待上传文件MD5 */ +@property (nonatomic, retain) TCRequiredStr param_md5; + +/** 待上传文件size字节 */ +@property (nonatomic, retain) TCRequiredStr param_size; + +/** 待上传文件名 */ +@property (nonatomic, retain) TCRequiredStr param_name; + +/** control|normal,默认control */ +@property (nonatomic, retain) TCOptionalStr param_upload_type; + +/** 需要上传的数据 */ +@property (nonatomic, retain) TCRequiredData paramUploadData; + +@end + +/** + * \brief 获取照片下载url地址 + * + * 本接口用于获取照片下载信息;然后app用返回的存储平台url地址、端口等信息从存储平台下载文件内容 + * \note 是否需要APP申请API权限:是\n + * 是否需要用户授权:是 + */ +@interface WeiYun_download_photo_GET : WeiYun_BaseRequest + +/** 待下载文件的ID,字符串(68字节) */ +@property (nonatomic, retain) TCRequiredStr param_file_id; + +@end + +/** + * \brief 获取照片列表 + * + * 本接口用于获取app目录下照片列表,用分片的方式获取,每分片最多200个文件 + * \note 是否需要APP申请API权限:是\n + * 是否需要用户授权:是 + */ +@interface WeiYun_get_photo_list_GET : WeiYun_BaseRequest + +/** 所有文件数目的偏移,从0开始计数 */ +@property (nonatomic, retain) TCRequiredStr param_offset; + +/** 请求文件的数量,取值1-200 */ +@property (nonatomic, retain) TCRequiredStr param_number; + +@end + +/** + * \brief 删除照片 + * + * 本接口用于删除照片 + * \note 是否需要APP申请API权限:是\n + * 是否需要用户授权:是 + */ +@interface WeiYun_delete_photo_GET : WeiYun_BaseRequest + +/** 待下载文件的ID,字符串(68字节) */ +@property (nonatomic, retain) TCRequiredStr param_file_id; + +@end + +/** + * \brief 获取照片缩略图下载地址 + * + * 本接口用于获取照片缩略图下载URL地址;然后app用返回的存储平台url地址、端口等信息上下载照片文件内容 + * \note 是否需要APP申请API权限:是\n + * 是否需要用户授权:是 + */ +@interface WeiYun_get_photo_thumb_GET : WeiYun_download_photo_GET + +/** 缩略图尺寸,目前支持四种类型: 1024*1024,640*640,128*128,64*64 */ +@property (nonatomic, retain) TCRequiredStr param_thumb; + +@end + +#pragma mark - 视频相关 +/** + * \brief 申请上传视频 + * + * 本接口用于申请上传视频;然后app用返回的存储平台url地址、端口等信息上传视频内容到存储平台 + * \note 是否需要APP申请API权限:是\n + * 是否需要用户授权:是 + */ +@interface WeiYun_upload_video_GET : WeiYun_upload_photo_GET; + +@end + + +/** + * \brief 获取视频下载url地址 + * + * 本接口用于获取视频下载信息;然后app用返回的存储平台url地址、端口等信息从存储平台下载视频内容 + * \note 是否需要APP申请API权限:是\n + * 是否需要用户授权:是 + */ +@interface WeiYun_download_video_GET : WeiYun_download_photo_GET; + +@end + + +/** + * \brief 获取视频列表 + * + * 本接口用于获取本app目录下视频列表,用分片的方式获取,每分片最多200个文件 + * \note 是否需要APP申请API权限:是\n + * 是否需要用户授权:是 + */ +@interface WeiYun_get_video_list_GET : WeiYun_get_photo_list_GET; + +@end + + +/** + * \brief 删除视频 + * + * 本接口用于删除视频文件 + * \note 是否需要APP申请API权限:是\n + * 是否需要用户授权:是 + */ +@interface WeiYun_delete_video_GET : WeiYun_delete_photo_GET; + +@end + +#pragma mark - 音频相关 +/** + * \brief 申请上传音频 + * + * 本接口用于申请上传音频;然后app用返回的存储平台url地址、端口等信息上传音频内容到存储平台 + * \note 是否需要APP申请API权限:是\n + * 是否需要用户授权:是 + */ +@interface WeiYun_upload_music_GET : WeiYun_upload_photo_GET; + +@end + + +/** + * \brief 获取音频下载url地址 + * + * 本接口用于获取音频下载信息;然后app用返回的存储平台url地址、端口等信息从存储平台下载音频内容 + * \note 是否需要APP申请API权限:是\n + * 是否需要用户授权:是 + */ +@interface WeiYun_download_music_GET : WeiYun_download_photo_GET; + +@end + + +/** + * \brief 获取音频列表 + * + * 本接口用于获取本app目录下视频列表,用分片的方式获取,每分片最多200个文件 + * \note 是否需要APP申请API权限:是\n + * 是否需要用户授权:是 + */ +@interface WeiYun_get_music_list_GET : WeiYun_get_photo_list_GET; + +@end + + +/** + * \brief 删除音频 + * + * 本接口用于删除音频文件 + * \note 是否需要APP申请API权限:是\n + * 是否需要用户授权:是 + */ +@interface WeiYun_delete_music_GET : WeiYun_delete_photo_GET; + +@end + + +#pragma mark - 结构化数据 +/** + * \brief 查询key所对应的键值对是否存在 + */ +@interface WeiYun_check_record_GET : WeiYun_BaseRequest + +/** KV键值对的key,十六进制编码,字符串(对应的二进制字符串不超过100字节)*/ +@property (nonatomic, retain) TCRequiredStr param_key; + +@end + + +/** + * \brief 查询key所对应的键值对是否存在 + * \note 参数参照 \ref WeiYun_check_record_GET + */ +@interface WeiYun_delete_record_GET : WeiYun_check_record_GET + +@end + +/** + * \brief 查询key所对应的键值对的value + * \note 参数参照 \ref WeiYun_check_record_GET + */ +@interface WeiYun_get_record_GET : WeiYun_check_record_GET + +@end + +/** + * \brief 创建key-value键值对 + */ +@interface WeiYun_create_record_POST : WeiYun_BaseRequest + +/** KV键值对的key,十六进制编码,字符串(对应的二进制串不超过100字节)*/ +@property (nonatomic, retain)TCRequiredStr param_key; + +/** KV键值对的value,十六进制编码,字符串(对应的二进制串不超过1M字节)*/ +@property (nonatomic, retain)NSData *param_value; + +@end + + +/** + * \brief 修改key-value键值对的value为新值 + * \note 参数参照 \ref WeiYun_create_record_POST + */ +@interface WeiYun_modify_record_POST : WeiYun_create_record_POST + + +@end + +/** + * \brief 查询登录用户的全部key列表 + * \note 没有参数 + */ +@interface WeiYun_query_all_record_GET : WeiYun_BaseRequest + + +@end + + + diff --git a/Ash_AWord/Vender/UMSocial_Sdk_Extra_Frameworks/TencentOpenAPI/TencentOpenAPI.framework/Headers/sdkdef.h b/Ash_AWord/Vender/UMSocial_Sdk_Extra_Frameworks/TencentOpenAPI/TencentOpenAPI.framework/Headers/sdkdef.h new file mode 100644 index 0000000..9916a3d --- /dev/null +++ b/Ash_AWord/Vender/UMSocial_Sdk_Extra_Frameworks/TencentOpenAPI/TencentOpenAPI.framework/Headers/sdkdef.h @@ -0,0 +1,502 @@ +/// +/// \file sdkdef.h +/// \brief SDK中相关常量定义 +/// +/// Created by Tencent on 12-12-25. +/// Copyright (c) 2012年 Tencent. All rights reserved. +/// + +#import +#import + + +/** + * \brief APIResponse.retCode可能的枚举常量 + */ +typedef enum +{ + URLREQUEST_SUCCEED = 0, /**< 网络请求成功发送至服务器,并且服务器返回数据格式正确 + * \note 这里包括所请求业务操作失败的情况,例如没有授权等原因导致 + */ + + URLREQUEST_FAILED = 1, /**< 网络异常,或服务器返回的数据格式不正确导致无法解析 */ +} REPONSE_RESULT; + +/** + * \brief 增量授权失败原因 + * + * \note 增量授权失败不影响原token的有效性(原token已失效的情况除外) + */ +typedef enum +{ + kUpdateFailUnknown = 1, ///< 未知原因 + kUpdateFailUserCancel, ///< 用户取消 + kUpdateFailNetwork, ///< 网络问题 +} UpdateFailType; + +/** + * \brief 封装服务器返回的结果 + * + * APIResponse用于封装所有请求的返回结果,包括错误码、错误信息、原始返回数据以及返回数据的json格式字典 + */ +@interface APIResponse : NSObject { + int _detailRetCode; + int _retCode; + int _seq; + NSString *_errorMsg; + NSDictionary *_jsonResponse; + NSString *_message; + id _userData; +} + +/** + * 新增的详细错误码\n + * detailRetCode主要用于区分不同的错误情况,参见\ref OpenSDKError + */ +@property (nonatomic, assign) int detailRetCode; + +/** + * 网络请求是否成功送达服务器,以及服务器返回的数据格式是否正确\n + * retCode具体取值可参考\ref REPONSE_RESULT + */ +@property (nonatomic, assign) int retCode; + +/** + * 网络请求对应的递增序列号,方便内部管理 + */ +@property (nonatomic, assign) int seq; + +/** + * 错误提示语 + */ +@property (nonatomic, retain) NSString *errorMsg; + +/** + * 服务器返回数据的json格式字典\n + * 字典内具体参数的命名和含义请参考\ref api_spec + */ +@property (nonatomic, retain) NSDictionary *jsonResponse; + +/** + * 服务器返回的原始数据字符串 + */ +@property (nonatomic, retain) NSString *message; + +/** + * 用户保留数据 + */ +@property (nonatomic, retain) id userData; + +@end + + +/** + * 用户自定义的保留字段 + */ +FOUNDATION_EXTERN NSString * const PARAM_USER_DATA; + +/** + * \name 应用邀请参数字段定义 + */ +///@{ + +/** 应用邀请展示图片url的key */ +FOUNDATION_EXTERN NSString * const PARAM_APP_ICON; + +/** 应用邀请描述文本的key */ +FOUNDATION_EXTERN NSString * const PARAM_APP_DESC; + +/** 应用邀请好友列表的key */ +FOUNDATION_EXTERN NSString * const PARAM_APP_INVITED_OPENIDS; + +///@} + +/** + * \name sendStory新分享参数字段定义 + */ +///@{ + +/** 预填入接受人列表的key */ +FOUNDATION_EXTERN NSString * const PARAM_SENDSTORY_RECEIVER; + +/** 分享feeds标题的key */ +FOUNDATION_EXTERN NSString * const PARAM_SENDSTORY_TITLE; + +/** 分享feeds评论内容的key */ +FOUNDATION_EXTERN NSString * const PARAM_SENDSTORY_COMMENT; + +/** 分享feeds摘要的key */ +FOUNDATION_EXTERN NSString * const PARAM_SENDSTORY_SUMMARY; + +/** 分享feeds展示图片url的key */ +FOUNDATION_EXTERN NSString * const PARAM_SENDSTORY_IMAGE; + +/** 分享feeds跳转链接url的key */ +FOUNDATION_EXTERN NSString * const PARAM_SENDSTORY_URL; + +/** 分享feeds点击操作默认行为的key */ +FOUNDATION_EXTERN NSString * const PARAM_SENDSTORY_ACT; + +///@} + +/** + * \name 设置头像参数字段定义 + */ +///@{ + +/** 头像图片数据的key */ +FOUNDATION_EXTERN NSString * const PARAM_SETUSERHEAD_PIC; + +/** 头像图片文件名的key */ +FOUNDATION_EXTERN NSString * const PARAM_SETUSERHEAD_FILENAME; + +///@} + +/** + * \name 服务器返回数据的参数字段定义 + */ +///@{ + +/** 服务器返回码的key */ +FOUNDATION_EXTERN NSString * const PARAM_RETCODE; + +/** 服务器返回错误信息的key */ +FOUNDATION_EXTERN NSString * const PARAM_MESSAGE; + +/** 服务器返回额外数据的key */ +FOUNDATION_EXTERN NSString * const PARAM_DATA; + +///@} + +/** + * \name 错误信息相关常量定义 + */ +///@{ + +/** 详细错误信息字典中额外信息的key */ +FOUNDATION_EXTERN NSString * const TCOpenSDKErrorKeyExtraInfo; + +/** 详细错误信息字典中返回码的key */ +FOUNDATION_EXTERN NSString * const TCOpenSDKErrorKeyRetCode; + +/** 详细错误信息字典中错误语句的key */ +FOUNDATION_EXTERN NSString * const TCOpenSDKErrorKeyMsg; + +/** 不支持的接口 */ +FOUNDATION_EXTERN NSString * const TCOpenSDKErrorMsgUnsupportedAPI; + +/** 操作成功 */ +FOUNDATION_EXTERN NSString * const TCOpenSDKErrorMsgSuccess; + +/** 未知错误 */ +FOUNDATION_EXTERN NSString * const TCOpenSDKErrorMsgUnknown; + +/** 用户取消 */ +FOUNDATION_EXTERN NSString * const TCOpenSDKErrorMsgUserCancel; + +/** 请重新登录 */ +FOUNDATION_EXTERN NSString * const TCOpenSDKErrorMsgReLogin; + +/** 应用没有操作权限 */ +FOUNDATION_EXTERN NSString * const TCOpenSDKErrorMsgOperationDeny; + +/** 网络异常或没有网络 */ +FOUNDATION_EXTERN NSString * const TCOpenSDKErrorMsgNetwork; + +/** URL格式或协议错误 */ +FOUNDATION_EXTERN NSString * const TCOpenSDKErrorMsgURL; + +/** 解析数据出错 */ +FOUNDATION_EXTERN NSString * const TCOpenSDKErrorMsgDataParse; + +/** 传入参数有误 */ +FOUNDATION_EXTERN NSString * const TCOpenSDKErrorMsgParam; + +/** 连接超时 */ +FOUNDATION_EXTERN NSString * const TCOpenSDKErrorMsgTimeout; + +/** 安全问题 */ +FOUNDATION_EXTERN NSString * const TCOpenSDKErrorMsgSecurity; + +/** 文件读写错误 */ +FOUNDATION_EXTERN NSString * const TCOpenSDKErrorMsgIO; + +/** 服务器端错误 */ +FOUNDATION_EXTERN NSString * const TCOpenSDKErrorMsgServer; + +/** 页面错误 */ +FOUNDATION_EXTERN NSString * const TCOpenSDKErrorMsgWebPage; + +/** 设置头像图片过大 */ +FOUNDATION_EXTERN NSString * const TCOpenSDKErrorMsgUserHeadPicLarge; + +///@} + +/** + * \brief SDK新增详细错误常量 + */ +typedef enum +{ + kOpenSDKInvalid = -1, ///< 无效的错误码 + kOpenSDKErrorUnsupportedAPI = -2, ///< 不支持的接口 + + /** + * \name CommonErrorCode + * 公共错误码 + */ + ///@{ + kOpenSDKErrorSuccess = 0, ///< 成功 + kOpenSDKErrorUnknown, ///< 未知错误 + kOpenSDKErrorUserCancel, ///< 用户取消 + kOpenSDKErrorReLogin, ///< token无效或用户未授权相应权限需要重新登录 + kOpenSDKErrorOperationDeny, ///< 第三方应用没有该api操作的权限 + ///@} + + /** + * \name NetworkRelatedErrorCode + * 网络相关错误码 + */ + ///@{ + kOpenSDKErrorNetwork, ///< 网络错误,网络不通或连接不到服务器 + kOpenSDKErrorURL, ///< URL格式或协议错误 + kOpenSDKErrorDataParse, ///< 数据解析错误,服务器返回的数据解析出错 + kOpenSDKErrorParam, ///< 传入参数错误 + kOpenSDKErrorConnTimeout, ///< http连接超时 + kOpenSDKErrorSecurity, ///< 安全问题 + kOpenSDKErrorIO, ///< 下载和文件IO错误 + kOpenSDKErrorServer, ///< 服务器端错误 + ///@} + + /** + * \name WebViewRelatedError + * webview特有错误 + */ + ///@{ + kOpenSDKErrorWebPage, ///< 页面错误 + ///@} + + /** + * \name SetUserHeadRelatedErrorCode + * 设置头像自定义错误码段 + */ + ///@{ + kOpenSDKErrorUserHeadPicLarge = 0x010000, ///< 图片过大 设置头像自定义错误码 + ///@} +} OpenSDKError; + +/** + * \name SDK版本(v1.3)支持的授权列表常量 + */ +///@{ + +/** 发表一条说说到QQ空间(需要申请权限) */ +FOUNDATION_EXTERN NSString *const kOPEN_PERMISSION_ADD_TOPIC; + +/** 发表一篇日志到QQ空间(需要申请权限) */ +FOUNDATION_EXTERN NSString *const kOPEN_PERMISSION_ADD_ONE_BLOG; + +/** 创建一个QQ空间相册(需要申请权限) */ +FOUNDATION_EXTERN NSString *const kOPEN_PERMISSION_ADD_ALBUM; + +/** 上传一张照片到QQ空间相册(需要申请权限) */ +FOUNDATION_EXTERN NSString *const kOPEN_PERMISSION_UPLOAD_PIC; + +/** 获取用户QQ空间相册列表(需要申请权限) */ +FOUNDATION_EXTERN NSString *const kOPEN_PERMISSION_LIST_ALBUM; + +/** 同步分享到QQ空间、腾讯微博 */ +FOUNDATION_EXTERN NSString *const kOPEN_PERMISSION_ADD_SHARE; + +/** 验证是否认证空间粉丝 */ +FOUNDATION_EXTERN NSString *const kOPEN_PERMISSION_CHECK_PAGE_FANS; + +/** 上传图片并发表消息到腾讯微博 */ +FOUNDATION_EXTERN NSString *const kOPEN_PERMISSION_ADD_PIC_T; + +/** 删除一条微博信息 */ +FOUNDATION_EXTERN NSString *const kOPEN_PERMISSION_DEL_T; + +/** 获取一条微博的转播或评论信息列表 */ +FOUNDATION_EXTERN NSString *const kOPEN_PERMISSION_GET_REPOST_LIST; + +/** 获取登录用户自己的详细信息 */ +FOUNDATION_EXTERN NSString *const kOPEN_PERMISSION_GET_INFO; + +/** 获取其他用户的详细信息 */ +FOUNDATION_EXTERN NSString *const kOPEN_PERMISSION_GET_OTHER_INFO; + +/** 获取登录用户的听众列表 */ +FOUNDATION_EXTERN NSString *const kOPEN_PERMISSION_GET_FANSLIST; + +/** 获取登录用户的收听列表 */ +FOUNDATION_EXTERN NSString *const kOPEN_PERMISSION_GET_IDOLLIST; + +/** 收听腾讯微博上的用户 */ +FOUNDATION_EXTERN NSString *const kOPEN_PERMISSION_ADD_IDOL; + +/** 取消收听腾讯微博上的用户 */ +FOUNDATION_EXTERN NSString *const kOPEN_PERMISSION_DEL_IDOL; + +/** 获取微博中最近at的好友 */ +FOUNDATION_EXTERN NSString *const kOPEN_PERMISSION_GET_INTIMATE_FRIENDS_WEIBO; + +/** 获取微博中匹配昵称的好友 */ +FOUNDATION_EXTERN NSString *const kOPEN_PERMISSION_MATCH_NICK_TIPS_WEIBO; + +/** 获取会员用户基本信息 */ +FOUNDATION_EXTERN NSString *const kOPEN_PERMISSION_GET_VIP_INFO; + +/** 获取会员用户详细信息 */ +FOUNDATION_EXTERN NSString *const kOPEN_PERMISSION_GET_VIP_RICH_INFO; + +/** 获取用户信息 */ +FOUNDATION_EXTERN NSString *const kOPEN_PERMISSION_GET_USER_INFO; + +/** 移动端获取用户信息 */ +FOUNDATION_EXTERN NSString *const kOPEN_PERMISSION_GET_SIMPLE_USER_INFO; + +/** 微云上传图片 */ +FOUNDATION_EXTERN NSString *const kOPEN_PERMISSION_WEIYUN_UPLOAD_PIC; + +/** 微云下载图片 */ +FOUNDATION_EXTERN NSString *const kOPEN_PERMISSION_WEIYUN_DOWNLOAD_PIC; + +/** 微云获得图片列表 */ +FOUNDATION_EXTERN NSString *const kOPEN_PERMISSION_WEIYUN_GET_PIC_LIST; + +/** 微云删除图片 */ +FOUNDATION_EXTERN NSString *const kOPEN_PERMISSION_WEIYUN_DELETE_PIC; + +/** 微云获取缩略图 */ +FOUNDATION_EXTERN NSString *const kOPEN_PERMISSION_WEIYUN_GET_PIC_THUMB; + +/** 微云上传音乐 */ +FOUNDATION_EXTERN NSString *const kOPEN_PERMISSION_WEIYUN_UPLOAD_MUSIC; + +/** 微云下载音乐 */ +FOUNDATION_EXTERN NSString *const kOPEN_PERMISSION_WEIYUN_DOWNLOAD_MUSIC; + +/** 微云获取音乐列表 */ +FOUNDATION_EXTERN NSString *const kOPEN_PERMISSION_WEIYUN_GET_MUSIC_LIST; + +/** 微云删除音乐 */ +FOUNDATION_EXTERN NSString *const kOPEN_PERMISSION_WEIYUN_DELETE_MUSIC; + +/** 微云上传视频 */ +FOUNDATION_EXTERN NSString *const kOPEN_PERMISSION_WEIYUN_UPLOAD_VIDEO; + +/** 微云下载视频 */ +FOUNDATION_EXTERN NSString *const kOPEN_PERMISSION_WEIYUN_DOWNLOAD_VIDEO; + +/** 微云获取视频列表 */ +FOUNDATION_EXTERN NSString *const kOPEN_PERMISSION_WEIYUN_GET_VIDEO_LIST; + +/** 微云删除视频 */ +FOUNDATION_EXTERN NSString *const kOPEN_PERMISSION_WEIYUN_DELETE_VIDEO; + +/** 微云上传照片 */ +FOUNDATION_EXTERN NSString *const kOPEN_PERMISSION_WEIYUN_UPLOAD_PHOTO; + +/** 微云下载照片 */ +FOUNDATION_EXTERN NSString *const kOPEN_PERMISSION_WEIYUN_DOWNLOAD_PHOTO; + +/** 微云获得照片列表 */ +FOUNDATION_EXTERN NSString *const kOPEN_PERMISSION_WEIYUN_GET_PHOTO_LIST; + +/** 微云删除照片 */ +FOUNDATION_EXTERN NSString *const kOPEN_PERMISSION_WEIYUN_DELETE_PHOTO; + +/** 微云获取图片缩略图 */ +FOUNDATION_EXTERN NSString *const kOPEN_PERMISSION_WEIYUN_GET_PHOTO_THUMB; + +/** 微云检查记录 */ +FOUNDATION_EXTERN NSString *const kOPEN_PERMISSION_WEIYUN_CHECK_RECORD; + +/** 微云创建记录 */ +FOUNDATION_EXTERN NSString *const kOPEN_PERMISSION_WEIYUN_CREATE_RECORD; + +/** 微云删除记录 */ +FOUNDATION_EXTERN NSString *const kOPEN_PERMISSION_WEIYUN_DELETE_RECORD; + +/** 微云获取记录 */ +FOUNDATION_EXTERN NSString *const kOPEN_PERMISSION_WEIYUN_GET_RECORD; + +/** 微云修改记录 */ +FOUNDATION_EXTERN NSString *const kOPEN_PERMISSION_WEIYUN_MODIFY_RECORD; + +/** 微云获取所有记录列表 */ +FOUNDATION_EXTERN NSString *const kOPEN_PERMISSION_WEIYUN_QUERY_ALL_RECORD; +///@} + + +/** + * \name CGI接口相关参数类型定义 + */ +///@{ + +/** 必填的字符串类型参数 */ +typedef NSString *TCRequiredStr; + +/** 必填的UIImage类型参数 */ +typedef UIImage *TCRequiredImage; + +/** 必填的整型参数 */ +typedef NSInteger TCRequiredInt; + +/** 必填的数字类型 */ +typedef NSNumber *TCRequiredNumber; + +/** 必填的NSData参数 */ +typedef NSData *TCRequiredData; + +/** 可选的字符串类型参数 */ +typedef NSString *TCOptionalStr; + +/** 可选的UIImage类型参数 */ +typedef UIImage *TCOptionalImage; + +/** 可选的整型参数 */ +typedef NSInteger TCOptionalInt; + +/** 可选的数字类型 */ +typedef NSNumber *TCOptionalNumber; + +/** 可选的不定类型参数 */ +typedef id TCRequiredId; +///@} + + +/** + * \brief CGI请求的参数字典封装辅助基类 + * + * 将相应属性的值以key-value的形式保存到参数字典中 + */ +@interface TCAPIRequest : NSMutableDictionary + +/** CGI请求的URL地址 */ +@property (nonatomic, readonly) NSURL *apiURL; + +/** CGI请求方式:"GET","POST" */ +@property (nonatomic, readonly) NSString *method; + +/** + * API参数中的保留字段,可以塞入任意字典支持的类型,再调用完成后会带回给调用方 + */ +@property (nonatomic, retain) TCRequiredId paramUserData; + +/** + * APIResponse,API的返回结果 + */ +@property (nonatomic, readonly) APIResponse *response; + +/** 取消相应的CGI请求任务 */ +- (void)cancel; + +@end + +@protocol TCAPIRequestDelegate +@optional +- (void)cgiRequest:(TCAPIRequest *)request didResponse:(APIResponse *)response; + +@end + diff --git a/Ash_AWord/Vender/UMSocial_Sdk_Extra_Frameworks/TencentOpenAPI/TencentOpenAPI.framework/TencentOpenAPI b/Ash_AWord/Vender/UMSocial_Sdk_Extra_Frameworks/TencentOpenAPI/TencentOpenAPI.framework/TencentOpenAPI new file mode 100644 index 0000000..4128927 Binary files /dev/null and b/Ash_AWord/Vender/UMSocial_Sdk_Extra_Frameworks/TencentOpenAPI/TencentOpenAPI.framework/TencentOpenAPI differ diff --git a/Ash_AWord/Vender/UMSocial_Sdk_Extra_Frameworks/TencentOpenAPI/TencentOpenApi_IOS_Bundle.bundle/Info.plist b/Ash_AWord/Vender/UMSocial_Sdk_Extra_Frameworks/TencentOpenAPI/TencentOpenApi_IOS_Bundle.bundle/Info.plist new file mode 100644 index 0000000..cd8c08d Binary files /dev/null and b/Ash_AWord/Vender/UMSocial_Sdk_Extra_Frameworks/TencentOpenAPI/TencentOpenApi_IOS_Bundle.bundle/Info.plist differ diff --git a/Ash_AWord/Vender/UMSocial_Sdk_Extra_Frameworks/TencentOpenAPI/TencentOpenApi_IOS_Bundle.bundle/error.png b/Ash_AWord/Vender/UMSocial_Sdk_Extra_Frameworks/TencentOpenAPI/TencentOpenApi_IOS_Bundle.bundle/error.png new file mode 100644 index 0000000..0d5800b Binary files /dev/null and b/Ash_AWord/Vender/UMSocial_Sdk_Extra_Frameworks/TencentOpenAPI/TencentOpenApi_IOS_Bundle.bundle/error.png differ diff --git a/Ash_AWord/Vender/UMSocial_Sdk_Extra_Frameworks/TencentOpenAPI/TencentOpenApi_IOS_Bundle.bundle/local.html b/Ash_AWord/Vender/UMSocial_Sdk_Extra_Frameworks/TencentOpenAPI/TencentOpenApi_IOS_Bundle.bundle/local.html new file mode 100644 index 0000000..b9a5716 --- /dev/null +++ b/Ash_AWord/Vender/UMSocial_Sdk_Extra_Frameworks/TencentOpenAPI/TencentOpenApi_IOS_Bundle.bundle/local.html @@ -0,0 +1,73 @@ + + + + + +社交渠道 + + + + + + +
+
+

+ 返回 + +
+
+
+ + + diff --git a/Ash_AWord/Vender/UMSocial_Sdk_Extra_Frameworks/TencentOpenAPI/TencentOpenApi_IOS_Bundle.bundle/qqicon.png b/Ash_AWord/Vender/UMSocial_Sdk_Extra_Frameworks/TencentOpenAPI/TencentOpenApi_IOS_Bundle.bundle/qqicon.png new file mode 100644 index 0000000..6b2da46 Binary files /dev/null and b/Ash_AWord/Vender/UMSocial_Sdk_Extra_Frameworks/TencentOpenAPI/TencentOpenApi_IOS_Bundle.bundle/qqicon.png differ diff --git a/Ash_AWord/Vender/UMSocial_Sdk_Extra_Frameworks/TencentOpenAPI/TencentOpenApi_IOS_Bundle.bundle/success.png b/Ash_AWord/Vender/UMSocial_Sdk_Extra_Frameworks/TencentOpenAPI/TencentOpenApi_IOS_Bundle.bundle/success.png new file mode 100644 index 0000000..4a26634 Binary files /dev/null and b/Ash_AWord/Vender/UMSocial_Sdk_Extra_Frameworks/TencentOpenAPI/TencentOpenApi_IOS_Bundle.bundle/success.png differ diff --git a/Ash_AWord/Vender/UMSocial_Sdk_Extra_Frameworks/TencentOpenAPI/UMSocialQQHandler.h b/Ash_AWord/Vender/UMSocial_Sdk_Extra_Frameworks/TencentOpenAPI/UMSocialQQHandler.h new file mode 100644 index 0000000..77eb2cf --- /dev/null +++ b/Ash_AWord/Vender/UMSocial_Sdk_Extra_Frameworks/TencentOpenAPI/UMSocialQQHandler.h @@ -0,0 +1,40 @@ +// +// UMSocialQQHandler.h +// SocialSDK +// +// Created by yeahugo on 13-8-5. +// Copyright (c) 2013年 Umeng. All rights reserved. +// + +#import + +#import //QQ互联 SDK +#import + +@interface UMSocialQQHandler : NSObject + +/** + 设置分享到手机QQ和QQ空间的应用ID + + @param appId QQ互联应用Id + @param appKey QQ互联应用Key + + @param url 分享URL链接 + */ ++(void)setQQWithAppId:(NSString *)appId appKey:(NSString *)appKey url:(NSString *)url; + +/** + 设置在没有安装QQ客户端的情况下,是否支持单独授权到QQ互联 + + @param supportWebView 是否支持没有安装QQ客户端的情况下,是否支持单独授权 + */ ++(void)setSupportWebView:(BOOL)supportWebView; + +/** + deprecated API,默认使用Qzone SSO授权 + 设置QQ空间是否用手机QQ客户端进行SSO授权,默认使用webview授权 + + @param supportQzoneSSO 是否用手机QQ授权 + */ +//+ (void)setSupportQzoneSSO:(BOOL)supportQzoneSSO; +@end diff --git a/Ash_AWord/Vender/UMSocial_Sdk_Extra_Frameworks/TencentOpenAPI/libSocialQQ.a b/Ash_AWord/Vender/UMSocial_Sdk_Extra_Frameworks/TencentOpenAPI/libSocialQQ.a new file mode 100644 index 0000000..7df4a2d Binary files /dev/null and b/Ash_AWord/Vender/UMSocial_Sdk_Extra_Frameworks/TencentOpenAPI/libSocialQQ.a differ diff --git a/Ash_AWord/Vender/UMSocial_Sdk_Extra_Frameworks/Wechat/UMSocialWechatHandler.h b/Ash_AWord/Vender/UMSocial_Sdk_Extra_Frameworks/Wechat/UMSocialWechatHandler.h new file mode 100644 index 0000000..55cf07d --- /dev/null +++ b/Ash_AWord/Vender/UMSocial_Sdk_Extra_Frameworks/Wechat/UMSocialWechatHandler.h @@ -0,0 +1,22 @@ +// +// ; +// SocialSDK +// +// Created by yeahugo on 13-8-6. +// Copyright (c) 2013年 Umeng. All rights reserved. +// + +#import + +@interface UMSocialWechatHandler : NSObject + +/** + 设置微信AppId和url地址 + + @param app_Id 微信应用Id + @param url 微信消息url地址 + + */ ++ (void)setWXAppId:(NSString *)app_Id appSecret:(NSString *)appSecret url:(NSString *)url; + +@end diff --git a/Ash_AWord/Vender/UMSocial_Sdk_Extra_Frameworks/Wechat/WXApi.h b/Ash_AWord/Vender/UMSocial_Sdk_Extra_Frameworks/Wechat/WXApi.h new file mode 100644 index 0000000..7b3d375 --- /dev/null +++ b/Ash_AWord/Vender/UMSocial_Sdk_Extra_Frameworks/Wechat/WXApi.h @@ -0,0 +1,126 @@ +// +// WXApi.h +// ApiClient +// +// Created by Tencent on 12-2-28. +// Copyright (c) 2012年 Tencent. All rights reserved. +// + +#import + +#import "WXApiObject.h" + +#pragma mark - +/*! @brief 接收并处理来自微信终端程序的事件消息 + * + * 接收并处理来自微信终端程序的事件消息,期间微信界面会切换到第三方应用程序。 + * WXApiDelegate 会在handleOpenURL:delegate:中使用并触发。 + */ +@protocol WXApiDelegate + +@optional + +/*! @brief 收到一个来自微信的请求,第三方应用程序处理完后调用sendResp向微信发送结果 + * + * 收到一个来自微信的请求,异步处理完成后必须调用sendResp发送处理结果给微信。 + * 可能收到的请求有GetMessageFromWXReq、ShowMessageFromWXReq等。 + * @param req 具体请求内容,是自动释放的 + */ +-(void) onReq:(BaseReq*)req; + +/*! @brief 发送一个sendReq后,收到微信的回应 + * + * 收到一个来自微信的处理结果。调用一次sendReq后会收到onResp。 + * 可能收到的处理结果有SendMessageToWXResp、SendAuthResp等。 + * @param resp具体的回应内容,是自动释放的 + */ +-(void) onResp:(BaseResp*)resp; + +@end + +#pragma mark - + +/*! @brief 微信Api接口函数类 + * + * 该类封装了微信终端SDK的所有接口 + */ +@interface WXApi : NSObject + +/*! @brief WXApi的成员函数,向微信终端程序注册第三方应用。 + * + * 需要在每次启动第三方应用程序时调用。第一次调用后,会在微信的可用应用列表中出现。 + * iOS7及以上系统需要调起一次微信才会出现在微信的可用应用列表中。 + * @attention 请保证在主线程中调用此函数 + * @param appid 微信开发者ID + * @return 成功返回YES,失败返回NO。 + */ ++(BOOL) registerApp:(NSString *)appid; + +/*! @brief WXApi的成员函数,向微信终端程序注册第三方应用。 + * + * 需要在每次启动第三方应用程序时调用。第一次调用后,会在微信的可用应用列表中出现。 + * @see registerApp + * @param appid 微信开发者ID + * @param appdesc 应用附加信息,长度不超过1024字节 + * @return 成功返回YES,失败返回NO。 + */ ++(BOOL) registerApp:(NSString *)appid withDescription:(NSString *)appdesc; + +/*! @brief 处理微信通过URL启动App时传递的数据 + * + * 需要在 application:openURL:sourceApplication:annotation:或者application:handleOpenURL中调用。 + * @param url 微信启动第三方应用时传递过来的URL + * @param delegate WXApiDelegate对象,用来接收微信触发的消息。 + * @return 成功返回YES,失败返回NO。 + */ ++(BOOL) handleOpenURL:(NSURL *) url delegate:(id) delegate; + +/*! @brief 检查微信是否已被用户安装 + * + * @return 微信已安装返回YES,未安装返回NO。 + */ ++(BOOL) isWXAppInstalled; + +/*! @brief 判断当前微信的版本是否支持OpenApi + * + * @return 支持返回YES,不支持返回NO。 + */ ++(BOOL) isWXAppSupportApi; + +/*! @brief 获取微信的itunes安装地址 + * + * @return 微信的安装地址字符串。 + */ ++(NSString *) getWXAppInstallUrl; + +/*! @brief 获取当前微信SDK的版本号 + * + * @return 返回当前微信SDK的版本号 + */ ++(NSString *) getApiVersion; + +/*! @brief 打开微信 + * + * @return 成功返回YES,失败返回NO。 + */ ++(BOOL) openWXApp; + +/*! @brief 发送请求到微信,等待微信返回onResp + * + * 函数调用后,会切换到微信的界面。第三方应用程序等待微信返回onResp。微信在异步处理完成后一定会调用onResp。支持以下类型 + * SendAuthReq、SendMessageToWXReq等。 + * @param req 具体的发送请求,在调用函数后,请自己释放。 + * @return 成功返回YES,失败返回NO。 + */ ++(BOOL) sendReq:(BaseReq*)req; + +/*! @brief 收到微信onReq的请求,发送对应的应答给微信,并切换到微信界面 + * + * 函数调用后,会切换到微信的界面。第三方应用程序收到微信onReq的请求,异步处理该请求,完成后必须调用该函数。可能发送的相应有 + * GetMessageFromWXResp、ShowMessageFromWXResp等。 + * @param resp 具体的应答内容,调用函数后,请自己释放 + * @return 成功返回YES,失败返回NO。 + */ ++(BOOL) sendResp:(BaseResp*)resp; + +@end diff --git a/Ash_AWord/Vender/UMSocial_Sdk_Extra_Frameworks/Wechat/WXApiObject.h b/Ash_AWord/Vender/UMSocial_Sdk_Extra_Frameworks/Wechat/WXApiObject.h new file mode 100644 index 0000000..1f60a95 --- /dev/null +++ b/Ash_AWord/Vender/UMSocial_Sdk_Extra_Frameworks/Wechat/WXApiObject.h @@ -0,0 +1,361 @@ +// +// MMApiObject.h +// ApiClient +// +// Created by Tencent on 12-2-28. +// Copyright (c) 2012年 Tencent. All rights reserved. +// + +#import + +/*! @brief 错误码 + * + */ +enum WXErrCode { + + WXSuccess = 0, /**< 成功 */ + WXErrCodeCommon = -1, /**< 普通错误类型 */ + WXErrCodeUserCancel = -2, /**< 用户点击取消并返回 */ + WXErrCodeSentFail = -3, /**< 发送失败 */ + WXErrCodeAuthDeny = -4, /**< 授权失败 */ + WXErrCodeUnsupport = -5, /**< 微信不支持 */ +}; + +/*! @brief 请求发送场景 + * + */ +enum WXScene { + + WXSceneSession = 0, /**< 聊天界面 */ + WXSceneTimeline = 1, /**< 朋友圈 */ + WXSceneFavorite = 2, /**< 收藏 */ +}; + +/*! @brief 该类为微信终端SDK所有请求类的基类 + * + */ +@interface BaseReq : NSObject + +/** 请求类型 */ +@property (nonatomic, assign) int type; +@end + +/*! @brief 该类为微信终端SDK所有响应类的基类 + * + */ +@interface BaseResp : NSObject +/** 错误码 */ +@property (nonatomic, assign) int errCode; +/** 错误提示字符串 */ +@property (nonatomic, retain) NSString *errStr; +/** 响应类型 */ +@property (nonatomic, assign) int type; + +@end + +@class WXMediaMessage; + +/*! @brief 第三方程序发送消息至微信终端程序的接口 + * + * 第三方程序向微信发送信息需要调用此接口,并传入具体请求类型作为参数。请求的信息内容包括文本消息和多媒体消息, + * 分别对应于text和message成员。调用该方法后,微信处理完信息会向第三方程序发送一个处理结果。 + * @see SendMessageToWXResp + */ +@interface SendMessageToWXReq : BaseReq +/** 发送消息的文本内容 + * @attention 文本长度必须大于0且小于10K + */ +@property (nonatomic, retain) NSString* text; +/** 发送消息的多媒体内容 + * @see WXMediaMessage + */ +@property (nonatomic, retain) WXMediaMessage* message; +/** 发送消息的类型,包括文本消息和多媒体消息两种 + * @attention 两者只能选择其一,不能同时发送文本和多媒体消息 + */ +@property (nonatomic, assign) BOOL bText; + +/** 发送的目标场景,可以选择发送到聊天界面(WXSceneSession)、朋友圈(WXSceneTimeline)或收藏(WXSceneFavorite)。 + * @note 默认发送到聊天界面。 + * @see WXScene + */ +@property (nonatomic, assign) int scene; + +@end + +/*! @brief 第三方程序发送SendMessageToWXReq至微信,微信处理完成后返回的处理结果类型。 + * + * 第三方程序向微信终端发送SendMessageToWXReq后,微信发送回来的处理结果,该结果用SendMessageToWXResp表示。 + */ +@interface SendMessageToWXResp : BaseResp +@end + +/*! @brief 微信终端向第三方程序请求提供内容请求类型。 + * + * 微信终端向第三方程序请求提供内容,微信终端会向第三方程序发送GetMessageFromWXReq请求类型, + * 需要第三方程序调用sendResp返回一个GetMessageFromWXResp消息结构体。 + */ +@interface GetMessageFromWXReq : BaseReq +@end + +/*! @brief 微信终端向第三方程序请求提供内容,第三方程序向微信终端返回处理结果类型。 + * + * 微信终端向第三方程序请求提供内容,第三方程序调用sendResp向微信终端返回一个GetMessageFromWXResp消息结构体。 + */ +@interface GetMessageFromWXResp : BaseResp +/** 向微信终端提供的文本内容 + * @attention 文本长度必须大于0且小于10K + */ +@property (nonatomic, retain) NSString* text; +/** 向微信终端提供的多媒体内容。 + * @see WXMediaMessage + */ +@property (nonatomic, retain) WXMediaMessage* message; +/** 向微信终端提供内容的消息类型,包括文本消息和多媒体消息两种 + * @attention 两者只能选择其一,不能同时发送文本和多媒体消息 + */ +@property (nonatomic, assign) BOOL bText; +@end + +/*! @brief 微信通知第三方程序,要求第三方程序显示的消息结构体。 + * + * 微信需要通知第三方程序显示或处理某些内容时,会向第三方程序发送ShowMessageFromWXReq消息结构体。 + * 第三方程序处理完内容后调用sendResp向微信终端发送ShowMessageFromWXResp。 + */ +@interface ShowMessageFromWXReq : BaseReq +/** 微信终端向第三方程序发送的要求第三方程序处理的多媒体内容 + * @see WXMediaMessage + */ +@property (nonatomic, retain) WXMediaMessage* message; +@end + +/*! @brief 微信通知第三方程序,要求第三方程序显示或处理某些消息,第三方程序处理完后向微信终端发送的处理结果。 + * + * 微信需要通知第三方程序显示或处理某些内容时,会向第三方程序发送ShowMessageFromWXReq消息结构体。 + * 第三方程序处理完内容后调用sendResp向微信终端发送ShowMessageFromWXResp。 + */ +@interface ShowMessageFromWXResp : BaseResp +@end + +/*! @brief 微信终端打开第三方程序请求类型 + * + * 微信向第三方发送的结构体,第三方不需要返回 + */ +@interface LaunchFromWXReq : BaseReq +@end + + +#pragma mark - WXMediaMessage + +/*! @brief 多媒体消息结构体 + * + * 用于微信终端和第三方程序之间传递消息的多媒体消息内容 + */ +@interface WXMediaMessage : NSObject + ++(WXMediaMessage *) message; + +/** 标题 + * @attention 长度不能超过512字节 + */ +@property (nonatomic, retain) NSString *title; +/** 描述内容 + * @attention 长度不能超过1K + */ +@property (nonatomic, retain) NSString *description; +/** 缩略图数据 + * @attention 内存大小不能超过32K + */ +@property (nonatomic, retain) NSData *thumbData; +/** 多媒体消息标签,第三方程序可选填此字段,用于数据运营统计等 + * @attention 长度不能超过64字节 + */ +@property (nonatomic, retain) NSString *mediaTagName; +/** 多媒体数据对象,可以为WXImageObject,WXMusicObject,WXVideoObject,WXWebpageObject等。 */ +@property (nonatomic, retain) id mediaObject; + +/*! @brief 设置消息缩略图的方法 + * + * @param image 缩略图 + * @attention 内存大小不能超过32K + */ +- (void) setThumbImage:(UIImage *)image; + +@end + + +#pragma mark - +/*! @brief 多媒体消息中包含的图片数据对象 + * + * 微信终端和第三方程序之间传递消息中包含的图片数据对象。 + * @attention imageData和imageUrl成员不能同时为空 + * @see WXMediaMessage + */ +@interface WXImageObject : NSObject +/*! @brief 返回一个WXImageObject对象 + * + * @note 返回的WXImageObject对象是自动释放的 + */ ++(WXImageObject *) object; + +/** 图片真实数据内容 + * @attention 大小不能超过10M + */ +@property (nonatomic, retain) NSData *imageData; +/** 图片url + * @attention 长度不能超过10K + */ +@property (nonatomic, retain) NSString *imageUrl; + +@end + +/*! @brief 多媒体消息中包含的音乐数据对象 + * + * 微信终端和第三方程序之间传递消息中包含的音乐数据对象。 + * @attention musicUrl和musicLowBandUrl成员不能同时为空。 + * @see WXMediaMessage + */ +@interface WXMusicObject : NSObject +/*! @brief 返回一个WXMusicObject对象 + * + * @note 返回的WXMusicObject对象是自动释放的 + */ ++(WXMusicObject *) object; + +/** 音乐网页的url地址 + * @attention 长度不能超过10K + */ +@property (nonatomic, retain) NSString *musicUrl; +/** 音乐lowband网页的url地址 + * @attention 长度不能超过10K + */ +@property (nonatomic, retain) NSString *musicLowBandUrl; +/** 音乐数据url地址 + * @attention 长度不能超过10K + */ +@property (nonatomic, retain) NSString *musicDataUrl; + +/**音乐lowband数据url地址 + * @attention 长度不能超过10K + */ +@property (nonatomic, retain) NSString *musicLowBandDataUrl; + +@end + +/*! @brief 多媒体消息中包含的视频数据对象 + * + * 微信终端和第三方程序之间传递消息中包含的视频数据对象。 + * @attention videoUrl和videoLowBandUrl不能同时为空。 + * @see WXMediaMessage + */ +@interface WXVideoObject : NSObject +/*! @brief 返回一个WXVideoObject对象 + * + * @note 返回的WXVideoObject对象是自动释放的 + */ ++(WXVideoObject *) object; + +/** 视频网页的url地址 + * @attention 长度不能超过10K + */ +@property (nonatomic, retain) NSString *videoUrl; +/** 视频lowband网页的url地址 + * @attention 长度不能超过10K + */ +@property (nonatomic, retain) NSString *videoLowBandUrl; + +@end + +/*! @brief 多媒体消息中包含的网页数据对象 + * + * 微信终端和第三方程序之间传递消息中包含的网页数据对象。 + * @see WXMediaMessage + */ +@interface WXWebpageObject : NSObject +/*! @brief 返回一个WXWebpageObject对象 + * + * @note 返回的WXWebpageObject对象是自动释放的 + */ ++(WXWebpageObject *) object; + +/** 网页的url地址 + * @attention 不能为空且长度不能超过10K + */ +@property (nonatomic, retain) NSString *webpageUrl; + +@end + +/*! @brief 多媒体消息中包含的App扩展数据对象 + * + * 第三方程序向微信终端发送包含WXAppExtendObject的多媒体消息, + * 微信需要处理该消息时,会调用该第三方程序来处理多媒体消息内容。 + * @note extInfo和fileData不能同时为空 + * @see WXMediaMessage + */ +@interface WXAppExtendObject : NSObject +/*! @brief 返回一个WXAppExtendObject对象 + * + * @note 返回的WXAppExtendObject对象是自动释放的 + */ ++(WXAppExtendObject *) object; + +/** App文件数据,该数据发送给微信好友,微信好友需要点击后下载数据,微信终端会回传给第三方程序处理 + * @attention 大小不能超过10M + */ +@property (nonatomic, retain) NSData *fileData; + +/** 第三方程序自定义简单数据,微信终端会回传给第三方程序处理 + * @attention 长度不能超过2K + */ +@property (nonatomic, retain) NSString *extInfo; + +/** + * @attention Deprecated + */ +@property (nonatomic, retain) NSString *url; + +@end + +/*! @brief 多媒体消息中包含的表情数据对象 + * + * 微信终端和第三方程序之间传递消息中包含的表情数据对象。 + * @see WXMediaMessage + */ +@interface WXEmoticonObject : NSObject + +/*! @brief 返回一个WXEmoticonObject对象 + * + * @note 返回的WXEmoticonObject对象是自动释放的 + */ ++(WXEmoticonObject *) object; + +/** 表情真实数据内容 + * @attention 大小不能超过10M + */ +@property (nonatomic, retain) NSData *emoticonData; + +@end + +/*! @brief 多媒体消息中包含的文件数据对象 + * + * @see WXMediaMessage + */ +@interface WXFileObject : NSObject + +/*! @brief 返回一个WXFileObject对象 + * + * @note 返回的WXFileObject对象是自动释放的 + */ ++(WXFileObject *) object; + +/** 文件后缀名 + * @attention 长度不超过64字节 + */ +@property (nonatomic, retain) NSString *fileExtension; + +/** 文件真实数据内容 + * @attention 大小不能超过10M + */ +@property (nonatomic, retain) NSData *fileData; + +@end diff --git a/Ash_AWord/Vender/UMSocial_Sdk_Extra_Frameworks/Wechat/libSocialWechat.a b/Ash_AWord/Vender/UMSocial_Sdk_Extra_Frameworks/Wechat/libSocialWechat.a new file mode 100644 index 0000000..18491d5 Binary files /dev/null and b/Ash_AWord/Vender/UMSocial_Sdk_Extra_Frameworks/Wechat/libSocialWechat.a differ diff --git a/Ash_AWord/Vender/UMSocial_Sdk_Extra_Frameworks/Wechat/libWeChatSDK.a b/Ash_AWord/Vender/UMSocial_Sdk_Extra_Frameworks/Wechat/libWeChatSDK.a new file mode 100644 index 0000000..b139cc0 Binary files /dev/null and b/Ash_AWord/Vender/UMSocial_Sdk_Extra_Frameworks/Wechat/libWeChatSDK.a differ