No Description

WXApiObject.h 25KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915
  1. //
  2. // MMApiObject.h
  3. // Api对象,包含所有接口和对象数据定义
  4. //
  5. // Created by Wechat on 12-2-28.
  6. // Copyright (c) 2012年 Tencent. All rights reserved.
  7. //
  8. #import <Foundation/Foundation.h>
  9. #import <UIKit/UIKit.h>
  10. /*! @brief 错误码
  11. *
  12. */
  13. enum WXErrCode {
  14. WXSuccess = 0, /**< 成功 */
  15. WXErrCodeCommon = -1, /**< 普通错误类型 */
  16. WXErrCodeUserCancel = -2, /**< 用户点击取消并返回 */
  17. WXErrCodeSentFail = -3, /**< 发送失败 */
  18. WXErrCodeAuthDeny = -4, /**< 授权失败 */
  19. WXErrCodeUnsupport = -5, /**< 微信不支持 */
  20. };
  21. /*! @brief 请求发送场景
  22. *
  23. */
  24. enum WXScene {
  25. WXSceneSession = 0, /**< 聊天界面 */
  26. WXSceneTimeline = 1, /**< 朋友圈 */
  27. WXSceneFavorite = 2, /**< 收藏 */
  28. };
  29. enum WXAPISupport {
  30. WXAPISupportSession = 0,
  31. };
  32. /*! @brief 跳转profile类型
  33. *
  34. */
  35. enum WXBizProfileType{
  36. WXBizProfileType_Normal = 0, //**< 普通公众号 */
  37. WXBizProfileType_Device = 1, //**< 硬件公众号 */
  38. };
  39. /*! @brief 分享小程序类型
  40. *
  41. */
  42. typedef NS_ENUM(NSUInteger, WXMiniProgramType){
  43. WXMiniProgramTypeRelease = 0, //**< 正式版 */
  44. WXMiniProgramTypeTest = 1, //**< 开发版 */
  45. WXMiniProgramTypePreview = 2, //**< 体验版 */
  46. };
  47. /*! @brief 跳转mp网页类型
  48. *
  49. */
  50. enum WXMPWebviewType {
  51. WXMPWebviewType_Ad = 0, /**< 广告网页 **/
  52. };
  53. /*! @brief 应用支持接收微信的文件类型
  54. *
  55. */
  56. typedef NS_ENUM(UInt64, enAppSupportContentFlag)
  57. {
  58. MMAPP_SUPPORT_NOCONTENT = 0x0,
  59. MMAPP_SUPPORT_TEXT = 0x1,
  60. MMAPP_SUPPORT_PICTURE = 0x2,
  61. MMAPP_SUPPORT_LOCATION = 0x4,
  62. MMAPP_SUPPORT_VIDEO = 0x8,
  63. MMAPP_SUPPORT_AUDIO = 0x10,
  64. MMAPP_SUPPORT_WEBPAGE = 0x20,
  65. // Suport File Type
  66. MMAPP_SUPPORT_DOC = 0x40, // doc
  67. MMAPP_SUPPORT_DOCX = 0x80, // docx
  68. MMAPP_SUPPORT_PPT = 0x100, // ppt
  69. MMAPP_SUPPORT_PPTX = 0x200, // pptx
  70. MMAPP_SUPPORT_XLS = 0x400, // xls
  71. MMAPP_SUPPORT_XLSX = 0x800, // xlsx
  72. MMAPP_SUPPORT_PDF = 0x1000, // pdf
  73. };
  74. /*! @brief log的级别
  75. *
  76. */
  77. typedef NS_ENUM(NSInteger,WXLogLevel){
  78. WXLogLevelNormal = 0, // 打印日常的日志
  79. WXLogLevelDetail = 1, // 打印详细的日志
  80. };
  81. /*! @brief 打印回调的block
  82. *
  83. */
  84. typedef void(^WXLogBolock)(NSString * log);
  85. #pragma mark - BaseReq
  86. /*! @brief 该类为微信终端SDK所有请求类的基类
  87. *
  88. */
  89. @interface BaseReq : NSObject
  90. /** 请求类型 */
  91. @property (nonatomic, assign) int type;
  92. /** 由用户微信号和AppID组成的唯一标识,发送请求时第三方程序必须填写,用于校验微信用户是否换号登录*/
  93. @property (nonatomic, retain) NSString* openID;
  94. @end
  95. #pragma mark - BaseResp
  96. /*! @brief 该类为微信终端SDK所有响应类的基类
  97. *
  98. */
  99. @interface BaseResp : NSObject
  100. /** 错误码 */
  101. @property (nonatomic, assign) int errCode;
  102. /** 错误提示字符串 */
  103. @property (nonatomic, retain) NSString *errStr;
  104. /** 响应类型 */
  105. @property (nonatomic, assign) int type;
  106. @end
  107. #pragma mark - WXMediaMessage
  108. @class WXMediaMessage;
  109. #pragma mark - SendAuthReq
  110. /*! @brief 第三方程序向微信终端请求认证的消息结构
  111. *
  112. * 第三方程序要向微信申请认证,并请求某些权限,需要调用WXApi的sendReq成员函数,
  113. * 向微信终端发送一个SendAuthReq消息结构。微信终端处理完后会向第三方程序发送一个处理结果。
  114. * @see SendAuthResp
  115. */
  116. @interface SendAuthReq : BaseReq
  117. /** 第三方程序要向微信申请认证,并请求某些权限,需要调用WXApi的sendReq成员函数,向微信终端发送一个SendAuthReq消息结构。微信终端处理完后会向第三方程序发送一个处理结果。
  118. * @see SendAuthResp
  119. * @note scope字符串长度不能超过1K
  120. */
  121. @property (nonatomic, retain) NSString* scope;
  122. /** 第三方程序本身用来标识其请求的唯一性,最后跳转回第三方程序时,由微信终端回传。
  123. * @note state字符串长度不能超过1K
  124. */
  125. @property (nonatomic, retain) NSString* state;
  126. @end
  127. #pragma mark - SendAuthResp
  128. /*! @brief 微信处理完第三方程序的认证和权限申请后向第三方程序回送的处理结果。
  129. *
  130. * 第三方程序要向微信申请认证,并请求某些权限,需要调用WXApi的sendReq成员函数,向微信终端发送一个SendAuthReq消息结构。
  131. * 微信终端处理完后会向第三方程序发送一个SendAuthResp。
  132. * @see onResp
  133. */
  134. @interface SendAuthResp : BaseResp
  135. @property (nonatomic, retain) NSString* code;
  136. /** 第三方程序发送时用来标识其请求的唯一性的标志,由第三方程序调用sendReq时传入,由微信终端回传
  137. * @note state字符串长度不能超过1K
  138. */
  139. @property (nonatomic, retain) NSString* state;
  140. @property (nonatomic, retain) NSString* lang;
  141. @property (nonatomic, retain) NSString* country;
  142. @end
  143. #pragma mark - SendMessageToWXReq
  144. /*! @brief 第三方程序发送消息至微信终端程序的消息结构体
  145. *
  146. * 第三方程序向微信发送信息需要传入SendMessageToWXReq结构体,信息类型包括文本消息和多媒体消息,
  147. * 分别对应于text和message成员。调用该方法后,微信处理完信息会向第三方程序发送一个处理结果。
  148. * @see SendMessageToWXResp
  149. */
  150. @interface SendMessageToWXReq : BaseReq
  151. /** 发送消息的文本内容
  152. * @note 文本长度必须大于0且小于10K
  153. */
  154. @property (nonatomic, retain) NSString* text;
  155. /** 发送消息的多媒体内容
  156. * @see WXMediaMessage
  157. */
  158. @property (nonatomic, retain) WXMediaMessage* message;
  159. /** 发送消息的类型,包括文本消息和多媒体消息两种,两者只能选择其一,不能同时发送文本和多媒体消息 */
  160. @property (nonatomic, assign) BOOL bText;
  161. /** 发送的目标场景,可以选择发送到会话(WXSceneSession)或者朋友圈(WXSceneTimeline)。 默认发送到会话。
  162. * @see WXScene
  163. */
  164. @property (nonatomic, assign) int scene;
  165. @end
  166. #pragma mark - SendMessageToWXResp
  167. /*! @brief 微信终端向第三方程序返回的SendMessageToWXReq处理结果。
  168. *
  169. * 第三方程序向微信终端发送SendMessageToWXReq后,微信发送回来的处理结果,该结果用SendMessageToWXResp表示。
  170. */
  171. @interface SendMessageToWXResp : BaseResp
  172. @property(nonatomic, retain) NSString* lang;
  173. @property(nonatomic, retain) NSString* country;
  174. @end
  175. #pragma mark - GetMessageFromWXReq
  176. /*! @brief 微信终端向第三方程序请求提供内容的消息结构体。
  177. *
  178. * 微信终端向第三方程序请求提供内容,微信终端会向第三方程序发送GetMessageFromWXReq消息结构体,
  179. * 需要第三方程序调用sendResp返回一个GetMessageFromWXResp消息结构体。
  180. */
  181. @interface GetMessageFromWXReq : BaseReq
  182. @property (nonatomic, retain) NSString* lang;
  183. @property (nonatomic, retain) NSString* country;
  184. @end
  185. #pragma mark - GetMessageFromWXResp
  186. /*! @brief 微信终端向第三方程序请求提供内容,第三方程序向微信终端返回的消息结构体。
  187. *
  188. * 微信终端向第三方程序请求提供内容,第三方程序调用sendResp向微信终端返回一个GetMessageFromWXResp消息结构体。
  189. */
  190. @interface GetMessageFromWXResp : BaseResp
  191. /** 向微信终端提供的文本内容
  192. @note 文本长度必须大于0且小于10K
  193. */
  194. @property (nonatomic, retain) NSString* text;
  195. /** 向微信终端提供的多媒体内容。
  196. * @see WXMediaMessage
  197. */
  198. @property (nonatomic, retain) WXMediaMessage* message;
  199. /** 向微信终端提供内容的消息类型,包括文本消息和多媒体消息两种,两者只能选择其一,不能同时发送文本和多媒体消息 */
  200. @property (nonatomic, assign) BOOL bText;
  201. @end
  202. #pragma mark - ShowMessageFromWXReq
  203. /*! @brief 微信通知第三方程序,要求第三方程序显示的消息结构体。
  204. *
  205. * 微信需要通知第三方程序显示或处理某些内容时,会向第三方程序发送ShowMessageFromWXReq消息结构体。
  206. * 第三方程序处理完内容后调用sendResp向微信终端发送ShowMessageFromWXResp。
  207. */
  208. @interface ShowMessageFromWXReq : BaseReq
  209. /** 微信终端向第三方程序发送的要求第三方程序处理的多媒体内容
  210. * @see WXMediaMessage
  211. */
  212. @property (nonatomic, retain) WXMediaMessage* message;
  213. @property (nonatomic, retain) NSString* lang;
  214. @property (nonatomic, retain) NSString* country;
  215. @end
  216. #pragma mark - ShowMessageFromWXResp
  217. /*! @brief 微信通知第三方程序,要求第三方程序显示或处理某些消息,第三方程序处理完后向微信终端发送的处理结果。
  218. *
  219. * 微信需要通知第三方程序显示或处理某些内容时,会向第三方程序发送ShowMessageFromWXReq消息结构体。
  220. * 第三方程序处理完内容后调用sendResp向微信终端发送ShowMessageFromWXResp。
  221. */
  222. @interface ShowMessageFromWXResp : BaseResp
  223. @end
  224. #pragma mark - LaunchFromWXReq
  225. /*! @brief 微信终端打开第三方程序携带的消息结构体
  226. *
  227. * 微信向第三方发送的结构体,第三方不需要返回
  228. */
  229. @interface LaunchFromWXReq : BaseReq
  230. @property (nonatomic, retain) WXMediaMessage* message;
  231. @property (nonatomic, retain) NSString* lang;
  232. @property (nonatomic, retain) NSString* country;
  233. @end
  234. #pragma mark - OpenTempSessionReq
  235. /* ! @brief 第三方通知微信,打开临时会话
  236. *
  237. * 第三方通知微信,打开临时会话
  238. */
  239. @interface OpenTempSessionReq : BaseReq
  240. /** 需要打开的用户名
  241. * @attention 长度不能超过512字节
  242. */
  243. @property (nonatomic, retain) NSString* username;
  244. /** 开发者自定义参数,拉起临时会话后会发给开发者后台,可以用于识别场景
  245. * @attention 长度不能超过32位
  246. */
  247. @property (nonatomic, retain) NSString* sessionFrom;
  248. @end
  249. #pragma mark - OpenTempSessionResp
  250. /*! @brief 微信终端向第三方程序返回的OpenTempSessionReq处理结果。
  251. *
  252. * 第三方程序向微信终端发送OpenTempSessionReq后,微信发送回来的处理结果,该结果用OpenTempSessionResp表示。
  253. */
  254. @interface OpenTempSessionResp : BaseResp
  255. @end
  256. #pragma mark - OpenWebviewReq
  257. /* ! @brief 第三方通知微信启动内部浏览器,打开指定网页
  258. *
  259. * 第三方通知微信启动内部浏览器,打开指定Url对应的网页
  260. */
  261. @interface OpenWebviewReq : BaseReq
  262. /** 需要打开的网页对应的Url
  263. * @attention 长度不能超过1024
  264. */
  265. @property(nonatomic,retain)NSString* url;
  266. @end
  267. #pragma mark - OpenWebviewResp
  268. /*! @brief 微信终端向第三方程序返回的OpenWebviewReq处理结果
  269. *
  270. * 第三方程序向微信终端发送OpenWebviewReq后,微信发送回来的处理结果,该结果用OpenWebviewResp表示
  271. */
  272. @interface OpenWebviewResp : BaseResp
  273. @end
  274. #pragma mark - OpenRankListReq
  275. /* ! @brief 第三方通知微信,打开硬件排行榜
  276. *
  277. * 第三方通知微信,打开硬件排行榜
  278. */
  279. @interface OpenRankListReq : BaseReq
  280. @end
  281. #pragma mark - OpenRanklistResp
  282. /*! @brief 微信终端向第三方程序返回的OpenRankListReq处理结果。
  283. *
  284. * 第三方程序向微信终端发送OpenRankListReq后,微信发送回来的处理结果,该结果用OpenRankListResp表示。
  285. */
  286. @interface OpenRankListResp : BaseResp
  287. @end
  288. #pragma mark - JumpToBizProfileReq
  289. /* ! @brief 第三方通知微信,打开指定微信号profile页面
  290. *
  291. * 第三方通知微信,打开指定微信号profile页面
  292. */
  293. @interface JumpToBizProfileReq : BaseReq
  294. /** 跳转到该公众号的profile
  295. * @attention 长度不能超过512字节
  296. */
  297. @property (nonatomic, retain) NSString* username;
  298. /** 如果用户加了该公众号为好友,extMsg会上传到服务器
  299. * @attention 长度不能超过1024字节
  300. */
  301. @property (nonatomic, retain) NSString* extMsg;
  302. /**
  303. * 跳转的公众号类型
  304. * @see WXBizProfileType
  305. */
  306. @property (nonatomic, assign) int profileType;
  307. @end
  308. #pragma mark - JumpToBizWebviewReq
  309. /* ! @brief 第三方通知微信,打开指定usrname的profile网页版
  310. *
  311. */
  312. @interface JumpToBizWebviewReq : BaseReq
  313. /** 跳转的网页类型,目前只支持广告页
  314. * @see WXMPWebviewType
  315. */
  316. @property(nonatomic, assign) int webType;
  317. /** 跳转到该公众号的profile网页版
  318. * @attention 长度不能超过512字节
  319. */
  320. @property(nonatomic, retain) NSString* tousrname;
  321. /** 如果用户加了该公众号为好友,extMsg会上传到服务器
  322. * @attention 长度不能超过1024字节
  323. */
  324. @property(nonatomic, retain) NSString* extMsg;
  325. @end
  326. #pragma mark - WXCardItem
  327. @interface WXCardItem : NSObject
  328. /** 卡id
  329. * @attention 长度不能超过1024字节
  330. */
  331. @property (nonatomic,retain) NSString* cardId;
  332. /** ext信息
  333. * @attention 长度不能超过2024字节
  334. */
  335. @property (nonatomic,retain) NSString* extMsg;
  336. /**
  337. * @attention 卡的状态,req不需要填。resp:0为未添加,1为已添加。
  338. */
  339. @property (nonatomic,assign) UInt32 cardState;
  340. /**
  341. * @attention req不需要填,chooseCard返回的。
  342. */
  343. @property (nonatomic,retain) NSString* encryptCode;
  344. /**
  345. * @attention req不需要填,chooseCard返回的。
  346. */
  347. @property (nonatomic,retain) NSString* appID;
  348. @end;
  349. #pragma mark - WXInvoiceItem
  350. @interface WXInvoiceItem : NSObject
  351. /** 卡id
  352. * @attention 长度不能超过1024字节
  353. */
  354. @property (nonatomic,retain) NSString* cardId;
  355. /** ext信息
  356. * @attention 长度不能超过2024字节
  357. */
  358. @property (nonatomic,retain) NSString* extMsg;
  359. /**
  360. * @attention 卡的状态,req不需要填。resp:0为未添加,1为已添加。
  361. */
  362. @property (nonatomic,assign) UInt32 cardState;
  363. /**
  364. * @attention req不需要填,chooseCard返回的。
  365. */
  366. @property (nonatomic,retain) NSString* encryptCode;
  367. /**
  368. * @attention req不需要填,chooseCard返回的。
  369. */
  370. @property (nonatomic,retain) NSString* appID;
  371. @end
  372. #pragma mark - AddCardToWXCardPackageReq
  373. /* ! @brief 请求添加卡券至微信卡包
  374. *
  375. */
  376. @interface AddCardToWXCardPackageReq : BaseReq
  377. /** 卡列表
  378. * @attention 个数不能超过40个 类型WXCardItem
  379. */
  380. @property (nonatomic,retain) NSArray* cardAry;
  381. @end
  382. #pragma mark - AddCardToWXCardPackageResp
  383. /** ! @brief 微信返回第三方添加卡券结果
  384. *
  385. */
  386. @interface AddCardToWXCardPackageResp : BaseResp
  387. /** 卡列表
  388. * @attention 个数不能超过40个 类型WXCardItem
  389. */
  390. @property (nonatomic,retain) NSArray* cardAry;
  391. @end
  392. #pragma mark - WXChooseCardReq
  393. /* ! @brief 请求从微信选取卡券
  394. *
  395. */
  396. @interface WXChooseCardReq : BaseReq
  397. @property(nonatomic, strong) NSString *appID;
  398. @property(nonatomic, assign) UInt32 shopID;
  399. @property(nonatomic, assign) UInt32 canMultiSelect;
  400. @property(nonatomic, strong) NSString *cardType;
  401. @property(nonatomic, strong) NSString *cardTpID;
  402. @property(nonatomic, strong) NSString *signType;
  403. @property(nonatomic, strong) NSString *cardSign;
  404. @property(nonatomic, assign) UInt32 timeStamp;
  405. @property(nonatomic, strong) NSString *nonceStr;
  406. @end
  407. #pragma mark - WXChooseCardResp
  408. /** ! @brief 微信返回第三方请求选择卡券结果
  409. *
  410. */
  411. @interface WXChooseCardResp : BaseResp
  412. @property (nonatomic,retain) NSArray* cardAry;
  413. @end
  414. #pragma mark - WXChooseInvoiceReq
  415. /* ! @brief 请求从微信选取发票
  416. *
  417. */
  418. @interface WXChooseInvoiceReq : BaseReq
  419. @property (nonatomic, strong) NSString *appID;
  420. @property (nonatomic, assign) UInt32 shopID;
  421. @property (nonatomic, strong) NSString *signType;
  422. @property (nonatomic, strong) NSString *cardSign;
  423. @property (nonatomic, assign) UInt32 timeStamp;
  424. @property (nonatomic, strong) NSString *nonceStr;
  425. @end
  426. #pragma mark - WXChooseInvoiceResp
  427. /** ! @brief 微信返回第三方请求选择发票结果
  428. *
  429. */
  430. @interface WXChooseInvoiceResp : BaseResp
  431. @property (nonatomic, strong) NSArray* cardAry;
  432. @end
  433. #pragma mark - WXSubscriptionReq
  434. @interface WXSubscribeMsgReq : BaseReq
  435. @property (nonatomic, assign) UInt32 scene;
  436. @property (nonatomic, strong) NSString * templateId;
  437. @property (nonatomic, strong) NSString * reserved;
  438. @end
  439. #pragma mark - WXSubscriptionReq
  440. @interface WXSubscribeMsgResp : BaseResp
  441. @property (nonatomic, strong) NSString *templateId;
  442. @property (nonatomic, assign) UInt32 scene;
  443. @property (nonatomic, strong) NSString *action;
  444. @property (nonatomic, strong) NSString * reserved;
  445. @property (nonatomic, strong) NSString * openId;
  446. @end
  447. #pragma mark - WXinvoiceAuthInsertReq
  448. @interface WXInvoiceAuthInsertReq : BaseReq
  449. @property (nonatomic, strong) NSString *urlString;
  450. @end
  451. #pragma mark - WXinvoiceAuthInsertResp
  452. @interface WXInvoiceAuthInsertResp : BaseResp
  453. @property (nonatomic, strong) NSString * wxOrderId;
  454. @end
  455. #pragma mark - WXNontaxPayReq
  456. @interface WXNontaxPayReq:BaseReq
  457. @property (nonatomic, strong) NSString *urlString;
  458. @end
  459. #pragma mark - WXNontaxPayResp
  460. @interface WXNontaxPayResp : BaseResp
  461. @property (nonatomic, strong) NSString *wxOrderId;
  462. @end
  463. #pragma mark - WXPayInsuranceReq
  464. @interface WXPayInsuranceReq : BaseReq
  465. @property (nonatomic, strong) NSString *urlString;
  466. @end
  467. #pragma mark - WXPayInsuranceResp
  468. @interface WXPayInsuranceResp : BaseResp
  469. @property (nonatomic, strong) NSString *wxOrderId;
  470. @end
  471. #pragma mark - WXMediaMessage
  472. #pragma mark - WXMediaMessage
  473. /*! @brief 多媒体消息结构体
  474. *
  475. * 用于微信终端和第三方程序之间传递消息的多媒体消息内容
  476. */
  477. @interface WXMediaMessage : NSObject
  478. +(WXMediaMessage *) message;
  479. /** 标题
  480. * @note 长度不能超过512字节
  481. */
  482. @property (nonatomic, retain) NSString *title;
  483. /** 描述内容
  484. * @note 长度不能超过1K
  485. */
  486. @property (nonatomic, retain) NSString *description;
  487. /** 缩略图数据
  488. * @note 大小不能超过32K
  489. */
  490. @property (nonatomic, retain) NSData *thumbData;
  491. /**
  492. * @note 长度不能超过64字节
  493. */
  494. @property (nonatomic, retain) NSString *mediaTagName;
  495. /**
  496. *
  497. */
  498. @property (nonatomic, retain) NSString *messageExt;
  499. @property (nonatomic, retain) NSString *messageAction;
  500. /**
  501. * 多媒体数据对象,可以为WXImageObject,WXMusicObject,WXVideoObject,WXWebpageObject等。
  502. */
  503. @property (nonatomic, retain) id mediaObject;
  504. /*! @brief 设置消息缩略图的方法
  505. *
  506. * @param image 缩略图
  507. * @note 大小不能超过32K
  508. */
  509. - (void) setThumbImage:(UIImage *)image;
  510. @end
  511. #pragma mark - WXImageObject
  512. /*! @brief 多媒体消息中包含的图片数据对象
  513. *
  514. * 微信终端和第三方程序之间传递消息中包含的图片数据对象。
  515. * @note imageData成员不能为空
  516. * @see WXMediaMessage
  517. */
  518. @interface WXImageObject : NSObject
  519. /*! @brief 返回一个WXImageObject对象
  520. *
  521. * @note 返回的WXImageObject对象是自动释放的
  522. */
  523. +(WXImageObject *) object;
  524. /** 图片真实数据内容
  525. * @note 大小不能超过10M
  526. */
  527. @property (nonatomic, retain) NSData *imageData;
  528. @end
  529. #pragma mark - WXMusicObject
  530. /*! @brief 多媒体消息中包含的音乐数据对象
  531. *
  532. * 微信终端和第三方程序之间传递消息中包含的音乐数据对象。
  533. * @note musicUrl和musicLowBandUrl成员不能同时为空。
  534. * @see WXMediaMessage
  535. */
  536. @interface WXMusicObject : NSObject
  537. /*! @brief 返回一个WXMusicObject对象
  538. *
  539. * @note 返回的WXMusicObject对象是自动释放的
  540. */
  541. +(WXMusicObject *) object;
  542. /** 音乐网页的url地址
  543. * @note 长度不能超过10K
  544. */
  545. @property (nonatomic, retain) NSString *musicUrl;
  546. /** 音乐lowband网页的url地址
  547. * @note 长度不能超过10K
  548. */
  549. @property (nonatomic, retain) NSString *musicLowBandUrl;
  550. /** 音乐数据url地址
  551. * @note 长度不能超过10K
  552. */
  553. @property (nonatomic, retain) NSString *musicDataUrl;
  554. /**音乐lowband数据url地址
  555. * @note 长度不能超过10K
  556. */
  557. @property (nonatomic, retain) NSString *musicLowBandDataUrl;
  558. @end
  559. #pragma mark - WXVideoObject
  560. /*! @brief 多媒体消息中包含的视频数据对象
  561. *
  562. * 微信终端和第三方程序之间传递消息中包含的视频数据对象。
  563. * @note videoUrl和videoLowBandUrl不能同时为空。
  564. * @see WXMediaMessage
  565. */
  566. @interface WXVideoObject : NSObject
  567. /*! @brief 返回一个WXVideoObject对象
  568. *
  569. * @note 返回的WXVideoObject对象是自动释放的
  570. */
  571. +(WXVideoObject *) object;
  572. /** 视频网页的url地址
  573. * @note 长度不能超过10K
  574. */
  575. @property (nonatomic, retain) NSString *videoUrl;
  576. /** 视频lowband网页的url地址
  577. * @note 长度不能超过10K
  578. */
  579. @property (nonatomic, retain) NSString *videoLowBandUrl;
  580. @end
  581. #pragma mark - WXWebpageObject
  582. /*! @brief 多媒体消息中包含的网页数据对象
  583. *
  584. * 微信终端和第三方程序之间传递消息中包含的网页数据对象。
  585. * @see WXMediaMessage
  586. */
  587. @interface WXWebpageObject : NSObject
  588. /*! @brief 返回一个WXWebpageObject对象
  589. *
  590. * @note 返回的WXWebpageObject对象是自动释放的
  591. */
  592. +(WXWebpageObject *) object;
  593. /** 网页的url地址
  594. * @note 不能为空且长度不能超过10K
  595. */
  596. @property (nonatomic, retain) NSString *webpageUrl;
  597. @end
  598. #pragma mark - WXAppExtendObject
  599. /*! @brief 多媒体消息中包含的App扩展数据对象
  600. *
  601. * 第三方程序向微信终端发送包含WXAppExtendObject的多媒体消息,
  602. * 微信需要处理该消息时,会调用该第三方程序来处理多媒体消息内容。
  603. * @note url,extInfo和fileData不能同时为空
  604. * @see WXMediaMessage
  605. */
  606. @interface WXAppExtendObject : NSObject
  607. /*! @brief 返回一个WXAppExtendObject对象
  608. *
  609. * @note 返回的WXAppExtendObject对象是自动释放的
  610. */
  611. +(WXAppExtendObject *) object;
  612. /** 若第三方程序不存在,微信终端会打开该url所指的App下载地址
  613. * @note 长度不能超过10K
  614. */
  615. @property (nonatomic, retain) NSString *url;
  616. /** 第三方程序自定义简单数据,微信终端会回传给第三方程序处理
  617. * @note 长度不能超过2K
  618. */
  619. @property (nonatomic, retain) NSString *extInfo;
  620. /** App文件数据,该数据发送给微信好友,微信好友需要点击后下载数据,微信终端会回传给第三方程序处理
  621. * @note 大小不能超过10M
  622. */
  623. @property (nonatomic, retain) NSData *fileData;
  624. @end
  625. #pragma mark - WXEmoticonObject
  626. /*! @brief 多媒体消息中包含的表情数据对象
  627. *
  628. * 微信终端和第三方程序之间传递消息中包含的表情数据对象。
  629. * @see WXMediaMessage
  630. */
  631. @interface WXEmoticonObject : NSObject
  632. /*! @brief 返回一个WXEmoticonObject对象
  633. *
  634. * @note 返回的WXEmoticonObject对象是自动释放的
  635. */
  636. +(WXEmoticonObject *) object;
  637. /** 表情真实数据内容
  638. * @note 大小不能超过10M
  639. */
  640. @property (nonatomic, retain) NSData *emoticonData;
  641. @end
  642. #pragma mark - WXFileObject
  643. /*! @brief 多媒体消息中包含的文件数据对象
  644. *
  645. * @see WXMediaMessage
  646. */
  647. @interface WXFileObject : NSObject
  648. /*! @brief 返回一个WXFileObject对象
  649. *
  650. * @note 返回的WXFileObject对象是自动释放的
  651. */
  652. +(WXFileObject *) object;
  653. /** 文件后缀名
  654. * @note 长度不超过64字节
  655. */
  656. @property (nonatomic, retain) NSString *fileExtension;
  657. /** 文件真实数据内容
  658. * @note 大小不能超过10M
  659. */
  660. @property (nonatomic, retain) NSData *fileData;
  661. @end
  662. #pragma mark - WXLocationObject
  663. /*! @brief 多媒体消息中包含的地理位置数据对象
  664. *
  665. * 微信终端和第三方程序之间传递消息中包含的地理位置数据对象。
  666. * @see WXMediaMessage
  667. */
  668. @interface WXLocationObject : NSObject
  669. /*! @brief 返回一个WXLocationObject对象
  670. *
  671. * @note 返回的WXLocationObject对象是自动释放的
  672. */
  673. +(WXLocationObject *) object;
  674. /** 地理位置信息
  675. * @note 经纬度
  676. */
  677. @property (nonatomic, assign) double lng; //经度
  678. @property (nonatomic, assign) double lat; //纬度
  679. @end
  680. @interface WXMiniProgramObject : NSObject
  681. /*! @brief WXMiniProgramObject对象
  682. *
  683. * @note 返回的WXMiniProgramObject对象是自动释放的
  684. */
  685. +(WXMiniProgramObject *) object;
  686. @property (nonatomic, strong) NSString *webpageUrl; //低版本网页链接
  687. @property (nonatomic, strong) NSString *userName; //小程序username
  688. @property (nonatomic, strong) NSString *path; //小程序页面的路径
  689. @property (nonatomic, strong) NSData *hdImageData; // 小程序新版本的预览图 128k
  690. @property (nonatomic, assign) BOOL withShareTicket; //是否使用带 shareTicket 的转发
  691. @property (nonatomic, assign) WXMiniProgramType miniProgramType; // 分享小程序的版本(正式,开发,体验)
  692. @end
  693. #pragma mark - WXLaunchMiniProgramReq
  694. /*! @brief WXLaunchMiniProgramReq对象, 可实现通过sdk拉起微信小程序
  695. *
  696. * @note 返回的WXLaunchMiniProgramReq对象是自动释放的
  697. */
  698. @interface WXLaunchMiniProgramReq : BaseReq
  699. +(WXLaunchMiniProgramReq *) object;
  700. @property (nonatomic, strong) NSString *userName; //拉起的小程序的username
  701. @property (nonatomic, strong) NSString *path; //拉起小程序页面的路径,不填默认拉起小程序首页
  702. @property (nonatomic, assign) WXMiniProgramType miniProgramType; //拉起小程序的类型
  703. @end
  704. #pragma mark - WXLaunchMiniProgramResp
  705. /*! @brief 微信终端向第三方程序返回的WXLaunchMiniProgramReq处理结果。
  706. *
  707. * 第三方程序向微信终端发送WXLaunchMiniProgramReq后,微信发送回来的处理结果,该结果用WXLaunchMiniProgramResp表示。
  708. */
  709. @interface WXLaunchMiniProgramResp : BaseResp
  710. @property (nonatomic, retain) NSString *extMsg;
  711. @end
  712. #pragma mark - WXTextObject
  713. /*! @brief 多媒体消息中包含的文本数据对象
  714. *
  715. * 微信终端和第三方程序之间传递消息中包含的文本数据对象。
  716. * @see WXMediaMessage
  717. */
  718. @interface WXTextObject : NSObject
  719. /*! @brief 返回一个WXTextObject对象
  720. *
  721. * @note 返回的WXTextObject对象是自动释放的
  722. */
  723. +(WXTextObject *) object;
  724. /** 地理位置信息
  725. * @note 文本内容
  726. */
  727. @property (nonatomic, retain) NSString *contentText;
  728. @end