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/%E6%89%8B%E5%86%8C/%E5%A4%84%E7%90%86%E5%99%A8/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\>.create
- models.\<MODEL_ID\>.delete
- models.\<MODEL_ID\>.deletewhere
- models.\<MODEL_ID\>.destroy
- models.\<MODEL_ID\>.destroywhere
- models.\<MODEL_ID\>.insert,批量一次性保存
- models.\<MODEL_ID\>.eachsave,批量逐条保存
- models.\<MODEL_ID\>.eachsaveafterdelete
- models.\<MODEL_ID\>.find
- models.\<MODEL_ID\>.get
- models.\<MODEL_ID\>.paginate
- models.\<MODEL_ID\>.save
- models.\<MODEL_ID\>.selectoption
- models.\<MODEL_ID\>.update
- models.\<MODEL_ID\>.updatewhere

- models.\<MODEL_ID\>.load
- models.\<MODEL_ID\>.migrate

## 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,源代码

## 旧版兼容

- 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

## yao 相关

- yao.app.check
- yao.app.icons
- yao.app.menu
- yao.app.service
- yao.app.setting
- yao.app.setup
- yao.app.xgen
- yao.chart.component
- yao.chart.data
- yao.chart.setting
- yao.chart.xgen
- yao.component.selectoptions
- yao.crypto.hash
- yao.crypto.hmac
- yao.crypto.weworkdecrypt
- yao.dashboard.component
- yao.dashboard.data
- yao.dashboard.setting
- yao.dashboard.xgen
- yao.env.get
- yao.env.multiget
- yao.env.multiset
- yao.env.set
- yao.expression.selectoption
- yao.expression.trimspace
- 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.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.login.admin
- yao.sys.sleep
- 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.load
- yao.table.save
- yao.table.search
- yao.table.setting
- yao.table.update
- yao.table.updatein
- yao.table.updatewhere
- yao.table.upload
- yao.table.xgen

### 登录相关

- yao.utils.captcha
- yao.utils.captchavalidate