官方文档中给出了示例代码:
wx.login({
success (res) {
if (res.code) {
//发起网络请求
wx.request({
url: 'https://example.com/onLogin',
data: {
code: res.code
}
})
} else {
console.log('登录失败!' + res.errMsg)
}
}
})
能用吗?经反复摸索,终于得到下述用法:
wx.login({
success: res => {
if (res.code) {
let URL='https://api.weixin.qq.com/sns/jscode2session?appid=##################&secret=*****************
***************&js_code='+res.code+'&grant_type=authorization_code'
wx.request({
url: URL ,
success:function(res){
console.log(res.data)//res.data中有openid
}
})
}
} })
注:###......#为小程序ID;***……*为小程序密钥。res.code为临时获得的码。还得注意编译程序时本地设置中勾选“不校验合法域名”
小程序中的坑太多了!官方文档多单不实用!!!
errmsg: "appid missing,
还是有点问题啊,不知道是不是版本的原因,我的是uniapp小程序,不是原生的
"经反复摸索,终于得到下述用法"
然而,正式版是不能这样用的。
得服务端去获取openid
习惯了就好,文档不是熟悉的人根本就看不懂的