# 代码生成工具 **Repository Path**: starry123/ruovea-codegen ## Basic Information - **Project Name**: 代码生成工具 - **Description**: RuoVea.CodeGen 是一个基于 .NET Core 6.0 的代码生成工具,旨在帮助开发者快速构建应用程序的基础代码结构。它支持数据库连接配置、表结构管理、字段管理以及模板管理等功能,从而简化开发流程并提高效率。 - **Primary Language**: C# - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-04-16 - **Last Updated**: 2025-09-18 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # RuoVea.CodeGen ## 介绍 RuoVea.CodeGen 是一个基于 .NET Core 6.0 的代码生成工具,旨在帮助开发者快速构建应用程序的基础代码结构。它支持数据库连接配置、表结构管理、字段管理以及模板管理等功能,从而简化开发流程并提高效率。 ## 功能特点 - **数据库连接管理**:支持配置多个数据库连接信息。 - **表结构管理**:可导入数据库表结构并生成对应的实体类。 - **字段管理**:支持对表字段进行详细配置,包括字段类型、长度、是否为主键等。 - **模板管理**:提供多种代码模板,支持自定义模板,可基于模板生成代码。 - **代码生成**:根据模板和配置快速生成实体类、控制器、服务等代码文件。 - **用户权限管理**:内置管理员账号,支持用户权限配置和日志管理。 ## 软件架构 - **后端**:.NET Core 6.0 - **前端**:基于 Vue.js 和 Element UI - **数据库**:支持 SQL Server、MySQL、PostgreSQL 等多种数据库 - **模板引擎**:使用自定义模板引擎,支持动态渲染代码模板 ## 安装部署 ### 本地开发环境搭建 1. 安装 [.NET Core 6.0 SDK](https://dotnet.microsoft.com/download/dotnet/6.0) 2. 安装 Node.js 和 npm(用于前端资源管理) 3. 克隆项目: ```bash git clone https://gitee.com/starry123/ruovea-codegen.git ``` 4. 进入项目目录并运行: ```bash dotnet run ``` 5. 打开浏览器访问:`http://localhost:5000` ### IIS 部署 1. 发布项目: ```bash dotnet publish -c Release -o ./publish ``` 2. 将 `publish` 文件夹内容部署到 IIS 3. 配置 `appsettings.json` 和数据库连接字符串 4. 确保 IIS 支持 ASP.NET Core 模块 ## 使用说明 ### 登录系统 默认管理员账号: - **账号**:`admin` - **密码**:`123456` ### 主要功能模块 - **数据库连接管理**:配置数据库连接信息 - **表结构管理**:导入数据库表结构,生成实体类 - **字段管理**:对每个字段进行详细配置 - **模板管理**:支持多种代码模板,可自定义模板 - **代码生成**:一键生成实体类、控制器、服务等代码 - **系统设置**:配置系统信息、用户权限、日志等 ### 模板语法说明 模板中使用以下变量来动态生成代码: - `@Model.name_space`:命名空间 - `@Model.ClassName`:类名 - `@Model.TableName`:表名 - `@Model.Description`:表描述 - `@Model.PropertyGens`:字段集合(建议循环使用) 字段循环示例: ```csharp @foreach (var item in Model.PropertyGens) { var isPrimaryKey = item.IsPrimaryKey ? ",IsPrimaryKey = true" : ""; var isIdentity = item.IsIdentity ? ",IsIdentity = true" : ""; var isIgnore = item.IsIgnore ? ",IsIgnore = true" : ""; var isJson = item.IsJson ? ",IsJson = true" : ""; var stringValue = item.PropertyType == "string" ? "= null!;" : ""; /// /// 备注:@item.Description /// 默认值:@item.DefaultValue /// [SugarColumn(ColumnName="@item.DbColumnName" @isPrimaryKey@isIdentity@isIgnore@isJson)] public @item.PropertyType @item.PropertyName { get; set; } @stringValue } ``` ## 示例代码 ```csharp using System; using System.Collections.Generic; using SqlSugar; namespace Models { /// /// {{Model.Description}} /// [SugarTable("{{Model.TableName}}")] public class {{Model.ClassName}} { <% foreach (var item in Model.PropertyGens) { var isPrimaryKey = item.IsPrimaryKey ? ",IsPrimaryKey = true" : ""; var isIdentity = item.IsIdentity ? ",IsIdentity = true" : ""; var isIgnore = item.IsIgnore ? ",IsIgnore = true" : ""; var isJson = item.IsJson ? ",IsJson = true" : ""; var stringValue = item.PropertyType == "string" ? "= null!;" : ""; %> /// /// 备注:@item.Description /// 默认值:@item.DefaultValue /// [SugarColumn(ColumnName="@item.DbColumnName" @isPrimaryKey@isIdentity@isIgnore@isJson)] public @item.PropertyType @item.PropertyName { get; set; } @stringValue <%} %> } } ``` ## 系统截图 ### **登录界面** ![Img](/Doc/img/login.png) **操作说明**:输入正确的账号和密码,点击“登录”按钮进入系统。如果忘记密码,可以点击“找回密码”进行重置。 ### **管理员登录首页** ![Img](/Doc/img/home.png) **功能描述**:管理员首页提供系统概览,包括模板数量、用户数量、最近操作等信息。通过顶部导航栏,可以快速访问各个功能模块。 --- ### **用户管理** ![Img](/Doc/img/user.png) **功能描述**:在用户管理界面,可以查看所有用户的基本信息,包括用户名、注册日期、最后登录时间等。支持用户搜索、筛选和批量操作。 ### **用户添加** ![Img](/Doc/img/user-add.png) **操作说明**:点击“添加用户”按钮,填写用户的基本信息,如用户名、密码、邮箱等,然后点击“创建”完成新用户添加。 --- ### **系统设置** ![Img](/Doc/img/setting.png) **功能描述**:系统设置界面允许管理员配置软件的各项参数,如数据备份路径、邮件服务器设置、通知模板等。 ### **系统设置-编辑** ![Img](/Doc/img/setting-edit.png) **操作说明**:选择需要修改的设置项,点击“编辑”按钮,修改参数后点击“保存”应用更改。 --- ### **系统日志** - **差异日志** ![Img](/Doc/img/log-diff.png) **描述**:记录系统中数据的变更历史,帮助管理员追踪数据修改情况。 - **访问日志** ![Img](/Doc/img/log-vis.png) **描述**:记录用户的登录和访问行为,提供详细的访问时间、IP地址等信息。 - **操作日志** ![Img](/Doc/img/log-op.png) **描述**:记录管理员和用户的操作行为,如添加、编辑、删除数据等。 - **异常日志** ![Img](/Doc/img/log-ex.png) **描述**:记录系统运行中的错误和异常情况,帮助开发者快速定位和解决问题。 --- ### **系统设置后-登录界面** ![Img](/Doc/img/login-after.png) **说明**:完成系统设置后,登录界面会根据新的配置进行更新,确保用户体验的一致性。 ### 项目特点 - 培训文档完善,适合快速上手 - 支持多数据库连接配置 - 提供详细的日志系统,包含操作日志、访问日志、异常日志 - 前端使用 Avue 框架,支持响应式布局 - 支持国际化,提供 I18n.xlsx 配置 - 提供 SeedData 初始化资产类型和存放位置数据 ## 许可证 本项目采用 MIT 许可证,请查看 [LICENSE](LICENSE) 文件以获取详细信息。 --- **RuoVea.CodeGen - 快速构建你的 .NET Core 项目**