Java获取微信手机号
- 导入maven
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.8.1</version>
</dependency>
<dependency>
<groupId>com.github.binarywang</groupId>
<artifactId>weixin-java-mp</artifactId>
<version>4.4.4.B</version>
</dependency>
- java代码
public String getPhone(String code) {
try {
WxMaService wxMaService = createWxMaService();
WxMaPhoneNumberInfo phoneNoInfo = wxMaService.getUserService().getPhoneNoInfo(code);
return phoneNoInfo.getPhoneNumber();
} catch (Exception e) {
log.error("获取微信用户手机号异常:{}", e.getMessage());
return null;
}
}
- 前端
//按钮上加方法
@getphonenumber="getPhoneNumber"
//方法
// 获取手机号
getPhoneNumber(e) {
if (!this.agree) {
this.$api.msg('请先阅读并同意用户协议')
return
}
if(e.detail.errMsg === 'getPhoneNumber:ok'){
//确认授权的代码
}else if(e.detail.errMsg === 'getPhoneNumber:fail user deny' ||
e.detail.errMsg === 'getPhoneNumber:fail:user deny'){
//取消授权的代码
this.$api.msg('取消授权')
return;
}
//获取手机号 拿到code
this.$myHttp({
url: this.$request.api.user.wxPhone,
data:{
code:e.detail.code
}
}).then(res => {
if (res.state) {
//手机号
this.phone = res.data
}else{
uni.hideLoading()
}
}).catch(err => {
console.log('获取手机号失败:'+err)
uni.hideLoading()
});
},