Skip to content
导航栏

yao 处理器列表

具体的处理器文档请参考:

处理器

  • aigcs.<AIGC_ID>.<METHOD>
  • flows.<FLOW_ID>.<METHOD>
  • plugins.<PLUGIN_ID>.<METHOD>
  • scripts.<SCRIPT_ID>.<METHOD>
  • studio.<STUDIO_ID>.<METHOD>
  • widgets.<WIDGET_ID>.<METHOD>

加密

  • crypto.hash
  • crypto.hmac
  • yao.wework.decrypt

编码

  • encoding.base64.decode
  • encoding.base64.encode
  • encoding.hex.decode
  • encoding.hex.encode
  • encoding.json.decode
  • encoding.json.encode

文件处理

fs 处理器在设计是支持多种 ID 的,但是直接使用处理器调用只支持 system。

默认的 TYPE 是 system, https://yaoapps.com/doc/手册/处理器/FileSystem

  • fs.system.basename
  • fs.system.chmod
  • fs.system.copy
  • fs.system.dirname
  • fs.system.download
  • fs.system.exists
  • fs.system.extname
  • fs.system.isdir
  • fs.system.isfile
  • fs.system.islink
  • fs.system.mimetype
  • fs.system.mkdir
  • fs.system.mkdirall
  • fs.system.mkdirtemp
  • fs.system.mode
  • fs.system.modtime
  • fs.system.move
  • fs.system.readdir
  • fs.system.readfile
  • fs.system.readfilebuffer
  • fs.system.remove,删除文件或目录
  • fs.system.removeall,删除文件或目录(含目录下文件或目录)
  • fs.system.size
  • fs.system.upload
  • fs.system.writefile
  • fs.system.writefilebuffer

也可以使用 Js 脚本进行文件操作。

System

/data/app/scripts/test.js

js
function ReadFile() {
  let fs = new FS('system');
  let data = fs.ReadFile('/f1.txt'); // /data/app/data/f1.txt
  return data;
}

function WriteFile() {
  let fs = new FS('system');
  let length = fs.WriteFile('/f2.txt', 'hello', 0644); // /data/app/data/f2.txt
  return length;
}

如果需要使用 dsl 或是 script 处理的文件处理器需要使用 js 脚本。

DSL

需要在 studio 目录下

/data/app/studio/test.js

js
function ReadFile() {
  let fs = new FS('dsl');
  let data = fs.ReadFile('/models/f1.mod.yao'); // /data/app/models/f1.mod.yao
  return data;
}

function WriteFile() {
  let fs = new FS('dsl');
  let data = `{
    name: "用户",
    table: { name: "f1" },
    columns: [{ label: "ID", name: "id", type: "ID" }],
  }`;
  let length = fs.WriteFile('/models/f2.mod.yao', data, 0644); //  /data/app/models/f2.mod.yao
  return length;
}

Script

需要在 studio 目录下

/data/app/studio/test2.js

js
function ReadFile() {
  let fs = new FS('script');
  let data = fs.ReadFile('/f1.js'); // /data/app/scripts/f1.js
  return data;
}

function WriteFile() {
  let fs = new FS('script');
  let script = `
    function Foo() {
      return "Bar"
    }
  `;
  let length = fs.WriteFile('/models/f2.js', script, 0644); // /data/app/scripts/f2.js
  return length;
}

http 处理

https://yaoapps.com/doc/手册/处理器/HTTP

  • http.delete,参数:[<URL>, <Payload (可选)>, <Query(可选)>, <Headers (可选)>]
  • http.get,参数:[<URL>, <Query (可选)>, <Headers (可选)>]
  • http.head,参数:[<URL>, <Payload (可选)>, <Query (可选)>, <Headers (可选)>]
  • http.patch,参数:[<URL>, <Payload (可选)>, <Query(可选)>, <Headers (可选)>]
  • http.post,参数:[<URL>, <Payload (可选)>, <Files (可选)>, <Query(可选)>, <Headers (可选)>]
  • http.put,参数:[<URL>, <Payload (可选)>, <Query(可选)>, <Headers (可选)>]
  • http.send,参数:[<METHOD>, <URL>, <Payload (可选)>,<Query (可选)>, <Headers (可选)>,<Files(可选)>]
  • http.stream,参数:[<METHOD>, <URL>, <Handler procsss name>,<Payload (可选)>, <Query (可选)>, <Headers (可选)>]

模型相关

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

  • models.<MODEL_ID>.find

  • models.<MODEL_ID>.get

  • models.<MODEL_ID>.paginate

  • models.<MODEL_ID>.selectoption

  • models.<MODEL_ID>.create

  • models.<MODEL_ID>.update

  • models.<MODEL_ID>.save

  • 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

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

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

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

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

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

openai 相关

  • openai.audio.transcriptions
  • openai.chat.completions
  • openai.embeddings
  • openai.tiktoken

计划

  • schedules.<ID>.start
  • schedules.<ID>.stop

数据库表处理

SCHEMA_ID 默认是 default,比如获取所有的表名处理器schemas.default.tables

  • schemas.<SCHEMA_ID>.columnadd
  • schemas.<SCHEMA_ID>.columnalt
  • schemas.<SCHEMA_ID>.columndel
  • schemas.<SCHEMA_ID>.create
  • schemas.<SCHEMA_ID>.drop
  • schemas.<SCHEMA_ID>.indexadd
  • schemas.<SCHEMA_ID>.indexdel
  • schemas.<SCHEMA_ID>.tablecreate
  • schemas.<SCHEMA_ID>.tablediff
  • schemas.<SCHEMA_ID>.tabledrop
  • schemas.<SCHEMA_ID>.tableexists
  • schemas.<SCHEMA_ID>.tableget
  • schemas.<SCHEMA_ID>.tablerename
  • schemas.<SCHEMA_ID>.tables
  • schemas.<SCHEMA_ID>.tablesave

会话处理

在 api 主动中有经过用户验证的处理后才会有会话信息

  • session.dump

  • session.get

  • session.id

  • session.set

  • session.setmany

  • ssl.sign

  • ssl.verify

存储

  • stores.<ID>.clear
  • stores.<ID>.del
  • stores.<ID>.get
  • stores.<ID>.getdel
  • stores.<ID>.has
  • stores.<ID>.keys
  • stores.<ID>.len
  • stores.<ID>.set

任务

  • tasks.<TASK_ID>.add
  • tasks.<TASK_ID>.get
  • tasks.<TASK_ID>.progress

工具类

  • utils.app.inspect
  • utils.app.ping

数组操作

  • utils.arr.column
  • utils.arr.get
  • utils.arr.indexes
  • utils.arr.keep
  • utils.arr.mapset
  • utils.arr.pluck
  • utils.arr.split
  • utils.arr.tree
  • utils.arr.unique

兼容旧版本

  • xiang.helper.arraycolumn
  • xiang.helper.arrayget
  • xiang.helper.arrayindexes
  • xiang.helper.arraykeep
  • xiang.helper.arraymapset
  • xiang.helper.arraypluck
  • xiang.helper.arraysplit
  • xiang.helper.arraytree
  • xiang.helper.arrayunique

验证码

  • utils.captcha.make
  • utils.captcha.verify

环境变量

  • utils.env.get
  • utils.env.getmany
  • utils.env.setmany

流程控制

  • utils.flow.case

  • utils.flow.each

  • utils.flow.for

  • utils.flow.if

  • utils.flow.return

  • utils.flow.throw

  • utils.fmt.print

jwt

  • utils.jwt.make
  • utils.jwt.verify

对象操作

  • utils.map.array
  • utils.map.del
  • utils.map.delmany
  • utils.map.get
  • utils.map.keys
  • utils.map.set
  • utils.map.values
  • utils.tree.flatten

兼容旧版本

  • xiang.helper.mapdel
  • xiang.helper.mapget
  • xiang.helper.mapkeys
  • xiang.helper.mapmultidel
  • xiang.helper.mapset
  • xiang.helper.maptoarray
  • xiang.helper.mapvalues

时间日期

  • utils.now.date
  • utils.now.datetime
  • utils.now.time
  • utils.now.timestamp
  • utils.now.timestampms
  • utils.time.sleep

密码

  • utils.pwd.verify

字符串

  • utils.str.concat
  • utils.str.hex
  • utils.str.join
  • utils.str.joinpath
  • utils.str.uuid

widget 处理

操作 widgets,读取所有已加载的 widget 的属性列表,包含自定义的 widget。

  • widget.actions
  • widget.apis
  • widget.fields
  • widget.filters
  • widget.models

操作自定义 widget

处理器:widget.remove,删除 widget 源代码,处理参数:

  • name,widget 配置名称,比如 dyform/iform
  • file,widget 实例名称[文件名称],比如 feedback/website

处理器:widget.save,保存 widget 源代码,处理参数:

  • name,widget 配置名称,比如 dyform/iform
  • file,widget 实例名称[文件名称],比如 feedback/website
  • source,源代码

yao 相关

  • yao.app.check

  • yao.app.icons

  • yao.app.menu

  • yao.app.service

  • yao.app.setting

  • yao.app.setup

  • yao.app.xgen

  • yao.component.selectoptions

  • yao.crypto.hash

  • yao.crypto.hmac

  • yao.crypto.weworkdecrypt

  • yao.env.get

  • yao.env.multiget

  • yao.env.multiset

  • yao.env.set

  • yao.expression.selectoption

  • yao.expression.trimspace

  • yao.sys.sleep

大屏显示

  • yao.dashboard.component
  • yao.dashboard.data
  • yao.dashboard.setting
  • yao.dashboard.xgen

图表

  • yao.chart.component
  • yao.chart.data
  • yao.chart.setting
  • yao.chart.xgen

导入 excel

  • yao.import.data
  • yao.import.datasetting
  • yao.import.mapping
  • yao.import.mappingsetting
  • yao.import.run
  • yao.import.setting

列表显示

  • yao.list.component
  • yao.list.download
  • yao.list.save
  • yao.list.setting
  • yao.list.upload
  • yao.list.xgen

表单数据处理

  • yao.form.component
  • yao.form.create
  • yao.form.delete
  • yao.form.download
  • yao.form.find
  • yao.form.load
  • yao.form.save
  • yao.form.setting
  • yao.form.update
  • yao.form.upload
  • yao.form.xgen

表格处理

  • yao.table.component
  • yao.table.create
  • yao.table.delete
  • yao.table.deletein
  • yao.table.deletewhere
  • yao.table.download,下载文件,注意有后缀名白名单
  • yao.table.export
  • yao.table.find
  • yao.table.get
  • yao.table.insert
  • yao.table.save
  • yao.table.search
  • yao.table.setting,读取表格设置
  • yao.table.update
  • yao.table.updatein,按 id 列表删除,参数 1 为单一主键或是多个主键以逗号拼接
  • yao.table.updatewhere,按条件删除
  • yao.table.upload,文件上传
  • yao.table.xgen,读取表格配置的 xgen ui 配置
  • yao.table.load,从文件或是源代码加载表格配置
  • yao.table.reload,重新加载表格配置
  • yao.table.unload,从内存中卸载表格配置
  • yao.table.read,读取表格配置
  • yao.table.exists,检查表格配置是否存在

登录相关

  • yao.login.admin
  • yao.utils.captcha
  • yao.utils.captchavalidate

旧版兼容

  • xiang.env.get

  • xiang.env.multiget

  • xiang.env.multiset

  • xiang.env.set

  • xiang.flow.case

  • xiang.flow.each

  • xiang.flow.for

  • xiang.flow.if

  • xiang.flow.return

  • xiang.flow.sleep

  • xiang.flow.throw

  • xiang.helper.captcha

  • xiang.helper.captchavalidate

  • xiang.helper.case

  • xiang.helper.each

  • xiang.helper.envget

  • xiang.helper.envmultiget

  • xiang.helper.envmultiset

  • xiang.helper.envset

  • xiang.helper.for

  • xiang.helper.hextostring

  • xiang.helper.if

  • xiang.helper.jwtmake

  • xiang.helper.jwtvalidate

  • xiang.helper.passwordvalidate

  • xiang.helper.print

  • xiang.helper.return

  • xiang.helper.strconcat

  • xiang.helper.throw

  • xiang.import.data

  • xiang.import.datasetting

  • xiang.import.mapping

  • xiang.import.mappingsetting

  • xiang.import.run

  • xiang.import.setting

  • xiang.main.appfilecontent

  • xiang.main.favicon

  • xiang.main.filecontent

  • xiang.main.inspect

  • xiang.main.ping

  • xiang.sys.inspect

  • xiang.sys.ping

  • xiang.sys.print

  • xiang.sys.sleep