Skip to Content
文档Entityengine概览

@scenemesh/entity-engine

元数据驱动的实体与视图运行引擎

Entity Engine 是一个创新的元数据驱动框架,专为快速构建现代化企业应用而设计。通过统一的元数据配置,自动生成完整的数据模型、API接口和用户界面。

🎯 适用场景

✅ 适用于

  • 企业管理系统 - CRM、ERP、内容管理等
  • 快速原型开发 - 数据驱动的应用快速验证
  • 配置化应用 - 需要动态模型定义的系统
  • 标准CRUD场景 - 大量表单和列表操作

❌ 不适用于

  • 高度定制化的UI交互
  • 实时性要求极高的应用
  • 复杂的数据可视化系统

🏗️ 核心架构

三层分离设计

  • Client Layer: EntityViewContainer、React组件
  • Shared Layer: EntityEngine核心、Registry系统
  • Server Layer: tRPC路由、Prisma数据访问

⚡ 60秒快速体验

1. 安装依赖

npm install @scenemesh/entity-engine npm install @scenemesh/entity-engine-react

2. 初始化引擎

import { EntityEngine } from '@scenemesh/entity-engine/server'; const engine = await EntityEngine.getInstance({ // 初始化配置 });

3. 创建API路由

// pages/api/trpc/[trpc].ts import { appRouter } from '@scenemesh/entity-engine/server'; import { createNextApiHandler } from '@trpc/server/adapters/next'; export default createNextApiHandler({ router: appRouter, // 其他配置... });

4. 使用视图容器

import { EntityViewContainer } from '@scenemesh/entity-engine'; export default function ProductPage() { return ( <EntityViewContainer modelName="Product" viewType="grid" behavior={{ mode: 'display' }} /> ); }

🔧 核心特色

🎨 动态模型定义

基于IEntityModel接口的JSON配置,支持复杂字段类型和关系映射:

const productModel: IEntityModel = { name: 'Product', title: '产品', fields: [ { name: 'name', title: '产品名称', type: 'string', isRequired: true, searchable: true }, { name: 'category', title: '分类', type: 'many_to_one', refModel: 'Category' } ] };

🧩 模块化扩展

通过IEntityModule接口实现功能模块的热插拔:

const customModule: IEntityModule = { info: { name: 'CustomModule', version: '1.0.0' }, setupConfig: async (engine) => { // 注册模型和视图 }, setupComponents: async (engine) => { // 注册UI组件 } };

🔄 统一DataSource

TRPCEntityObjectDataSource提供统一的数据访问接口:

// 自动生成的API端点 await dataSource.findObject({ id: '123', modelName: 'Product' }); await dataSource.listObjects({ modelName: 'Product', pagination: { page: 1 } }); await dataSource.createObject({ modelName: 'Product', values: { name: 'New Product' } });

🎛️ 字段类型策略

基于IModelFieldTyper的类型系统,支持自定义字段行为:

  • 内置类型: StringFieldTyper、NumberFieldTyper、DateFieldTyper
  • 关系类型: ManyToOneFieldTyper、OneToManyFieldTyper
  • 扩展类型: 自定义Typer实现特殊业务逻辑

📊 可插槽视图

支持多种内置视图类型和自定义渲染器:

  • FormView - 单对象编辑视图
  • GridView - 列表网格视图
  • KanbanView - 看板管理视图
  • DashboardView - 仪表盘视图

🆚 与传统方案对比

特性Entity Engine传统手写CRUD低代码平台
开发效率⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐
定制灵活性⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐
代码可控性⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐
学习成本⭐⭐⭐⭐⭐⭐⭐⭐⭐
扩展能力⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐

🌟 生态模块

AI Module

智能化的字段推荐和数据处理能力

Studio

可视化的模型设计和配置界面

Additions

丰富的业务组件和扩展模块

🚀 下一步

立即开始您的Entity Engine之旅:


npm version License: MIT

💡 贡献指南  | 🐛 问题反馈 

Last updated on