项目需求
点击按钮获取用户电话号码绑定到后台,登录。
实现思路
- 使用微信开放功能为获取用户手机号的button按钮绑定点击事件为获取用户授权。
- 如果获取用户手机号授权成功调用微信登录接口获取code。
- 用获取到的code去调用后台接口获取到用户的openid。
- code+openid去调用后台写的小程序自动登录接口获取到access_token,至此登录功能完成。
- 查询用户是否绑定过手机号,未绑定就去调用绑定手机号的接口。绑定过就直接提示登录成功,根据自己项目需求跳转页面,我是直接返回到上一页。
关键代码
<!-- wxml -->
<button open-type="getPhoneNumber" class="button" bindgetphonenumber="author">
<image class="button-img" src="../../assets/images/[email protected]"></image>
<text>微信一键授权登录</text>
</button>
// wxss
@import '../../common.less';
.button {
width: 80%;
height: 88rpx;
display: flex;
background: @baseColor1;
color: #fff;
font-size: 30rpx;
border: none;
border-radius: 44rpx;
justify-content: center;
align-items: center;
font-weight: 400;
margin: 254rpx auto 74rpx;
.button-img {
width: 56rpx;
height: 40rpx;
margin-right: 6rpx;
}
}
// login.js
/**
* 用户点击一键授权登录按钮
*/
author(e) {
if (e.detail.errMsg === 'getPhoneNumber:ok')