# 代码生成工具
**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**: 1
- **Forks**: 2
- **Created**: 2025-04-16
- **Last Updated**: 2026-01-28
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# 代码生成工具
## 介绍
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
<%} %>
}
}
```
## 系统截图
### **登录界面**

**操作说明**:输入正确的账号和密码,点击“登录”按钮进入系统。如果忘记密码,可以点击“找回密码”进行重置。
### **管理员登录首页**

**功能描述**:管理员首页提供系统概览,包括模板数量、用户数量、最近操作等信息。通过顶部导航栏,可以快速访问各个功能模块。
---
### **用户管理**

**功能描述**:在用户管理界面,可以查看所有用户的基本信息,包括用户名、注册日期、最后登录时间等。支持用户搜索、筛选和批量操作。
### **用户添加**

**操作说明**:点击“添加用户”按钮,填写用户的基本信息,如用户名、密码、邮箱等,然后点击“创建”完成新用户添加。
---
### **系统设置**

**功能描述**:系统设置界面允许管理员配置软件的各项参数,如数据备份路径、邮件服务器设置、通知模板等。
### **系统设置-编辑**

**操作说明**:选择需要修改的设置项,点击“编辑”按钮,修改参数后点击“保存”应用更改。
---
### **系统日志**
- **差异日志**

**描述**:记录系统中数据的变更历史,帮助管理员追踪数据修改情况。
- **访问日志**

**描述**:记录用户的登录和访问行为,提供详细的访问时间、IP地址等信息。
- **操作日志**

**描述**:记录管理员和用户的操作行为,如添加、编辑、删除数据等。
- **异常日志**

**描述**:记录系统运行中的错误和异常情况,帮助开发者快速定位和解决问题。
---
### **系统设置后-登录界面**

**说明**:完成系统设置后,登录界面会根据新的配置进行更新,确保用户体验的一致性。
---
### **项目管理**

**功能描述**:项目管理界面允许用户查看和管理所有代码生成项目。支持项目搜索、筛选和批量操作。
### **项目编辑**

**操作说明**:点击“编辑”按钮,修改项目的基本信息,如项目名称、描述、默认命名空间等,然后点击“保存”应用更改。
---
### **数据库管理**

**功能描述**:数据库管理界面允许用户查看和管理所有数据库连接配置。支持添加、编辑、删除数据库连接。
### **数据库编辑**

**操作说明**:点击“编辑”按钮,修改数据库连接信息,如数据库类型、连接字符串、用户名、密码等,然后点击“保存”应用更改。
---
### **模板管理**

**功能描述**:模板管理界面允许用户查看和管理所有代码模板。支持模板搜索、筛选和批量操作。
### **模板编辑**

**操作说明**:点击“编辑”按钮,修改模板的基本信息,如模板名称、描述、代码内容等,然后点击“保存”应用更改。
### **模板禁用**

**功能描述**:模板禁用界面允许用户禁用不需要的模板,禁用后的模板将不会在代码生成时显示。
### **模板分类**

**功能描述**:模板分类界面允许用户查看和管理所有模板分类。支持添加、编辑、删除模板分类。
---
### **代码生成**

**功能描述**:代码生成界面允许用户查看和管理所有代码生成任务。支持任务搜索、筛选和批量操作。
### **代码编辑**

**操作说明**:点击“编辑”按钮,修改代码生成任务的基本信息,如任务名称、描述、模板选择等,然后点击“保存”应用更改。
### **代码生成结果**

**功能描述**:代码生成结果界面显示代码生成的详细结果,包括生成的文件列表、代码内容等。支持代码下载和复制。
---
### **角色管理**

**功能描述**:角色管理界面允许用户查看和管理所有角色。支持添加、编辑、删除角色,以及为角色分配权限。
---
### **字段配置**
### **C# 属性类型配置**

**功能描述**:C# 属性类型配置界面允许用户配置数据库字段类型对应的 C# 属性类型。
### **编辑类型配置**

**功能描述**:编辑类型配置界面允许用户配置字段的编辑类型,如文本框、下拉框、日期选择器等。
### **表单列数配置**

**功能描述**:表单列数配置界面允许用户配置表单的列数,以适应不同的屏幕尺寸。
### **HTML 控件类型配置**

**功能描述**:HTML 控件类型配置界面允许用户配置字段对应的 HTML 控件类型。
### **操作按钮权限配置**

**功能描述**:操作按钮权限配置界面允许用户配置操作按钮的权限,如添加、编辑、删除、查看等。
### **系统保留字段配置**

**功能描述**:系统保留字段配置界面允许用户配置系统保留的字段,这些字段将在代码生成时自动处理。
---
### **系统日志**

**功能描述**:系统日志界面显示系统的所有日志信息,包括操作日志、访问日志、异常日志等。支持日志搜索、筛选和批量操作。
### 项目特点
- 培训文档完善,适合快速上手
- 支持多数据库连接配置
- 提供详细的日志系统,包含操作日志、访问日志、异常日志
- 前端使用 Avue 框架,支持响应式布局
- 支持国际化,提供 I18n.xlsx 配置
- 提供 SeedData 初始化资产类型和存放位置数据
- 支持多种代码模板,可自定义模板
- 支持字段详细配置,包括字段类型、长度、是否为主键等
- 支持用户权限配置和角色管理
- 支持系统操作日志和数据变更日志
## 许可证
本项目采用 MIT 许可证,请查看 [LICENSE](LICENSE) 文件以获取详细信息。
---
**RuoVea.CodeGen - 快速构建你的 .NET Core 项目**