UMSocialSnsData.h 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689
  1. //
  2. // UMSocialSnsData.h
  3. // SocialSDK
  4. //
  5. // Created by yeahugo on 13-11-25.
  6. // Copyright (c) 2013年 Umeng. All rights reserved.
  7. //
  8. #import <Foundation/Foundation.h>
  9. #import <UIKit/UIKit.h>
  10. typedef enum{
  11. UMSNumberLike=0, //喜欢
  12. UMSNumberShare, //分享
  13. UMSNumberComment //评论
  14. }UMSNumberType;
  15. typedef enum {
  16. UMSocialUrlResourceTypeDefault, //无
  17. UMSocialUrlResourceTypeImage, //图片
  18. UMSocialUrlResourceTypeVideo, //视频
  19. UMSocialUrlResourceTypeMusic, //音乐
  20. UMSocialUrlResourceTypeWeb, //网页
  21. UMSocialUrlResourceTypeCount
  22. }UMSocialUrlResourceType;
  23. /**
  24. 分享到微博的多媒体资源,包括指定url的图片、音乐、视频
  25. */
  26. @interface UMSocialUrlResource : NSObject
  27. /**
  28. url地址
  29. */
  30. @property (nonatomic, copy) NSString *url;
  31. /**
  32. 资源类型,图片(UMSocialUrlResourceTypeImage)、视频(UMSocialUrlResourceTypeVideo),音乐(UMSocialUrlResourceTypeMusic)
  33. */
  34. @property (nonatomic, assign) UMSocialUrlResourceType resourceType;
  35. /**
  36. 设置url资源类型和url地址
  37. @param resourceType 多媒体资源类型,图片、音乐或者视频
  38. @param urlString url字符串
  39. */
  40. -(void)setResourceType:(UMSocialUrlResourceType)resourceType url:(NSString *)url;
  41. /**
  42. 初始化对象,指定一种资源和资源URL
  43. @param resourceType 多媒体资源类型,图片、音乐或者视频
  44. @param urlString url字符串
  45. */
  46. -(id)initWithSnsResourceType:(UMSocialUrlResourceType)resourceType url:(NSString *)url;
  47. @end
  48. /**
  49. 微信内容类型
  50. */
  51. typedef enum{
  52. UMSocialWXMessageTypeNone,
  53. UMSocialWXMessageTypeText, //微信消息文本类型
  54. UMSocialWXMessageTypeImage, //微信消息图片类型
  55. UMSocialWXMessageTypeApp, //微信消息应用类型
  56. UMSocialWXMessageTypeWeb, //微信消息网页类型
  57. UMSocialWXMessageTypeMusic, //微信消息音乐类型
  58. UMSocialWXMessageTypeVideo, //微信消息视频类型
  59. UMSocialWXMessageTypeEmotion, //微信消息表情类型
  60. UMSocialWXMessageTypeOther //微信消息其他多媒体类型
  61. }UMSocialWXMessageType;
  62. /**
  63. 支付宝消息类型
  64. */
  65. typedef NS_ENUM(NSInteger, UMSocialAlipayMessageType) {
  66. UMSocialAlipayMessageTypeNone,
  67. UMSocialAlipayMessageTypeText, //支付宝消息文本类型
  68. UMSocialAlipayMessageTypeImage, //支付宝消息图片类型
  69. UMSocialAlipayMessageTypeWeb, //支付宝消息网页类型
  70. };
  71. /**
  72. 易信内容类型
  73. */
  74. typedef enum{
  75. UMSocialYXMessageTypeNone,
  76. UMSocialYXMessageTypeText, //易信消息文本类型
  77. UMSocialYXMessageTypeImage, //易信消息图片类型
  78. UMSocialYXMessageTypeApp, //易信消息应用类型
  79. UMSocialYXMessageTypeWeb, //易信消息网页类型
  80. UMSocialYXMessageTypeMusic, //易信消息音乐类型
  81. UMSocialYXMessageTypeVideo, //易信消息视频类型
  82. }UMSocialYXMessageType;
  83. /**
  84. QQ消息类型
  85. */
  86. typedef enum {
  87. UMSocialQQMessageTypeDefault, //非纯图片QQ消息
  88. UMSocialQQMessageTypeImage //纯图片QQ消息
  89. }UMSocialQQMessageType;
  90. ///---------------------------------------------------------------------------------------
  91. /**
  92. 设置分平台对应内容的基类
  93. */
  94. @interface UMSocialSnsData : NSObject
  95. /**
  96. 平台名
  97. */
  98. @property (nonatomic, copy) NSString *snsName;
  99. /**
  100. 分享文字
  101. */
  102. @property (nonatomic, copy) NSString *shareText;
  103. /**
  104. 分享图片
  105. */
  106. @property (nonatomic, retain) id shareImage;
  107. /**
  108. url资源类型
  109. */
  110. @property (nonatomic, retain) UMSocialUrlResource *urlResource;
  111. @end
  112. ///---------------------------------------------------------------------------------------
  113. /**
  114. 分享到新浪微博数据
  115. */
  116. @interface UMSocialSinaData : UMSocialSnsData
  117. @end
  118. /**
  119. 分享到腾讯微博数据
  120. */
  121. @interface UMSocialTencentData : UMSocialSnsData
  122. /**
  123. 如果传入音乐的话,腾讯微博可以指定音乐标题
  124. */
  125. @property (nonatomic, copy) NSString *title;
  126. /**
  127. 如果传入音乐的话,腾讯微博可以指定音乐作者
  128. */
  129. @property (nonatomic, copy) NSString *author;
  130. @end
  131. /**
  132. 分享到QQ空间数据,分享到QQ空间不支持纯图片的消息格式
  133. */
  134. @interface UMSocialQzoneData : UMSocialSnsData
  135. /**
  136. 分享内容标题
  137. */
  138. @property (nonatomic, copy) NSString *title;
  139. /**
  140. 应用链接地址
  141. */
  142. @property (nonatomic, copy) NSString *url;
  143. @end
  144. /**
  145. 分享到QQ好友
  146. */
  147. @interface UMSocialQQData : UMSocialSnsData
  148. /**
  149. 分享到QQ好友的网页消息url
  150. */
  151. @property (nonatomic, copy) NSString *url;
  152. /**
  153. 分享到QQ好友的网页消息标题
  154. */
  155. @property (nonatomic, copy) NSString *title;
  156. /**
  157. 分享到QQ好友的消息类型
  158. */
  159. @property (nonatomic, assign) UMSocialQQMessageType qqMessageType;
  160. @end
  161. /**
  162. 分享到微信好友
  163. */
  164. @interface UMSocialWechatSessionData : UMSocialSnsData
  165. /**
  166. 图文分享标题
  167. */
  168. @property (nonatomic, copy) NSString * title;
  169. /**
  170. 微信消息类型,包括'UMSocialWXMessageTypeText'文字,'UMSocialWXMessageTypeImage'图片,'UMSocialWXMessageTypeApp'应用类型
  171. */
  172. @property (nonatomic, assign) UMSocialWXMessageType wxMessageType;
  173. /**
  174. 微信网页消息url
  175. */
  176. @property (nonatomic, copy) NSString * url;
  177. /** App文件数据,该数据发送给微信好友,微信好友需要点击后下载数据,微信终端会回传给第三方程序处理
  178. * @attention 大小不能超过10M
  179. */
  180. @property (nonatomic, retain) NSData *fileData;
  181. /** 第三方程序自定义简单数据,微信终端会回传给第三方程序处理
  182. * @attention 长度不能超过2K
  183. */
  184. @property (nonatomic, copy) NSString *extInfo;
  185. @end
  186. /**
  187. 分享到微信朋友圈
  188. */
  189. @interface UMSocialWechatTimelineData : UMSocialSnsData
  190. /**
  191. 图文分享标题
  192. */
  193. @property (nonatomic, copy) NSString * title;
  194. /** App文件数据,该数据发送给微信好友,微信好友需要点击后下载数据,微信终端会回传给第三方程序处理
  195. * @attention 大小不能超过10M
  196. */
  197. @property (nonatomic, retain) NSData *fileData;
  198. /**
  199. 微信消息类型,包括'UMSocialWXMessageTypeText'文字,'UMSocialWXMessageTypeImage'图片,'UMSocialWXMessageTypeApp'应用类型
  200. */
  201. @property (nonatomic, assign) UMSocialWXMessageType wxMessageType;
  202. /** 第三方程序自定义简单数据,微信终端会回传给第三方程序处理
  203. * @attention 长度不能超过2K
  204. */
  205. @property (nonatomic, copy) NSString *extInfo;
  206. /**
  207. 微信网页消息url
  208. */
  209. @property (nonatomic, copy) NSString * url;
  210. @end
  211. /**
  212. 分享到微信收藏
  213. */
  214. @interface UMSocialWechatFavorite : UMSocialSnsData
  215. /**
  216. 图文分享标题
  217. */
  218. @property (nonatomic, copy) NSString * title;
  219. /** App文件数据,该数据发送给微信好友,微信好友需要点击后下载数据,微信终端会回传给第三方程序处理
  220. * @attention 大小不能超过10M
  221. */
  222. @property (nonatomic, retain) NSData *fileData;
  223. /**
  224. 微信消息类型,包括'UMSocialWXMessageTypeText'文字,'UMSocialWXMessageTypeImage'图片,'UMSocialWXMessageTypeApp'应用类型
  225. */
  226. @property (nonatomic, assign) UMSocialWXMessageType wxMessageType;
  227. /** 第三方程序自定义简单数据,微信终端会回传给第三方程序处理
  228. * @attention 长度不能超过2K
  229. */
  230. @property (nonatomic, copy) NSString *extInfo;
  231. /**
  232. 微信网页消息url
  233. */
  234. @property (nonatomic, copy) NSString * url;
  235. @end
  236. /**
  237. 分享到支付宝好友
  238. */
  239. @interface UMSocialAlipaySessionData : UMSocialSnsData
  240. /**
  241. 图文分享标题
  242. */
  243. @property (nonatomic, copy) NSString * title;
  244. /**
  245. 支付宝消息类型
  246. */
  247. @property (nonatomic, assign) UMSocialAlipayMessageType alipayMessageType;
  248. /**
  249. 支付宝网页消息url
  250. */
  251. @property (nonatomic, copy) NSString * url;
  252. @end
  253. /**
  254. 分享到人人网数据
  255. */
  256. @interface UMSocialRenrenData : UMSocialSnsData
  257. /**
  258. 分享内容链接地址
  259. */
  260. @property (nonatomic, copy) NSString *url;
  261. /**
  262. 应用名称
  263. */
  264. @property (nonatomic, copy) NSString *appName;
  265. @end
  266. /**
  267. 分享到豆瓣
  268. */
  269. @interface UMSocialDoubanData : UMSocialSnsData
  270. @end
  271. /**
  272. 分享到邮箱
  273. */
  274. @interface UMSocialEmailData : UMSocialSnsData
  275. /**
  276. 邮件标题
  277. */
  278. @property (nonatomic, copy) NSString * title;
  279. @end
  280. /**
  281. 分享到短信
  282. */
  283. @interface UMSocialSmsData : UMSocialSnsData
  284. @end
  285. /**
  286. 分享到Facebook
  287. */
  288. @interface UMSocialFacebookData : UMSocialSnsData
  289. /**
  290. 分享URL标题
  291. */
  292. @property (nonatomic, copy) NSString *title;
  293. /**
  294. 分享URL描述
  295. */
  296. @property (nonatomic, copy) NSString *linkDescription;
  297. /**
  298. 分享URL地址
  299. */
  300. @property (nonatomic, copy) NSString *url;
  301. @end
  302. /**
  303. 分享到易信好友
  304. */
  305. @interface UMSocialYXSessionData : UMSocialSnsData
  306. /**
  307. 易信消息类型
  308. */
  309. @property (nonatomic, assign) UMSocialYXMessageType yxMessageType;
  310. /**
  311. 分享网页消息的链接地址
  312. */
  313. @property (nonatomic, copy) NSString *url;
  314. @end
  315. /**
  316. 分享到易信朋友圈
  317. */
  318. @interface UMSocialYXTimelineData : UMSocialSnsData
  319. /**
  320. 易信消息类型
  321. */
  322. @property (nonatomic, assign) UMSocialYXMessageType yxMessageType;
  323. /**
  324. 分享网页消息的链接地址
  325. */
  326. @property (nonatomic, copy) NSString *url;
  327. @end
  328. /**
  329. 分享到来往好友
  330. */
  331. @interface UMSocialLWSessionData : UMSocialSnsData
  332. /**
  333. 分享网页消息的链接地址
  334. */
  335. @property (nonatomic, copy) NSString *url;
  336. @end
  337. /**
  338. 分享到来往好友
  339. */
  340. @interface UMSocialLWTimelineData : UMSocialSnsData
  341. /**
  342. 分享网页消息的链接地址
  343. */
  344. @property (nonatomic, copy) NSString *url;
  345. @end
  346. /**
  347. 分享到Instagram
  348. */
  349. @interface UMSocialInstagramData : UMSocialSnsData
  350. @end
  351. /**
  352. 分享到Twitter
  353. */
  354. @interface UMSocialTwitterData : UMSocialSnsData
  355. @end
  356. /**
  357. 分享到Tumblr
  358. */
  359. @interface UMSocialTumblrData : UMSocialSnsData
  360. /**
  361. 分享标题
  362. */
  363. @property (nonatomic, copy) NSString *title;
  364. /**
  365. 分享URL
  366. */
  367. @property (nonatomic, copy) NSString *link;
  368. /**
  369. 分享URL描述
  370. */
  371. @property (nonatomic, copy) NSString *linkDescription;
  372. /**
  373. 分享tag
  374. */
  375. @property (nonatomic, copy) NSArray<NSString *> *tags;
  376. @property (nonatomic, copy) NSString *callbackScheme;
  377. @end
  378. ///---------------------------------------------------------------------------------------
  379. /**
  380. 分享到各个平台的扩展设置
  381. */
  382. @interface UMSocialExtConfig : NSObject
  383. /**
  384. 以各个分享平台名为key,各个品台data为value
  385. */
  386. @property (nonatomic, retain) NSDictionary *snsDataDictionary;
  387. /**
  388. 分享到新浪微博内容
  389. */
  390. @property (nonatomic, retain) UMSocialSinaData *sinaData;
  391. /**
  392. 分享到腾讯微博内容
  393. */
  394. @property (nonatomic, retain) UMSocialTencentData *tencentData;
  395. /**
  396. 分享到微信好友内容
  397. */
  398. @property (nonatomic, retain) UMSocialWechatSessionData *wechatSessionData;
  399. /**
  400. 分享到微信朋友圈内容
  401. */
  402. @property (nonatomic, retain) UMSocialWechatTimelineData *wechatTimelineData;
  403. /**
  404. 微信收藏
  405. */
  406. @property (nonatomic, retain) UMSocialWechatFavorite * wechatFavoriteData;
  407. /**
  408. 分享到支付宝好友内容
  409. */
  410. @property (nonatomic, retain) UMSocialAlipaySessionData * alipaySessionData;
  411. /**
  412. 分享到QQ内容
  413. */
  414. @property (nonatomic, retain) UMSocialQQData *qqData;
  415. /**
  416. 分享到Qzone内容
  417. */
  418. @property (nonatomic, retain) UMSocialQzoneData * qzoneData;
  419. /**
  420. 分享到人人网内容
  421. */
  422. @property (nonatomic, retain) UMSocialRenrenData * renrenData;
  423. /**
  424. 分享到豆瓣内容
  425. */
  426. @property (nonatomic, retain) UMSocialDoubanData * doubanData;
  427. /**
  428. 分享到邮箱内容
  429. */
  430. @property (nonatomic, retain) UMSocialEmailData *emailData;
  431. /**
  432. 分享到短信内容
  433. */
  434. @property (nonatomic, retain) UMSocialSmsData *smsData;
  435. /**
  436. Facebook内容
  437. */
  438. @property (nonatomic, retain) UMSocialFacebookData * facebookData;
  439. /**
  440. Twitter内容
  441. */
  442. @property (nonatomic, retain) UMSocialTwitterData *twitterData;
  443. /**
  444. 易信好友
  445. */
  446. @property (nonatomic, retain) UMSocialYXSessionData * yxsessionData;
  447. /**
  448. 易信朋友圈
  449. */
  450. @property (nonatomic, retain) UMSocialYXTimelineData *yxtimelineData;
  451. /**
  452. 来往好友
  453. */
  454. @property (nonatomic, retain) UMSocialLWSessionData * lwsessionData;
  455. /**
  456. 来往朋友圈
  457. */
  458. @property (nonatomic, retain) UMSocialLWTimelineData * lwtimelineData;
  459. /**
  460. instagram
  461. */
  462. @property (nonatomic, retain) UMSocialInstagramData * instagramData;
  463. /**
  464. tumblr
  465. */
  466. @property (nonatomic, retain) UMSocialTumblrData * tumblrData;
  467. /**
  468. 标题,用于指定微信分享标题,qzone分享的标题和邮件分享的标题。
  469. @attention Deprecated
  470. */
  471. @property (nonatomic, copy) NSString *title;
  472. /**
  473. 分享到微信的消息类型,分别有文字类型,图片类型,app类型(文字和图片都有,点击可以返回app或者到指定url,不过不能全部显示所有文字内容)
  474. @attention Deprecated
  475. */
  476. @property (nonatomic, assign) UMSocialWXMessageType wxMessageType;
  477. /**
  478. 微信多媒体资源的分享,详细定义见`WXApiObject.h`
  479. @attention Deprecated
  480. */
  481. @property (nonatomic, retain) id wxMediaObject;
  482. @end