应用场景:小程序在使用中,用户想把某个人的电话号码通过点击按钮的形式添加到通讯录中.....
代码部分
html代码:
<view class="jv-items k1 dis-clm" @click="addTel">
<label><image src="https://xxxxx/wximg/txl.jpg"></image></label>
<text>存通讯录</text>
</view>
js代码部分
addTel() {
uni.addPhoneContact({
mobilePhoneNumber:'18066742510'
})
}
原生微信处理办法
addTel() {
wx.addPhoneContact({
firstName: 'test',//联系人姓名
mobilePhoneNumber: that.data.phoneNum,//联系人手机号
})
}
完整代码:
部分手机涉及到用户隐私,可能无法添加,可按照下述进行操作即可
export default {
methods: {
addToContact() {
// 判断用户是否同意授权通讯录权限
uni.getSetting({
success: (res) => {
if (!res.authSetting['scope.addressBook']) {
// 没有授权,发起授权请求
uni.authorize({
scope: 'scope.addressBook',
success() {
// 用户同意授权通讯录
this.addContactToPhone();
},
fail() {
// 用户拒绝授权
uni.showModal({
title: '提示',
content: '需要授权通讯录权限才能添加',
showCancel: false
});
}
});
} else {
// 已经授权,直接调用添加接口
this.addContactToPhone();
}
}
});
},
addContactToPhone() {
// 调用微信小程序的添加到通讯录的API
uni.addPhoneContact({
photoFilePath: '', // 联系人头像的路径,可以是本地文件路径或者网络图片路径
firstName: 'firstName', // 联系人姓
lastName: 'lastName', // 联系人名
middleName: '', // 联系人的中名
prefix: '', // 联系人名称的前缀,如先生、女士
suffix: '', // 联系人名称的后缀
company: 'company', // 公司名称
department: 'department', // 部门名称
jobTitle: 'jobTitle', // 职位名称
note: 'note', // 备注信息
phoneNumbers: [
{
label: 'mobile', // 电话号码的标签
number: '13800008888' // 电话号码
}
],
emailAddresses: [
{
label: 'home', // 邮箱标签
address: 'example@example.com' // 邮箱地址
}
],
addresses: [
{
label: 'home', // 地址标签
street: 'street', // 街道地址
city: 'city', // 城市
region: 'region', // 区域
postCode: 'postCode', // 邮编
country: 'country' // 国家
}
],
success: (res) => {
// 添加成功的回调
uni.showToast({
title: '添加成功',
icon: 'success',
duration: 2000
});
},
fail: (err) => {
// 添加失败的回调
uni.showToast({
title: '添加失败',
icon: 'none'
});
console.log('添加联系人失败', err);
}
});
}
}
}
下一篇:
vue播放海康rtmp流