前言
最近在做一个 Go 后台管理系统迁移,把原来 PHP(ThinkPHP/Laravel)里常见的 CRUD、RBAC、菜单权限搬到 GoFrame + Vue3 技术栈。本文不讲概念,直接用一个客户管理模块演示:如何从数据表开始,配合 Cursor / Claude Code 生成后台模块初稿,再人工检查权限和字段风险。
一、准备数据表
示例表结构如下,包含客户名称、联系方式、等级、负责人和状态字段:
sql
CREATE TABLE `crm_customer` (
`id` bigint unsigned NOT NULL AUTO_INCREMENT,
`name` varchar(120) NOT NULL COMMENT '客户名称',
`mobile` varchar(30) DEFAULT '' COMMENT '联系电话',
`level` tinyint NOT NULL DEFAULT 1 COMMENT '客户等级',
`owner_id` bigint unsigned NOT NULL DEFAULT 0 COMMENT '负责人',
`status` tinyint NOT NULL DEFAULT 1 COMMENT '状态',
`created_at` datetime DEFAULT NULL,
`updated_at` datetime DEFAULT NULL,
PRIMARY KEY (`id`),
KEY `idx_owner_status` (`owner_id`,`status`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
二、为什么不能直接让 AI 自由生成
很多人第一次用 AI 写后台,会直接输入"帮我生成客户管理 CRUD"。这样确实能得到代码,但常见问题也很明显:
- 目录结构和项目现有规范不一致;
- 接口返回格式不统一;
- 字段名和前端表单字段对不上;
- 只生成按钮权限,没有接口层权限校验;
- AI 会补一些数据库里不存在的字段。
三、建议的项目目录
在 GoFrame 项目里,我更建议先固定目录,再让 AI 按目录补文件:
text
internal/
controller/customer.go
logic/customer.go
model/customer.go
service/customer.go
resource/
menu/customer.yaml
web/
views/customer/index.vue
四、可复用的 AI 提示词
下面是一段更稳定的提示词,比"帮我写 CRUD"效果好很多:
text
根据 crm_customer 表结构,按当前 GoFrame 后台项目规范生成客户管理模块:
1. 分页列表、详情、新增、编辑、删除接口;
2. 前端 Vue3 列表页和表单字段;
3. RBAC 菜单权限:查看、新增、编辑、删除;
4. 不要发明数据库不存在的字段;
5. 输出需要人工检查的安全风险点。
五、工时对比
| 开发方式 | 单模块耗时 | 主要成本 |
|---|---|---|
| Gin 手写 | 3~4 小时 | 路由、DTO、分页、权限都要手动处理 |
| GoFrame 手写 | 约 2 小时 | 分层清晰,但重复文件仍然较多 |
| GoFrame + 代码生成 + AI | 45~70 分钟 | 主要时间用于字段和权限审核 |
六、以 XYGo Admin 作为案例
我这次参考的案例是 XYGo Admin,一个 GoFrame v2 + Vue3 + TypeScript + Element Plus 的后台管理项目。它内置代码生成器、RBAC 权限、菜单管理,并提供 AI Skills,用来约束 Cursor / Claude Code 这类工具按项目规范生成代码。
- GitHub:https://github.com/z312193608/xygo-admin
- 官网/在线体验:XYGo Admin 官网 - Vue3 + GoFrame 开源后台管理系统
- AI Skills:XYGo Admin AI Skills - Cursor Agent Skills 让 AI 读懂你的项目 - XYGo Admin
这里重点不是某个项目本身,而是一个经验:后台系统如果有明确目录、权限模型和生成规范,AI 生成的代码才更容易进入真实项目。
七、发布前必须人工检查
- 列表查询条件是否命中索引;
- 更新接口是否允许修改 owner_id、status 等敏感字段;
- 删除操作是否需要业务校验或软删除;
- 菜单按钮权限和接口权限是否同时存在;
- 前端枚举、默认值、必填规则是否符合业务。
总结
Cursor / Claude Code 写 Go 后台不是魔法。真正能提升效率的,是"代码生成器 + 项目规范 + AI Skills + 人工审查"这套流程。没有规范时,AI 只是更快地产生不一致;有规范时,它能把标准 CRUD 的重复工作压缩到一个可控范围。