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