<!--pages/index.wxml-->
<view class='box'>
  <view class='title'>扫码与打电话</view>
  <button type='primary' bindtap='scanCode'>开始扫码</button>
  <view class='txtLayout'>
    <text>字符集:{{resCode.charSet}}</text>
    <text>扫码类型:{{resCode.scanType}}</text>
    <text>扫码结果:{{resCode.result}}</text>
  </view>
  <view class='txtLayout'>
    <input placeholder='请输入联系人姓名' bindblur='inputName'></input>
    <input placeholder='请输入联系人电话' bindblur='inputPhone' type='number'></input>
  </view>
  <view class='btnLayout'>
    <button type='primary' bindtap='makeCall' style='width:45%'>拨打电话</button>
    <button type='primary' bindtap='addPerson' style='width:45%'>添加联系人</button>
  </view>
</view>
/* pages/API/index.wxss */

.txtLayout {
  /*text组件布局*/
  display: flex;
  flex-direction: column;
  margin: 20rpx 0rpx;
  border: 1px solid burlywood;
  padding: 10rpx;
}

text {
  margin: 10rpx 0;
}

.btnLayout {
  /* 设置button组件的布局 */
  display: flex;
  flex-direction: row;
  justify-content: space-around; /* 设置主轴方向组件的排列方式 */
}

input {
  margin: 20rpx 0;
  border-bottom: 1px solid blue;
}
// pages/index.js
Page({
  name:'',    //定义联系人姓名
  phone: '',  //定义联系人电话
  scanCode: function() {
    var that = this;
    wx.scanCode({   //调用扫码API函数
      onlyFromCamera: false,  //通过摄像头和调用相册图片都可以进行扫码
      scanType: [], //不指定码的类型
      success: function(res) {
        that.setData({
          resCode: res  //获取扫码结果
        })
      },
    })
  },
  inputName: function(e) {
    this.name = e.detail.value;  //获取联系人姓名
  },
  inputPhone: function(e) {
    this.phone = e.detail.value;  //获取联系人电话
  },
  makeCall: function() {
    let phone = this.phone;
    wx.makePhoneCall({  //调用打电话API函数
      phoneNumber: phone
    })
  },
  addPerson: function() {
    let name = this.name;
    let phone = this.phone;
    if (name == '' || phone == '') {
      wx.showToast({
        title: '姓名和电话不能为空',
        icon: 'none',
        duration: 2000
      })
    } else {
      wx.addPhoneContact({  //调用添加联系人API函数
        firstName: name,
        mobilePhoneNumber: phone
      })
    }
  }
})

 

 

 

 

扫码

wx.scanCode(Object object)用于调用客户端 扫码界面进行扫码,其参数属性如下:

 

 

 scanType 的合法值

 

 

 打电话

wx.makePhoneCall(Object object) 用于拨打电话

属性 说明
phoneNumber 需要拨打的电话号码
success  接口调用成功的回调函数
fail 接口调用失败的回调函数
complete 接口调用结束的回调函数

 

 

       

 

 

 

添加联系人

wx.addPhoneContact(Object object) 用于添加手机 通讯录联系人。可以通过「新增联系人」或 「添加到已有联系人」的方式添加。

wx.addPhoneContact(Object object) 参数主要属性