小程序保存到通讯录wx.addPhoneContact
wx.addPhoneContact有个很大的bug!!
官方文档: https://developers.weixin.qq.com/miniprogram/dev/api/device/contact/wx.addPhoneContact.html

注意: 这边这么多参数, 只有一个firstName必传, 注意了,这个必须要传, 很多人ios可以唤起通讯录,安卓 不行,就是因为 firstName没传,
但是!!! iso不传 firstName 竟然 也可以 唤起通讯录!!!! 这个就匪夷所思了 !!! 本人亲测
示例图:


给你们上正确的代码:
/**
* 保存到通讯录
*/
saveMailList(){
wx.getSetting({
success (res) {
// 先判断是否授权通讯录
if (res.authSetting["scope.addPhoneContact"]){
wx.addPhoneContact({
firstName: 'xxxx', // firstName必传,不然报错
nickName: 'xx',
mobilePhoneNumber: '123456', //手机号
success: function () {
wx.showToast({title: '保存成功'})
}
})
}else{
wx.addPhoneContact({
firstName: 'xxxx', // firstName必传,不然报错
nickName: 'xx',
mobilePhoneNumber: '123456', //手机号
success: function () {
wx.showToast({title: '保存成功'})
},
fail: function (err) {
// wx.openSetting需要通过wx.showModal触发
// 用户拒绝授权才弹出, 取消不算
if(err.errMsg=="addPhoneContact:fail auth deny"){
wx.showModal({
title: '温馨提示',
content: '需要获取您的通讯录权限',
success: tip=> {if (tip.confirm) {wx.openSetting()}}
})
}
}
});
}
}
})
},
存在的bug: addPhoneContact 在安卓机上 取消保存通讯录, 还是返回成功!! 三年前就有这个bug, 官方还没解决至今..........问题链接


那时候我只有一台录音机也没有电脑 也不敢奢求说唱会让自己的生活变好

浙公网安备 33010602011771号