一、小程序登录介绍
-
首次登录调用uni.login接口获取用户的登录凭证code(只能使用一次,有效期5分钟)
uni.login({ success (res) { resolve(res.code) }, fail (err) { reject(err) } })
-
code获取之后,连同我们的appid和appsecret一同通过auth.code2Session接口向微信服务器发送请求获取
openId:(用户唯一标识)
session_key:会话秘钥(作为后续登录状态检查使用,可通过uni.checkSession检测登录状态,过期时间不确定,由微信提供),一般后台计算之后返回前端一个session秘钥
unionId(同一用户,对同一个微信开放平台下的不同应用,UnionID是相同的)// 微信小程序授权登录获取session_key必须在getUserProfile之前获取,否则不能解密encryptedData,会提示签名失败 let url = 'https://api.weixin.qq.com/sns/jscode2session'; url += '?appid=' + wxConfigMp.appId; url += '&secret=' + wxConfigMp.secret; url += '&js_code=' + code + '&grant_type=authorization_code'; const res = await uniCloud.httpclient.request(url, { method: 'GET', dataType: 'json' }) console.log(res.data,'session_key') //获取之后 { "session_key": "/1oS7ac8HsUW8jBoyw6hXw==",