diff --git a/README.md b/README.md index 8a04c73b50e8f1c3599d46c26da47f6addab049a..75ca7cb0f124c4d36aaf0175d20d27443e3232da 100644 --- a/README.md +++ b/README.md @@ -1,24 +1,76 @@ -# H.LowCode - -### 介绍 -* 低代码实验性项目 -* 基于 .NET 8.0 + Blazor 实现 - -### 分支规则 -* master: 最新稳定代码 -* release: 发布分支,基于 release 创建版本(当 release 分支足够稳定后,合并到 dev、master 分支) -* dev: 开发分支(所有的 feature、hotfix 合并至 dev 分支,进行统一验证,并合并到 release 分支) -* feature: 新特性分支(基于 dev 分支创建) -* hotfix: 热修复分支(基于 dev 或 release 分支创建) - -### 版本规则 -* 正式版本: 遵循语义化版本 2.0 规范 (v0.0.1) -* 非正式版本: v0.0.1-preview.1 - -### 开发 -#### 生成迁移 -在 H.LowCode.DbMigrator 项目中执行以下命令,添加迁移文件: -dotnet ef migrations add - -#### 应用迁移 -运行 H.LowCode.DbMigrator +# H.LowCode + +## 介绍 +H.LowCode 是一个基于 .NET 8.0 和 Blazor 的实验性低代码平台。它分为设计引擎和渲染引擎两大部分,支持通过可视化界面快速构建应用程序。 + +## 项目结构 + +### 设计引擎 (Design Engine) +- **功能**: 提供可视化设计界面,允许用户拖拽组件、配置属性、设置数据源等。 +- **核心组件**: + - **组件面板**: 提供可拖拽的组件库。 + - **设计面板**: 用户拖放组件进行布局和配置。 + - **属性面板**: 配置组件的属性、事件、数据源等。 +- **模块**: + - **AppApplicationService**: 管理应用的基本信息。 + - **PageAppService**: 管理页面的结构和内容。 + - **DataSourceAppService**: 管理数据源,支持API、SQL、静态数据等。 + - **ComponentPartsAppService**: 管理组件的定义和属性。 + +### 渲染引擎 (Render Engine) +- **功能**: 将设计引擎生成的元数据渲染为实际可运行的Web应用。 +- **核心组件**: + - **MetaAppService**: 提供应用、页面、菜单等元数据的访问接口。 + - **RenderEngineDynamicComponentBase**: 渲染组件的基础类,支持动态组件生成。 + - **ThemePartLayoutBase**: 主题布局的基础类,支持自定义主题。 +- **数据服务**: + - **FormDataAppService**: 管理表单数据的增删改查。 + - **TableDataAppService**: 管理表格数据的增删改查。 + +### 数据库迁移 (DbMigrator) +- **功能**: 管理数据库的迁移和初始化。 +- **核心组件**: + - **DbMigrationService**: 负责数据库模式的迁移和数据初始化。 + - **MigratorDbContext**: 数据库上下文,用于EF Core迁移。 + +### 元数据 (Meta) +- **功能**: 定义应用、页面、组件、数据源等的元数据结构。 +- **核心类**: + - **AppSchema**: 应用的元数据,包括应用ID、名称、版本等。 + - **PageSchema**: 页面的元数据,包括页面ID、名称、布局、组件等。 + - **ComponentSchema**: 组件的元数据,包括组件ID、名称、属性、数据源等。 + - **DataSourceSchema**: 数据源的元数据,包括数据源类型、API配置、SQL查询等。 + +### 验证服务 (FormValidationService) +- **功能**: 提供表单和字段的验证逻辑,支持必填、最小长度、最大长度、正则表达式等验证规则。 +- **核心方法**: + - **ValidateField**: 验证单个字段的值是否符合规则。 + - **ValidateForm**: 验证整个表单的数据是否符合规则。 + - **GetValidationRules**: 获取组件的验证规则。 + +### 组件库 (ComponentParts) +- **功能**: 提供可复用的组件库,支持自定义组件的定义和配置。 +- **核心类**: + - **ComponentPartsSchema**: 组件的定义,包括组件ID、名称、属性、数据源等。 + - **ComponentLibrarySchema**: 组件库的定义,包括库ID、名称、描述等。 + +## 分支规则 +- **master**: 最新稳定代码。 +- **release**: 发布分支,用于创建版本。 +- **dev**: 开发分支,所有新功能和修复都合并到此分支。 +- **feature**: 新特性分支,基于dev分支创建。 +- **hotfix**: 热修复分支,基于dev或release分支创建。 + +## 版本规则 +- **正式版本**: 遵循语义化版本 2.0 规范 (v0.0.1)。 +- **非正式版本**: v0.0.1-preview.1。 + +## 开发 +### 生成迁移 +在 H.LowCode.DbMigrator 项目中执行以下命令,添加迁移文件: +```bash +dotnet ef migrations add +``` + +### 应用迁移 +运行 H.LowCode.DbMigrator 项目,应用数据库迁移。 \ No newline at end of file