前端做的事就这些:
1.先通过button来获取用户信息授权(官方规定)
open-type="getUserInfo" => 重点
wxml: <button bindgetuserinfo="getUserInfo" open-type="getUserInfo">按钮</button>
js:定义函数
getUserInfo(e){
console.log(e)
}
*效果:点击弹出授权对话框,如下*
2.调用小程序login方法获取code
*通过code请求接口获取token,解析token作为登录态,存入全局变量或缓存;
之后每次请求接口都在header里带着token,后台会判断有无token,有就给你数据,无就不给*
wx.login({
success (res) {
console.log(res.code)
if (res.code) {
//发起网络请求
wx.request({
url: '接口地址',
method: 'POST',
header: {
'Content-type': 'application/x-www-form-urlencoded'
},
data: {
//需要将一下4个参数传给后台
wechatAppId: '',
wechatCode: res.code,
mpData: res.encryptedData,
mpIv: res.iv
},
success: res => {
console.log(res)
const token = res.cookies[0].split(';')[0].split('=')[1]
console.log(token)
App.globalData.token = token // 存入全局变量
wx.setStorageSync('token', token) // 或存入缓存
}
})
} else {
console.log('登录失败!', res.errMsg)
}
}
})
*小程序版本v2.9.1
仅用于个人学习记录,欢迎挑毛病^_^*