123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167 |
- Page({
- /**
- * 页面的初始数据
- */
- data: {
- booShow: false,
- actions: [
- {
- name: '呼叫',
- value: 'makePhoneCall'
- },
- {
- name: '复制号码',
- value: 'setClipboardData'
- },
- {
- name: '添加到手机通讯录',
- value: 'addPhoneContact'
- }
- ],
- businessInfo: {
- phone: '13429176706'
- }
- },
- /**
- * 生命周期函数--监听页面加载
- */
- onLoad(options) {
- },
- /**
- * 生命周期函数--监听页面初次渲染完成
- */
- onReady() {
- },
- /**
- * 生命周期函数--监听页面显示
- */
- onShow() {
- },
- /**
- * 生命周期函数--监听页面隐藏
- */
- onHide() {
- },
- /**
- * 生命周期函数--监听页面卸载
- */
- onUnload() {
- },
- /**
- * 页面相关事件处理函数--监听用户下拉动作
- */
- onPullDownRefresh() {
- },
- /**
- * 页面上拉触底事件的处理函数
- */
- onReachBottom() {
- },
- /**
- * 用户点击右上角分享
- */
- onShareAppMessage() {
- },
- showActionSheet() {
- this.setData({ booShow: true })
- },
- hideActionSheet() {
- this.setData({ booShow: false })
- },
- async onSelect(event) {
- const { value } = event.detail
- const { businessInfo } = this.data
- this.hideActionSheet()
- switch (value) {
- case 'makePhoneCall':
- try {
- await wx.makePhoneCall({ phoneNumber: businessInfo.phone })
- } catch (err) {}
- break
- case 'setClipboardData':
- try {
- await wx.setClipboardData({ data: businessInfo.phone })
- } catch (err) {}
- break
- case 'addPhoneContact':
- this.handleGetSetting()
- break
- default:
- }
- },
- // 获取添加手机通讯录联系人权限
- async handleGetSetting() {
- const that = this
- try {
- const { errMsg, authSetting } = await wx.getSetting()
- if (errMsg === 'getSetting:ok') {
- if (authSetting['scope.addPhoneContact']) {
- await that.addPhoneContactBridge()
- return
- }
- }
- } catch (err) {}
- try {
- await wx.authorize({ scope: 'scope.addPhoneContact' })
- await that.addPhoneContactBridge()
- } catch (err) {
- wx.showModal({
- title: '提示',
- content: '未开启添加手机通讯录联系人权限,去设置中打开',
- success(res) {
- if (res.confirm) {
- that.openSetting()
- }
- }
- })
- }
- },
- // 去小程序自带设置页:返回
- async openSetting() {
- try {
- const openSettingData = await wx.openSetting()
- if (openSettingData.authSetting['scope.addPhoneContact']) {
- await this.addPhoneContactBridge()
- }
- } catch (err) {}
- },
- async addPhoneContactBridge() {
- const { businessInfo } = this.data
- try {
- await wx.addPhoneContact({
- firstName: 'businessInfo.phone',
- mobilePhoneNumber: businessInfo.phone
- })
- } catch (err) {}
- },
- async openLocationBridge() {
- try {
- // 测试 latitude: 30.25727 longitude: 120.20523
- await wx.openLocation({
- latitude: 30.25727,
- longitude: 120.20523,
- name: '浙江省杭州市余杭区'
- })
- } catch (err) {}
- }
- })
|