值
说明
-1
系统繁忙,此时请开发者稍候再试
0
请求成功
40029
code 无效
45011
频率限制,每个用户每分钟100次
二.信息授权wx.getUserInfo
获取用户信息。
参数
属性
类型
默认值
必填
说明
withCredentials
boolean
否
是否带上登录态信息。当 withCredentials 为 true 时,要求此前有调用过 wx.login 且登录态尚未过期,此时返回的数据会包含 encryptedData, iv 等敏感信息;当 withCredentials 为 false 时,不要求有登录态,返回的数据不包含 encryptedData, iv 等敏感信息。
lang
string
en
否
显示用户信息的语言
success
function
否
接口调用成功的回调函数
fail
function
否
接口调用失败的回调函数
complete
function
否
接口调用结束的回调函数(调用成功、失败都会执行)
object.lang 的合法值
值
说明
en
英文
zh_CN
简体中文
zh_TW
繁体中文
object.success 回调函数
参数
属性
类型
说明
userInfo
UserInfo
用户信息对象,不包含 openid 等敏感信息
rawData
string
不包括敏感信息的原始数据字符串,用于计算签名
signature
string
使用 sha1( rawData + sessionkey ) 得到字符串,用于校验用户信息,详见 用户数据的签名验证和加解密
encryptedData
string
包括敏感数据在内的完整用户信息的加密数据,详见
iv
string
加密算法的初始向量,详见
注意:
1.小程序端获取授权信息要用button按钮触发
2.小程序端需要将 encryptedData, iv, login_key 传到后端用于解密
案例:
登录:
当小程序第一次执行的时候就调用wx.login
小程序端:apps.js
App({ onLaunch: function () { var _this=this // 登录 wx.login({ success: res => { // 发送 res.code 到后台换取 openId, sessionKey, unionId wx.request({ url: _this.globalData.Url+'/login/', // 后端路径 data:{"code":res.code}, // code header:{"content-type":"application/json"}, method:"POST", success:function(res){ console.log(res) // 小程序端存储login_key wx.setStorageSync("login_key",res.data.data.login_key) } }) } }) }, globalData: { Url:"http://127.0.0.1:8000", userInfo: null } })
后端 django
wx ├── settings.py # 小程序id,code2Session等配置 ├── wx_login.py # 用于调用code2Session拿到openid等 └── WXBizDataCrypt.py # 获取用户授权信息的解密算法,官方下载
项目/settings.py