微信小程序云开发获取手机号
一、页面中
button
组件
open-type
配置项
button
open-type
open-type="getPhoneNumber"
获取用户手机号,可以从
bindgetphonenumber
回调中获取到用户信息
<button
class="login authorize"
open-type="getPhoneNumber"
bindgetphonenumber="getPhoneNumber"
>
获取手机号
</button>
二、调用云函数获取手机号
async getPhoneNumber(event) {
const errMsg = event.detail.errMsg
// 判断用户是否点击允许
if (errMsg === "getPhoneNumber:ok") {
const cloudId = event.detail.cloudID
const cloudIdList = [cloudId]
// 请求云函数
const cloudFunRes = await wx.cloud.callFunction({
name: "getMobile", // 云函数名
data: { cloudIdList }
})
const jsonStr = cloudFunRes.result.dataList[0].json
const jsonData = JSON.parse(jsonStr)
const phoneNumber = jsonData.data.phoneNumber
// 手机号
console.log('phoneNumber', phoneNumber)
}
}
三、云函数
getMobile
getMobile
3.1
index.js
index.js
// 云函数入口文件
const cloud = require('wx-server-sdk')
cloud.init({
env: cloud.DYNAMIC_CURRENT_ENV
})
// 云函数入口函数
exports.main = async (event, context) => {
const wxContext = cloud.getWXContext()
const openid = wxContext.OPENID
const cloudIdList = event.cloudIdList
try {
const result = await cloud.openapi.cloudbase.getOpenData({
openid: openid,
cloudidList: cloudIdList
})
return result
}
catch (err) {
console.error('transaction error')
return err
}
}
3.2
config.json
config.json
{
"permissions": {
"openapi": [
"phonenumber.getPhoneNumber"
]
}
}
参考文档
如果该文章能帮到你的话 麻烦点个赞 谢谢啦~
版权声明:本文为South_ink原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。