Taro小程序云开发获取用户手机号

1 首先创建getPhone的云函数


//getPhone/index.js

const cloud = require('wx-server-sdk')

// 初始化 cloud

cloud.init({

  // API 调用都保持和云函数当前所在环境一致

  env: cloud.DYNAMIC_CURRENT_ENV

})

exports.main = async (event, context) => {

  const res=await cloud.getOpenData({

    list:[event.cloudID]

  })

  return res

}

2 在Button上添加 open_type 和 ongetphonenumber 属性

<Button openType='getPhoneNumber' onGetPhoneNumber={this.getPhoneNumber} >点击获取手机号</Button>

3 调用云函数

getPhoneNumber = (e) => {
    console.log('点击获取手机事件', e.detail.cloudID);
    Taro.cloud.callFunction({
      name: "getPhone",
      data: {
        cloudID: e.detail.cloudID
        // weRunData
      },
    }).then(res => {
      console.log(res);
      console.log(res.result.list[0].data.phoneNumber);
      this.setState({
        context: res.result.list[0].data.phoneNumber
      })
    })
  }

这样基本就大功告成了!
不过,用云开发时还有几个点需要注意一下
1.开发之前,需要在app.js中初始化配置

componentDidMount () {
    if (process.env.TARO_ENV === 'weapp') {
      Taro.cloud.init({
        env: '云开发环境id',//可以在云开发后台拿到
        traceUser:'true'//是否在将用户访问记录到用户管理中,在控制台中可见
      })
    }
  }

2.不要忘记配置云函数的name //package.jsonpackage.json
3.云函数写好后要右击当前文件夹,选择创建并部署,这样就可以调用云函数了
4.注意云函数文件夹cloud/functions 后面有没有当前环境的字样,如果没有,云开发没有生效
5.当前云函数如果生效,在微信开发者工具里面当前文件夹是高亮的,下面有个小图标。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容