WXApiObject.h 25 KB

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