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,
- 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
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
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
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 处理
- 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
旧版兼容
utils.env.Get
utils.env.GetMany
utils.env.SetMany
utils.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 -> utils.jwt.Make
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
utils.fmt.Println
xiang.sys.sleep