美文网首页
2018-05-20 盘古微信小程序登录

2018-05-20 盘古微信小程序登录

作者: 咖啡浮点 | 来源:发表于2018-05-21 00:31 被阅读0次

    今天花一天时间梳理了一下盘古微信小程序的登录功能(效率有点低,见谅!),发现这个功能的确比较复杂。

    第一步.根据环境不同,设置接口地址。
    第二步.通过接口获取用户信息(两种情况下):
    (1).更新版本
    (2).没有缓存的情况下(可以是人为的清空、也可以是第一次登录)。

    第三步. 重点来了!!!
    接下来通过getUserInfo()方法以及嵌套在这个方法中的login()方法实现登录:
    1.还是先判断有没有用户缓存信息,如果有,就直接执行回调。
    2.如果没有,则通过login方法获取,下面是login方法的执行步骤:
    (1).执行login方法的时候传入一对象包含success、fail 方法,与defaultOptions对象进行合并、覆盖,生成新的对象参数, 传入方法中。

    (2).首先判断有没有登录地址loginUrl,若没有,则直接返回fail回调

    (3).执行微信登录api: wx.login以及获取用户信息api: wx.getUserInfo,如果成功,则进行下一步;失败,则返回fail回调。

    (4).使用上一步获取的用户登录凭证、用户加密信息请求接口获取用户信息列表。(旧的用户为单用户,所以为对象格式。)。到这一步,login方法完结。

    (5).现在回到getUserInfo()方法中。将获取的用户数据处理为数组array格式,现在根据两点去判断接下来该怎么走:一.有没有用户缓存,二.是不是多用户。

    (6).如果有缓存,单用户的话更新缓存,加载获取的用户信息;如果是多用户的话,首先判断传递的参数中有没有userId,如果有,则在userInfoList中找到对应的uerInfo,更新缓存,加载获取的用户信息.如果没有,则跳转到用户选择页面,让用户选择登录账号。

    (7).在判断为多账户的时候,会设置一个全局性的方法:可以,在用户选择账户时,更新用户信息,并返回上一步。

    (8).最后,如果成功,则执行成功回调,失败则执行失败回调。

    相关文章

      网友评论

          本文标题:2018-05-20 盘古微信小程序登录

          本文链接:https://www.haomeiwen.com/subject/xvexjftx.html