公司业务开展,最近完成了一个微信小程序的开发。场景是这样,同一微信开放平台下拥有相同主体的APP和微信小程序来完成同样的业务,用户进入app或者微信小程序时必须获取用户的unionid来确认当前的用户身份,完成登录。小程序“获取用户信息”api(getUserInfo)的调用方式和之前相比有了较大更新,优雅的实现用户授权和登录非常重要,以下是我在微信小程序授权登录相关流程在开发时候的实现思路和总结,分享如下。
说明:
你可以简单的理解为
如果开发者在多个移动应用、网站应用和公众帐号之间有统一用户账号的需求,需要前往微信开放平台(open.weixin.qq.com)绑定公众号后,便可利用UnionID机制来满足上述需求。
用户在开放平台的唯一标识符
你可以简单的理解为:
微信针对不同的用户在不同的应用下都有唯一的一个openId, 但是要想确定用户是不是同一个用户,就需要靠unionid来区分。一般自己的后台都会有自己的一个用户表,每个用户有不同的userid。也就是说同一个用户在同一个微信开放平台下的相同主体的应用对应着相同的userid,unionid以及不同的openid。所以在用户登录进来的时候,我们只能靠微信返回给我们的unionid去判断是不是同一个用户,在去关联我们的用户表,拿到对应的userid。
绑定了开发者帐号的小程序,可以通过下面3种途径获取UnionID。
当用户满足条件2和3时,开发者可以直接通过wx.login获取到该用户的unionid, 否则必须调用接口 wx.getUserInfo ,额外需要注意的事就是妥善处理用户拒绝授权的情况。
在真实的业务场景中,我们希望,用户进入小程序时,未登录情况下可以正常浏览商品,对小程序有个基本的认知,不要直接d出框要求用户授权,否则会干扰用户,导致新用户的流失,当用户需要使用一些高级功能和场景,这个时候再去要求用户授权,这样用户授权的几率会大大提高。
将登录的逻辑封装ajax
流程:
封装的意义
不再关注当前接口是否需要登录,用户是否已授权,所有请求直接调用 ajax() ,在必要的时候完成一切登录以及授权流程。小程序入口页面增加,业务拓展的时候,你只需要专注于业务实现。
参考资料
学习微信小程序开发需要一定的时间和耐心,具体的学习周期因人而异。但是如果你每天花费一些时间来学习,掌握基础知识和技能,大约需要几天的时间就可以入门微信小程序开发了。以下是一些学习微信小程序开发的建议:1. 了解微信小程序的基础知识,包括小程序的开发环境、基础语法、组件、API等。
2. 学习小程序的开发工具,如微信开发者工具和其他辅助工具。
3. 实践编写小程序,从简单的页面开始,逐渐增加功能和复杂度。
4. 参考官方文档和教程,了解小程序的最佳实践和开发技巧。
5. 参与社区和论坛的讨论和交流,获取更多的开发经验和技巧。
总之,学习微信小程序开发需要一定的时间和经验积累,需要不断地实践和学习,才能掌握越来越深入的知识和技能。
如果是准备学前端,建议你可以看下这篇文章!
2022 年最新 Web 前端学习路线图,我梳理了完整的细节知识点,企业项目开发解决方案所需技术栈,更适合自学 Web 前端开发的同学,路线清晰明确,少走弯路。
零基础学编程,从宏观到微观全面了解专业、语言选择、行业介绍、技术发展变革 (opens new window)
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)