小程序的登陆功能主要分三个部分:
第一部分:获取用户信息,并展示在客户端
小程序获取用户的信息机制不需要用到自己的服务器,在客户端即可完成。
首先调用微信自带的API:wx.login()和wx.getUserInfo(),wx.getUserInfo()接口会返回一个res参数,而res中最重要的是res.userInfo和res.code。而我们获取用户的账户信息只需要res.userInfo即可。



第二步:获取openID
微信的登陆机制是在调用wx.login接口后,微信会返回一个code码,也就是前文所说的res.code。我们需要将这个code码发送给微信服务器,服务器会返回一个openID,这个openID是每一个用户登陆小程序的凭证,我们需要把用户的openID保存到小程序服务器的user 表中,表示用户以前已经登陆过该小程序,并且有相关的数据。
所以首先需要的是设计数据库

其次获取openid




就这样,基本完成了小程序的登陆功能。
需要注意的地方是:
1.js的类的调用需要手动的引入和引出
2.异步的数据的处理方式
3.mvc模式,以及前后端的数据处理的粒度问题
总结:了解了小程序的登陆机制,对小程序和服务器的交互有了初步的了解。对rest资源型 的接口,mvc模式都有了更深入的了解。漏洞是没有异常的处理机制。由于是实验项目,就先完成主要的功能,之后再完善整体架构。
网友评论