微信小程序未找到登录服务器,GitHub - stevenlin5520/LoginDemo: 微信小程序登录模块,包含小程序客户端和后台API服务器...

LoginDemo 微信小程序登录模块,包含小程序客户端和后台API服务器

基本思想:

由于openid几乎是不变的(同一个appID下),于是就采用openid来请求数据,然后自己自己研究了一套登陆逻辑,不采用session请求,每次传输请求带一个openid过去操作吧,这样就简单多了。

以下为该项目的流程图

a65e1c9c61a688228c11b8770b4dff56.png

实现步骤

1、用户第一次登录,先通过wx.getSetting判断小程序是否授权过,此时是没有授权过的,于是进入授权页面调用登录API wx.login获取到一个code,将此code连同用户信息userInfo一并发到开发者服务器。

2、开发者服务器获取到code之后,连同appID、appSecret通过网络请求微信服务器的code2session接口,获取到openid和session_key。

3、将步骤2的openid拿到数据库中查找是否有该用户数据,没有的话就将信息插入到数据库。我在此把openid、session_key(虽然没用到这个数据,还是先预留着,万一下次需要用到呢)、userInfo整理存入数据库,然后返回一个openid给小程序;如果数据库中有该条信息,则返回一个openid给小程序。

4、小程序获取到服务器返回的openid后,保存到本地缓存中,并放入全局变量,跳转到用户主界面。

5、小程序第二次登录,通过wx.getSetting,可以查到此时是用户授权过的,然后就同步获取缓存中的openid。若获取失败和没有找到openid的话,就再次调用wx.login登录获取openid,之后步骤也和2、3一样;若获取到了openid,就把他放到全局变量中,直接跳转主页面,不再请求开发者服务器。

详情参考CSDN博客

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值