GitHub - brightness2/ZFrame: 基于koa的框架

ZFrmae

基于 koa 的 api 接口框架

核心文件

core/init.js 初始化文件 core/exception.js 全局异常捕获方法 core/HttpExceptions.js 全局业务异常类 core/util.js 工具集 core/ZValidator.js 基础校验类,适用 koa 文档 https://www.npmjs.com/package/validator core/ZDbobj.js 基础数据库操作类 ,基于 knex

配置文件

config/config.js

中间件文件夹

middleware

增加中间件

middleware/Auth.js token 校验拦截 依赖 jsonwebtoken 生成 jwt, basic-auth 获取 http basic auth 的 name (token) 参数 简单的权限校验,通过比较数值大小,用户的权限数值与接口权限数值比较,用户的权限数值 < 接口权限数值 无法访问 无感刷新 token,通过判断是否达到刷新时间实现

推荐 RBAC

数据库操作

方式一 knex lib/BaseObj.js 继承 ZDbobj 类,扩展了异常处理,类封装

方式二 knex + bookshelf ORM

路由文件夹

app/api

静态文件夹

static

入口文件

index.js

权限校验,使用 RBAC 模式

middleware/Auth.js 测试接口 v1/rbac/testAuth

日志功能

koa-log4

缓存功能

lib/FileCache.js

koa-body 替换 koa-bodyparser

koa-body 可以接收文件,

文件上传

利用 koa-body 中间件,相关配置查看 core/init.js 文件复制,移动 lib/FileHelper.js