WXApiObject.h 33 KB

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