You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
175 lines
5.7 KiB
175 lines
5.7 KiB
// |
|
// 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 <UIKit/UIKit.h> |
|
|
|
#import <Foundation/Foundation.h> |
|
#import <CoreLocation/CoreLocation.h> |
|
|
|
#import "baseModel.h" |
|
#import "XHMessageBubbleFactory.h" |
|
|
|
|
|
@interface XHMessage : baseModel <NSCoding, NSCopying> |
|
|
|
@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
|
|
|