一共3篇文章,共同描述,看序号进行寻找。
先看效果图,真机效果
1、前提
获取手机号码,一定要企业账号,不是企业账号会出现下面提示
所以没有企业账号的,就可以不用看了,申请企业账号去官网申请就行了,申请成功了后,我们接着看。
2.代码
代码参考文章
<template>
<view class="container">
<view class="userinfo">
<button open-type="getPhoneNumber" @getphonenumber="getUserPhone">获取用户手机号</button>
</view>
</view>
</template>
<script setup>
function getUserPhone(e) {
//获取微信的手机号码
console.log("回调返回的信息:", e)
uni.request({
url: 'https://api.weixin.qq.com/cgi-bin/stable_token',
method: 'POST',
data: {
appid: '***',//填写appid
secret: '***',//填写secret
grant_type: 'client_credential'
},
success(res) {
console.log('获取res信息:', res)
const accessToken = res.data.access_token
console.log('获取accessToken信息:', accessToken)
uni.request({
url: `https://api.weixin.qq.com/wxa/business/getuserphonenumber?access_token=${res.data.access_token}`,
method: 'POST',
data: {
code: e.detail.code
// openid: _this.openid (openid非必填,所以不需要先获取用户信息,再获取手机号)
},
success(res) {
console.log('获取的用户手机号userPhone:', res.data.phone_info)
}
})
}
})
}
</script>
<style>
.userinfo-avatar {
overflow: hidden;
width: 128rpx;
height: 128rpx;
margin: 20rpx;
border-radius: 50%;
}
</style>
3.对代码的返回值进行解释
一共是这3处
3.1回调返回的信息
主要看返回的值是不是ok
3.2获取accessToken信息
是否返回了值
3.3获取的用户手机号userPhone
你的微信绑定的电话号码,自己一看就明白了了,我的是176开头的
4.最终的效果就是这样的