数据处理器与钩子
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