前言
项目开发中用到了小程序手机号码一键登录功能,这里简单记录一下流程,如有其他见解,欢迎留言讨论~
开发流程
开发流程大致如下图
微信官方文档中已经有蛮详细的流程了,这里大致记录一下代码部分的实现
具体功能实现流程
根据官方文档可以看出,获取手机号码可直接调用接口
POST https://api.weixin.qq.com/wxa/business/getuserphonenumber?access_token=ACCESS_TOKEN
请求参数中有两项必传的参数:access_token,code
我们需要先获取一下access_token,至于code,就交给前端的同学来获取
获取access_token
直接调用接口:
https://api.weixin.qq.com/cgi-bin/stable_token
需要传入的参数有:appid,secret和grant_type,appid和secret可以由小程序管理者查看,grant_type是固定值client_credential。
这里我们可以创建一个map将需要传入的参数包进去,然后发送一个Post请求,通过解析就能获取到access_code
//创建一个GetToken 结构体用于解析响应,其中ExpiresIn 表示AccessToken 的过期时间
type GetToken struct {
AccessToken string `json:"access_token"`
ExpiresIn int64 `json:"expires_in"`
}
url := "https://api.weixin.qq.