---
url: /docs/3.0/server/generate.md
---
# CatchAdmin 代码生成器

> 智能化 CRUD 代码生成，提升开发效率的利器

:::warning
该文档是 Laravel 版本的代码生成。因为其他两个版本没有模块的概念，直接使用即可
:::

在现代后台管理系统开发中，**代码生成器** 已成为提升开发效率的必备工具。CatchAdmin 的代码生成器主要用于自动创建标准的 CRUD（增删改查）功能，大幅减少重复性开发工作。

**代码生成的价值**：

* **效率提升**：自动生成完整的增删改查功能，节省 80% 的基础开发时间
* **标准化**：确保代码风格和结构的一致性
* **减少错误**：避免手工编写重复代码时的常见错误

**重要提醒**：由于 CatchAdmin 采用前后端分离架构，代码生成后需要额外配置菜单才能在前端看到页面。具体分为两种情况：

* **动态菜单模式**：如果开启了权限管理模块，需要在权限管理中添加相应的菜单配置
* **静态路由模式**：如果未使用权限管理，需要手动添加前端路由配置

:::info
视频教程地址[catchadmin 之快速开发，时间久远，以文档为主](https://www.bilibili.com/video/BV1Qh4y1J7eB/)
:::

## 使用指南

CatchAdmin 的代码生成基于模块化架构，遵循"模块 → Schema → 代码生成"的标准流程。

### 第一步：创建模块

基于 CatchAdmin 的模块化设计，首先需要创建业务模块：
![pS1rbgP.png](https://s1.ax1x.com/2023/01/17/pS1rbgP.png)

**操作步骤**：

1. 进入"开发工具" → "模块管理"
2. 点击"新增"按钮
3. 填写模块基本信息（名称、描述、关键词等）
4. 点击"创建模块"完成模块初始化

### 第二步：创建 Schema

模块创建完成后，需要设计数据表结构（Schema）：
![pS128NF.png](https://s1.ax1x.com/2023/01/17/pS128NF.png)

**表基本信息配置**：

* **表名称**：遵循数据库命名规范，建议使用下划线分隔
* **表注释**：用于生成代码注释和文档
* **所属模块**：选择对应的业务模块

![pS12dnx.png](https://s1.ax1x.com/2023/01/17/pS12dnx.png)

**字段配置要点**：

* **字段名称**：使用标准的数据库字段命名
* **字段类型**：根据数据特点选择合适的数据类型
* **字段长度**：设置合理的字段长度限制
* **默认值**：为字段设置合适的默认值
* **注释说明**：详细的字段说明，用于生成表单 label
  ![pS12s4e.png](https://s1.ax1x.com/2023/01/17/pS12s4e.png)

### 第三步：代码生成

Schema 创建完成后，即可进行代码生成。点击对应 Schema 的"生成代码"按钮：
![pS12ggA.png](https://s1.ax1x.com/2023/01/17/pS12ggA.png)

### 代码生成参数详解

#### 基础配置

* **模块**：必选项，选择代码生成的目标模块
* **控制器名称**：必填项，控制器的类名（如：UserController）
* **模型名称**：默认使用表名，可自定义模型类名

#### 字段配置

* **表单 Label**：对应前端表单的字段显示名称
* **列表显示**：勾选后该字段会在列表页面中展示
* **表单字段**：勾选后该字段会在表单中显示，同时写入模型的 `form` 属性
* **搜索字段**：勾选后该字段支持列表页面的搜索功能
* **验证规则**：后端字段验证规则，遵循 Laravel 验证规则语法

#### 生成内容

代码生成器会自动创建：

* **后端文件**：Controller、Model、Request、Migration
* **前端文件**：Vue 组件、API 接口、路由配置（如需要）

### 生成文件结构

**后端文件位置**：

```
modules/ModuleName/
├── Http/Controllers/    # 控制器
├── Models/             # 模型
├── Requests/           # 表单验证
└── database/migrations/ # 数据库迁移
```

**前端文件位置**：

```
web/src/views/module-name/
├── index.vue          # 列表页面
├── form.vue           # 表单页面
└── api.js             # API 接口
```

### 重要提醒

:::info 页面访问配置
代码生成完成后，还需要进行以下配置才能在前端看到页面：

**方式一：动态菜单**（推荐）

* 进入"权限管理" → "菜单管理"
* 添加对应的菜单项和权限配置

**方式二：静态路由**

* 在前端项目中手动添加路由配置
* 适用于不使用权限管理的场景
  :::

### 使用技巧

1. **合理规划字段**：生成前仔细考虑字段的展示和搜索需求
2. **验证规则**：充分利用 Laravel 验证规则，提升数据质量
3. **模块命名**：使用清晰的模块和控制器命名，便于后期维护
4. **批量生成**：可以为同一模块创建多个 Schema，实现快速开发
