// // XHMessage.h // MessageDisplayExample // // Created by HUAJIE-1 on 14-4-24. // Copyright (c) 2014年 曾宪华 开发团队(http://iyilunba.com ) 本人QQ:543413507 本人QQ群(142557668). All rights reserved. // #import #import #import #import "baseModel.h" #import "XHMessageBubbleFactory.h" @interface XHMessage : baseModel @property (nonatomic, copy) NSString *content; @property (nonatomic, strong) UIImage *photo; //@property (nonatomic, copy) NSString *thumbnailUrl; //@property (nonatomic, copy) NSString *originPhotoUrl; @property (nonatomic, strong) UIImage *videoConverPhoto; @property (nonatomic, copy) NSString *videoPath; //@property (nonatomic, copy) NSString *videoUrl; @property (nonatomic, copy) NSString *voicePath; //@property (nonatomic, copy) NSString *voiceUrl; @property (nonatomic, copy) NSNumber *duration; @property (nonatomic, copy) NSString *emotionPath; @property (nonatomic, strong) UIImage *localPositionPhoto; @property (nonatomic, copy) NSString *geolocations; @property (nonatomic, strong) CLLocation *location; @property (nonatomic, strong) UIImage *avatar; @property (nonatomic, assign) BOOL shouldShowTimestamp; @property (nonatomic, assign) BOOL shouldShowUserName; @property (nonatomic, assign) XHBubbleMessageMediaType messageMediaType; @property (nonatomic, assign) XHBubbleMessageType bubbleMessageType; @property (nonatomic) BOOL isRead; @property (nonatomic, copy) NSString *senderID; @property (nonatomic, copy) NSString *senderName; @property (nonatomic, copy) NSNumber *senderType; @property (nonatomic, copy) NSNumber *type; @property (nonatomic, copy) NSString *online; @property (nonatomic, assign) BOOL hide; /** * 初始化文本消息 * * @param text 发送的目标文本 * @param sender 发送者的名称 * @param timestamp 发送的时间 * * @return 返回Message model 对象 */ - (instancetype)initWithText:(NSString *)text sender:(NSString *)sender timestamp:(NSDate *)timestamp; /** * 初始化图片类型的消息 * * @param photo 目标图片 * @param thumbnailUrl 目标图片在服务器的缩略图地址 * @param originPhotoUrl 目标图片在服务器的原图地址 * @param sender 发送者 * @param timestamp 发送时间 * * @return 返回Message model 对象 */ - (instancetype)initWithPhoto:(UIImage *)photo thumbnailUrl:(NSString *)thumbnailUrl originPhotoUrl:(NSString *)originPhotoUrl sender:(NSString *)sender timestamp:(NSDate *)timestamp; /** * 初始化视频类型的消息 * * @param videoConverPhoto 目标视频的封面图 * @param videoPath 目标视频的本地路径,如果是下载过,或者是从本地发送的时候,会存在 * @param videoUrl 目标视频在服务器上的地址 * @param sender 发送者 * @param timestamp 发送时间 * * @return 返回Message model 对象 */ - (instancetype)initWithVideoConverPhoto:(UIImage *)videoConverPhoto videoPath:(NSString *)videoPath videoUrl:(NSString *)videoUrl sender:(NSString *)sender timestamp:(NSDate *)timestamp; /** * 初始化语音类型的消息 * * @param voicePath 目标语音的本地路径 * @param voiceUrl 目标语音在服务器的地址 * @param voiceDuration 目标语音的时长 * @param sender 发送者 * @param timestamp 发送时间 * * @return 返回Message model 对象 */ - (instancetype)initWithVoicePath:(NSString *)voicePath voiceUrl:(NSString *)voiceUrl voiceDuration:(NSNumber *)voiceDuration sender:(NSString *)sender timestamp:(NSDate *)timestamp; /** * 初始化语音类型的消息。增加已读未读标记 * * @param voicePath 目标语音的本地路径 * @param voiceUrl 目标语音在服务器的地址 * @param voiceDuration 目标语音的时长 * @param sender 发送者 * @param timestamp 发送时间 * @param isRead 已读未读标记 * * @return 返回Message model 对象 */ - (instancetype)initWithVoicePath:(NSString *)voicePath voiceUrl:(NSString *)voiceUrl voiceDuration:(NSNumber *)voiceDuration sender:(NSString *)sender timestamp:(NSDate *)timestamp isRead:(BOOL)isRead; /** * 初始化gif表情类型的消息 * * @param emotionPath 表情的路径 * @param sender 发送者 * @param timestamp 发送时间 * * @return 返回Message model 对象 */ - (instancetype)initWithEmotionPath:(NSString *)emotionPath sender:(NSString *)sender timestamp:(NSDate *)timestamp; /** * 初始化地理位置的消息 * * @param localPositionPhoto 地理位置默认显示的图 * @param geolocations 地理位置的信息 * @param location 地理位置的经纬度 * @param sender 发送者 * @param timestamp 发送时间 * * @return 返回Message model 对象 */ - (instancetype)initWithLocalPositionPhoto:(UIImage *)localPositionPhoto geolocations:(NSString *)geolocations location:(CLLocation *)location sender:(NSString *)sender timestamp:(NSDate *)timestamp; @end