TIMMessage+MsgExt.h
3.87 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
//
// TIMMessage+MsgExt.h
// IMMessageExt
//
// Created by tomzhu on 2016/12/27.
//
//
#ifndef TIMMessage_h
#define TIMMessage_h
#import "ImSDK.h"
#import "TIMComm+MsgExt.h"
#pragma mark - Elem类型
/**
* 关系链变更消息
*/
@interface TIMSNSSystemElem : TIMElem
/**
* 操作类型
*/
@property(nonatomic,assign) TIM_SNS_SYSTEM_TYPE type;
/**
* 被操作用户列表:TIMSNSChangeInfo 列表
*/
@property(nonatomic,strong) NSArray * users;
/**
* 未决已读上报时间戳 type=TIM_SNS_SYSTEM_PENDENCY_REPORT 有效
*/
@property(nonatomic,assign) uint64_t pendencyReportTimestamp;
/**
* 推荐已读上报时间戳 type=TIM_SNS_SYSTEM_RECOMMEND_REPORT 有效
*/
@property(nonatomic,assign) uint64_t recommendReportTimestamp;
/**
* 已决已读上报时间戳 type=TIM_SNS_SYSTEM_DECIDE_REPORT 有效
*/
@property(nonatomic,assign) uint64_t decideReportTimestamp;
@end
/**
* 资料变更系统消息
*/
@interface TIMProfileSystemElem : TIMElem
/**
* 变更类型
*/
@property(nonatomic,assign) TIM_PROFILE_SYSTEM_TYPE type;
/**
* 资料变更的用户
*/
@property(nonatomic,strong) NSString * fromUser;
/**
* 资料变更的昵称(如果昵称没有变更,该值为nil)
*/
@property(nonatomic,strong) NSString * nickName;
@end
#pragma mark - 消息扩展
@interface TIMMessage (MsgExt)
/**
* 是否已读
*
* @return TRUE 已读 FALSE 未读
*/
- (BOOL)isReaded;
/**
* 对方是否已读(仅C2C消息有效)
*
* @return TRUE 已读 FALSE 未读
*/
- (BOOL)isPeerReaded;
/**
* 删除消息
*
* @return TRUE 成功
*/
- (BOOL)remove;
/**
* 消息有断层,OnNewMessage回调收到消息,如果有断层,需要重新GetMessage补全(有C2C漫游的情况下使用)
*
* @return TRUE 有断层
* FALSE 无断层
*/
- (BOOL)hasGap;
/**
* 设置自定义整数,默认为0
*
* @param param 设置参数
*
* @return TRUE 设置成功
*/
- (BOOL)setCustomInt:(int32_t)param;
/**
* 设置自定义数据,默认为""
*
* @param data 设置参数
*
* @return TRUE 设置成功
*/
- (BOOL)setCustomData:(NSData*)data;
/**
* 获取CustomInt
*
* @return CustomInt
*/
- (int32_t)customInt;
/**
* 获取CustomData
*
* @return CustomData
*/
- (NSData*)customData;
/**
* 获取消息定位符
*
* @return locator
*/
- (TIMMessageLocator*)locator;
/**
* 是否为locator对应的消息
*
* @param locator 消息定位符
*
* @return YES 是对应的消息
*/
- (BOOL)respondsToLocator:(TIMMessageLocator*)locator;
/**
* 设置消息时间戳,导入到本地时有效
*
* @param time 时间戳
*
* @return 0 成功
*/
- (int)setTime:(time_t)time;
/**
* 设置消息发送方(需要先将消息到导入到本地,调用 convertToImportedMsg 方法)
*
* @param sender 发送方Id
*
* @return 0 成功
*/
- (int)setSender:(NSString*)sender;
/**
* 将消息导入到本地
*
* @return 0 成功
*/
- (int)convertToImportedMsg;
@end
#pragma mark - 消息草稿
@interface TIMMessageDraft : NSObject
/**
* 设置自定义数据
*
* @param userData 自定义数据
*
* @return 0 成功
*/
- (int)setUserData:(NSData*)userData;
/**
* 获取自定义数据
*
* @return 自定义数据
*/
- (NSData*)getUserData;
/**
* 增加Elem
*
* @param elem elem结构
*
* @return 0 表示成功
* 1 禁止添加Elem(文件或语音多于两个Elem)
* 2 未知Elem
*/
- (int)addElem:(TIMElem*)elem;
/**
* 获取对应索引的Elem
*
* @param index 对应索引
*
* @return 返回对应Elem
*/
- (TIMElem*)getElem:(int)index;
/**
* 获取Elem数量
*
* @return elem数量
*/
- (int)elemCount;
/**
* 草稿生成对应的消息
*
* @return 消息
*/
- (TIMMessage*)transformToMessage;
/**
* 当前消息的时间戳
*
* @return 时间戳
*/
- (NSDate*)timestamp;
@end
#endif /* TIMMessage_h */