App 应用

App Widget 用于描述应用的基本信息。 每个应用只有一个,名称固定为 app.json 放置在应用的根目录。

约定

  1. 示例中约定应用根目录为 /data/app, 实际编写时需替换为应用根目录。
  2. 使用 <> 标识自行替换的内容。 例如: icon-<图标名称>, 实际编写时应替换为: icon-foo, icon-bar ...
  3. DSL 字段大小写敏感, 例如 adminRootadminroot 不同
查看示例 /data/app/app.yao

App DSL

字段类型必填项默认值示例说明
xgenEnum0.91.0XGen 界面引擎版本, 推荐使用 1.0 版,旧版已停止维护
nameStringDemo Application应用名称, 支持多语言。
versionString1.0.01.3.6应用版本号,建议遵循 Semantic Versioning 标准
shortStringDemo应用简称, 支持多语言。
descriptionStringAnother yao application应用介绍, 支持多语言。
adminRootStringyaoadmin管理后台路由前缀。例如 admin 管理后台入口路由为 http://<服务器IP或域名>:<YAO_PORT>/admin/
menuObject{ "process": "flows.app.menu", "args": ["demo"] }管理后台菜单读取处理器. menu.process String 处理器名称, menu.args []Any 处理器参数表
setupStringscripts.demo.Data应用首次安装后运行的处理器名称, 一般可以用来建立初始化数据;处理器第一个参数为应用配置信息。 支持使用 studio 命名空间,调用 studio 脚本函数;例如: studio.build.CreateModels, 安装后调用 /data/app/studio/build.js 中定义的 CreateModels() 方法。
optionalObject{}{"hideNotification": true, "hideSetting": false}应用可选配置项。

menu Object

字段类型必填项默认值示例说明
processStringflows.app.menu处理器名称
argsArray\<Any>[]["demo"]处理器参数表

处理器返回值数据结构约定:

查看返回值示例
字段类型必填项说明
nameString菜单名称
iconString菜单图标,一级菜单有效. 命名为 icon-<图标名称>查看可用图标
pathString菜单路由地址,不含管理后台路由前缀
blocksInteger是否显示为图标, 二级菜单有效 0 文字, 1 图标
visible_menuInteger二级菜单默认显示方式, 1 打开, 0 关闭
childrenArray二级菜单列表

optional Object

字段类型必填项默认值示例说明
hideNotificationBooleantruetrue隐藏系统通知面板。 字段名大小写敏感
hideSettingBooleanfalsetrue隐藏导航栏下方配置菜单。 字段名大小写敏感

API

请求方式路由鉴权Payload说明
GET/api/__yao/app/setting-返回应用配置信息
POST/api/__yao/app/setting-{"sid":"<会话ID>", "lang":"zh-cn", "time": "2022-10-10 22:00:10"}上报浏览环境, 返回应用配置信息
GET/api/__yao/app/icons/:name-返回应用图标数据, :name 为图标文件名,例如 app.ico, app.icns, app.png
GET/api/__yao/app/menubearer-jwt返回应用菜单
POST/api/__yao/app/service/:namebearer-jwt{"method":"<函数名称>", "args":[<参数表...>]}调用云函数, :name 为 Service ID. 例如 /data/services/test.js ID 为 test, /data/services/foo/bar.js ID 为 foo.bar,

处理器

处理器参数表返回值说明
yao.app.setting返回应用配置信息读取应用配置
yao.app.menu返回菜单读取应用菜单
yao.app.icons[<图标文件名>]返回图标文件数据读取图标文件目录下文件数据 /data/app/icons/<图标文件名>

查看处理器手册

应用图标

应用图标放置在 icons 目录,文件约定为:

文件名绝对路径说明
app.png/data/app/icons/app.pngPNG 格式图标
app.ico/data/app/icons/app.icoICON 格式图标
app.icns/data/app/icons/app.icnsICNS 格式图标

App 应用

App Widget 用于描述应用的基本信息。 每个应用只有一个,名称固定为 app.json 放置在应用的根目录。

约定

  1. 示例中约定应用根目录为 /data/app, 实际编写时需替换为应用根目录。
  2. 使用 <> 标识自行替换的内容。 例如: icon-<图标名称>, 实际编写时应替换为: icon-foo, icon-bar ...
  3. DSL 字段大小写敏感, 例如 adminRootadminroot 不同
查看示例 /data/app/app.yao

App DSL

字段类型必填项默认值示例说明
xgenEnum0.91.0XGen 界面引擎版本, 推荐使用 1.0 版,旧版已停止维护
nameStringDemo Application应用名称, 支持多语言。
versionString1.0.01.3.6应用版本号,建议遵循 Semantic Versioning 标准
shortStringDemo应用简称, 支持多语言。
descriptionStringAnother yao application应用介绍, 支持多语言。
adminRootStringyaoadmin管理后台路由前缀。例如 admin 管理后台入口路由为 http://<服务器IP或域名>:<YAO_PORT>/admin/
menuObject{ "process": "flows.app.menu", "args": ["demo"] }管理后台菜单读取处理器. menu.process String 处理器名称, menu.args []Any 处理器参数表
setupStringscripts.demo.Data应用首次安装后运行的处理器名称, 一般可以用来建立初始化数据;处理器第一个参数为应用配置信息。 支持使用 studio 命名空间,调用 studio 脚本函数;例如: studio.build.CreateModels, 安装后调用 /data/app/studio/build.js 中定义的 CreateModels() 方法。
optionalObject{}{"hideNotification": true, "hideSetting": false}应用可选配置项。

menu Object

字段类型必填项默认值示例说明
processStringflows.app.menu处理器名称
argsArray\<Any>[]["demo"]处理器参数表

处理器返回值数据结构约定:

查看返回值示例
字段类型必填项说明
nameString菜单名称
iconString菜单图标,一级菜单有效. 命名为 icon-<图标名称>查看可用图标
pathString菜单路由地址,不含管理后台路由前缀
blocksInteger是否显示为图标, 二级菜单有效 0 文字, 1 图标
visible_menuInteger二级菜单默认显示方式, 1 打开, 0 关闭
childrenArray二级菜单列表

optional Object

字段类型必填项默认值示例说明
hideNotificationBooleantruetrue隐藏系统通知面板。 字段名大小写敏感
hideSettingBooleanfalsetrue隐藏导航栏下方配置菜单。 字段名大小写敏感

API

请求方式路由鉴权Payload说明
GET/api/__yao/app/setting-返回应用配置信息
POST/api/__yao/app/setting-{"sid":"<会话ID>", "lang":"zh-cn", "time": "2022-10-10 22:00:10"}上报浏览环境, 返回应用配置信息
GET/api/__yao/app/icons/:name-返回应用图标数据, :name 为图标文件名,例如 app.ico, app.icns, app.png
GET/api/__yao/app/menubearer-jwt返回应用菜单
POST/api/__yao/app/service/:namebearer-jwt{"method":"<函数名称>", "args":[<参数表...>]}调用云函数, :name 为 Service ID. 例如 /data/services/test.js ID 为 test, /data/services/foo/bar.js ID 为 foo.bar,

处理器

处理器参数表返回值说明
yao.app.setting返回应用配置信息读取应用配置
yao.app.menu返回菜单读取应用菜单
yao.app.icons[<图标文件名>]返回图标文件数据读取图标文件目录下文件数据 /data/app/icons/<图标文件名>

查看处理器手册

应用图标

应用图标放置在 icons 目录,文件约定为:

文件名绝对路径说明
app.png/data/app/icons/app.pngPNG 格式图标
app.ico/data/app/icons/app.icoICON 格式图标
app.icns/data/app/icons/app.icnsICNS 格式图标