主题
.app 低代码业务应用目录
app 是目录型元数据资源,用来表示一个低代码业务应用。它通常位于元数据项目的 app/ 目录下,例如 项目/app/CRM.app/。一个元数据项目可以包含多个业务应用;每个 app 目录内可以保存页面、流程、脚本、素材、应用设置、应用私有数据模型,以及其他只服务该应用的资源。
app 表达的是业务应用边界,而不是普通文件后缀。它把一组页面、流程、数据、脚本、素材和设置收在同一个目录下,让应用入口、应用级路由、权限关注点和交付维护范围更清晰。
应用不是完全隔离的项目。多个应用可以共用项目级基础数据、主数据、公共页面或统一门户入口。跨应用共享的数据模型通常放在项目的 data/tables/ 目录下,应用专属资源优先放在对应 .app 目录内。
应用边界
app 适合表达相对独立的业务边界。比如 CRM、固定资产管理、OA 门户这类业务系统,页面入口、业务流程和权限关注点不同,可以由不同 app 目录承担;它们仍然可以共用组织、人员、客户、部门等公共数据。
不是所有二级模块都需要拆成独立 app。如果一个业务应用内部包含很多功能模块,但这些模块没有独立的业务生命周期、发布边界或入口边界,可以继续放在同一个 app 下,并按模块继续组织子目录。
判断是否新建 .app 时,优先看业务独立性和维护边界,而不是只看目录数量。
| 场景 | 推荐做法 |
|---|---|
| CRM、固定资产管理这类相对独立的业务系统 | 建成不同 .app,共享项目级公共数据 |
| 多个应用共用组织、人员、客户等基础数据 | 公共模型放在 data/tables/,应用内只保存应用专属资源 |
| OA 门户集中展示多个应用入口 | 门户放在 OA 应用或统一入口应用中,通过页面链接或路由跳转到其他应用 |
| 一个复杂应用内部的多个功能模块 | 在同一个 .app 下按模块继续分目录 |
相关文件
| 文件或目录 | 说明 |
|---|---|
app/.meta | 记录 app/ 下各应用目录的资源元信息,例如应用目录的资源 id、图标、描述、排序和隐藏状态。详见 .meta 资源元信息。 |
.app/.meta | 记录应用目录下直接子资源的元信息,例如 settings.json、页面、流程、脚本和素材的资源 id、描述、排序等。 |
.app/settings.json | 应用设置文件,保存首页、路由、时区、显示格式、国际化、支付场景和模板信息。详见 应用设置元数据。 |
.spg、.tpg | 应用内页面或门户页面,通常作为业务功能入口。 |
.afl、.wfl | 应用内程序流和工作流,承载动作逻辑、服务端流程或审批流程。 |
data/tables/ | 项目级公共数据模型目录,适合保存跨应用共用的基础数据和主数据。 |
类型入口
app 是目录型资源,没有单独的 JSON 根 DTS。目录自身属性保存在父目录 app/.meta 的对应条目中;应用运行设置保存在 .app/settings.json,见 应用设置元数据。
