微信小程□□□□序的应用□□现在越来□□□越广,小程序的□□□开发需求△也越来多,在微信小□□□□程序的开□□□发过程中□□□□除了微信□□□小程序官♦方API文档外,网上的资□□□料也逐渐□□□多了起来。但稍不注●意可能就□□会掉进开□□□□发的坑里,我这边总□□结一下小□□□程序的相□□□关会员开□□发内容。
微信小程□□□□序的一个▲重要需求□□□就是获取□□□□用户会员□□管理,包括获取□□□用户信息,用户的登□□录与注册□□□的功能,在平常的□□□网页开发丨过程序我□□们没有过◎多地关注※通信与登□□□录保持问▼题,一般是用□□户登录后◈用session来保持登□□□录,但在小程□□□□序中存在□□□□一个中间□□□的转发微◎信服务器,所以开发□□过程程中·稍有不同。
首先要讲□□的就是登□□□录保持问□□题,用户访问□□□后的session是以session_id来区分的,所以要访□□问的头部□□□□中加入PHPSESSION的session_id 的标识符□□□进行传递,可以重新□□□封装request请求函数,当然还有post等方法可□□以自行封□□□装。

在使用小□□□□程序的官□□□方登录接□□□□口进行操□□□作,在登录的◤时候返回◎记录的session值保存在❖本地数据□□□□中。
在服务端就是一系列的验证了,包括用户信息解密等功能。
如果直接◈就这样做□□□登录应用,还是会存□□□□在问题的,会面临以□□□□下几个问◣题:
一是当用□□□户点击拒□□绝授权获□□□取用户信□□□息后,用户将无□□法再次使·用必须有□□□□登录才能□□使用的功□□□□能,这样肯定□□□是不好的,所以还要□□检测当用□□□□户没有登□□□□录时候要□□□重新拉起◉授权同意□□□让用户同□□□□意。
使用wx.openSetting({})来操作。
二是当网□□□络处理相□□□对比较慢□□□□时,用户不知□□道已经登♦录,再去点其·他需要会□□员登录的❖页面的时□□□□会出现问□□□□题,所以在获◣取页面的●会员登录□□□□请求时弹□□□出登录中□□□□的loding的界面让□□□□用户知道□□□□程序正在□□□登录中,登录完成□□□□后关闭loding。wx.showLoading({title: '登录中'}) wx.hideLoading()
三是当用□□□□户长时间□□挂起一个□□□页面时,会导致服※务器的session过期而本□□□□地存储的sessionid不存在,这样用这□□□个sessionid去获取信□□□息的时候✦就会出错,所以还要□□加一层判□□□□断操作。页面加载□□的时候去□□检测用户□□□□的session值还是否□□有效,如果有效□□□□不操作,失效则再□□□□次去执行□□登录操作。onload和onshow都去执行◉检测用户□□□登录session是否有效。
作者:BG大游集团小程序开发王国梁
BG大游集团专注于
微信小程序定制开发,可根据客□□□□户需求定□□□□制各种类□□□型小程序,常见的小※程序类型□□□有扫码点★餐、小程序商•城等。