本文档部分API缺少示例代码,诚挚的邀请你参与到示例代码的编写中来,你可以在代码中发布2行自定义注释,内容自拟。 有意者可与刺鸟联系(QQ:4041990 Q群:7702175)
API简介
uexContact本对象封装了用于调用系统联系人(只显示姓名),打开,添加,删除,查找,修改联系人等功能。
接口说明
方法 | 说明 |
uexContact.open() | 打开系统联系人,Open调用的是系统联系人的界面,case返回的是选中的系统联系人的姓名,电话,邮件,但是每次只能选择一个联系人。 |
uexContact.cbOpen(opId,dataType,data) | 打开联系人的回调方法。 |
uexContact.addItem(inName,inNum,inEmail) | 增加一条联系人信息到系统的通讯录。如果系统允许可以两个联系人的姓名是相同的,电话和邮件的内容不同就可以添加相同的联系人;如果系统不允许添加的两个联系人的姓名是相同的,那么只能用其他的符号加以区分。 |
uexContact.cbAddItem(opId,dataType,data) | 添加联系人的回调方法。 |
uexContact.deleteItem(inName) | 根据名字从系统的通讯录里删除一条联系人信息。如果系统允许两个联系人的姓名是相同的,那么删除的时候系统默认的是删除第一个联系人的姓名,电话,邮件信息。 |
uexContact.cbDeleteItem(opId,dataType,data) | 删除联系人的回调方法。删除通讯录中人名信息。 |
uexContact.searchItem(inName) | 根据名字从系统的通讯录里查找一条联系人信息,如果通讯录里不存在此联系人,此方法将会报错,错误信息在uexWidgetOne.cbError中提示。识别模糊搜索,返回json数组字符串。 |
uexContact.cbSearchItem(opId,dataType,data) | 搜索联系人的回调方法。模糊搜索,返回多组联系人信息。 |
uexContact.modifyItem(inName,inNum,inEmail) | 根据名字修改系统通讯录里的一条联系人信息,如果通讯录里不存在此联系人,此方法将会报错,错误信息在uexWidgetOne.cbError中提示。 |
uexContact.cbModifyItem(opId,dataType,data) | 修改联系人的回调方法。修改通讯录中人名信息。 |
uexContact.multiOpen() | 该接口打开的界面是一个自定义的联系人界面,该界面中的数据是当前设备上所有联系人的信息,支持多选。 |
uexContact.cbMultiOpen(opId,dataType,data) | 选择多个联系人的回调函数。 |
uexContact.addItemWithVCard(vcard) | 把扫描的vcard的数据导入联系人中,通过回调方法uexContact.cbAddItem获取 |
cbOpen(opId,dataType,data) ▲
参数名称 | 描述 |
opId | 操作ID,在此函数中不起作用,可忽略。 |
dataType | 成功时返回数据的数据类型为uex.cJSON (值为1)。 |
data | 返回的数据,格式为:{'name':'xxxx','num':'13800138000','email':'xx@xx.com'} |
addItem(inName,inNum,inEmail) ▲
参数名称 | 描述 |
inName | 联系人姓名。 |
inNum | 联系人电话。 |
inEmail | 联系人邮箱。 |
cbAddItem(opId,dataType,data) ▲
参数名称 | 描述 |
opId | 操作ID,在此函数中不起作用,可忽略。 |
dataType | 返回数据的数据类型为uex.cInt (值为2)。 |
data | 返回的int型的数据,成功返回uex.cSuccess(值为0)或失败返回uex.cFailed(值为1)。 |
deleteItem(inName) ▲
cbDeleteItem(opId,dataType,data) ▲
参数名称 | 描述 |
opId | 操作ID,在此函数中不起作用,可忽略。 |
dataType | 返回数据的数据类型为uex.cInt(值为2)。 |
data | 返回的int型的数据,成功返回uex.cSuccess(值为0)或失败返回uex.cFailed(值为1)。 |
searchItem(inName) ▲
参数名称 | 描述 |
inName | 查找的联系人名字或联系人姓名中的关键字。如果输入的参数inName为空字符串,则返回所有的通讯录信息。 |
cbSearchItem(opId,dataType,data) ▲
参数名称 | 描述 |
opId | 操作ID,在此函数中不起作用,可忽略。 |
dataType | 返回数据的数据类型为uex.cJSON (值为1)。 |
data | 返回的数据,格式如下: [{'name':'xxxx','num':'13800138000','email':'xx@xx.com'...},{'name':'xxxx','num':'13800138000','email':'xx@xx.com'...}...] |
modifyItem(inName,inNum,inEmail) ▲
参数名称 | 描述 |
inName | 修改的联系人名字。 |
inNum | 联系人被替换的电话号码。 |
inEmail | 联系人被替换的邮箱地址。 |
cbModifyItem(opId,dataType,data) ▲
参数名称 | 描述 |
opId | 操作ID,在此函数中不起作用,可忽略。 |
dataType | 返回数据的数据类型为uex.cInt (值为2)。 |
data | 返回的int型的数据,成功返回uex.cSuccess(值为0)或失败返回uex.cFailed(值为1)。 |
cbMultiOpen(opId,dataType,data) ▲
参数名称 | 描述 |
opId | 操作ID,在此函数中不起作用,可忽略 |
dataType | 成功时返回数据的数据类型为uex.cJSON (值为1) |
data | 返回的数据,格式为:[{'name':'xxxx','num':'13800138000','email':'xx@xx.com',...}{'name':'xxxx','num':'13800138000','email':'xx@xx.com',...}...] |
addItemWithVCard(vcard) ▲
参数名称 | 描述 |
vcard | Vcard的数据格式。 |
inNum | 联系人被替换的电话号码。 |
inEmail | 联系人被替换的邮箱地址。 |
// 本代码由寒暄提供,如有bug请和寒暄联系(QQ:457696322 Q群:7702175)
<!DOCTYPE html>
<html>
<head>
<title>AppCan API uexContact</title>
<meta charset='utf-8'>
<script>
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 = '姓名:' +obj.name+'<br>电话:'+obj.num+'<br>邮箱:'+obj.email;
//返回还可能包括obj.url;obj.company;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,Mail);
}
/**
* 通过联系人姓名删除联系人
*/
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-57580888\nEMAIL:zywx@3g2win.com\nADR:;;中关村大街19号;;北京;100086\nORG:正益无线(北京)科技有限公司\nTITLE:客户经理\nURL:appcan.cn\nNOTE:名ç二维码\nEND:VCARD';
uexContact.cbAddItem = function(opCode, dataType, data){
if(dataType==2 && data==0){
console.log('添加成功');
}else{
console.log('添加失败');
}
}
uexContact.addItemWithVCard(vcardInfo);
}
</script>
</head>
<body>
<span>联系人</span><br/>
<span>1.打开通讯录</span><br/>
<input type='button' value='打开通讯录' onclick='openContact()'/><br/>
<span>选择的联系人信息:<em id='show_id'></em></span><br/>
<span>2.添加联系人</span><br/>
姓名:<input type='text' id='addName' value='ZYWX'/><br/>
号码:<input type='text' id='addTel' value='10086'/><br/>
邮箱:<input type='text' id='addMail' value='xwcc@vip.qq.com'/><br/>
<input type='button' value='添加联系人' onclick='addItem()'/><br/>
<span>3.删除联系人</span><br/>
姓名:<input type='text' id='delName' value='ZYWX'/><br/>
<input type='button' value='删除联系人' onclick='deleteItem()'/><br/>
<span>4.搜索联系人</span><br/>
姓名:<input type='text' id='searchName' value='Z'/><br/>
<input type='button' value='搜索联系人' onclick='searchItem()'/><br/>
<span>5.修改联系人</span><br/>
姓名:<input type='text' id='modifyName' value='ZYWX'/><br/>
号码:<input type='text' id='modifyTel' value='10010'/><br/>
邮箱:<input type='text' id='modifyMail' value='xwcc@vip.qq.com'/><br/>
<input type='button' value='修改联系人' onclick='modifyItem()'/><br/>
<span>6.打开可多选通讯录</span><br/>
<input type='button' value='打开可多选通讯录' onclick='multiOpen()'/><br/>
<span>7.VCard方式添加联系人:</span><br/>
<input class='btn' type='button' value='VCard添加联系人' onclick='addItemWithVCard()'/><br/>
</body>
</html>