Constructor
new MessagingService()
构造函数。
Extends
Classes
Members
contactEventFun :function
联系模块的事件监听函数。
Type:
- function
contactService :ContactService
联系人服务。
Type:
conversations :Array.<Conversation>
会话列表。
Type:
- Array.<Conversation>
(protected) defaultRetrospect :number
- Overrides:
默认回溯时长,默认值:30个自然天。
Type:
- number
(protected) dependencies :Array.<string>
- Overrides:
模块的外部依赖。
Type:
- Array.<string>
(protected) deps :Array.<string>
- Overrides:
依赖库列表。
Type:
- Array.<string>
fileStorageEventFun :function
文件存储模块的事件监听函数。
Type:
- function
(protected) kernel :Kernel
- Overrides:
内核对象。
Type:
lastMessageTime :number
最近一条消息的时间。
Type:
- number
lastQueryTime :number
最近一次查询操作的执行时间。用于控制高频查询。
Type:
- number
(protected) name :string
- Overrides:
模块名称。
Type:
- string
notifiedQueue :Array.<Message>
消息通知达到队列。
Type:
- Array.<Message>
(protected) pipeline :Pipeline
- Overrides:
模块使用的默认数据管道。
Type:
pipelineListener :MessagingPipelineListener
用于监听数据通道数据的监听器。
Type:
(protected) pluginSystem :PluginSystem
- Overrides:
消息插件系统。
Type:
pushQueue :Array.<Message>
发送队列。
Type:
- Array.<Message>
sendingMap :OrderMap.<number, Message>
正在发送队列。
Type:
(protected) started :boolean
- Overrides:
是否已启动。
Type:
- boolean
storage :MessagingStorage
消息存储器。
Type:
Methods
applyConversation(idOrEntity, handleSuccess, handleFailure)
申请指定的会话。
Parameters:
Name | Type | Description |
---|---|---|
idOrEntity |
number | Contact | Group | 指定实体 ID 或者联系人及群组。 |
handleSuccess |
function | 操作成功回调句柄,参数:( |
handleFailure |
function | 操作失败回调句柄,参数:( |
assemble()
组装插件系统。
changeConversationName(conversation, newName, handleSuccess, handleFailure)
修改会话名称。该方法仅对基于群组的会话有效。
Parameters:
Name | Type | Description |
---|---|---|
conversation |
Conversation | 指定会话实例。 |
newName |
string | 指定新会话名称。 |
handleSuccess |
function | 操作成功回调句柄,参数:( |
handleFailure |
function | 操作失败回调句柄,参数:( |
config(config)
- Overrides:
配置模块。
Parameters:
Name | Type | Description |
---|---|---|
config |
JSON | 配置信息。 |
createGroupConversation(memberList, handleSuccess, handleFailure)
创建关联群组的会话。
Parameters:
Name | Type | Description |
---|---|---|
memberList |
Array.<Contact> | 指定群成员列表。 |
handleSuccess |
function | 操作成功的回调方法。参数:( |
handleFailure |
function | 操作失败的回调方法。参数:( |
deleteConversation(idOrConversation, handleSuccess, handleFailure)
删除指定会话。
Parameters:
Name | Type | Description |
---|---|---|
idOrConversation |
number | Conversation | 指定会话 ID 或者会话实例。 |
handleSuccess |
function | 操作成功回调句柄,参数:( |
handleFailure |
function | 操作失败回调句柄,参数:( |
deleteDraft(target) → {boolean}
删除草稿。
Parameters:
Name | Type | Description |
---|---|---|
target |
Contact | Group | number | 草稿的目标实体。 |
Returns:
删除成功返回 true
。
- Type
- boolean
deleteMessage(message, handleSuccessopt, handleFailureopt) → {boolean}
删除消息。
Parameters:
Name | Type | Attributes | Description |
---|---|---|---|
message |
Message | number | 指定消息实例或者消息 ID 。 |
|
handleSuccess |
function |
<optional> |
操作成功回调该方法,参数:( |
handleFailure |
function |
<optional> |
操作错误回调该方法,参数:( |
Returns:
返回是否能执行该操作。
- Type
- boolean
deleteRecentMessager(messager, handleSuccessopt, handleFailureopt)
删除指定的最近消息列表里的联系人或群组。
Parameters:
Name | Type | Attributes | Description |
---|---|---|---|
messager |
Group | Contact | number | 指定需要移除的联系人或者群组。 |
|
handleSuccess |
function |
<optional> |
操作成功回调该方法,参数:( |
handleFailure |
function |
<optional> |
操作错误回调该方法,参数:( |
deregister(plugin)
注销插件。
Parameters:
Name | Type | Description |
---|---|---|
plugin |
MessagePlugin |
destroyConversation(conversation, handleSuccess, handleFailure)
销毁指定会话。
Parameters:
Name | Type | Description |
---|---|---|
conversation |
Conversation | 指定会话实例。 |
handleSuccess |
function | 操作成功回调句柄,参数:( |
handleFailure |
function | 操作失败回调句柄,参数:( |
fillConversation(conversation) → {Promise}
填充会话数据。
Parameters:
Name | Type | Description |
---|---|---|
conversation |
Conversation |
Returns:
- Type
- Promise
getAuthToken() → {AuthToken}
- Overrides:
获取访问令牌。
Returns:
返回当前存储的访问令牌,如果没有获得令牌返回 null
值。
- Type
- AuthToken
getConversation(conversationId, handleSuccess, handleFailureopt)
获取指定会话。
Parameters:
Name | Type | Attributes | Description |
---|---|---|---|
conversationId |
number | 指定会话 ID 。 |
|
handleSuccess |
function | 操作成功的回调方法。参数:( |
|
handleFailure |
function |
<optional> |
操作失败的回调方法。参数:( |
getName() → {string}
- Overrides:
获取模块名称。
Returns:
返回模块名称。
- Type
- string
getPluginSystem() → {PluginSystem}
- Overrides:
获取插件系统对象实例。
Returns:
返回插件系统对象实例。
- Type
- PluginSystem
getRecentConversations(handler)
获取最近的会话清单。
Parameters:
Name | Type | Description |
---|---|---|
handler |
function | 指定会话清单回调句柄,参数:( |
hasStarted() → {boolean}
- Overrides:
是否已启动过该模块。
Returns:
如果已启动返回 true
,否则返回 false
。
- Type
- boolean
isReady() → {boolean}
- Overrides:
模块是否就绪。
Returns:
如果模块就绪返回 true
。
- Type
- boolean
isSender(message) → {boolean}
消息是否是当前签入的联系人账号发出的。 即当前账号是否是指定消息的发件人。
Parameters:
Name | Type | Description |
---|---|---|
message |
Message | 指定消息实例。 |
Returns:
如果是当前签入人发出的返回 true
。
- Type
- boolean
loadDraft(target, handleSuccess, handleFailureopt) → {boolean}
加载草稿。
Parameters:
Name | Type | Attributes | Description |
---|---|---|---|
target |
Contact | Group | number | 草稿的目标实体。 |
|
handleSuccess |
function | 成功回调。参数:( |
|
handleFailure |
function |
<optional> |
失败回调。参数:( |
Returns:
是否可加载。
- Type
- boolean
markLocalOnlyOwner(message)
标记指定的消息为本地的自作用域消息。
该方法会触发 MessagingEvent.MarkOnlyOwner
事件。
Parameters:
Name | Type | Description |
---|---|---|
message |
Message | 指定消息。 |
markRead(message, handleSuccessopt, handleFailureopt) → {boolean}
标记消息已读。
Parameters:
Name | Type | Attributes | Description |
---|---|---|---|
message |
Message | number | 指定消息实例或者消息 ID 。 |
|
handleSuccess |
function |
<optional> |
操作成功回调该方法,参数:( |
handleFailure |
function |
<optional> |
操作失败回调该方法,参数:( |
Returns:
返回是否能执行该操作。
- Type
- boolean
on(eventopt, listener)
- Overrides:
- See:
设置指定事件的监听回调函数。
Parameters:
Name | Type | Attributes | Description |
---|---|---|---|
event |
string |
<optional> |
指定事件名。 |
listener |
function | 当发生该事件时回调此函数,函数参数参看 ModuleEvent 。 |
queryLastMessageWithContact(contactOrId, handler)
查询指定联系人的最后一条消息。
Parameters:
Name | Type | Description |
---|---|---|
contactOrId |
Contact | number | 指定联系人或联系人 ID 。 |
handler |
function | 回调函数,参数:( |
queryLastMessageWithGroup(groupOrId, handler)
查询指定联系人的最后一条消息。
Parameters:
Name | Type | Description |
---|---|---|
groupOrId |
Group | number | 指定群组或群组 ID 。 |
handler |
function | 回调函数,参数:( |
queryMessageById(messageId, handler)
通过消息 ID 查询指定消息。
Parameters:
Name | Type | Description |
---|---|---|
messageId |
number | |
handler |
function | 回调函数,函数参数:( |
queryMessages(time, handler) → {boolean}
查询指定时间开始到当前时间的所有消息。
Parameters:
Name | Type | Description |
---|---|---|
time |
number | 指定查询的起始时间。 |
handler |
function | 查询结果回调函数,函数参数:( |
Returns:
如果成功执行查询返回 true
。
- Type
- boolean
queryMessagesWithContact(contactOrId, beginning, handler) → {boolean}
查询指定联系人 ID 相关的所有消息,即包括该联系人发送的消息,也包含该联系人接收的消息。从起始时间向后查询所有消息。
Parameters:
Name | Type | Description |
---|---|---|
contactOrId |
Contact | number | 指定联系人或联系人 ID 。 |
beginning |
number | 指定查询的起始时间。 |
handler |
function | 查询结果回调函数,函数参数:( |
Returns:
如果成功执行查询返回 true
。
- Type
- boolean
queryMessagesWithGroup(groupOrId, beginning, handler) → {boolean}
查询指定群组 ID 相关的所有消息。从起始时间向后查询所有消息。
Parameters:
Name | Type | Description |
---|---|---|
groupOrId |
Group | number | 指定群组或者群组 ID 。 |
beginning |
number | 指定查询的起始时间。 |
handler |
function | 查询结果回调函数,函数参数:( |
Returns:
如果成功执行查询返回 true
。
- Type
- boolean
queryRecentMessagers(handler, beginningopt)
查询最近的消息记录对应的联系人或群组。
Parameters:
Name | Type | Attributes | Description |
---|---|---|---|
handler |
function | ||
beginning |
number |
<optional> |
指定查询的开始时间戳。 |
queryRecentMessagesWithContact(contactOrId, limit, handler)
查询最近的指定的联系人消息。返回的消息列表为时间戳正序。
Parameters:
Name | Type | Description |
---|---|---|
contactOrId |
Contact | number | 联系人或联系人 ID 。 |
limit |
number | 查询的最大消息数量限制。 |
handler |
function | 查询结果回调。参数:( |
queryRecentMessagesWithGroup(groupOrId, limit, handler)
查询最近的指定的群组消息。返回的消息列表为时间戳正序。
Parameters:
Name | Type | Description |
---|---|---|
groupOrId |
Group | number | 群组或群组 ID 。 |
limit |
number | 查询的最大消息数量限制。 |
handler |
function | 查询结果回调。参数:( |
queryRemoteConversations(limit, handleSuccess, handleFailure)
查询远端服务器上的会话数据。
Parameters:
Name | Type | Description |
---|---|---|
limit |
number | |
handleSuccess |
function | |
handleFailure |
function |
queryRemoteMessage(beginningopt, endingopt, handleropt) → {boolean}
从服务器上下载指定时间段内的数据,数据将直接写入本地存储。
Parameters:
Name | Type | Attributes | Description |
---|---|---|---|
beginning |
number |
<optional> |
指定获取消息的起始时间。 |
ending |
number |
<optional> |
指定获取消息的截止时间。 |
handler |
function |
<optional> |
指定本次查询回调,该回调函数仅用于通知该次查询结束,不携带任何消息数据。 |
Returns:
如果成功执行查询操作返回 true
。
- Type
- boolean
recallMessage(message, handleSuccessopt, handleFailureopt) → {boolean}
撤回消息。
Parameters:
Name | Type | Attributes | Description |
---|---|---|---|
message |
Message | number | 指定消息 ID 或者消息实例。 |
|
handleSuccess |
function |
<optional> |
操作成功回调该方法,参数:( |
handleFailure |
function |
<optional> |
操作错误回调该方法,参数:( |
Returns:
返回是否能执行该操作。
- Type
- boolean
register(plugin)
注册插件。
Parameters:
Name | Type | Description |
---|---|---|
plugin |
MessagePlugin |
require(moduleName)
- Overrides:
声明该模块依赖的其他模块。
Parameters:
Name | Type | Description |
---|---|---|
moduleName |
string |
requireFile(fileOrURL, successCallbackopt, failureCallbackopt)
- Overrides:
请求外部依赖库文件。
Parameters:
Name | Type | Attributes | Description |
---|---|---|---|
fileOrURL |
string | 文件或者文件的 URL 。 |
|
successCallback |
function |
<optional> |
|
failureCallback |
function |
<optional> |
resume()
- Overrides:
恢复模块。
reverseIterateMessageWithContact(contactOrId, timestamp, handleTouch, handleDone)
按照时间戳反向遍历指定联系人的消息。
遍历数据时当 handleTouch
返回 true
时表示继续遍历下一条消息,返回 false
表示停止遍历。
Parameters:
Name | Type | Description |
---|---|---|
contactOrId |
number | Contact | 联系人或联系人 ID 。 |
timestamp |
number | 起始时间戳。 |
handleTouch |
function | 当遍历到数据时回调该函数。参数:( |
handleDone |
function | 当遍历结束时回调该函数。 |
reverseIterateMessageWithGroup(contactOrId, timestamp, handleTouch, handleDone)
按照时间戳反向遍历指定群组的消息。
遍历数据时当 handleTouch
返回 true
时表示继续遍历下一条消息,返回 false
表示停止遍历。
Parameters:
Name | Type | Description |
---|---|---|
contactOrId |
number | Contact | 群组或群组 ID 。 |
timestamp |
number | 起始时间戳。 |
handleTouch |
function | 当遍历到数据时回调该函数。参数:( |
handleDone |
function | 当遍历结束时回调该函数。 |
saveDraft(target, message) → {boolean}
保存草稿。
Parameters:
Name | Type | Description |
---|---|---|
target |
Contact | Group | number | 草稿的目标实体。 |
message |
Message | 草稿的消息实体。 |
Returns:
保存成功返回 true
。
- Type
- boolean
sendTo(destination, message, fileopt) → {Message}
向指定的联系人或者群组发送消息。
Parameters:
Name | Type | Attributes | Description |
---|---|---|---|
destination |
Contact | Group | 指定联系人或者群组。 |
|
message |
JSON | Message | 指定消息实例或消息负载。 |
|
file |
File |
<optional> |
指定消息附件。 |
Returns:
如果消息成功写入数据通道返回 Message 实例,否则返回 null
值。
- Type
- Message
sendToContact(contact, message, fileopt) → {Message}
向指定联系人发送消息。
Parameters:
Name | Type | Attributes | Description |
---|---|---|---|
contact |
Contact | number | 指定联系人或联系人 ID 。 |
|
message |
JSON | Message | 指定消息实例或消息内容。 |
|
file |
File |
<optional> |
指定消息附件。 |
Returns:
如果消息成功写入数据通道返回 Message 实例,否则返回 null
值。
- Type
- Message
sendToGroup(group, message, fileopt) → {Message}
向指定群组发送消息。
Parameters:
Name | Type | Attributes | Description |
---|---|---|---|
group |
Group | number | 指定群组或群组 ID 。 |
|
message |
JSON | Message | 指定消息实例或消息内容。 |
|
file |
File |
<optional> |
指定消息附件。 |
Returns:
如果消息成功写入数据通道返回 Message 实例,否则返回 null
值。
- Type
- Message
start() → {boolean}
- Overrides:
启动模块。
Returns:
返回 false
表示模块不再需要执行启动流程。
- Type
- boolean
stop()
- Overrides:
停止模块。
suspend()
- Overrides:
挂起模块。
updateConversation(conversation, handleSuccess, handleFailure)
更新会话数据。
Parameters:
Name | Type | Description |
---|---|---|
conversation |
Conversation | 指定会话实例。 |
handleSuccess |
function | 操作成功回调句柄,参数:( |
handleFailure |
function | 操作失败回调句柄,参数:( |