- 前端通过body向API传递3个参数,account、type、secret
- 参数校验,secret不是必填参数
- switch case:根据type类型执行对应处理函数
- type = 101,email登录
- 验证email,不存在/存在
- 验证密码,bcrypt解密
- 账号密码通过后jwt生成token返回给前端
- 下一次访问API,携带令牌
- basicAuth(ctx.req)获取令牌
- 判断令牌是否存在
- 令牌通过
- type = 100, 微信小程序登小程序前端获取code
- code 传递到API,向微信服务器发送请求,获取openid
- 利用openid查询user表记录,没有查到则添加一条记录,返回这条记录
- 利用user.id , scope 生成token并返回
- 前端保存token