下载文档

uexContact
更新时间:2016-09-09

1、简介

系统联系人插件

1.1、说明

打开,添加,删除,查找,修改联系人等功能。

1.2、UI展示

1.3、开源源码

插件测试用例与源码下载:点击 插件中心至插件详情页 (插件测试用例与插件源码已经提供)

2、API概览

2.1、方法

open 打开联系人界面

uexContact.open()

说明:

打开联系人应用,将选中的联系人的姓名,电话,邮件通过cbOpen回调,每次只能选择一个联系人。回调方法cbOpen

参数:

平台支持:

Android2.2+
iOS6.0+

版本支持:

3.0.0+

示例:

  1. uexContact.open();

multiOpen 打开联系人选择界面

uexContact.multiOpen()

说明:

打开联系人选择界面,该界面中的数据是当前设备上所有联系人的信息,支持多选。回调方法cbMultiOpen

参数:

平台支持:

Android2.2+
iOS6.0+

版本支持:

3.0.0+

示例:

  1. uexContact.multiOpen();

addItem 添加联系人

uexContact.addItem(name,num,email,option)

说明:

添加联系人

参数:

参数名称 参数类型 是否必选 说明
name String 名称
num String 电话号码
email String 邮件
option String 添加联系人配置,json格式字符串,如下:
  1. var option = {
  2. isNeedAlertDialog:
  3. }

各字段含义如下:

字段名称 类型 是否必选 说明
isNeedAlertDialog Boolean 添加过程中是否需要弹出”确认添加”提示框,默认为true,弹出提示框

平台支持:

Android2.2+
iOS6.0+

版本支持:

3.0.0+

示例:

  1. var option = {
  2. isNeedAlertDialog:false
  3. }
  4. uexContact.addItem("张三","13436827900","widgetone@3g2win.com",JSON.stringify(option));

deleteWithId 删除联系人

uexContact.deleteWithId(option)

说明:

通过联系人id精确删除对应联系人
由于手机端可能存在同名称的联系人导致原有deleteItem接口无法完全满足删除问题。
删除联系人 回调方法cbDeleteWithId

参数:

参数名称 参数类型 是否必选 说明
option String 要删除的联系人参数,json格式字符串,如下:
  1. var option = {
  2. contactId://通过查询获取到的联系人id
  3. }

平台支持:

Android2.2+
iOS6.0+

版本支持:

3.0.4+

示例:

  1. var option = {
  2. contactId:405
  3. }
  4. uexContact.deleteWithId(JSON.stringify(option));

deleteItem 删除联系人

uexContact.deleteItem(name)

说明:

删除联系人 回调方法cbDeleteItem

参数:

参数名称 参数类型 是否必选 说明
name String 名称

平台支持:

Android2.2+
iOS6.0+

版本支持:

3.0.0+

示例:

  1. uexContact.deleteItem("张三");

search 查询联系人

uexContact.search(option)

说明:

由于Android联系人的诸多信息要多次查询,因此建议如果有获取所有联系的人的需求的时候建议仅仅查询Name字段,其余字段可考虑设置不查询,以优化查询速度。
查询联系人 回调方法cbSearch

参数:

参数名称 参数类型 是否必选 说明
option String 搜索配置,json格式字符串,如下:
  1. var option = {
  2. resultNum:,//可选,单次返回数据数量,-1表示一次返回所有结果,默认50
  3. searchName:,//和contactId字段二选一,通过名字查询联系人,传空默认查询所有。
  4. contactId:,//和searchName字段二选一,可用于精确查找。(优先于Name)
  5. isSearchNum:,//可选,true,false是否查询电话号码(Android 推荐)
  6. isSearchEmail:,//可选,true,false是否查询Email(Android 推荐)
  7. isSearchAddress:,//可选,true,false是否查询Address(Android 推荐)
  8. isSearchCompany:,//可选,true,false是否查询Company(Android 推荐)
  9. isSearchTitle:,//可选,true,false是否查询title(Android 推荐)
  10. isSearchNote:,//可选,true,false是否查询Note(Android 推荐)
  11. isSearchUrl:,//可选,true,false是否查询Url(Android 推荐)
  12. }

各字段含义如下:

字段名称 类型 是否必选 说明
resultNum Number 一次最多返回的结果条数,默认为50条,-1表示一次返回所有结果
searchName String 和contactId字段二选一,通过名字查询联系人,传空默认查询所有。
contactId String 和searchName字段二选一,可用于精确查找。(优先于Name)
isSearchNum Boolean true,false是否查询电话号码,默认为true(Android 推荐false)
isSearchEmail Boolean true,false是否查询Email,默认为true(Android 推荐false)
isSearchAddress Boolean true,false是否查询Address,默认为true(Android 推荐false)
isSearchCompany Boolean true,false是否查询Company,默认为true(Android 推荐false)
isSearchTitle Boolean true,false是否查询Title,默认为true(Android 推荐false)
isSearchNote Boolean true,false是否查询Note,默认为true(Android 推荐false)
isSearchUrl Boolean true,false是否查询Url,默认为true(Android 推荐false)

平台支持:

Android2.2+
iOS6.0+

版本支持:

3.0.4+

示例:

  1. var option = {
  2. resultNum:-1//-1表示一次返回所有结果
  3. searchName:'',//全部查询
  4. isSearchNum:false,
  5. isSearchEmail:false,
  6. isSearchAddress:false,
  7. isSearchCompany:false,
  8. isSearchTitle:false,
  9. isSearchNote:false,
  10. isSearchUrl:false
  11. }
  12. uexContact.search(JSON.stringify(option));

searchItem 查询联系人

uexContact.searchItem(nameKey, option)

说明:

查询联系人 回调方法cbSearchItem

参数:

参数名称 参数类型 是否必选 说明
nameKey String 名称,传空字符串时,查询通讯录中所有联系人
option String 搜索配置,json格式字符串,如下:
  1. var option = {
  2. resultNum:-1,//-1表示一次返回所有结果
  3. isSearchNum:,//可选,true,false是否查询电话号码,默认为true(Android 推荐false)
  4. isSearchEmail:,//可选,true,false是否查询Email,默认为true(Android 推荐false)
  5. isSearchAddress:,//可选,true,false是否查询Address,默认为true(Android 推荐false)
  6. isSearchCompany:,//可选,true,false是否查询Company,默认为true(Android 推荐false)
  7. isSearchTitle:,//可选,true,false是否查询title,默认为true(Android 推荐false)
  8. isSearchNote:,//可选,true,false是否查询Note,默认为true(Android 推荐false)
  9. isSearchUrl:,//可选,true,false是否查询Url,默认为true(Android 推荐false)
  10. }

各字段含义如下:

字段名称 类型 是否必选 说明
resultNum Number 一次最多返回的结果条数,默认为50条,-1表示一次返回所有结果
isSearchNum Boolean true,false是否查询电话号码,默认为true(Android 推荐false)
isSearchEmail Boolean true,false是否查询Email,默认为true(Android 推荐false)
isSearchAddress Boolean true,false是否查询Address,默认为true(Android 推荐false)
isSearchCompany Boolean true,false是否查询Company,默认为true(Android 推荐false)
isSearchTitle Boolean true,false是否查询Title,默认为true(Android 推荐false)
isSearchNote Boolean true,false是否查询Note,默认为true(Android 推荐false)
isSearchUrl Boolean true,false是否查询Url,默认为true(Android 推荐false)

平台支持:

Android2.2+
iOS6.0+

版本支持:

3.0.0+

示例:

  1. var option = {
  2. resultNum:-1//-1表示一次返回所有结果
  3. isSearchNum:false,
  4. isSearchEmail:false,
  5. isSearchAddress:false,
  6. isSearchCompany:false,
  7. isSearchTitle:false,
  8. isSearchNote:false,
  9. isSearchUrl:false
  10. }
  11. uexContact.searchItem("张三", JSON.stringify(option));

modifyWithId 使用id修改联系人

uexContact.modifyWithId(option)

说明:

修改联系人 回调方法cbModifyWithId

参数:

参数名称 参数类型 是否必选 说明
option String 修改配置,json格式字符串,如下:
  1. var option = {
  2. contactId://联系人id
  3. name:,//联系人名称
  4. num:,//联系人电话
  5. email:,//联系人Email
  6. }

各字段含义如下:

字段名称 类型 是否必选 说明
contactId String 所修改的联系人的id(可通过search获取联系人id)
name String 联系人修改后的名称
num String 联系人修改后的电话
email String 联系人修改后的Email

平台支持:

Android2.2+
iOS6.0+

版本支持:

3.0.0+

示例:

  1. var option = {
  2. contactId:405,
  3. name:'Appcan',
  4. num:'15888888888',
  5. email:'widgeton@zymobi.com'
  6. }
  7. uexContact.modifyWithId(JSON.stringify(option));

modifyItem 修改联系人

uexContact.modifyItem(name,num,email)

说明:

修改联系人 回调方法cbModifyItem

参数:

参数名称 参数类型 是否必选 说明
name String 名称
num String 电话号码
email String 邮件

平台支持:

Android2.2+
iOS6.0+

版本支持:

3.0.0+

示例:

  1. uexContact.modifyItem("张三","13436827900","widgetone@3g2win.com");

addItemWithVCard 添加联系人

uexContact.addItemWithVCard(data,type)

说明:

添加联系人 回调方法cbAddItem

参数:

参数名称 参数类型 是否必选 说明
data String 联系人数据,数据格式如下:BEGIN:VCARD\\nVERSION:3.0\\nN:韩;超\\nTEL:22334752\\nEMAIL:zhuliang@ceair.com\\nADR:;;绥宁路628号;;上海;200335\\nORG:中国东方航空股有限公司\\nTITLE:项目经理\\nURL:mp.ceair.com\\nNOTE:名\\347\\211\\214二维码\\nEND:VCARD其中:N-姓名,TEL-电话,EMAIL-邮箱,ADR-地址,ORG-公司,TITLE-职位,URL-网址,NOTE-备注
type Number 是否显示提示框,1-不显示,其余情况显示。

平台支持:

Android2.2+
iOS6.0+

版本支持:

3.0.0+

示例:

  1. uexContact.addItemWithVCard('BEGIN:VCARD\\nVERSION:3.0\\nN:韩;超\\nTEL:22334752\\nEMAIL:zhuliang@ceair.com\\nADR:;;绥宁路628号;;上海;200335\\nORG:中国东方航空股有限公司\\nTITLE:项目经理\\nURL:mp.ceair.com\\nNOTE:名\\347\\211\\214二维码\\nEND:VCARD','');

2.2、回调方法

cbOpen 打开联系人界面的回调方法

uexContact.cbOpen(opId,dataType,data)

参数:

参数名称 参数类型 是否必选 说明
opId Number 操作ID,在此函数中不起作用,可忽略
dataType Number类型 必选 数据类型详见CONSTANT中Callback dataType数据类型
data Number Key值uex.jkName、uex.jkNum、uex.jkEmail,详见CONSTANT中CallbackJson类型keyname

版本支持:

3.0.0+

示例:

  1. window.uexOnload = function(){
  2. uexContact.cbOpen = function(opCode, dataType, data) {
  3. var obj = eval('('+ data + ')');
  4. alert(data);
  5. }
  6. }

cbMultiOpen 打开联系人选择界面的回调方法

uexContact.cbMultiOpen(opId,dataType,data)

参数:

参数名称 参数类型 是否必选 说明
opId Number 操作ID,在此函数中不起作用,可忽略
dataType Number类型 必选 数据类型详见CONSTANT中Callback dataType数据类型
data Number Key值uex.jkName、uex.jkNum、uex.jkEmail,详见CONSTANT中CallbackJson类型keyname

版本支持:

3.0.0+

示例:

  1. window.uexOnload = function(){
  2. uexContact.cbMultiOpen = function(opCode, dataType, data){
  3. alert(data);
  4. }
  5. }

cbAddItem 添加联系人的回调方法

uexContact.cbAddItem(opId,dataType,data)

参数:

参数名称 参数类型 是否必选 说明
opId Number 操作ID,在此函数中不起作用,可忽略
dataType Number类型 必选 数据类型详见CONSTANT中Callback dataType数据类型
data Number 返回uex.cSuccess或者uex.cFailed,详见CONSTANT中Callbackint类型数据

版本支持:

3.0.0+

示例:

  1. window.uexOnload = function(){
  2. uexContact.cbAddItem = function(opCode, dataType, data){
  3. alert(data);
  4. }
  5. }

cbDeleteItem 删除联系人的回调方法

uexContact.cbDeleteItem(opId,dataType,data)

参数:

参数名称 参数类型 是否必选 说明
opId Number 操作ID,在此函数中不起作用,可忽略
dataType Number类型 必选 数据类型详见CONSTANT中Callback dataType数据类型
data Number 返回uex.cSuccess或者uex.cFailed,详见CONSTANT中Callbackint类型数据

版本支持:

3.0.0+

示例:

  1. window.uexOnload = function(){
  2. uexContact.cbDeleteItem = function(opCode, dataType, data){
  3. alert(data);
  4. }
  5. }

cbDeleteWithId 通过id删除联系人的回调方法

uexContact.cbDeleteWithId(opId,dataType,data)

参数:

参数名称 参数类型 是否必选 说明
opId Number 操作ID,在此函数中不起作用,可忽略
dataType Number类型 必选 数据类型详见CONSTANT中Callback dataType数据类型
data Number 返回uex.cSuccess或者uex.cFailed,详见CONSTANT中Callbackint类型数据

版本支持:

3.0.0+

示例:

  1. window.uexOnload = function(){
  2. uexContact.cbDeleteWithId = function(opCode, dataType, data){
  3. alert(data);
  4. }
  5. }

cbSearch 查询联系人的回调方法

uexContact.cbSearch(jsonObj)

参数:

参数名称 参数类型 是否必选 说明
jsonObj json Object 操作ID,在此函数中不起作用,可忽略
  1. var jsonObj = {
  2. result:,//0成功,非0失败
  3. contactList://获取的联系人列表
  4. [
  5. contactId:,//联系人id
  6. ...//其余Key值uex.jkName、uex.jkNum、uex.jkEmail,详见CONSTANT中CallbackJson类型keyname
  7. ...
  8. ]
  9. }

各字段含义如下:

字段名称 类型 是否必选 说明
result Number 标识查询成功还是失败,0成功,非0失败
contactId String 联系人id

版本支持:

3.0.0+

示例:

  1. window.uexOnload = function(){
  2. uexContact.cbSearch = function(data){
  3. alert(JSON.stringify(data));
  4. }
  5. }

cbSearchItem 查询联系人的回调方法

uexContact.cbSearchItem(opId,dataType,data)

参数:

参数名称 参数类型 是否必选 说明
opId Number 操作ID,在此函数中不起作用,可忽略
dataType Number类型 必选 数据类型详见CONSTANT中Callback dataType数据类型
data String 返回的数据。Key值uex.jkName、uex.jkNum、uex.jkEmail,详见CONSTANT中CallbackJson类型keyname

版本支持:

3.0.0+

示例:

  1. window.uexOnload = function(){
  2. uexContact.cbSearchItem = function(opCode, dataType, data){
  3. alert(data);
  4. }
  5. }

cbModifyWithId 通过id修改联系人的回调方法

uexContact.cbModifyWithId(opId,dataType,data)

参数:

参数名称 参数类型 是否必选 说明
opId Number 操作ID,在此函数中不起作用,可忽略
dataType Number类型 必选 数据类型详见CONSTANT中Callback dataType数据类型
data Number 返回uex.cSuccess或者uex.cFailed,详见CONSTANT中Callbackint类型数据

版本支持:

3.0.0+

示例:

  1. window.uexOnload = function(){
  2. uexContact.cbModifyWithId = function(opCode, dataType, data){
  3. alert(data);
  4. }
  5. }

cbModifyItem 修改联系人的回调方法

uexContact.cbModifyItem(opId,dataType,data)

参数:

参数名称 参数类型 是否必选 说明
opId Number 操作ID,在此函数中不起作用,可忽略
dataType Number类型 必选 数据类型详见CONSTANT中Callback dataType数据类型
data Number 返回uex.cSuccess或者uex.cFailed,详见CONSTANT中Callbackint类型数据

版本支持:

3.0.0+

示例:

  1. window.uexOnload = function(){
  2. uexContact.cbModifyItem = function(opCode, dataType, data){
  3. alert(data);
  4. }
  5. }

3、更新历史

iOS

API版本:uexContact-3.0.10

最近更新时间:2016-4-22

历史发布版本 更新内容
3.0.10 修复cbSearch回调与安卓不一致,参数命名不一致的问题
3.0.9 新增search,modifyWithId,deleteWithId接口以及对应回调
3.0.8 改用bundle方式加载资源;添加IDE支持
3.0.7 searchItem接口增加返回信息条数配置;addItem接口增加是否弹出提示框配置
3.0.6 修改配置文件,修改BUG
3.0.5 修改BUG
3.0.4 修改打开联系人,多选信息电话号码不全的BUG
3.0.3 增加可以查询和,修改多个号码的联系人接口
3.0.2 修改增加联系人接口,一个联系人可以添加多个电话号码
3.0.1 修复uexContact在iOS8以上版本无法返回联系人信息的bug
3.0.0 联系人功能插件

Android

API版本:uexContact-3.0.6

最近更新时间:2016-7-11

历史发布版本 更新内容
3.0.6 更新UI,解决多选联系人慢的问题,
3.0.5 addItem接口支持多个号码的添加,以分号分隔
3.0.4 新增search,modifyWithId,deleteWithId接口以及对应回调.优化查询逻辑
3.0.3 修复执行过慢影响UI线程的问题,修正当增删改查存在的部分回调错误问题
3.0.2 修复打开联系人后邮箱错乱的问题
3.0.1 1:searchItem接口增加返回信息条数配置;2:addItem接口增加是否弹出提示框配置
3.0.0 联系人功能插件