AppCan插件使用文档之uexContact
uexContact本对象封装了用于调用系统联系人(只显示姓名),打开,添加,删除,查找,修改联系人等功能。
使用示例:
以下示例代码说明了如何使用uexContact对象的方法。
window.uexOnload = function(type){
if(!type){
}
}
function $$(id){
return document.getElementById(id);
}
/**
* 打开系统通讯录
* 当选择某一联系人时返回此联系人信息json格式{}
*/
function openContact(){
uexContact.cbOpen=function(opCode,dataType,data){
console.log('选择的联系人信息:'+data);
if (dataType == 1) {
var obj = eval('('+data+')');
$$('show_id').innerHTML = '姓名:' +https://www.doczj.com/doc/12596896.html,+'
电话:'+obj.num+'
邮箱:'+obj.email;
//返回还可能包括
obj.url;https://www.doczj.com/doc/12596896.html,pany;obj.title;obj.note;obj.address(obj.address.State; obj.address.Street;obj.address.ZIP)
}
}
uexContact.open();
}
/**
* 添加联系人
*/
function addItem(){
var Mail = $$('addMail').value;
if(!/^w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*$/.test(Mail)){
console.log('Email格式不正确');
return;
}
uexContact.cbAddItem = function(opCode, dataType, data){
if(dataType==2 && data==0){
console.log('添加成功');
}else{
console.log('添加失败');
}
}
uexContact.addItem($$('addName').value,$$('addTel').value,Mai l);
}
/**
* 通过联系人姓名删除联系人
*/
function deleteItem(){
uexContact.cbDeleteItem = function(opCode, dataType, data){ if(dataType==2 && data==0){
console.log('删除成功');
}else{
console.log('删除失败');
}
}
uexContact.deleteItem($$('delName').value);
}
/**
* 查找联系人
* 支持模糊查询
*/
function searchItem(){
var searchName = $$('searchName').value;
uexContact.cbSearchItem=function(opCode,dataType,data){
if (dataType == 1) {
var obj = eval('('+data+')');//[{},{}]识别模糊搜索,返回json数组字符串
console.log('搜索的联系人信息:'+data);
}
}
uexContact.searchItem(searchName);
}
/**
* 修改联系人的信息
* 通过联系人的姓名更改该联系人的电话及邮箱
*/
function modifyItem(){
var Mail = $$('modifyMail').value;
if(!/^w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*$/.test(Mail)){
console.log('Email格式不正确');
return;
}
uexContact.cbModifyItem = function(opCode, dataType, data){ if(dataType==2 && data==0){
console.log('修改成功');
}else{
console.log('修改失败');
}
}
uexContact.modifyItem($$('modifyName').value,$$('modifyTel'). value,Mail);
}
/**
* 可多选打开通讯录
* 该方式打开通讯录,可多选联系人
*/
function multiOpen(){
uexContact.cbMultiOpen=function(opCode,dataType,data){
if (dataType == 1) {
var obj = eval('('+data+')');//[{},{}],返回json数组字符串
console.log('选择的联系人信息:'+data);
}
}
uexContact.multiOpen();
}
/**
* VCard方式添加联系人
* 二维码名片上的信息为标准的VCard格式信息,可通过扫描二维码获取此信息后添加到联系人
* 注意:如使用本平台的二维码插件返回的信息info需要转换后再添加到联系人
* 如:info = info.replace(/\\\n/g,'|');
*var a = JSON.parse(info);
*var t = a.code.replace(/\|/g,'\n');
*uexContact.addItemWithVCard(t);
*/
function addItemWithVCard(){
var vcardInfo = 'BEGIN:VCARD\nVERSION:3.0\nN:正益;无线
\nTEL:010-********\nEMAIL:zywx@https://www.doczj.com/doc/12596896.html,\nADR:;;中关村大街19号;;北京;100086\nORG:正益无线(北京)科技有限公司\nTITLE:客户经理
\nURL:https://www.doczj.com/doc/12596896.html,\nNOTE:名? 二维码\nEND:VCARD';
uexContact.cbAddItem = function(opCode, dataType, data){
if(dataType==2 && data==0){
console.log('添加成功');
}else{
console.log('添加失败');
}
}
uexContact.addItemWithVCard(vcardInfo);
}
联系人
1.打开通讯录
onclick='openContact()'/>
选择的联系人信息:
2.添加联系人
姓名:
号码:
邮箱:
3.删除联系人
姓名:
onclick='deleteItem()'/>
4.搜索联系人
姓名:
onclick='searchItem()'/>
5.修改联系人
姓名:
号码:
邮箱:
value='zywx@https://www.doczj.com/doc/12596896.html,'/>
onclick='modifyItem()'/>
6.打开可多选通讯录
onclick='multiOpen()'/>
7.VCard方式添加联系人:
onclick='addItemWithVCard()'/>
Methods:
1、open()
打开系统联系人.Open调用的是系统联系人的界面,case返回的是选中的系统联系人的姓名,电话,邮件,但是每次只能选择一个联系人。
2、cbOpen(opid,dataType,data)
打开联系人的回调方法。
Parameters:
Opid:操作ID,在此函数中不起作用,可混略。
DataType:成功时返回数据的数据类型为uex.cJSON (值为1)。
Data:返回的数据,格式为:{'name':'xxxx','num':'138********','email':'xx@https://www.doczj.com/doc/12596896.html,'} 3、addltem(inName,inNum,inEmail)
增加一条联系人信息到系统的通讯录。如果系统允许可以两个联系人的姓名是相同的,电话和邮件的内容不同就可以添加相同的联系人;如果系统不允许添加的两个联系人的姓名是相同的,那么只能用其他的符号加以区分。
Parameters:
inName:联系人姓名
inNum:联系人电话
inEmail:联系人邮箱
4、cbAddItem(opid,dataType,data)
添加联系人的回调方法。
Parameters:
Opid:操作ID,在此函数中不起作用,可忽略。
DataType:返回数据的数据类型为uex.cInt (值为2)。
Data:返回的int型的数据,成功返回uex.cSuccess(值为0)或失败返回uex.cFailed(值为1)。
5、deleteItem(inName)
根据名字从系统的通讯录里删除一条联系人信息。如果系统允许两个联系人的姓名是相同的,那么删除的时候系统默认的是删除第一个联系人的姓名,电话,邮件信息。
Parameters:
inName:被删除的联系人姓名。
6、cbDeleteItem(opId,dataType,data)
删除联系人的回调方法。删除通讯录中人名信息。
Parameters:
Opid:操作ID,在此函数中不起作用,可忽略。
DataType:返回数据的数据类型为uex.cInt(值为2)。
Data:返回的int型的数据,成功返回uex.cSuccess(值为0)或失败返回uex.cFailed(值为1)。
7、searchItem(inName)
根据名字从系统的通讯录里查找一条联系人信息,如果通讯录里不存在此联系人,此方法将会报错,错误信息在uexWidgetOne. cbError中提示。识别模糊搜索,返回json数组字符串。
Parameters:
inName:查找的联系人名字或联系人姓名中的关键字。如果输入的参数inName为空字符串,则返回所有的通讯录信息。
8、cbSearchItem(opId,dataType,data)
搜索联系人的回调方法。模糊搜索,返回多组联系人信息。
Parameters:
opId:操作ID,在此函数中不起作用,可忽略。
dataType:返回数据的数据类型为uex.cJSON (值为1)。
data:返回的数据,格式如下: [{'name':'xxxx','num':'138********','email':'xx@https://www.doczj.com/doc/12596896.html,'...},{'name':'xxxx','num':'1380013800 0','email':'xx@https://www.doczj.com/doc/12596896.html,'...}...]
9、modifyItem (inName,inNum,inEmail)
根据名字修改系统通讯录里的一条联系人信息,如果通讯录里不存在此联系人,此方法将会报错,错误信息在uexWidgetOne.cbError中提示。
Parameters:
InName:修改的联系人名字
InNum:联系人呢被替换的电话号码
InEmail:联系人被替换的邮箱地址
10、cbModifyItem(opid,dataType, data)
修改联系人的回调方法。修改通讯录中人名信息。
Parameters:
Opid:操作ID,在此函数中不起作用,可忽略。
dataType:返回数据的数据类型为uex.cInt (值为2)。
data:返回的int型的数据,成功返回uex.cSuccess(值为0)或失败返回uex.cFailed(值为1)。
11、multiOpen()
该接口打开的界面是一个自定义的联系人界面,该界面中的数据是当前设备上所有联系人的信息,支持多选。
12、cbMultiOpen(opId,dataType,data)
选择多个联系人的回调函数。
Parameters:
opId:操作ID,在此函数中不起作用,可忽略。
dataType:成功时返回数据的数据类型为uex.cJSON (值为1)。
data:返回的数据,格式为:[{'name':'xxxx','num':'138********','email':'xx@https://www.doczj.com/doc/12596896.html,',...} {'name':'xxxx','num':'138********','email':'xx@https://www.doczj.com/doc/12596896.html,',...}...]
13、addItemWithVCard(vcard)
把扫描的vcard的数据导入联系人中,通过回调方法uexContact.cbAddItem获取。
Parameters:
Vcar:Vcard的数据格式
inNum:联系人被替换的电话号码
inEmail:联系人被替换的邮箱地址