Go 后台管理系统实战:Cursor + GoFrame + Vue3 生成 CRUD 模块的完整流程

前言

最近在做一个 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 这类工具按项目规范生成代码。

这里重点不是某个项目本身,而是一个经验:后台系统如果有明确目录、权限模型和生成规范,AI 生成的代码才更容易进入真实项目。

七、发布前必须人工检查

  1. 列表查询条件是否命中索引;
  2. 更新接口是否允许修改 owner_id、status 等敏感字段;
  3. 删除操作是否需要业务校验或软删除;
  4. 菜单按钮权限和接口权限是否同时存在;
  5. 前端枚举、默认值、必填规则是否符合业务。

总结

Cursor / Claude Code 写 Go 后台不是魔法。真正能提升效率的,是"代码生成器 + 项目规范 + AI Skills + 人工审查"这套流程。没有规范时,AI 只是更快地产生不一致;有规范时,它能把标准 CRUD 的重复工作压缩到一个可控范围。

相关推荐
LONGZHIQIN3 小时前
C#基础复习笔记
开发语言·笔记·c#
可靠的仙人掌3 小时前
SAC(Soft Actor-Critic)算法底座
开发语言·算法·php
学逆向的4 小时前
汇编——数据存储模式
开发语言·汇编·网络安全
geovindu4 小时前
CSharp: Prototype Pattern
开发语言·后端·设计模式·.net·原型模式·创建型模式
Listen·Rain5 小时前
Springboot整合Ollama实现调用本地多模型
java·spring boot·后端
天天进步20155 小时前
Python全栈项目--校园食堂点餐与推荐系统
开发语言·python
aaPIXa6225 小时前
C++模板元编程:编译期计算Fibonacci数列
java·开发语言·c++
张三丰25 小时前
Agent 不只是聊天框:用 ArkUI 做一个鸿蒙任务工作台
后端
eybk5 小时前
写一个可以编制pdf文件的python程序
开发语言·python·pdf
卷无止境5 小时前
从Python的cryptography库出发,从零开始理解密码学,到构建零信任网络
后端·python