MessagingStorage

MessagingStorage

消息存储器。

Constructor

new MessagingStorage(service)

Parameters:
Name Type Description
service MessagingService

消息服务。

Classes

MessagingStorage

Members

configStore :object

配置库。

Type:
  • object

db :InDB

数据库实例。

Type:
  • InDB

domain :string

存储器操作的域。

Type:
  • string

draftStore :object

草稿库。

Type:
  • object

messageStore :object

消息库。

Type:
  • object

service :MessagingService

消息服务。

Type:

Methods

close()

关闭存储器。

containsMessage(message, handler) → {boolean}

数据库里是否包含该消息。

Parameters:
Name Type Description
message Message

指定消息实例。

handler function

查询结果回调函数,函数参数:(message:Message, contained:boolean) 。

Returns:

返回是否执行了查询操作。

Type
boolean

deleteConversation(conversation) → {boolean}

删除会话。

Parameters:
Name Type Description
conversation Conversation

会话实例。

Returns:

返回是否执行了删除操作。

Type
boolean

deleteDraft(ownerId) → {boolean}

删除草稿。

Parameters:
Name Type Description
ownerId number

草稿所属的实体 ID 。

Returns:

返回是否执行了删除操作。

Type
boolean

deleteRecentMessager(id, handleropt) → {boolean}

从最近消息列表里删除指定的联系人或群组。

Parameters:
Name Type Attributes Description
id number

指定 ID 。

handler function <optional>

操作结束的回调函数。参数:(id:number) 。

Returns:

是否执行了操作。

Type
boolean

iterateContactMessage(contactId, timestamp, iterator, reverse) → {boolean}

迭代相关联系人消息。

Parameters:
Name Type Description
contactId number

指定联系人 ID 。

timestamp number

指定起始时间戳。

iterator function

指定迭代器。

reverse boolean

是否反向迭代。

Returns:
Type
boolean

iterateGroupMessage(contactId, timestamp, iterator, reverse) → {boolean}

迭代相关群组消息。

Parameters:
Name Type Description
contactId number

指定群组 ID 。

timestamp number

指定起始时间戳。

iterator function

指定迭代器。

reverse boolean

是否反向迭代。

Returns:
Type
boolean

open(contactId, domain)

打开存储器连接数据库连接。

Parameters:
Name Type Description
contactId number

指定当前签入的联系人 ID 。

domain string

指定操作的域。

queryLastMessageTime(handler) → {boolean}

查询最近一条消息的时间戳。

Parameters:
Name Type Description
handler function

查询结果回调函数,函数参数:(time:number) 。

Returns:

返回是否执行了查询操作。

Type
boolean

queryRecentConversations(limit, handler)

查询最近的会话。

Parameters:
Name Type Description
limit number

查询的最大数量。

handler function

数据回调句柄,参数:(list:Array<Conversation>) 。

queryRecentMessagers(handler) → {boolean}

最近记录的相关消息联系人和群组。

Parameters:
Name Type Description
handler function

查询结果回调函数,参数:(list:Array) 。

Returns:

是否执行了查询操作。

Type
boolean

readConversation(conversationId, handler) → {boolean}

读取指定 ID 的会话。

Parameters:
Name Type Description
conversationId number

指定会话 ID 。

handler function

数据回调。

Returns:

返回是否执行了操作。

Type
boolean

readDraft(ownerId, handler)

读取草稿。

Parameters:
Name Type Description
ownerId number

草稿所属实体的 ID 。

handler function

结果回调,参数:(draft:MessageDraft) 。

readLastMessage(handler) → {boolean}

读取最近一条有效的消息。

Parameters:
Name Type Description
handler function

指定查询结果回调函数,函数参数:(message:Message) 。

Returns:

返回是否执行了读取操作。

Type
boolean

readLastMessageWtihContact(contactId, handler) → {boolean}

读取最近一条有效的消息。

Parameters:
Name Type Description
contactId number

指定该消息关联的联系人 ID 。

handler function

指定查询结果回调函数,函数参数:(message:Message) 。

Returns:

返回是否执行了读取操作。

Type
boolean

readLastMessageWtihGroup(groupId, handler) → {boolean}

读取最近一条有效的消息。

Parameters:
Name Type Description
groupId number

指定群组消息的群组 ID 。

handler function

指定查询结果回调函数,函数参数:(message:Message) 。

Returns:

返回是否执行了读取操作。

Type
boolean

readMessageById(messageId, handler) → {boolean}

读取指定消息 ID 的消息。

Parameters:
Name Type Description
messageId number

指定消息 ID 。

handler function

指定回调函数,函数参数:(message:Message) 。

Returns:

返回是否执行了读取操作。

Type
boolean

readMessages(beginning, handler, limitopt) → {boolean}

读取指定时间之后的所有消息。

Parameters:
Name Type Attributes Default Description
beginning number

指定读取的起始时间戳。

handler function

指定查询结果回调函数,函数参数:(beginning:number, result:Array<Message>) 。

limit number <optional>
100

指定查询结果的数量上限。

Returns:

返回是否执行了读取操作。

Type
boolean

readMessageWithContact(contactId, beginning, handler) → {boolean}

读取指定联系人相关的并且指定时间之后的所有消息。

Parameters:
Name Type Description
contactId number

指定联系人 ID 。

beginning number

指定读取的起始时间戳。

handler function

指定查询结果回调函数,函数参数:(contactId:number, beginning:number, result:Array<Message>) 。

Returns:

返回是否执行了读取操作。

Type
boolean

readMessageWithGroup(groupId, beginning, handler) → {boolean}

读取指定滚阻相关的并且指定时间之后的所有消息。

Parameters:
Name Type Description
groupId number

指定群组 ID 。

beginning number

指定读取的起始时间戳。

handler function

指定查询结果回调函数,函数参数:(groupId:number, beginning:number, result:Array<Message>) 。

Returns:

返回是否执行了读取操作。

Type
boolean

updateLastMessage(message, updateLastTime) → {boolean}

更新最近一条消息的时间戳。

Parameters:
Name Type Description
message Message

消息实例。

updateLastTime boolean

是否更新最近消息时间。

Returns:

返回是否执行了更新操作。

Type
boolean

updateMessage(message) → {boolean}

更新或写入消息到数据库。

Parameters:
Name Type Description
message Message

消息实体。

Returns:

返回是否执行了写入操作。

Type
boolean

writeConversation(conversation) → {boolean}

写入会话数据。

Parameters:
Name Type Description
conversation Conversation

会话实例。

Returns:

返回是否执行了写入操作。

Type
boolean

writeDraft(draft) → {boolean}

写入草稿。

Parameters:
Name Type Description
draft MessageDraft

草稿。

Returns:

返回是否执行了写入操作。

Type
boolean

writeMessage(message) → {boolean}

写入消息到数据库。

Parameters:
Name Type Description
message Message

消息实体。

Returns:

返回是否执行了写入操作。

Type
boolean