Node + Koa 基础后台框架
包含功能:自动读取API、全局捕获错误、Sequelize 连接 Mysql 数据库、必填参数校验、密码加密、根据用户权限判断是否可访问API、生成JWT token令牌并验证
自动读取API
路径:/core/init Initmanager.initLoadRouter()
全局捕获错误
路径:/middle/catch catchError()
错误码定义: /core/error
Sequelize
配置文件:config.js
路径: /core/db
必填参数校验
路径:/core/my-validator
使用方法:传入 ctx 和 必传参数名+传参方式组成的二维数组,例如:[['id', 'params'], ['uname.firstName', 'body'], ['type', 'query'], ['token', 'header']]
密码加密
加密方式:使用 bcryptjs 完成加盐hash运算
路径:/app/modules/user User.init.password
生成JWT token令牌并验证
第三方包: jsonwebtoken
路径:/core/unit getToken() let token = jwt.sign({ uid, type }, key, { expiresIn })
验证的方法: /middle/auth m() jwt.verify(token, key)
根据用户权限判断是否可访问API
路径:/middle/auth m(type) type表示api需要的权限,用数字表示,数字越大,等级越高
使用示例: router.get('/list',m(3), async ctx => {})