ContactService

ContactService

联系人模块。

Constructor

new ContactService()

Extends

Classes

ContactService

Members

(protected) defaultRetrospect :number

Overrides:

默认回溯时长,默认值:30个自然天。

Type:
  • number

(protected) dependencies :Array.<string>

Overrides:

模块的外部依赖。

Type:
  • Array.<string>

(protected) deps :Array.<string>

Overrides:

依赖库列表。

Type:
  • Array.<string>

(protected) kernel :Kernel

Overrides:

内核对象。

Type:

NAME :string

联系人模块的模块名。

Type:
  • string

(protected) name :string

Overrides:

模块名称。

Type:
  • string

(protected) pipeline :Pipeline

Overrides:

模块使用的默认数据管道。

Type:

(protected) pluginSystem :PluginSystem

Overrides:

消息插件系统。

Type:

(protected) started :boolean

Overrides:

是否已启动。

Type:
  • boolean

Methods

addBlockList(contact, handleSuccessopt, handleFailureopt)

将指定联系人添加到阻止清单。

Parameters:
Name Type Attributes Description
contact Contact | number

指定联系人或联系人 ID 。

handleSuccess function <optional>

成功回调。参数:(id:number, blockList:Array)。

handleFailure function <optional>

失败回调,参数:(error:ModuleError) 。

addContactToZone(name, contactId, postscript, handleSuccessopt, handleFailureopt)

添加联系人到分区。

Parameters:
Name Type Attributes Description
name string

分区名。

contactId number | Contact

指定联系人 ID 。

postscript string

指定附言。

handleSuccess function <optional>

操作成功回调该方法,参数:(zoneName:string, contactId:number)。

handleFailure function <optional>

操作失败回调该方法,参数:(error:ModuleError)。

addGroupMembers(group, members, handleSuccessopt, handleFailureopt) → {boolean}

添加群组成员。

Parameters:
Name Type Attributes Description
group Group

指定群组。

members Array.<(Contact|number)>

指定群组成员列表。

handleSuccess function <optional>

操作成功回调该方法,参数:(bundle:GroupBundle) 。

handleFailure function <optional>

操作失败回调该方法,参数:(error:ModuleError) 。

Returns:

返回是否能执行该操作。

Type
boolean

addTopList(contactOrGroup, handleSuccessopt, handleFailureopt)

添加指定的置顶数据。

Parameters:
Name Type Attributes Description
contactOrGroup Contact | Group

指定置顶的联系人或群组。

handleSuccess function <optional>

成功回调,参数:(entity:Contact|Group) 。

handleFailure function <optional>

失败回调,参数:(error:ModuleError) 。

comeback()

通过向服务发送状态信息验证自身连接状态。

config(config)

Overrides:

配置模块。

Parameters:
Name Type Description
config JSON

配置信息。

containsContactInZone(name, contactId, handleSuccess, handleFailureopt)

指定分区是否包含指定联系人。

Parameters:
Name Type Attributes Description
name string

分区名。

contactId number | Contact

指定联系人 ID 。

handleSuccess function

操作成功回调该方法,参数:(contained:boolean, zoneName:string, contactId:number)。

handleFailure function <optional>

操作失败回调该方法,参数:(error:ModuleError)。

createContactZone(name, displayName, contactIdList, handleSuccess, handleFailure)

创建新的联系人分区。

Parameters:
Name Type Description
name string

分区名。

displayName string

分区显示名,可以为 null 值。

contactIdList Array

分区里包含的联系人 ID 列表。

handleSuccess function

操作成功回调该方法,参数:(contactZone:ContactZone)。

handleFailure function

操作失败回调该方法,参数:(error:ModuleError)。

createGroup(name, members, handleSuccess, handleFailureopt)

创建群组。

Parameters:
Name Type Attributes Description
name string

指定群组名。

members Array.<(number|Contact)>

指定初始成员列表或者初始成员 ID 列表。

handleSuccess function

成功创建群组回调该方法。参数:(group:Group) ,创建成功的群组实例。

handleFailure function <optional>

操作失败回调该方法。函数参数:(error:ModuleError) 。

dismissGroup(group, handleSuccessopt, handleFailureopt) → {boolean}

解散指定的群组。

Parameters:
Name Type Attributes Description
group Group

指定待解散的群组。

handleSuccess function <optional>

操作成功回调该方法,函数参数:(group:Group) ,解散成功的群组实例。

handleFailure function <optional>

操作失败回调该方法,函数参数:(error:ModuleError) 。

Returns:

返回该群是否允许由当前联系人解散。

Type
boolean

getAppendix(contactOrGroup, handleSuccessopt, handleFailureopt)

获取指定联系人或群组的附录。

Parameters:
Name Type Attributes Description
contactOrGroup Contact | Group

指定联系人或群组。

handleSuccess function <optional>

成功回调,参数:(appendix:ContactAppendix|GroupAppendix,entity:Contact|Group) 。

handleFailure function <optional>

失败回调,参数:(error:ModuleError) 。

getAuthToken() → {AuthToken}

Overrides:

获取访问令牌。

Returns:

返回当前存储的访问令牌,如果没有获得令牌返回 null 值。

Type
AuthToken

getContact(contactId, handleSuccessopt, handleFailureopt) → {Promise}

获取指定 ID 的联系人信息。

Parameters:
Name Type Attributes Description
contactId number

指定联系人 ID 。

handleSuccess function <optional>

成功获取到数据回调该方法,参数:(contact:Contact) ,(联系人实例)。

handleFailure function <optional>

操作失败回调该方法,参数:(error:ModuleError) ,(故障信息))。

Returns:

当参数 handleSuccesshandleFailure 均不设置时,返回 Promise

Type
Promise

getContactZone(name, handleSuccess, handleFailureopt)

获取指定名称的联系人分区。

Parameters:
Name Type Attributes Description
name string

分区名。

handleSuccess function

操作成功回调该方法,参数:(contactZone:ContactZone)。

handleFailure function <optional>

操作失败回调该方法,参数:(error:ModuleError)。

getGroup(id, handleSuccessopt, handleFailureopt) → {Promise}

获取指定 ID 的群组信息。

Parameters:
Name Type Attributes Description
id number

指定群组 ID 。

handleSuccess function <optional>

成功获取到数据回调该方法,参数:(group:Group),(群组实例)。

handleFailure function <optional>

操作失败回调该方法,参数:(error:ModuleError) 。

Returns:

handleSuccesshandleFailure 参数都不设置时,返回 Promise

Type
Promise

getLocalContact(id, handleSuccess, handleFailure)

读取本地联系人数据。

Parameters:
Name Type Description
id number

指定联系人的 ID 。

handleSuccess function

获取数据成功回调句柄,参数:(contact:Contact)。

handleFailure function

获取数据失败回调句柄,参数:(error:ModuleError)。

getName() → {string}

Overrides:

获取模块名称。

Returns:

返回模块名称。

Type
string

getPendingZone(name, handleSuccess, handleFailureopt)

FIXME XJW 可作废的接口 获取指定名称的待处理联系人分区。

Parameters:
Name Type Attributes Description
name string

分区名。

handleSuccess function

操作成功回调该方法,参数:(contactZone:ContactZone)。

handleFailure function <optional>

操作失败回调该方法,参数:(error:ModuleError)。

getPluginSystem() → {PluginSystem}

Overrides:

获取插件系统对象实例。

Returns:

返回插件系统对象实例。

Type
PluginSystem

getSelf() → {Self}

获取当前的 Self 实例。

Returns:

返回当前的 Self 实例。

Type
Self

hasSignedIn() → {boolean}

当前终端是否已在服务器上签入。

Returns:

如果当前终端已签入,返回 true ,否则返回 false

Type
boolean

hasStarted() → {boolean}

Overrides:

是否已启动过该模块。

Returns:

如果已启动返回 true ,否则返回 false

Type
boolean

isReady() → {boolean}

Overrides:

模块是否就绪。

Returns:

如果模块就绪返回 true

Type
boolean

listGroups(beginningopt, endingopt, handler)

获取当前联系人所在的所有群。

Parameters:
Name Type Attributes Description
beginning number <optional>

指定查询群的起始的最近一次活跃时间戳,单位:毫秒。

ending number <optional>

指定查询群的截止的最近一次活跃时间戳,单位:毫秒。

handler function

获取到数据后的回调函数,函数参数:(list:Array<Group>) 。

(protected) listTopList(handleSuccessopt, handleFailureopt)

从服务器更新置顶列表数据。

Parameters:
Name Type Attributes Description
handleSuccess function <optional>
handleFailure function <optional>

modifyContact(newName, newContext, handleSuccessopt, handleFailureopt) → {Promise}

修改当前签入联系人的信息。

Parameters:
Name Type Attributes Description
newName string

指定新的名称,如果不修改设置为 null 值。

newContext object

指定新的上下文,如果不修改设置为 null 值。

handleSuccess function <optional>

操作成功回调该方法。参数:(contact:Contact) 。

handleFailure function <optional>

操作失败回调该方法。参数:(error:ModuleError) 。

Returns:

如果不设置任何回调函数,返回 Promise 实例。

Type
Promise

modifyGroup(group, owner, name, context, handleSuccessopt, handleFailureopt) → {boolean}

修改群组信息。

Parameters:
Name Type Attributes Description
group Group

指定需要修改信息的群组。

owner Contact

指定新的群主。如果不变更群主,此参数填写 null 值。

name string

指定新的群名称。如果不变更群名称,此参数填写 null 值。

context JSON

指定新的群附件上下文。如果不变更群上下文,此参数填写 null 值。

handleSuccess function <optional>

操作成功回调该方法,参数:(group:Group) 。

handleFailure function <optional>

操作失败回调该方法,参数:(error:ModuleError) 。

Returns:

返回是否能执行该操作。

Type
boolean

modifyGroupMember(group, member, handleSuccessopt, handleFailureopt) → {boolean}

修改群成员的信息。

Parameters:
Name Type Attributes Description
group Group

指定群组。

member Contact

指定修改信息的成员数据。

handleSuccess function <optional>

操作成功回调该方法,参数:(group:Group, member:Contact) 。

handleFailure function <optional>

操作错误回调该方法,参数:(error:ModuleError) 。

Returns:

返回是否能执行该操作。

Type
boolean

on(eventopt, listener)

Overrides:
See:

设置指定事件的监听回调函数。

Parameters:
Name Type Attributes Description
event string <optional>

指定事件名。

listener function

当发生该事件时回调此函数,函数参数参看 ModuleEvent

queryBlockList(handleSuccess, handleFailureopt)

查询当前联系人的阻止清单。

Parameters:
Name Type Attributes Description
handleSuccess function

成功回调。参数:(list:Array)。 被阻止的联系人的 ID 列表。

handleFailure function <optional>

失败回调,参数:(error:ModuleError) 。

queryGroups(beginningopt, endingopt, handler, statesopt)

查询指定活跃时间范围内的群组。

Parameters:
Name Type Attributes Description
beginning number <optional>

指定查询群的起始的最近一次活跃时间戳。

ending number <optional>

指定查询群的截止的最近一次活跃时间戳。

handler function

查询回调函数,函数参数:(list:Array<Group>) 。

states Array.<number> <optional>

匹配指定状态的群组,群组状态由 GroupState 描述。

queryTopList(handleSuccess, handleFailureopt)

查询置顶数据。

Parameters:
Name Type Attributes Description
handleSuccess function

查询成功回调。参数:(list:Array) 。

handleFailure function <optional>

查询失败回调。参数:(error:ModuleError) 。

quitGroup(group, handleSuccessopt, handleFailureopt) → {boolean}

退出指定的群组。

Parameters:
Name Type Attributes Description
group Group

指定群组。

handleSuccess function <optional>

操作成功回调该方法,参数:(group:Group) 。

handleFailure function <optional>

操作失败回调该方法,参数:(error:ModuleError) 。

Returns:

返回是否能执行退出操作。

Type
boolean

remarkContactName(contact, name, handleSuccess, handleFailure)

备注联系人。

Parameters:
Name Type Description
contact Contact

指定需要备注的联系人。

name string

联系人的备注名。

handleSuccess function

成功回调,参数:(appendix:ContactAppendix) 。

handleFailure function

失败回调,参数:(error:ModuleError) 。

remarkGroup(group, remark, handleSuccess, handleFailure)

备注群组,群组备注仅对当前联系人有效。

Parameters:
Name Type Description
group Group

指定群组。

remark string

指定备注信息。

handleSuccess function

成功回调,参数:(appendix:GroupAppendix) 。

handleFailure function

失败回调,参数:(error:ModuleError) 。

removeBlockList(contact, handleSuccessopt, handleFailureopt)

从阻止清单移除联系人。

Parameters:
Name Type Attributes Description
contact Contact | number

指定联系人或联系人 ID 。

handleSuccess function <optional>

成功回调。参数:(id:number, blockList:Array)。

handleFailure function <optional>

失败回调,参数:(error:ModuleError) 。

removeContactFromZone(name, contactId, handleSuccessopt, handleFailureopt)

从分区中移除联系人。

Parameters:
Name Type Attributes Description
name string

分区名。

contactId number | Contact

指定联系人 ID 。

handleSuccess function <optional>

操作成功回调该方法,参数:(zoneName:string, contactId:number)。

handleFailure function <optional>

操作失败回调该方法,参数:(error:ModuleError)。

removeGroupMembers(group, members, handleSuccessopt, handleFailureopt) → {boolean}

移除群组成员。

Parameters:
Name Type Attributes Description
group Group

指定群组。

members Array.<(Contact|number)>

指定群组成员列表。

handleSuccess function <optional>

操作成功回调该方法,参数:(bundle:GroupBundle) 。

handleFailure function <optional>

操作失败回调该方法,参数:(error:ModuleError) 。

Returns:

返回是否能执行该操作。

Type
boolean

removeTopList(contactOrGroup, handleSuccessopt, handleFailureopt)

移除指定的置顶数据。

Parameters:
Name Type Attributes Description
contactOrGroup Contact | Group

指定移除置顶的联系人或群组。

handleSuccess function <optional>

成功回调,参数:(entity:Contact|Group) 。

handleFailure function <optional>

失败回调,参数:(error:ModuleError) 。

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:

恢复模块。

搜索指定关键字的联系人或群组。

Parameters:
Name Type Description
keyword string
handleSuccess function

搜索执行成功回调。参数:(result:ContactSearchResult) 。

handleFailure function

搜索执行失败回调。参数:(error:ModuleError) 。

setContextProviderCallback(callback)

设置联系人上下文提供器回调。

Parameters:
Name Type Description
callback ContactContextProviderCallback

signIn(self, nameopt, contextopt, deviceopt) → {boolean}

签入当前终端的联系人。

Parameters:
Name Type Attributes Description
self Self | number | string

指定 Self 对象或者自己的联系人 ID 。

name string <optional>

指定名称/昵称。

context JSON <optional>

指定关联的上下文。

device Device <optional>

指定设备。

Returns:

设置成功返回 true ,否则返回 false

Type
boolean

signOut(handleropt) → {boolean}

将当前设置的联系人签出。

Parameters:
Name Type Attributes Description
handler function <optional>

当签出成功时回调该函数,参数:(self:Self) 。

Returns:

是否执行了签出操作。

Type
boolean

start() → {boolean}

Overrides:

启动模块。

Returns:

返回 false 表示模块不再需要执行启动流程。

Type
boolean

stop()

Overrides:

停止模块。

suspend()

Overrides:

挂起模块。

(protected) updateGroupActiveTime(groupId, timestamp)

更新群组的活跃时间。

Parameters:
Name Type Description
groupId number

群组 ID 。

timestamp number

时间戳。