1. 小程序登录机制
若需要通过小程序获取用户的个人信息必须执行小程序的登录,通常做法是除了小程序登录凭证外,开发者为了安全会带上自己的token来进行开发,以保证数据交互安全。
下图是小程序官方提供的登录流程时序图:
小程序登录时序图
从上图可以看出小程序的登录是一个需要小程序前端开发和后端开发协同的一个过程。
简单的说核心步骤有两点:
1. 小程序调用wx.login()或者wepy.login()获取登录凭证code,并回传给开发者后台
2. 开发者后台调用auth.code2Session接口,换取用户信息。
注意事项:
1. 当一次交互失败后,小程序端必须重新全部执行,不能拿上次的wx.login()返回的code继续使用,这个code是一次性的。
2. 眼查查小程序登录流程
目前我们有两个小程序,眼查查小程序和员工版,其中员工版由于不跟微信进行交互,无需记录openId之类的数据,所以在实际开发过程中,我们直接省略了小程序登录这个步骤,使用的是用户名和密码换取token。而眼查查小程序则由于需要接入微信的其他能力,并需要进行数据打通所以必须要进行小程序登录。
通常小程序登录都是在放在app实例中进行,我们的眼查查小程序也不例外。
async loginToServer() {
let res = await wepy.login();
let that = this
if (res.code) {
await api.getTokenNew({
auth: true,
method: \’POST\’,
query: {
grant_type: \’weixin\’,
wxcode: res.code
},
success: function (params) {
if (params.access_token) {
StorageUtils.getInstance().saveToken(params.access_token)
if (that.globalData.userInfo) {
that.updateNickNameAndAvatar()
}
that.queryDictionary()
}
},
fail: function (params) {
console.log(params)
}
})
}
}
3. 参考资料
1. https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/login.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。