From 7cbea2a3efdfc01fe05e4f1ac9e6db0a008c3dc4 Mon Sep 17 00:00:00 2001 From: zpc Date: Sat, 8 Nov 2025 02:39:31 +0800 Subject: [PATCH] =?UTF-8?q?2=C2=B71?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../low_code/CodeGenerationService.ts | 8 + .../views/development_tool/low_code/Index.vue | 65 + .../low_code/components/CodeGeneration.vue | 3 + .../low_code/components/CodeLoadToProject.vue | 5 +- admin-client/前端接口对接文档.md | 591 +++++++++ admin-server/MiaoYu.Admin.sln | 9 +- .../LowCode/Abstractions/DataSourceConfig.cs | 15 + .../LowCode/Core/PathResolver.cs | 21 +- .../LowCode/ICodeGenerationService.cs | 9 +- .../LowCode/Impl/CodeGenerationService.cs | 123 +- .../LowCode/Impl/LowCodeTableInfoService.cs | 10 +- .../Providers/AdminDataSourceProvider.cs | 5 +- .../Providers/MiaoYuChatDataSourceProvider.cs | 5 +- .../CodeGenerationController.cs | 15 +- .../MiaoYu.Api.Admin/MiaoYu.Api.Admin.xml | 69 +- .../Dtos/DevelopmentTool/DataSourceDto.cs | 18 + .../Models/Dtos/DevelopmentTool/GenFormDto.cs | 5 + .../Abstractions/DataSourceConfig.cs | 83 ++ .../Abstractions/DataSourceConstants.cs | 23 + .../Abstractions/EntityNamingStrategy.cs | 18 + .../Abstractions/IDataSourceProvider.cs | 25 + .../Core/DataSourceExtensions.cs | 44 + .../Core/DataSourceManager.cs | 69 + .../Core/PathResolver.cs | 93 ++ .../MiaoYu.Core.CodeGenerator.csproj | 30 + .../MiaoYu.Core.CodeGenerator.xml | 1182 +++++++++++++++++ .../Models/ColumnMetaConfig.cs | 43 + .../Models/DataSourceDto.cs | 18 + .../Models/DbColumnInfo.cs | 53 + .../Models/DbTableInfo.cs | 38 + .../Models/GenDbTableDto.cs | 18 + .../Models/GenFormDto.cs | 28 + .../Models/LowCodeTable.cs | 78 ++ .../Models/LowCodeTableInfo.cs | 88 ++ .../Models/PagingView.cs | 44 + .../Models/TableMetaConfig.cs | 63 + .../Services/CodeGenerationService.cs | 765 +++++++++++ .../Services/DatabaseTableService.cs | 154 +++ .../Services/ICodeGenerationService.cs | 124 ++ .../Services/IDatabaseTableService.cs | 43 + .../Services/ITableMetaConfigService.cs | 41 + .../Services/ITableSchemaCache.cs | 32 + .../Services/TableMetaConfigService.cs | 126 ++ .../Services/TableSchemaCache.cs | 79 ++ .../MiaoYu.Core.CodeGenerator/Usings.cs | 22 + .../MiaoYu.Core.FreeSql.xml | 2 +- admin-server/前端接口对接文档.md | 591 +++++++++ 47 files changed, 4924 insertions(+), 69 deletions(-) create mode 100644 admin-client/前端接口对接文档.md create mode 100644 admin-server/MiaoYu.Api.Admin/Models/Dtos/DevelopmentTool/DataSourceDto.cs create mode 100644 admin-server/MiaoYu.Core.CodeGenerator/Abstractions/DataSourceConfig.cs create mode 100644 admin-server/MiaoYu.Core.CodeGenerator/Abstractions/DataSourceConstants.cs create mode 100644 admin-server/MiaoYu.Core.CodeGenerator/Abstractions/EntityNamingStrategy.cs create mode 100644 admin-server/MiaoYu.Core.CodeGenerator/Abstractions/IDataSourceProvider.cs create mode 100644 admin-server/MiaoYu.Core.CodeGenerator/Core/DataSourceExtensions.cs create mode 100644 admin-server/MiaoYu.Core.CodeGenerator/Core/DataSourceManager.cs create mode 100644 admin-server/MiaoYu.Core.CodeGenerator/Core/PathResolver.cs create mode 100644 admin-server/MiaoYu.Core.CodeGenerator/MiaoYu.Core.CodeGenerator.csproj create mode 100644 admin-server/MiaoYu.Core.CodeGenerator/MiaoYu.Core.CodeGenerator.xml create mode 100644 admin-server/MiaoYu.Core.CodeGenerator/Models/ColumnMetaConfig.cs create mode 100644 admin-server/MiaoYu.Core.CodeGenerator/Models/DataSourceDto.cs create mode 100644 admin-server/MiaoYu.Core.CodeGenerator/Models/DbColumnInfo.cs create mode 100644 admin-server/MiaoYu.Core.CodeGenerator/Models/DbTableInfo.cs create mode 100644 admin-server/MiaoYu.Core.CodeGenerator/Models/GenDbTableDto.cs create mode 100644 admin-server/MiaoYu.Core.CodeGenerator/Models/GenFormDto.cs create mode 100644 admin-server/MiaoYu.Core.CodeGenerator/Models/LowCodeTable.cs create mode 100644 admin-server/MiaoYu.Core.CodeGenerator/Models/LowCodeTableInfo.cs create mode 100644 admin-server/MiaoYu.Core.CodeGenerator/Models/PagingView.cs create mode 100644 admin-server/MiaoYu.Core.CodeGenerator/Models/TableMetaConfig.cs create mode 100644 admin-server/MiaoYu.Core.CodeGenerator/Services/CodeGenerationService.cs create mode 100644 admin-server/MiaoYu.Core.CodeGenerator/Services/DatabaseTableService.cs create mode 100644 admin-server/MiaoYu.Core.CodeGenerator/Services/ICodeGenerationService.cs create mode 100644 admin-server/MiaoYu.Core.CodeGenerator/Services/IDatabaseTableService.cs create mode 100644 admin-server/MiaoYu.Core.CodeGenerator/Services/ITableMetaConfigService.cs create mode 100644 admin-server/MiaoYu.Core.CodeGenerator/Services/ITableSchemaCache.cs create mode 100644 admin-server/MiaoYu.Core.CodeGenerator/Services/TableMetaConfigService.cs create mode 100644 admin-server/MiaoYu.Core.CodeGenerator/Services/TableSchemaCache.cs create mode 100644 admin-server/MiaoYu.Core.CodeGenerator/Usings.cs create mode 100644 admin-server/前端接口对接文档.md diff --git a/admin-client/src/services/development_tool/low_code/CodeGenerationService.ts b/admin-client/src/services/development_tool/low_code/CodeGenerationService.ts index 6b018ff..de28704 100644 --- a/admin-client/src/services/development_tool/low_code/CodeGenerationService.ts +++ b/admin-client/src/services/development_tool/low_code/CodeGenerationService.ts @@ -6,6 +6,14 @@ import Http from "@/core/utils/Http"; export default class CodeGenerationService { static urlPrefix = "/api/v1/admin/CodeGeneration"; + /** + * 获取数据库列表 + * @returns + */ + static getDatabases() { + return Http.get(`${this.urlPrefix}/GetDatabases`); + } + /** * 获取数据列表 * @param current diff --git a/admin-client/src/views/development_tool/low_code/Index.vue b/admin-client/src/views/development_tool/low_code/Index.vue index beaff62..5186c70 100644 --- a/admin-client/src/views/development_tool/low_code/Index.vue +++ b/admin-client/src/views/development_tool/low_code/Index.vue @@ -19,6 +19,7 @@ const state = reactive({ tableName: undefined, entityName: undefined, displayName: undefined, + dataBase: undefined, }, sort: [] as any[], }, @@ -28,6 +29,7 @@ const state = reactive({ total: 100, columns: [] as any, data: [] as any, + databaseList: [] as any, }); //表格 @@ -43,9 +45,47 @@ const refTableEditor = ref>(); * 初始化 */ onMounted(() => { + loadDatabases(); findList(); }); +/** + * 加载数据库列表 + */ +async function loadDatabases() { + const result = await CodeGenerationService.getDatabases(); + if (result.code != 200) return; + state.databaseList = result.data; +} + +/** + * 数据库切换事件 + */ +function handleDatabaseChange() { + state.page = 1; + findList(); +} + +/** + * 获取数据库颜色 + */ +function getDatabaseColor(dataBaseKey: string): string { + const colorMap: Record = { + 'Admin': 'blue', + 'MiaoYuChat': 'green', + 'LiveForum': 'orange' + }; + return colorMap[dataBaseKey] || 'default'; +} + +/** + * 获取数据库显示名称 + */ +function getDatabaseDisplayName(dataBaseKey: string): string { + const db = state.databaseList.find((d: any) => d.key === dataBaseKey); + return db?.displayName || dataBaseKey; +} + /** *获取数据 */ @@ -139,6 +179,24 @@ function openTableEditor() {