/// /// \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 typedef NS_ENUM(NSInteger, QQApiSendResultCode) { EQQAPISENDSUCESS = 0, EQQAPIQQNOTINSTALLED = 1, // QQ未安装 EQQAPIQQNOTSUPPORTAPI = 2, // QQ api不支持 EQQAPIMESSAGETYPEINVALID = 3, EQQAPIMESSAGECONTENTNULL = 4, EQQAPIMESSAGECONTENTINVALID = 5, EQQAPIAPPNOTREGISTED = 6, EQQAPIAPPSHAREASYNC = 7, EQQAPIQQNOTSUPPORTAPI_WITH_ERRORSHOW = 8, // QQ api不支持 && SDK显示error提示(已废弃) EQQAPIMESSAGEARKCONTENTNULL = 9, // ark内容为空 EQQAPIMESSAGE_MINI_CONTENTNULL = 10, // 小程序参数为空 EQQAPISENDFAILD = -1, // 发送失败 EQQAPISHAREDESTUNKNOWN = -2, // 未指定分享到QQ或TIM EQQAPITIMSENDFAILD = -3, // 发送失败 EQQAPITIMNOTINSTALLED = 11, // TIM未安装 EQQAPITIMNOTSUPPORTAPI = 12, // TIM api不支持 EQQAPI_INCOMING_PARAM_ERROR = 13, // 外部传参错误 EQQAPI_THIRD_APP_GROUP_ERROR_APP_NOT_AUTHORIZIED = 14, // APP未获得授权 EQQAPI_THIRD_APP_GROUP_ERROR_CGI_FAILED = 15, // CGI请求失败 EQQAPI_THIRD_APP_GROUP_ERROR_HAS_BINDED = 16, // 该组织已经绑定群聊 EQQAPI_THIRD_APP_GROUP_ERROR_NOT_BINDED = 17, // 该组织尚未绑定群聊 EQQAPI_THIRD_APP_GROUP_ERROR_HAS_UNBINDED = 18, // 该组织已经解绑群聊 EQQAPIQZONENOTSUPPORTTEXT = 10000, // qzone分享不支持text类型分享 EQQAPIQZONENOTSUPPORTIMAGE = 10001, // qzone分享不支持image类型分享 EQQAPIVERSIONNEEDUPDATE = 10002, // 当前QQ版本太低,需要更新至新版本才可以支持 ETIMAPIVERSIONNEEDUPDATE = 10004, // 当前TIM版本太低,需要更新至新版本才可以支持 EAPPURLTYPESILLEGALITY = 20000, // (>=3.3.8)第三方APP的info.plist中UrlTypes字段存在QQ的UrlScheme EQQAPI_ERROR_USER_NOT_AGREED_AUTHORIZATION = 30001, // 用户未同意隐私协议,用户同意隐私协议后,需要设置[TencentOAuth setIsUserAgreedAuthorization:YES]; }; #pragma mark - QQApiObject(分享对象类型) // QQApiObject control flags typedef NS_ENUM(NSUInteger,kQQAPICtrlFlag) { kQQAPICtrlFlagQZoneShareOnStart = 0x01, kQQAPICtrlFlagQZoneShareForbid = 0x02, //屏蔽好友选择器上的空间入口 kQQAPICtrlFlagQQShare = 0x04, kQQAPICtrlFlagQQShareFavorites = 0x08, //收藏 kQQAPICtrlFlagQQShareDataline = 0x10, //数据线 kQQAPICtrlFlagQQShareEnableArk = 0x20, //支持ARK kQQAPICtrlFlagQQShareEnableMiniProgram = 0x40, //支持小程序 }; // 分享到QQ或TIM typedef NS_ENUM(NSUInteger, ShareDestType) { ShareDestTypeQQ = 0, ShareDestTypeTIM, }; //小程序的类型 typedef NS_ENUM(NSUInteger, MiniProgramType) { MiniProgramType_Develop = 0, // 开发版 MiniProgramType_Test = 1, // 测试版 MiniProgramType_Online = 3, // 正式版,默认 MiniProgramType_Preview = 4, // 预览版 }; /// 打印回调的block typedef void(^QQApiLogBolock)(NSString *logStr); // QQApiObject /** \brief 所有在QQ及插件间发送的数据对象的根类。 */ __attribute__((visibility("default"))) @interface QQApiObject : NSObject @property (nonatomic, copy) NSString *title; ///< 标题,最长128个字符 @property (nonatomic, copy) NSString *description; ///<简要描述,最长512个字符 @property (nonatomic, copy) NSString *universalLink; ///(>=3.3.7)支持第三方传入在互联开放平台注册的universallink @property (nonatomic, assign) uint64_t cflag; //353新增两个字断给游戏侧使用,对齐微信sdk @property (nonatomic, copy) NSString *tagName; @property (nonatomic, copy) NSString *messageExt; /* * 分享到QQ/TIM * SDK根据是否安装对应客户端进行判断,判断顺序:QQ > TIM * 默认分享到QQ,如果QQ未安装检测TIM是否安装 */ @property (nonatomic, assign) ShareDestType shareDestType; @end // ArkObject /** \brief 支持Ark的根类。 */ __attribute__((visibility("default"))) @interface ArkObject : NSObject @property (nonatomic, copy) NSString *arkData; ///< 显示Ark所需的数据,json串,长度暂不限制 @property (nonatomic,assign) QQApiObject* qqApiObject; ///<原有老版本的QQApiObject - (id)initWithData:(NSString *)arkData qqApiObject:(QQApiObject*)qqApiObject; + (id)objectWithData:(NSString *)arkData qqApiObject:(QQApiObject*)qqApiObject; @end #pragma mark QQ小程序 //分享小程序消息 - QQ 8.0.8 __attribute__((visibility("default"))) @interface QQApiMiniProgramObject : NSObject @property (nonatomic, strong) QQApiObject* qqApiObject; //原有老版本的QQApiObject @property (nonatomic, copy) NSString *miniAppID; //必填,小程序的AppId(注:必须在QQ互联平台中,将该小程序与分享的App绑定) @property (nonatomic, copy) NSString *miniPath; //必填,小程序的展示路径 @property (nonatomic, copy) NSString *webpageUrl; //必填,兼容低版本的网页链接 @property (nonatomic,assign) MiniProgramType miniprogramType; //非必填,小程序的类型,默认正式版(3),可选测试版(1)、预览版(4) @end //唤起小程序 - QQ 8.1.8 __attribute__((visibility("default"))) @interface QQApiLaunchMiniProgramObject : QQApiObject @property (nonatomic, copy) NSString *miniAppID; //必填,小程序的AppId(注:必须在QQ互联平台中,将该小程序与分享的App绑定) @property (nonatomic, copy) NSString *miniPath; //小程序的展示路径,不填展示默认小程序首页 @property (nonatomic,assign) MiniProgramType miniprogramType; //非必填,小程序的类型,默认正式版(3),可选测试版(1)、开发版(0) @end //小程序唤起第三方 - SDK 3.3.9 __attribute__((visibility("default"))) @interface QQApiMiniProgramLaunchObject : QQApiObject @property (nonatomic, copy) NSString *appParameter; //小程序带来的数据,透传 + (instancetype)newWithAppParameter:(NSString *)parameter; @end // QQApiResultObject /** \brief 用于请求回应的数据类型。

可能错误码及描述如下:

errorerrorDescription注释
0nil成功
-1param error参数错误
-2group code is invalid该群不在自己的群列表里面
-3upload photo failed上传图片失败
-4user give up the current operation用户放弃当前操作
-5client internal error客户端内部处理错误
*/ __attribute__((visibility("default"))) @interface QQApiResultObject : QQApiObject @property (nonatomic, copy) NSString *error; ///<错误 @property (nonatomic, copy) NSString *errorDescription; ///<错误描述 @property (nonatomic, copy) NSString *extendInfo; ///<扩展信息 @property (nonatomic, copy) NSDictionary *otherInfo; ///<其他扩展信息 @end // QQApiTextObject /** \brief 文本对象 */ @interface QQApiTextObject : QQApiObject @property (nonatomic, copy)NSString *text; ///<文本内容,必填,最长1536个字符 - (id)initWithText:(NSString *)text; ///<初始化方法 + (id)objectWithText:(NSString *)text;///<工厂方法,获取一个QQApiTextObject对象. @end // QQApiURLObject typedef NS_ENUM(NSUInteger, QQApiURLTargetType) { QQApiURLTargetTypeNotSpecified = 0x00, QQApiURLTargetTypeAudio = 0x01, QQApiURLTargetTypeVideo = 0x02, QQApiURLTargetTypeNews = 0x03 }; /** @brief URL对象类型。 包括URL地址,URL地址所指向的目标类型及预览图像。 */ __attribute__((visibility("default"))) @interface QQApiURLObject : QQApiObject /** URL地址所指向的目标类型. @note 参见QQApi.h 中的 QQApiURLTargetType 定义. */ @property (nonatomic)QQApiURLTargetType targetContentType; @property (nonatomic, strong) 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; /** helper方法获取一个autorelease的QQApiExtendObject对象 @param data 数据内容 @param previewImageData 用于预览的图片 @param title 标题 @param description 此对象,分享的描述 @param imageDataArray 发送的多张图片队列 @return 一个自动释放的QQApiExtendObject实例 */ + (id)objectWithData:(NSData *)data previewImageData:(NSData *)previewImageData title:(NSString *)title description:(NSString *)description imageDataArray:(NSArray *)imageDataArray; @end // QQApiImageObject /** @brief 图片对象 用于分享图片内容的对象,是一个指定为图片类型的QQApiExtendObject */ @interface QQApiImageObject : QQApiExtendObject @end // QQApiImageForQQAvatarObject /** @brief 图片对象 用于设置QQ头像内容的对象,是一个指定为图片类型的QQApiExtendObject */ @interface QQApiImageForQQAvatarObject : QQApiExtendObject @end /** * @brief 视频对象 * 用于设置动态头像 * assetURL可传ALAsset的ALAssetPropertyAssetURL,或者PHAsset的localIdentifier 从手Q返回的错误码: //第三方设置动态头像结果 @"ret=0"//设置成功 @"ret=-10&error_des=user cancel"//用户取消设置 @"ret=-11&error_des=pasteboard have no video data"//剪切板没有数据 @"ret=-12&error_des=export data failed"//从剪切板导出数据到本地失败 @"ret=-13&error_des=url param invalid"//sdk传递过来的数据有误 @"ret=-14&error_des=video param invalid"//视频的参数不符合要求(检测第三方视频源方案:1、分辨率跟480*480保持一致;2、视频长度0.5s~8s) @"ret=-15&error_des=app authorised failed"//应用鉴权失败 @"ret=-16&error_des=upload video failed"//设置头像,上传到后台失败 @"ret=-17&error_des=account diff"//账号不一致 */ @interface QQApiVideoForQQAvatarObject : QQApiExtendObject @property (nonatomic, copy) NSString *assetURL; @end //QQApiAuthObject 用于拉起手Q的授权详情页 @interface QQApiAuthObject : QQApiObject @end // QQApiImageArrayForFaceCollectionObject /** @brief 图片数组对象 用于分享图片组到表情收藏,是一个指定为图片类型的QQApiObject */ @interface QQApiImageArrayForFaceCollectionObject : QQApiObject @property (nonatomic, copy) NSArray *imageDataArray;///图片数组 /** 初始化方法 @param imageDataArray 图片数组 */ - (id)initWithImageArrayData:(NSArray *)imageDataArray; /** helper方法获取一个autorelease的QQApiObject对象 @param imageDataArray 发送的多张图片队列 @return 一个自动释放的QQApiObject实例 */ + (id)objectWithimageDataArray:(NSArray *)imageDataArray; @end // QQApiImageArrayForQZoneObject /** @brief 图片对象 用于分享图片到空间,走写说说路径,是一个指定为图片类型的,当图片数组为空时,默认走文本写说说QQApiObject */ @interface QQApiImageArrayForQZoneObject : QQApiObject @property (nonatomic, copy) NSArray *imageDataArray;///图片数组 @property (nonatomic, copy) NSDictionary *extMap; // 扩展字段 /** 初始化方法 @param imageDataArray 图片数组 @param title 写说说的内容,可以为空 @param extMap 扩展字段 */ - (id)initWithImageArrayData:(NSArray *)imageDataArray title:(NSString *)title extMap:(NSDictionary *)extMap; /** helper方法获取一个autorelease的QQApiExtendObject对象 @param title 写说说的内容,可以为空 @param imageDataArray 发送的多张图片队列 @param extMap 扩展字段 @return 一个自动释放的QQApiExtendObject实例 */ + (id)objectWithimageDataArray:(NSArray *)imageDataArray title:(NSString *)title extMap:(NSDictionary *)extMap; @end // QQApiVideoForQZoneObject /** @brief 视频对象 用于分享视频到空间,走写说说路径QQApiObject,assetURL和videoData两个参数必须设置至少一个参数,如果assetURL设置了忽略videoData参数 @param assetURL可传ALAsset的ALAssetPropertyAssetURL,或者PHAsset的localIdentifier @param extMap 扩展字段 @param videoData 视频数据,大小不超过50M */ @interface QQApiVideoForQZoneObject : QQApiObject @property (nonatomic, copy) NSString *assetURL; @property (nonatomic, copy) NSDictionary *extMap; // 扩展字段 @property (nonatomic, copy) NSData *videoData; - (id)initWithAssetURL:(NSString *)assetURL title:(NSString *)title extMap:(NSDictionary *)extMap; + (id)objectWithAssetURL:(NSString *)assetURL title:(NSString *)title extMap:(NSDictionary *)extMap; - (id)initWithVideoData:(NSData *)videoData title:(NSString *)title extMap:(NSDictionary *)extMap; + (id)objectWithVideoData:(NSData *)videoData title:(NSString *)title extMap:(NSDictionary *)extMap; @end // QQApiWebImageObject /** @brief 图片对象 用于分享网络图片内容的对象,是一个指定网络图片url的: 该类型只在2.9.0的h5分享中才支持, 原有的手q分享是不支持该类型的。 */ @interface QQApiWebImageObject : QQApiObject @property (nonatomic, strong) NSURL *previewImageURL; ///<预览图像URL /** 初始化方法 @param previewImageURL 用于预览的图片 @param title 标题 @param description 此对象,分享的描述 */ - (id)initWithPreviewImageURL:(NSURL *)previewImageURL title:(NSString *)title description:(NSString *)description; /** helper方法获取一个autorelease的QQApiWebImageObject对象 @param previewImageURL 用于预览的图片 @param title 标题 @param description 此对象,分享的描述 */ + (id)objectWithPreviewImageURL:(NSURL *)previewImageURL title:(NSString *)title description:(NSString *)description; @end //QQApiFileObject /** @brief 本地文件对象(暂只支持分享到手机QQ数据线功能) 用于分享文件内容的对象,是一个指定为文件类型的QQApiExtendObject */ @interface QQApiFileObject : QQApiExtendObject { NSString *_fileName; } @property (nonatomic, copy)NSString *fileName; @end // QQApiAudioObject /** @brief 音频URL对象 用于分享目标内容为音频的URL的对象 */ @interface QQApiAudioObject : QQApiURLObject @property (nonatomic, strong) 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的对象 QQApiVideoObject类型的分享,目前在Android和PC QQ上接收消息时,展现有待完善,待手机QQ版本以后更新支持 目前如果要分享视频,推荐使用 QQApiNewsObject 类型 */ @interface QQApiVideoObject : QQApiURLObject @property (nonatomic, strong) 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 // QQApiCommonContentObject; /** @brief 通用模板类型对象 用于分享一个固定显示模板的图文混排对象 @note 图片列表和文本列表不能同时为空 */ @interface QQApiCommonContentObject : QQApiObject /** 预定义的界面布局类型 */ @property (nonatomic,assign) unsigned int layoutType; @property (nonatomic, copy) NSData *previewImageData;///<预览图 @property (nonatomic, copy) NSArray *textArray;///<文本列表 @property (nonatomic, copy) NSArray *pictureDataArray;///<图片列表 + (id)objectWithLayoutType:(int)layoutType textArray:(NSArray *)textArray pictureArray:(NSArray *)pictureArray previewImageData:(NSData *)data; /** 将一个NSDictionary对象转化为QQApiCommomContentObject,如果无法转换,则返回空 */ + (id)objectWithDictionary:(NSDictionary *)dic; - (NSDictionary *)toDictionary; @end // QQApiExtraServiceObject; 通用业务消息处理类(旧版,后续使用QQApiCommonServiceObject) /** @brief OpenSDK扩展支持的服务,通用接口,后续会扩充能力 @param serviceID [必选] 扩展支持的服务类型ID,参考官方文档说明 @param openID [必选] 授权登录后对该用户的唯一标识 @param toUin [可选] 对方的QQ号码 @param extraInfo [可选] 扩展字段 @note 该接口的使用须先登录 */ @interface QQApiExtraServiceObject : QQApiObject @property (nonatomic, copy) NSString *serviceID; @property (nonatomic, copy) NSString *openID; @property (nonatomic, copy) NSString *toUin; @property (nonatomic, copy) NSDictionary *extraInfo; - (id)initWithOpenID:(NSString *)openID serviceID:(NSString *)serviceID; + (id)objecWithOpenID:(NSString *)openID serviceID:(NSString *)serviceID; @end /** * QQApiCommonServiceObject; 通用业务消息处理类(新),可以适用所有的需要通过互联SDK发消息给手Q的业务去处理。 * 使用前需要申请serviceID,每个业务功能有个对应的serviceID */ @interface QQApiCommonServiceObject : QQApiObject // [必选] 授权登录后对该用户的唯一标识 @property (nonatomic, copy) NSString *openID; // [必选] 扩展支持的服务类型ID,参考官方文档说明 @property (nonatomic, copy) NSString *serviceID; // [可选] 扩展字段,由调用方跟具体的业务方协定具体的字段 @property (nonatomic, copy) NSDictionary *extendInfo; - (instancetype)initWithOpenID:(NSString *)openID serviceID:(NSString *)serviceID extendInfo:(NSDictionary *)extendInfo; + (instancetype)objecWithOpenID:(NSString *)openID serviceID:(NSString *)serviceID extendInfo:(NSDictionary *)extendInfo; @end //////////////////////////////////////////////////////////////////////////////////////////////////////////// // Ad item object definition //////////////////////////////////////////////////////////////////////////////////////////////////////////// /** @brief 广告数据对象 */ @interface QQApiAdItem : NSObject @property (nonatomic, copy) NSString *title; ///<名称 @property (nonatomic, copy) NSString *description;///<描述 @property (nonatomic, copy) NSData *imageData;///<广告图片 @property (nonatomic, strong) NSURL *target;///<广告目标链接 @end #pragma mark - QQApi请求消息类型 /** QQApi请求消息类型 */ typedef NS_ENUM(NSUInteger, QQApiInterfaceReqType) { EGETMESSAGEFROMQQREQTYPE = 0, /// < 手Q -> 第三方应用,请求第三方应用向手Q发送消息 ESENDMESSAGETOQQREQTYPE = 1, /// < 第三方应用 -> 手Q,第三方应用向手Q分享消息 ESHOWMESSAGEFROMQQREQTYPE = 2, /// < 手Q -> 第三方应用,请求第三方应用展现消息中的数据 ESENDMESSAGEARKTOQQREQTYPE = 3, /// < 第三方应用 -> 手Q,第三方应用向手Q分享Ark消息 ESENDMESSAGE_MINI_TOQQREQTYPE = 4 /// < 第三方应用 -> 手Q,第三方应用向手Q分享小程序消息 }; /** QQApi应答消息类型 */ typedef NS_ENUM(NSUInteger, 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, copy) NSString *extendInfo; @end /** GetMessageFromQQReq请求帮助类 */ @interface GetMessageFromQQReq : QQBaseReq /** 创建一个GetMessageFromQQReq请求实例 */ + (GetMessageFromQQReq *)req; @end @interface SendMessageToQQReq : QQBaseReq /** 创建一个SendMessageToQQReq请求实例 \param message 具体分享消息实例 \return 新创建的SendMessageToQQReq请求实例 */ + (SendMessageToQQReq *)reqWithContent:(QQApiObject *)message; /** 创建一个支持Ark的SendMessageToQQReq请求实例 \param message 具体分享消息实例 \return 新创建的SendMessageToQQReq请求实例 */ + (SendMessageToQQReq *)reqWithArkContent:(ArkObject *)message; /** * 创建一个支持小程序的消息请求实例 * @param miniMessage 小程序实例对象 * @return 消息请求实例 */ + (SendMessageToQQReq *)reqWithMiniContent:(QQApiMiniProgramObject *)miniMessage; /** 具体分享消息 */ @property (nonatomic, strong) QQApiObject *apiObject; /** 支持Ark的具体分享消息 */ @property (nonatomic, strong) ArkObject *arkObject; /** 支持小程序的具体分享消息 */ @property (nonatomic, strong) QQApiMiniProgramObject *miniProgramObject; @end /** SendMessageToQQResp应答帮助类 */ @interface SendMessageToQQResp : QQBaseResp /** 其他扩展信息 */ @property (nonatomic, copy) NSDictionary *otherInfo; /** 创建一个SendMessageToQQResp应答实例 \param result 请求处理结果 \param errDesp 具体错误描述信息 \param extendInfo 扩展信息 \return 新创建的SendMessageToQQResp应答实例 */ + (SendMessageToQQResp *)respWithResult:(NSString *)result errorDescription:(NSString *)errDesp extendInfo:(NSString *)extendInfo; + (SendMessageToQQResp *) respWithResult:(NSString *)result errorDescription:(NSString *)errDesp extendInfo:(NSString *)extendInfo otherInfo:(NSDictionary *)otherInfo; @end /** ShowMessageFromQQReq请求帮助类 */ @interface ShowMessageFromQQReq : QQBaseReq /** 创建一个ShowMessageFromQQReq请求实例 \param message 具体待展现消息实例 \return 新创建的ShowMessageFromQQReq请求实例 */ + (ShowMessageFromQQReq *)reqWithContent:(QQApiObject *)message; /** 具体待展现消息 */ @property (nonatomic, strong) QQApiObject *message; @end #pragma mark --一键加群&建群&解绑群 // QQApiThirdAppBindGroupObject /** \brief 第三方app绑定群 */ @interface QQApiThirdAppBindGroupObject : QQApiObject @property (nonatomic, copy) NSString *accessToken; @property (nonatomic, copy) NSString *payToken; @property (nonatomic, copy) NSString *pfkey; @property (nonatomic, copy) NSString *unionID; @property (nonatomic, copy) NSString *appDisplayName; - (id)initWithAccessToken:(NSString *)accessToken payToken:(NSString *)payToken pfkey:(NSString *)pfkey unionID:(NSString *)unionID appDisplayName:(NSString *)appDisplayName; ///<初始化方法 + (id)objectWithAccessToken:(NSString *)accessToken payToken:(NSString *)payToken pfkey:(NSString *)pfkey unionID:(NSString *)unionID appDisplayName:(NSString *)appDisplayName; ///<工厂方法,获取一个QQApiThirdAppBindGroupObject对象. @end // QQApiThirdAppJoinGroupObject /** \brief 第三方app加入群 */ @interface QQApiThirdAppJoinGroupObject : QQApiObject @property (nonatomic, copy) NSString *accessToken; @property (nonatomic, copy) NSString *payToken; @property (nonatomic, copy) NSString *pfkey; @property (nonatomic, copy) NSString *unionID; - (id)initWithAccessToken:(NSString *)accessToken payToken:(NSString *)payToken pfkey:(NSString *)pfkey unionID:(NSString *)unionID; ///<初始化方法 + (id)objectWithAccessToken:(NSString *)accessToken payToken:(NSString *)payToken pfkey:(NSString *)pfkey unionID:(NSString *)unionID; ///<工厂方法,获取一个QQApiThirdAppJoinGroupObject对象. @end // QQApiThirdAppUnBindGroupObject /** \brief 第三方app解绑群 */ @interface QQApiThirdAppUnBindGroupObject : QQApiObject @property (nonatomic, copy) NSString *accessToken; @property (nonatomic, copy) NSString *openId; @property (nonatomic, copy) NSString *payToken; @property (nonatomic, copy) NSString *pfkey; @property (nonatomic, copy) NSString *unionID; - (id)initWithAccessToken:(NSString *)accessToken payToken:(NSString *)payToken pfkey:(NSString *)pfkey unionID:(NSString *)unionID openId:(NSString *)openId appId:(NSString *)appId; ///<初始化方法 + (id)objectWithAccessToken:(NSString *)accessToken payToken:(NSString *)payToken pfkey:(NSString *)pfkey unionID:(NSString *)unionID openId:(NSString *)openId appId:(NSString *)appId; ///<工厂方法,获取一个QQApiThirdAppBindGroupObject对象. @end #endif