收藏
评论

云开发小程序如何获取用户的手机号


云开发小程序如何获取用户的手机号

~


官方文档

1、https://developers.weixin.qq.com/miniprogram/dev/component/button.html

2、https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/signature.html

首先我说下做这个的场景,近期在迭代培训刷题小程序,该小程序支持线上和线下报名,对于线上报名的用户平台会电话引导购买其他付费服务,这个时候对于手机号的正确收集是非常有必要的

那么能不能通过文本框让用户自己输入呢,这样做其实也不是不可以的,但是目前常规的做法就是利用微信的


微信开放能力直接获取微信实名认证绑定的手机号,由于目前基本绝大部分手机都实名认证了,所以这个方式就非常自然

~

其实在之前的开发中,也做过手机号码的获取工作,但是当时是在社区随便找了一个可行方案,没有严格按照官方指定的方案来,这次就顺着官方提供的思路实现了下

真好看

具体代码就是增加以下二块

1、


2、

对的,你看到了,创建的云函数就是默认的初始化代码,但是这样就work的,不妨可以试试


最后一次编辑于  2021-03-17
收藏

4 个评论

  • 红小豆
    红小豆
    2021-03-17

    利用微信的开放能力获取手机号,是需要企业资质的,所以对于个人小程序是不支持的,这一点需要格外注意。

    2021-03-17
    赞同 1
    回复
  • 理想
    理想
    2021-07-22

    参考楼主的代码,成功获取手机号

    <!-- wxml -->
    <button open-type="getPhoneNumber" bindgetphonenumber="getphone">使用微信手机</button>
    
    


    //js
      getphonefunction (e{
        console.log('手机号:', e)
        this.getPhoneNumberData(e.detail.cloudID)
      },
      getPhoneNumberDatafunction (cloudID{
        wx.cloud.callFunction({
          name'login',
          data: {
            weRunData: wx.cloud.CloudID(cloudID),
            obj: {
              shareInfo: wx.cloud.CloudID(cloudID)
            }
          }
        })
        .then(res=>{
          console.log('云函数获取开放数据:',res)
          console.log('手机号:',res.result.event.weRunData.data.phoneNumber)
        })
        .catch(err=>{
          console.log(err)
        })
      },
    
    2021-07-22
    赞同
    回复
  • 睡前原谅一切
    睡前原谅一切
    2021-03-17

    https://github.com/minchangyong/wx-cloud-demo

    2021-03-17
    赞同
    回复
  • 红小豆
    红小豆
    2021-03-17

    官方提供了以下二种方案,本文采用了第二种方式来实现

    服务端获取开放数据

    小程序可以通过各种前端接口获取微信提供的开放数据。考虑到开发者服务端也需要获取这些开放数据,微信提供了两种获取方式:


    方式一:开发者后台校验与解密开放数据

    方式二:云调用直接获取开放数据(云开发)


    2021-03-17
    赞同
    回复
登录 后发表内容