123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458 |
- //
- // UMSocialMessageObject.h
- // SocialSDK
- //
- // Created by umeng on 16/4/22.
- // Copyright © 2016年 dongjianxiong. All rights reserved.
- //
- #import <Foundation/Foundation.h>
- #import <UIKit/UIKit.h>
- @interface UMSocialMessageObject : NSObject
- /**
- * 文本标题
- * @disucss v6.0.3版本后增加的一个字段,
- * @disucss 该字段目前只有Tumblr平台会使用到。
- * @discuss 该字段以后会在需要文本title字段中扩展,具体请参看官方文档。
- */
- @property (nonatomic,copy)NSString* title;
- /**
- * text 文本内容
- * @note 非纯文本分享文本
- */
- @property (nonatomic, copy) NSString *text;
- /**
- * 分享的所媒体内容对象
- */
- @property (nonatomic, strong) id shareObject;
- /**
- * 其他相关参数,见相应平台说明
- */
- @property (nonatomic, strong) NSDictionary *moreInfo;
- + (UMSocialMessageObject *)messageObject;
- + (UMSocialMessageObject *)messageObjectWithMediaObject:(id)mediaObject;
- @end
- @interface UMShareObject : NSObject
- /**
- * 标题
- * @note 标题的长度依各个平台的要求而定
- */
- @property (nonatomic, copy) NSString *title;
- /**
- * 描述
- * @note 描述内容的长度依各个平台的要求而定
- */
- @property (nonatomic, copy) NSString *descr;
- /**
- * 缩略图 UIImage或者NSData类型或者NSString类型(图片url)
- */
- @property (nonatomic, strong) id thumbImage;
- /**
- * @param title 标题
- * @param descr 描述
- * @param thumImage 缩略图(UIImage或者NSData类型,或者image_url)
- *
- */
- + (id)shareObjectWithTitle:(NSString *)title
- descr:(NSString *)descr
- thumImage:(id)thumImage;
- + (void)um_imageDataWithImage:(id)image completion:(void (^)(NSData *image))completion;
- #pragma mark - 6.0.3新版本的函数
- + (void)um_imageDataWithImage:(id)image withCompletion:(void (^)(NSData *imageData,NSError* error))completion;
- @end
- @interface UMShareImageObject : UMShareObject
- /** 分享单个图片(支持UIImage,NSdata以及图片链接Url NSString类对象集合)
- * @note 图片大小根据各个平台限制而定
- */
- @property (nonatomic, retain) id shareImage;
- /** 分享图片数组,支持 UIImage、NSData 类型
- * @note 仅支持分享到:
- * 微博平台,最多可分享9张图片
- * QZone平台,最多可分享20张图片
- */
- @property (nonatomic, copy) NSArray *shareImageArray;
- /**
- * @param title 标题
- * @param descr 描述
- * @param thumImage 缩略图(UIImage或者NSData类型,或者image_url)
- *
- */
- + (UMShareImageObject *)shareObjectWithTitle:(NSString *)title
- descr:(NSString *)descr
- thumImage:(id)thumImage;
- @end
- @interface UMShareMusicObject : UMShareObject
- /** 音乐网页的url地址
- * @note 长度不能超过10K
- */
- @property (nonatomic, retain) NSString *musicUrl;
- /** 音乐lowband网页的url地址
- * @note 长度不能超过10K
- */
- @property (nonatomic, retain) NSString *musicLowBandUrl;
- /** 音乐数据url地址
- * @note 长度不能超过10K
- */
- @property (nonatomic, retain) NSString *musicDataUrl;
- /**音乐lowband数据url地址
- * @note 长度不能超过10K
- */
- @property (nonatomic, retain) NSString *musicLowBandDataUrl;
- /**
- * @param title 标题
- * @param descr 描述
- * @param thumImage 缩略图(UIImage或者NSData类型,或者image_url)
- *
- */
- + (UMShareMusicObject *)shareObjectWithTitle:(NSString *)title
- descr:(NSString *)descr
- thumImage:(id)thumImage;
- @end
- @interface UMShareVideoObject : UMShareObject
- /**
- 视频网页的url
-
- @warning 不能为空且长度不能超过255
- */
- @property (nonatomic, strong) NSString *videoUrl;
- /**
- 视频lowband网页的url
-
- @warning 长度不能超过255
- */
- @property (nonatomic, strong) NSString *videoLowBandUrl;
- /**
- 视频数据流url
-
- @warning 长度不能超过255
- */
- @property (nonatomic, strong) NSString *videoStreamUrl;
- /**
- 视频lowband数据流url
-
- @warning 长度不能超过255
- */
- @property (nonatomic, strong) NSString *videoLowBandStreamUrl;
- /**
- * @param title 标题
- * @param descr 描述
- * @param thumImage 缩略图(UIImage或者NSData类型,或者image_url)
- *
- */
- + (UMShareVideoObject *)shareObjectWithTitle:(NSString *)title
- descr:(NSString *)descr
- thumImage:(id)thumImage;
- @end
- @interface UMShareWebpageObject : UMShareObject
- /** 网页的url地址
- * @note 不能为空且长度不能超过10K
- */
- @property (nonatomic, retain) NSString *webpageUrl;
- /**
- * @param title 标题
- * @param descr 描述
- * @param thumImage 缩略图(UIImage或者NSData类型,或者image_url)
- *
- */
- + (UMShareWebpageObject *)shareObjectWithTitle:(NSString *)title
- descr:(NSString *)descr
- thumImage:(id)thumImage;
- @end
- /*! @brief 分享消息中的邮件分享对象
- *
- * @see UMSocialMessageObject
- */
- @interface UMShareEmailObject : UMShareObject
- /**
- * 主题
- */
- @property (nonatomic, strong) NSString *subject;
- /**
- * 接收人
- */
- @property (nonatomic, strong) NSArray *toRecipients;
- /**
- * 抄送人
- */
- @property (nonatomic, strong) NSArray *ccRecipients;
- /**
- * 密送人
- */
- @property (nonatomic, strong) NSArray *bccRecipients;
- /**
- * 文本内容
- */
- @property (nonatomic, copy) NSString *emailContent;
- /**
- * 图片,最好是本地图片(UIImage,或者NSdata)
- */
- @property (nonatomic, strong) id emailImage;
- /**
- * 发送图片的类型 @see MIME
- * 默认 "image/ *"
- */
- @property (nonatomic, copy) NSString* emailImageType;
- /**
- * 发送图片的名字
- * 默认 "um_share_image.png"
- */
- @property (nonatomic, copy) NSString* emailImageName;
- /**
- * 文件(NSData)
- */
- @property (nonatomic, strong) NSData *emailSendData;
- /**
- * 文件格式
- * @see MIME
- * 默认 "text/ *"
- */
- @property (nonatomic, copy) NSString *fileType;
- /**
- * 文件名,(例如图片 imageName.png, 文件名后要跟文件后缀名,否则没法识别,导致类似图片不显示的问题)
- * 默认 "um_share_file.txt"
- */
- @property (nonatomic, copy) NSString *fileName;
- @end
- /*! @brief 分享消息中的短信分享对象
- *
- * @see UMSocialMessageObject
- * @discuss UMShareSmsObject只能发送的附件是图片!!!!
- * 如果发送其他的文件的话,虽然能在短信界面显示发送的文件,但是会发送不成功
- */
- @interface UMShareSmsObject : UMShareObject
- /**
- * 接收人
- */
- @property (nonatomic, strong) NSArray *recipients;
- /**
- * 主题
- */
- @property (nonatomic, strong) NSString *subject;
- /**
- * 文本内容
- */
- @property (nonatomic, copy) NSString *smsContent;
- /**
- * 图片
- */
- @property (nonatomic, strong) id smsImage;//UIImage对象必填
- @property (nonatomic, copy) NSString *imageType;//图片格式必填,必须指定数据格式,如png图片格式应传入@"png"
- @property (nonatomic, copy) NSString *imageName;//图片 例如 imageName.png, 文件名后要跟文件后缀名,否则没法识别,导致类似图片不显示的问题)
- #pragma mark - 以下字段为非图片的属性
- /**
- * 文件数据(NSData)
- * 必填
- */
- @property (nonatomic, strong) NSData *smsSendData;
- /**
- * 文件格式
- * 必填,必须指定数据格式,如png图片格式应传入@"txt"
- */
- @property (nonatomic, copy) NSString *fileType;
- /**
- * 文件名,(例如图片 fileName.txt, 文件名后要跟文件后缀名,否则没法识别,导致类似图片不显示的问题)
- */
- @property (nonatomic, copy) NSString *fileName;
- /**
- * 文件地址url(http:// or file:// ...../fileName.txt)
- */
- @property (nonatomic, copy) NSString *fileUrl;
- @end
- /**
- * 表情的类
- * 表请的缩略图数据请存放在UMShareEmotionObject中
- * 注意:emotionData和emotionURL成员不能同时为空,若同时出现则取emotionURL
- */
- @interface UMShareEmotionObject : UMShareObject
- /**
- * 表情数据,如GIF等
- * @note 微信的话大小不能超过10M
- */
- @property (nonatomic, strong) NSData *emotionData;
- /**
- * @param title 标题
- * @param descr 描述
- * @param thumImage 缩略图(UIImage或者NSData类型,或者image_url)
- *
- */
- + (UMShareEmotionObject *)shareObjectWithTitle:(NSString *)title
- descr:(NSString *)descr
- thumImage:(id)thumImage;
- @end
- #pragma mark - UMSAppExtendObject
- /*! @brief 多媒体消息中包含的App扩展数据对象
- *
- * 第三方程序向微信终端发送包含UMShareExtendObject的多媒体消息,
- * 微信需要处理该消息时,会调用该第三方程序来处理多媒体消息内容。
- * @note url,extInfo和fileData不能同时为空
- * @see UMShareObject
- */
- @interface UMShareExtendObject : UMShareObject
- /** 若第三方程序不存在,微信终端会打开该url所指的App下载地址
- * @note 长度不能超过10K
- */
- @property (nonatomic, retain) NSString *url;
- /** 第三方程序自定义简单数据,微信终端会回传给第三方程序处理
- * @note 长度不能超过2K
- */
- @property (nonatomic, retain) NSString *extInfo;
- /** App文件数据,该数据发送给微信好友,微信好友需要点击后下载数据,微信终端会回传给第三方程序处理
- * @note 大小不能超过10M
- */
- @property (nonatomic, retain) NSData *fileData;
- @end
- #pragma mark - UMFileObject
- /*! @brief 多媒体消息中包含的文件数据对象
- *
- * @see UMShareObject
- */
- @interface UMShareFileObject : UMShareObject
- /** 文件后缀名
- * @note 长度不超过64字节
- */
- @property (nonatomic, retain) NSString *fileExtension;
- /** 文件真实数据内容
- * @note 大小不能超过10M
- */
- @property (nonatomic, retain) NSData *fileData;
- @end
- #pragma mark - UMMiniProgramObject
- typedef NS_ENUM(NSUInteger, UShareWXMiniProgramType){
- UShareWXMiniProgramTypeRelease = 0, //**< 正式版 */
- UShareWXMiniProgramTypeTest = 1, //**< 开发版 */
- UShareWXMiniProgramTypePreview = 2, //**< 体验版 */
- };
- /*! @brief 多媒体消息中包含 分享微信小程序的数据对象
- *
- * @see UMShareObject
- */
- @interface UMShareMiniProgramObject : UMShareObject
- /**
- 低版本微信网页链接
- */
- @property (nonatomic, strong) NSString *webpageUrl;
- /**
- 小程序username
- */
- @property (nonatomic, strong) NSString *userName;
- /**
- 小程序页面的路径
- */
- @property (nonatomic, strong) NSString *path;
- /**
- 小程序新版本的预览图 128k
- */
- @property (nonatomic, strong) NSData *hdImageData;
- /**
- 分享小程序的版本(正式,开发,体验)
- 正式版 尾巴正常显示
- 开发版 尾巴显示“未发布的小程序·开发版”
- 体验版 尾巴显示“未发布的小程序·体验版”
- */
- @property (nonatomic, assign) UShareWXMiniProgramType miniProgramType;
- /**
- 是否使用带 shareTicket 的转发
- */
- @property (nonatomic, assign) BOOL withShareTicket;
- @end
|