在获取手机号时,新版的code(2022/03/28)取代了旧版的cloudID,整体代码变得更加简洁,可读。
下面,让我们跟着文档来学习吧。
1. 云开发配置
微信文档:getPhoneNumber云函数
在config.json配置权限,并使用openapi接口的函数
exports.main = async (event) => { // 云函数/index.js
return await cloud.openapi.phonenumber.getPhoneNumber({
code: event.code
})
}
-------- // 云函数/config.json
{
"permissions": {
"openapi": [
"phonenumber.getPhoneNumber"
]
}
}
2. 获取code并使用云函数
微信文档:获取手机号
通过设置了open-type的<button>获取code,然后使用云函数解密得到手机号。
<button
open-type="getPhoneNumber"
bindgetphonenumber='phoneClk'>手机号码</button>
---------
phoneClk(e) {
const code = e.detail.code
wx.cloud.callFunction({
name: '云函数',
data: {
code
}
}).then(res => {
let phoneNumber = res.result.phoneInfo.phoneNumber
})
}
总结
云开发获取手机号需要一定的前置知识,而且微信文档又属实有点抽象了嗷。来沈阳大街我头套把你薅一地,指定没你好果汁吃嗷。
新手需要了解
- 微信开放能力
- <button> open-type
- 云函数使用及配置
- openapi
老哥,我按你的做了之后,返回值只有userInfo,没有phoneInfo是因为啥啊?
return await cloud.openapi.phonenumber.getPhoneNumber({
code: event.code
})
这个反回是null,也不报错,是什么原因...
文章排版不太友好,但是还是正确的,一步一步照着做就成