1、根据小程序客户端传给接口的code,和appid、secret一起拼接url到小程序服务器请求session_key和openID,这里要做一些异常处理,包括code被使用过或者失效、接收微信服务器返回的错误码等等。
具体做了以下分类供参考:
1)result为空 直接返回--微信内部异常
2)result包含errcode 登录异常,返回错误信息和错误码
3)成功 生成token
2、在正确接收到openID之后,就可以生成token了,
1)根据获得的openid判断数据库中是否存在openid对应的user
2)若不存在,新增一条user记录newUser($openid),以openid为标识。为了减轻数据库压力,在系统的相关查询中仍使用uid:$uid。
3)若存在:$uid = $user->id;
4)将用户id和权限以及生成的token等写入缓存;
3、将生成的token返回给客户端就OK啦