微信小程序开发交流qq群 173683895
功能:登录实现并获取到用户唯一标识
官方文档地址:可以先看完我的文章再看官方地址
实现步骤:1.调用微信API wx.login()得到code 2.把得到的code传给后端,在后端请求
https://api.weixin.qq.com/sns/jscode2session
3.后端把得到的用户唯一标识(openid)传给前端并在前端保存
接下来就直接把完整的流程写出来了,不再拆分。
小程序端代码:
wx.login({
success: function (res) {
if (res.code) {
let url = config.HTTP_URL + '/v1/user/login'
let data = {
code: res.code
}
util.request(url, 'post', data, '正在加载数据', function (res) {
console.log('登录接口返回结果:' + JSON.stringify(res.data))
if (res.data.openid){
wx.setStorageSync('openid', res.data.openid)
}
}
})
}
}
})
服务器操作说明:获取code请求微信小程序官方接口
接口地址:
https://api.weixin.qq.com/sns/jscode2session?appid=APPID&secret=SECRET&js_code=JSCODE&grant_type=authorization_code
请求参数:
参数 | 必填 | 说明 |
---|---|---|
appid | 是 | 小程序唯一标识 |
secret | 是 | 小程序的 app secret |
js_code | 是 | 登录时获取的 code |
grant_type | 是 | 填写为 authorization_code |
返回参数:
参数 | 说明 |
---|---|
openid | 用户唯一标识 |
session_key | 会话密钥 |
unionid | 用户在开放平台的唯一标识符。本字段在满足一定条件的情况下才返回。具体参看UnionID机制说明 |
返回说明:
//正常返回的JSON数据包
{
"openid": "OPENID",
"session_key": "SESSIONKEY",
"unionid": "UNIONID"
}
//错误时返回JSON数据包(示例为Code无效)
{
"errcode": 40029,
"errmsg": "invalid code"
}
以上就是登录获取openid和会话秘钥的完整流程实现,希望能对你们有所帮助,对微信小程序有兴趣的可以关注我或者加入我的微信小程序开发交流群(173683895) 禁止闲扯和广告。