后端元配置文件
- 所有函数都是在后端执行
- 所有变量都是可选的
- 由于web框架使用的Koa,下面的ctx就是Koa的ctx
- 增加通用元配置文件同名文件在目录:src/server/meta 下
变量名 | hook说明 | 类型 | 返回 |
---|---|---|---|
beforeFilter | 生成查询条件前 | Function(query,ctx) | query |
beforeUpdate | 编辑保存前 | Function(doc,ctx,metaData,isUpdateFile) | doc |
beforeAdd | 新增保存前 | Function(doc,ctx) | doc |
beforeRemove | 删除保存前 | Function(query,ctx,metaData) | query |
beforeBatchRemove | 批量删除保存前 | Function(query,ctx,metaData) | query |
beforeList | 不分页、提交查询前 | Function(query,ctx) | - |
afterList | 不分页、查询到数据后和返回查询数据前 | Function(records,query,ctx) | records |
beforeListPage | 分页、提交查询前 | Function(query,ctx) | - |
afterListPage | 分页、查询到数据后和返回查询数据前 | Function(records,query,ctx) | records |
query格式:{key1:value1,key2:value2}
使用举例
例子一:需要在所有新增的记录里增加一个人读字段:addTime,记录增加时间
beforeAdd:function(doc){
doc.addTime=utility.YYYYMMDDHHmmss() // '2018-07-17 14:43:02'
return doc
}
}
例子二:使用时间戳作为_id
beforeAdd:function(doc){
doc._id=new Date().getTime()
return doc
}
}
完整文件:
项目目录/src/server/company/Department.js
var utility = require('utility');
module.exports = {
beforeAdd(doc,ctx) {
doc.addTime=utility.YYYYMMDDHHmmss() // '2018-07-17 14:43:02'
doc._id=new Date().getTime()
return doc
}
}