1、在app.js的onLaunch钩子函数中使用官方API
// 登录
wx.login({
success: res => {
// 发送 res.code 到后台换取 openId, sessionKey, unionId
if(res.code){
//获取到code
}else{
wx.showToast({
icon:'none',
title: '微信登录失败,请重新进入小程序',
duration:3000
})
}
}
})
2、调用登录凭证校验接口
GET
https://api.weixin.qq.com/sns/jscode2session?appid=APPID&secret=SECRET&js_code=JSCODE&grant_type=authorization_code
详情可以看看微信官方文档 》》
但一般是在后台调用,需要再返回给前端,所以可以获取到code后和后台换取 openId, sessionKey, unionId就行了
注意:code是有时效的
// 登录
wx.login({
success: res => {
// 发送 res.code 到后台换取 openId, sessionKey, unionId
if(res.code){
wx.request({
url: this.globalData.requestUrl+'/wx/get-openid',
data:{
code:res.code,
},
method:'POST',
success(res2){
console.log(res2.data.data.openid)
console.log(res2.data.data.session_key)
console.log(res2.data.data.unionid)
}
})
}else{
wx.showToast({
icon:'none',
title: '微信登录授权失败,请重新进入小程序',
duration:3000
})
}
}
})
3、如果成功调用接口,但没有返回unionId请看下面
unionId 是用来区分用户的唯一性,在同一个微信开放平台帐号下的移动应用、网站应用和公众帐号(包括小程序),用户的 unionId 是唯一的。
所以你得先有一个微信开放平台帐号,且在管理中心绑定了小程序
之后再调用登录接口就有unionId了