WXApiObject.h 27 KB

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