微信小程序用来展示一些用户数据,和少量的交互与通信非常合适。通常,我们需要一个后台管理系统来管理用户数据,在使用小程序的时候需要登录获取用户信息之后才能查看个人业务。
小程序登录一般不止一种,常见的有:
- 微信登录;
- 手机号密码登录,同后台管理平台一套账号
- 手机号验证码登录。
2 和 3 比较类似,这里通过 1 和 2 展开讨论。
微信登录后,我们可以获取微信登录用户的昵称、头像、地区和性别信息,这时候需要绑定手机号,注册为新用户。
下面用流程图演示该登录流程:
一、手机号密码登录
有微信登录,为什么还要多此一举添加手机号密码登录这种方式呢?
考虑到有的人手机号有几个,绑定微信的不一定是想用的那个,例如系统数据库中是 A 手机号,平时使用微信登录的是 B 手机号,他想要用 A 登录,直接输账号密码登录,不需要走微信登录。
手机号密码登录和在后台管理系统中登录无任何差别,登录成功后,返回用户信息和 token ,将 token 保存在本地,下次调接口时带上,保留用户登录状态。登录成功后,直接跳转到首页,操作其他业务,该流程结束。
二、微信登录
每次登录成功之后,都需要将 token 和其它用户信息保存在本地或小程序全局变量中(localStorage 或 appGlobal)。
微信登录成功后,是可以获取到用户手机号,但这时候需要几个条件
- 小程序主体是企业
- 需要微信认证
- 每年要付费 300
主要流程说明:
1. 如果是老用户(那么他不是第一次登录)
1.1. 需要判断是否已经绑定了手机号,如果绑定过手机号了就直接跳转首页,操作其他业务,该流程结束。
1.2. 如果没有绑定过手机号,则需要先验证该手机号是否已经存在于数据库中,如果没有存在于数据库中,不能绑定成功(因为不能任何一个人的手机号都可以绑定),这时候需要先在后台管理系统中添加该手机号的用户。如果存在于系统中,则可以绑定,绑定成功后就直接跳转首页,操作其他业务,该流程结束。
2. 如果是新用户,那么他是第一次登录
通过本地或小程序全局变量没有存储 token 或其它用户信息来判断是否是第一次登录,则走绑定手机号这一流程,并且先验证该手机号是否存在于数据库中,余下步骤同 1.2 。
请发表评论