小程序后台微信用户登录

2017-11-14  本文已影响88人  9b559869875b

在拜读skyvow大神的m-mall-admin代码

https://github.com/skyvow/m-mall-admin

微信用户登录逻辑代码在controllers/user.js

wechatSignIn(req, res, next)

这函数响应的是一个post请求,会拿到一个request,缩写req,

首先用req.body.code换取session_key,返回的doc是个json格式数据,神似这样

//正常返回的JSON数据包{"openid":"OPENID","session_key":"SESSIONKEY","unionid":"UNIONID"}

//错误时返回JSON数据包(示例为Code无效)

{"errcode":40029,"errmsg":"invalid code"}

doc = JSON.parse(doc)

解析返回结果,如果是正常返回的情况,就在数据库的user表里查找username为openid的用户(前面微信用户注册时候是用这个openid作为username注册的)

this.model.findByName(doc.openid)

如果找不到,说明用户不存在呢,

找到了就是登录成功了

res.tools.setJson(0, '登录成功', {

token: res.jwt.setToken(doc._id)

})

上一篇下一篇

猜你喜欢

热点阅读