一、微信小程序
1、初始化
进入登录页初始化获取用户信息rawData
,openId
和session_key
,后续登录接口需要使用
(1)uni.getProvider 获取服务供应商
服务类型传授权登录oauth
,succes
返回的结果中provider
是数组,取第一个值,后续步骤需要用到
uni.getProvider({
service: 'oauth',
success: res => {
// 返回内容如下
// {
// errMsg: "getProvider:ok",
// provider: ["weixin"],
// service: "oauth"
// }
}
});
(2)uni.login 获取登录code
返回的code
后续获取openId
需要使用到
uni.login({
provider,
success: function(loginRes) {
// 返回内容如下
// {
// errMsg: "login:ok",
// code: "0b1hyt0003hXrQ1OFh400stUkI0hyt0M"
// }
}
});
(3)wx.getUserInfo 获取用户信息(已回收)
success
返回的用户信息字段rawData
,后续登录接口需要使用到。这里的iv
和encryptedData
没用到。
wx.getUserInfo({
provider,
success: function (e) {
// 返回内容如下
// {
// errMsg: "getUserInfo:ok"
// signature: "8eaf1910369b5593055449260bc59070524f0921",
// cloudID: "71_6FUp_ISt4ez1VFmVQQjzNXaG7HZUx6p_qrqDvwG5U6JXRr_xsYectWrWRn8"
// rawData: "{"nickName":"微信用户","gender":0,"language":"","city":"","province":"","country":"","avatarUrl":"https://thirdwx.qlogo.cn/mmopen/vi_32/POgEwh4mIHO4nibH0KlMECNjjGxQUq24ZEaGT4poC6icRiccVGKSyXwibcPq4BWmiaIGuG1icwxaQX6grC9VemZoJ8rg/132"}"
// encryptedData: "acQvrIEBgBUNLgMJ8f+ZoOaLTR+yroKVf3Aeq0oLs0MI7z8a0onMiIljj4IOE2W+5Wi0VcYrxGxT3mHjQUMYrUP+4GGhDvUj/dkqsprWZxH6BHyaHbhJaR5TrNbo/U1OhB5HH9KedDvhwkGZWHi/09ZMMSxhvzEBnukiDjZFOcjcwhfB9fLLW3Q2rp04QIkGtU1rph3h8625jW5yDnwtDuzvcvVcoU7enkH/c1SfnXH9H+LNjljhRkslYy7CX/H+liiL3AAHxPCzQy/zYzsKKsYu9zYaQzyyX9hEcpZxxG7pYIzB47UXwK/BYLcUaWw/XN7TyLg8pudYvyrZV+wCKO5Os3hNi2CfUzaIzv0eVKX+ZTiIW8kwfuairHdu/cOSLQywlTNiG9SUtXY9W7rjPvQ7JismK0AhxortVR8DcF+F9FuXFB+gqsmknZQ4yoQdb3mv0pwl4IIYvCXc5KaEXw=="
// iv: "npEnbFkUACnIuHVQMYsHNQ=="
// userInfo: {
// avatarUrl: "https://thirdwx.qlogo.cn/mmopen/vi_32/POgEwh4mIHO4nibH0KlMECNjjGxQUq24ZEaGT4poC6icRiccVGKSyXwibcPq4BWmiaIGuG1icwxaQX6grC9VemZoJ8rg/132"
// city: ""
// country: ""
// gender: 0
// language: ""
// nickName: "微信用户"
// province: ""
// }
// }
}
});
success
返回属性说明如下:
属性 |
类型 |
说明 |
最低版本 |
userInfo |
用户信息对象,不包含 openid 等敏感信息 |
||
rawData |
string |
不包括敏感信息的原始数据字符串,用于计算签名 |
|
signature |
string |
使用 sha1( rawData + sessionkey ) 得到字符串,用于校验用户信息,详见 用户数据的签名验证和加解密 |
|
encryptedData |
string |
包括敏感数据在内的完整用户信息的加密数据,详见 用户数据的签名验证和加解密 |
|
iv |
string |
加密算法的初始向量,详见 用户数据的签名验证和加解密 |
|
cloudID |
string |
敏感数据对应的云 ID,开通云开发 的小程序才会返回,可通过云调用直接获取开放数据,详细见 |