小程序页面中有多个或者单个电话时,拨打电话的处理实例

最终目的:
当页面中有多个电话时,点击拨打电话按钮弹出可供客户选择电话号的页面;
当页面中有一个电话时,点击拨打电话按钮弹出确认拨打电话的页面;
当两个电话号码相同时,默认弹出弹出确认拨打电话的页面。

  1. wxml部分代码如下:
 <button bindtap="makeCall">拨打电话</button>
  1. 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
表示:两个号码都存在且号码不一样

效果如图所示:
在这里插入图片描述
在这里插入图片描述

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值