下面是关于"微信小程序 登陆流程详细介绍"的攻略。
微信小程序登陆流程详细介绍
1. 获取用户信息前的流程
在小程序中进行用户登陆需要分为两步走,首先是获取Code,然后再用Code换取session_key和openid:
wx.login({
success: res => {
// 成功获取到Code
const code = res.code
// 发起ajax请求,换取session_key和openid
wx.request({
url: 'https://your.server.com/auth',
data: {
code
},
success: res => {
// 成功获取到session_key和openid
const session_key = res.data.session_key
const openid = res.data.openid
}
})
}
})
我们通过wx.login获取到用户登录凭证 code,向我们自己的服务器发起请求换取 session_key 和 openid。其中 session_key 是微信服务器用来加密用户身份信息的密钥,存储到了我们的服务器上,而 openid 则是一个唯一的用户标识,用于标识用户在我们的小程序上的唯一身份。
在获取到 session_key 和 openid 后,我们就可以将用户的身份信息存储到我们自己的用户表中。此时,用户已经成功登录到我们的小程序,但在未获取用户信息之前,我们无法对用户进行真正的个性化业务处理。
2. 获取用户信息的流程
在获得用户身份信息后,我们可以使用小程序提供的getUserInfo接口来获取用户的个人信息:
wx.getUserInfo({
success: res => {
// 成功获取到用户信息
const userInfo = res.userInfo
// 将用户信息发送给服务器
wx.request({
url: 'https://your.server.com/userInfo',
data: {
session_key,
encryptedData: res.encryptedData,
iv: res.iv
},
success: res => {
// 处理成功获取到的用户信息
}
})
}
})
当我们成功获取到用户的个人信息后,需要使用小程序提供的 wx.request
接口将信息发送给服务器进行对数据的体验分析和个性化业务处理。需要注意的是,Session-key
一定要正确填写,否则服务器无法解密 encryptedData
。
3. 具体实例
以下是一个获取用户身份信息的具体示例:
Step 1: 用户点击微信登录按钮
<view class="container">
<button class="weui-btn weui-btn_primary" bindtap="getUserInfo">微信登录</button>
</view>
Step 2:按下微信登陆按钮
getUserInfo: function (e) {
wx.login({
success: res => {
// 成功获取到Code
const code = res.code
// 发起ajax请求,换取session_key和openid
wx.request({
url: 'https://your.server.com/auth',
data: {
code
},
success: res => {
// 成功获取到session_key和openid
const session_key = res.data.session_key
const openid = res.data.openid
// 获取用户信息
wx.getUserInfo({
success: res => {
// 成功获取到用户信息
const userInfo = res.userInfo
// 将用户信息发送给服务器
wx.request({
url: 'https://your.server.com/userInfo',
data: {
session_key,
encryptedData: res.encryptedData,
iv: res.iv
},
success: res => {
// 处理成功获取到的用户信息
}
})
}
})
}
})
}
})
}
以上就是微信小程序登陆的详细介绍和攻略。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:微信小程序 登陆流程详细介绍 - Python技术站