后端元配置文件

  • 所有函数都是在后端执行
  • 所有变量都是可选的
  • 由于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 
	}
}