为了优化用户的体验感,我没有设置注册模块,登录的账号换成userid(每个openid对应一个userid),不需要密码。微信小程序是分为小程序和页面,app是整个小程序都能访问到的,然后page是单独的页面,我一般会把处理用户登录的信息放到app这个线程中去处理,因为page里面是要处理业务逻辑的,我喜欢把他们分开处理。下面是处理登录的核心代码:
1、首先要用登录的code去微信后台换取openid。
2、服务器会传回来其对应的userid,如果没有此用户则加入用户列表并得到一个独一无二的userid。(userid是我们自定义的,你可以就用openid)
3、将userid在前端保存下来。因为本地缓存local storage是有限的,而且存在访问权限,所以我把数据都存在globalData中,即全局变量中。这个userid非常重要,主要用于后期所有业务中的http请求的“身份证”,标识用户的作用。
4、在开发中想到一个问题,就是如果用户通过微信修改了自己的userInfo(个人信息),在后端如何进行更新呢。我当前的解决方案就是每次登录都将userInfo发送到后端进行辨别更新。(因为我是将用户的微信名称当作在我小程序中的name的所以需要注意这一点,其实可以不需要这些信息,可以在小程序中要增加一个信息填写的模块罢了。)
5、由