Skip to content
导航栏

数据处理器与钩子

Yao 在数据读取与处理方面提供了很多现成的处理器与 API 入口。

模型相关

操作模型, 相当于操作表数据, 需要有 model id。

  • models.<MODEL_ID>.find, 按 id 查询单条记录

  • models.<MODEL_ID>.get, 根据条件查询, 不分页

  • models.<MODEL_ID>.paginate, 根据条件查询, 分页

  • models.<MODEL_ID>.selectoption, 获取模型中某一个字段满足条件的选项列表值, 主要用于前端的下拉控件。

  • models.<MODEL_ID>.create, 创建单条记录, 返回新创建记录 ID

  • models.<MODEL_ID>.update, 更新单条记录

  • models.<MODEL_ID>.save, 保存单条记录, 不存在创建记录, 存在更新记录, 返回记录 ID

  • models.<MODEL_ID>.delete, 删除单条记录(标记删除)

  • models.<MODEL_ID>.destroy, 删除单条记录(真删除)

  • models.<MODEL_ID>.insert, 批量一次性保存

  • models.<MODEL_ID>.updatewhere, 根据条件更新记录, 返回更新行数

  • models.<MODEL_ID>.deletewhere, 按条件软件删除

  • models.<MODEL_ID>.destroywhere, 按条件硬删除

  • models.<MODEL_ID>.eachsave, 批量逐条保存

  • models.<MODEL_ID>.eachsaveafterdelete, 删除一组给定 ID 的记录后, 保存多条记录, 不存在创建, 存在更新, 返回 ID 集合

  • models.<MODEL_ID>.migrate, 更新模型配置到数据库, 可强制删除表数据

  • models.<MODEL_ID>.load, 从文件配置或是源代码中加载模型配置

  • models.<MODEL_ID>.reload, 重新加载模型的文件配置

  • models.<MODEL_ID>.read, 读取模型的元信息

  • models.<MODEL_ID>.exists, 检查模型是否存在

表单数据处理

表单处理器的第一个参数是表单 ID。同一个模型可以存在多个表单。

需要注意的时 before 钩子函数返回值一定要是数组。

  • yao.form.create, 对应models.<MODEL_ID>.Create, 钩子处理器: before:create,after:create

  • yao.form.delete, 对应models.<MODEL_ID>.Delete, 钩子处理器: before:delete,after:delete

  • yao.form.find, 对应models.<MODEL_ID>.Find, 钩子处理器: before:find,after:find

  • yao.form.save, 对应models.<MODEL_ID>.Save, 钩子处理器: before:save,after:save

  • yao.form.update, 对应models.<MODEL_ID>.Update, 钩子处理器: before:update,after:update

  • yao.form.upload

  • yao.form.download

  • yao.form.xgen

  • yao.form.setting

  • yao.form.component

  • yao.form.load, 从文件或是源代码加载表单配置

  • yao.form.reload, 重新加载表单配置

  • yao.form.unload, 从内存中卸载表单配置

  • yao.form.read, 读取表单配置

  • yao.form.exists, 检查表单配置是否存在

表单对应的 api 列表:

  • /api/__yao/form/:id/setting
  • /api/__yao/form/:id/component/:xpath/:method
  • /api/__yao/form/:id/upload/:xpath/:method
  • /api/__yao/form/:id/download/:field
  • /api/__yao/form/:id/find/:primary
  • /api/__yao/form/:id/save
  • /api/__yao/form/:id/create
  • /api/__yao/form/:id/insert
  • /api/__yao/form/:id/delete/:primary

表格处理

表格处理器的第一个参数是表格 ID。同一个模型可以存在多个表格配置。

需要注意的时 before 钩子函数返回值一定要是数组。

  • yao.table.create, 对应models.<MODEL_ID>.Create, 钩子处理器: after:create,after:create

  • yao.table.save, 对应models.<MODEL_ID>.Save, 钩子处理器: after:save,after:save

  • yao.table.insert, 对应models.<MODEL_ID>.Insert, 钩子处理器: after:insert,after:insert

  • yao.table.find, 对应models.<MODEL_ID>.Find, 钩子处理器: after:find,after:find

  • yao.table.get, 对应models.<MODEL_ID>.Get, 钩子处理器: after:get,after:get

  • yao.table.search, 对应models.<MODEL_ID>.Paginate, 钩子处理器: after:search,after:search

  • yao.table.update, 对应models.<MODEL_ID>.Update, 钩子处理器: after:update,after:update

  • yao.table.updatein, 按 id 列表更新, 作了二次封装再调用 model 处理器models.<MODEL_ID>.UpdateWhere, 参数 1 为单一主键或是多个主键以逗号拼接对应, 钩子处理器: after:update-in,after:update-in

  • yao.table.updatewhere, 对应models.<MODEL_ID>.UpdateWhere, 按条件更新, 钩子处理器: after:before-where,after:update-where

  • yao.table.delete, 对应models.<MODEL_ID>.Delete, 钩子处理器: after:delete,after:delete

  • yao.table.deletein, 按 id 列表更新, 作了二次封装再调用 model 处理器models.<MODEL_ID>.DeleteWhere, 钩子处理器: after:delete-in,after:delete-in

  • yao.table.deletewhere, 对应models.<MODEL_ID>.DeleteWhere, 按条件更新, 钩子处理器: after:delete-where,after:delete-where

  • yao.table.setting, 读取表格设置

  • yao.table.download, 下载文件, 注意有后缀名白名单

  • yao.table.export, 按查询条件导出数据到 Excel 文件, 可指定每次读取的数量。

  • yao.table.component, 读取 xgen 配置组件的实际值

  • yao.table.upload, 文件上传

  • yao.table.xgen, 读取表格配置的 xgen ui 配置

  • yao.table.load, 从文件或是源代码加载表格配置

  • yao.table.reload, 重新加载表格配置

  • yao.table.unload, 从内存中卸载表格配置

  • yao.table.read, 读取表格配置

  • yao.table.exists, 检查表格配置是否存在

表格对应的 api 列表:

  • /api/__yao/table/:id/setting
  • /api/__yao/table/:id/component/:xpath/:method
  • /api/__yao/table/:id/upload/:xpath/:method
  • /api/__yao/table/:id/download/:field
  • /api/__yao/table/:id/search
  • /api/__yao/table/:id/get
  • /api/__yao/table/:id/find/:primary
  • /api/__yao/table/:id/save
  • /api/__yao/table/:id/create
  • /api/__yao/table/:id/insert
  • /api/__yao/table/:id/update/:primary
  • /api/__yao/table/:id/update/in
  • /api/__yao/table/:id/update/where
  • /api/__yao/table/:id/delete/:primary
  • /api/__yao/table/:id/delete/in
  • /api/__yao/table/:id/delete/where