最终目的:
当页面中有多个电话时,点击拨打电话按钮弹出可供客户选择电话号的页面;
当页面中有一个电话时,点击拨打电话按钮弹出确认拨打电话的页面;
当两个电话号码相同时,默认弹出弹出确认拨打电话的页面。
- wxml部分代码如下:
<button bindtap="makeCall">拨打电话</button>
- js部分代码如下:
makeCall: function () {
var telephone = this.data.orderDetail.cusSubjectMobile//手机号
var fixed_telephone = this.data.orderDetail.cusSubjectLandline//固话
if (telephone && fixed_telephone && telephone != fixed_telephone){
wx.showActionSheet({
itemList: [telephone, fixed_telephone],
success(res) {
if (res.tapIndex === 0) {
wx.makePhoneCall({ //点击确定按钮 调用小程序拨打电话的api
phoneNumber: telephone,//从后台获取到的电话号码
success: function () {
console.log('拨打电话成功' + telephone)
},
fail: function () {
console.log("拨打电话失败")
}
})
} else if (res.tapIndex === 1) {
wx.makePhoneCall({ //点击确定按钮 调用小程序拨打电话的api
phoneNumber: fixed_telephone,//从后台获取到的电话号码
success: function () {
console.log('拨打电话成功' + fixed_telephone )
},
fail: function () {
console.log("拨打电话失败")
}
})
}
},
fail(res) {
console.log("拨打电话失败")
}
})
} else if (telephone === fixed_telephone){
//弹出dialog弹出框
wx.showModal({
content: "确认拨打" + fixed_telephone + "吗",
confirmColor: '#2EA7E0',
success(res) {
if (res.cancel) {
// 用户点击了取消属性的按钮
return false
} else if (res.confirm) {
wx.makePhoneCall({ //调用小程序拨打电话的api
phoneNumber: fixed_telephone, //获取到的电话号码
success: function () {
console.log('拨打电话成功')
},
fail: function () {
console.log("拨打电话失败")
}
})
}
}
})
} else if (!telephone){
//弹出dialog弹出框
wx.showModal({
content: "确认拨打" + fixed_telephone + "吗",
confirmColor: '#2EA7E0',
success(res) {
if (res.cancel) {
// 用户点击了取消属性的按钮
return false
} else if (res.confirm) {
wx.makePhoneCall({ //调用小程序拨打电话的api
phoneNumber: fixed_telephone, //获取到的电话号码
success: function () {
console.log('拨打电话成功')
},
fail: function () {
console.log("拨打电话失败")
}
})
}
}
})
} else if (!fixed_telephone){
//弹出dialog弹出框
wx.showModal({
content: "确认拨打" + telephone + "吗",
confirmColor: '#2EA7E0',
success(res) {
if (res.cancel) {
// 用户点击了取消属性的按钮
return false
} else if (res.confirm) {
wx.makePhoneCall({ //调用小程序拨打电话的api
phoneNumber: telephone, //获取到的电话号码
success: function () {
console.log('拨打电话成功')
},
fail: function () {
console.log("拨打电话失败")
}
})
}
}
})
} else if (!fixed_telephone && !fixed_telephone){
wx.showModal({
content: "暂无联系电话",
confirmColor: '#2EA7E0',
showCancel: false,//不显示取消按钮
success(res) {
if (res.confirm) {
return false
}
}
})
}
},
注意:
telephone && fixed_telephone && telephone != fixed_telephone
表示:两个号码都存在且号码不一样
效果如图所示: