# EasyGoAdmin GoFrame+ElementPlus 开发文档 > EasyGoAdmin 企业级多租户后台管理基座 - GoFrame v2 + Vue3 + ElementPlus。支持五种数据库一键切换、RBAC 按钮级权限、多租户数据隔离、声明式 CRUD 基座与代码生成器。本文档共 143 篇,按章节组织。 ## 1. 了解项目 - [1.1 项目介绍](http://docs.goframe.elevue.easygoadmin.vip/zh/introduction.html): EasyGoAdmin 是企业级多租户后台管理基座,后端基于 GoFrame v2 框架,前端基于 Vue3 + ElementPlus,完全前后端分离架构。 - [1.2 为什么选择我们](http://docs.goframe.elevue.easygoadmin.vip/zh/why.html): 选择一个后台管理基座,核心看三点:架构是否经得起二次开发、功能是否开箱即用、工程是否可持续维护。 - [1.3 项目目录结构](http://docs.goframe.elevue.easygoadmin.vip/zh/directory.html): 在软件开发过程中,优秀的目录结构对项目的组织、开发、维护和扩展至关重要。 - [1.4 新手入门指南](http://docs.goframe.elevue.easygoadmin.vip/zh/course.html): 本节面向第一次接触本项目的开发者,给出一条最短路径:跑起来 → 看懂一个请求 → 改一个字段 → 开发一个新模块。 - [1.5 技术栈说明](http://docs.goframe.elevue.easygoadmin.vip/zh/tech-stack.html): 本项目以后端 GoFrame v2 + 前端 Vue3/ElementPlus 为核心,全部依赖选型遵循"主流、稳定、长期维护"原则。 - [1.6 更新日志](http://docs.goframe.elevue.easygoadmin.vip/zh/changelog.html): 更新日志是项目演进的完整记录,帮助开发者和企业了解每个版本的能力变化与技术演进方向。 ## 2. 快速入门 - [2.1 开发环境准备](http://docs.goframe.elevue.easygoadmin.vip/zh/quickstart/environment.html): 本章指导您从零搭建开发环境,包括 Go、Node.js/pnpm、MySQL、Redis 的安装与配置。 - [2.2 后端服务启动](http://docs.goframe.elevue.easygoadmin.vip/zh/quickstart/backend-start.html): 后端为标准 GoFrame v2 工程,单入口 main.go,启动后监听 :8000。 - [2.3 前端服务启动](http://docs.goframe.elevue.easygoadmin.vip/zh/quickstart/frontend-start.html): 前端为 Vue3 + TypeScript + Vite + ElementPlus 工程(ui/ 目录),通过 pnpm 安装依赖后一条命令启动开发服务器,接口代理指向后端 :8000。 - [2.4 数据库初始化](http://docs.goframe.elevue.easygoadmin.vip/zh/quickstart/database-init.html): 项目以 MySQL 为规范基准数据库,五方言定稿脚本统一存放于 document/{数据库}/easygoadmin.goframe.elevue.sql。 - [2.5 配置文件说明](http://docs.goframe.elevue.easygoadmin.vip/zh/quickstart/env-vars.html): 本项目唯一运行时配置文件为 manifest/config/config.yaml,GoFrame gcfg 加载。 - [2.6 第一个接口调试](http://docs.goframe.elevue.easygoadmin.vip/zh/quickstart/first-api.html): 本节通过三个最基础的接口(健康检查 → 登录 → 带令牌调用业务接口)带你完成第一次接口调试。 - [2.7 Docker 快速体验](http://docs.goframe.elevue.easygoadmin.vip/zh/quickstart/docker.html): 项目根目录已内置完整 Docker 化文件(docker/ 目录 + 根目录 .dockerignore),一条命令拉起 后端 + MySQL + Redis 三容器全栈。 - [2.8 常见问题 FAQ](http://docs.goframe.elevue.easygoadmin.vip/zh/quickstart/faq.html): 本节收录环境搭建与首次运行阶段最常遇到的问题。 ## 3. 模块开发实战 - [3.1 概述与目标](http://docs.goframe.elevue.easygoadmin.vip/zh/guide/overview.html): 本章以「案例演示模块(example)」为主线,完整走一遍模块开发全流程:建表 → DAO → 请求与校验 → 逻辑层 → 控制器 → 服务注册与路由 → 权限节点 → 前端联调。 - [3.2 数据库建表](http://docs.goframe.elevue.easygoadmin.vip/zh/guide/database.html): 建表是模块开发的第一步。 - [3.3 DAO 数据层](http://docs.goframe.elevue.easygoadmin.vip/zh/guide/model.html): DAO 四件(dao/{m}.go、dao/internal/{m}.go、entity、do)由 gf gen dao 或代码生成器产出,无需手写。 - [3.4 请求与校验](http://docs.goframe.elevue.easygoadmin.vip/zh/guide/validator.html): 本项目没有独立的"验证器文件"——请求校验由 api/v1 请求结构体上的 gvalid 标签完成,路由/权限/日志元数据由内嵌 gmeta.Meta 声明。 - [3.5 逻辑层开发](http://docs.goframe.elevue.easygoadmin.vip/zh/guide/logic.html): 逻辑层是业务核心。 - [3.6 控制器开发](http://docs.goframe.elevue.easygoadmin.vip/zh/guide/controller.html): 控制器是 HTTP 薄层,只做一件事:把解析好的请求转发给 service 接口。 - [3.7 服务注册与路由](http://docs.goframe.elevue.easygoadmin.vip/zh/guide/route.html): 本项目没有传统的路由表文件逐条登记——路由由 Bind 反射绑定从 gmeta 标签自动生成。 - [3.8 权限节点配置](http://docs.goframe.elevue.easygoadmin.vip/zh/guide/permission.html): 本项目权限校验的声明在接口 gmeta 标签,落地在菜单表的权限节点(menu.type=1)。 - [3.9 前端联调指引](http://docs.goframe.elevue.easygoadmin.vip/zh/guide/frontend-integration.html): 前端每个列表模块由三件套组成:api/{域}/{模块}.ts(接口)、views/{域}/{模块}/columns.ts(表格列)、 - [3.10 完整代码清单](http://docs.goframe.elevue.easygoadmin.vip/zh/guide/code-list.html): 本节汇总 example 模块的后端四件完整代码(api / controller / service / logic),全部摘自项目实际文件(含注释),可作为手动开发新模块的对照模板。 - [3.11 常见问题与排错](http://docs.goframe.elevue.easygoadmin.vip/zh/guide/faq.html): 本节收录模块开发阶段的高频问题,按「路由/编译/数据/权限/生成器」分组。 ## 4. 架构设计 - [4.1 整体架构概览](http://docs.goframe.elevue.easygoadmin.vip/zh/architecture/overview.html): 系统采用分层架构 + 声明式基座 + 全局钩子横切 + gmeta 反射标签的组合。 - [4.2 请求处理链路](http://docs.goframe.elevue.easygoadmin.vip/zh/architecture/request-flow.html): 一个受保护的写请求依次穿过七层中间件与 Bind 包装层。 - [4.3 后端分层架构](http://docs.goframe.elevue.easygoadmin.vip/zh/architecture/backend-layer.html): 后端五层:api / controller / service / logic / dao。 - [4.4 前端分层架构](http://docs.goframe.elevue.easygoadmin.vip/zh/architecture/frontend-layer.html): 前端采用 Vue3 Composition API + TypeScript + Pinia + ElementPlus,分层为:views(页面)→ components(公共组件)→ - [4.5 目录结构设计](http://docs.goframe.elevue.easygoadmin.vip/zh/architecture/directory-design.html): 目录结构是架构决策的物理体现。 - [4.6 核心基座体系](http://docs.goframe.elevue.easygoadmin.vip/zh/architecture/base-classes.html): 本项目没有传统"基类继承"——用组合替代继承:ModuleSpec 泛型基座(module_spec.go)承担 CRUD 流水线,base.go 共享能力层提供横切函数。 - [4.7 横切机制](http://docs.goframe.elevue.easygoadmin.vip/zh/architecture/cross-cutting.html): 审计字段盖章、软删除改写、租户隔离三类横切逻辑不在任何业务代码中出现——它们统一在 gdb 模型钩子层(internal/model/hooks)执行。 - [4.8 缓存架构设计](http://docs.goframe.elevue.easygoadmin.vip/zh/architecture/cache.html): 缓存实现为 utility/cache 统一门面:Redis 优先,连接失败或运行期出错自动降级进程内存 gcache(UsingMemory() 可查)。 - [4.9 数据库设计](http://docs.goframe.elevue.easygoadmin.vip/zh/architecture/database-design.html): 25 张业务表、统一审计列、13 个唯一索引、9 张租户级表、注释枚举驱动字典——本节给出数据模型全景与 ER 关系。 - [4.10 安全架构设计](http://docs.goframe.elevue.easygoadmin.vip/zh/architecture/security.html): 安全设计按威胁面组织:每项威胁对应明确控制措施与代码落点。 - [4.11 扩展性设计](http://docs.goframe.elevue.easygoadmin.vip/zh/architecture/extensibility.html): 扩展性来自两方面:一是标准变更的操作清单(按变更类型给出 checklist,不漏步骤、不变异架构);二是逃生舱挂点(基座装不下的需求有明确的合法出口)。 ## 5. 核心功能 - [5.1 用户认证(JWT 双令牌)](http://docs.goframe.elevue.easygoadmin.vip/zh/core/jwt.html): JWT(JSON Web Token)是系统核心认证机制。 - [5.2 认证流程实战](http://docs.goframe.elevue.easygoadmin.vip/zh/core/auth-flow.html): 本节以登录闭环为主线,串起验证码、用户查找、状态校验、密码比对、令牌签发、登录日志、在线登记八个步骤,给出完整时序图与失败分支处理。 - [5.3 验证码机制](http://docs.goframe.elevue.easygoadmin.vip/zh/core/captcha.html): 图形验证码由 utility/captcha 生成:6 位字符(排除易混淆字符)、PNG 渲染(TTF 字体 + 干扰线/噪点)、Redis 缓存 300 秒、一次性校验。 - [5.4 权限管理(RBAC)](http://docs.goframe.elevue.easygoadmin.vip/zh/core/rbac.html): RBAC(基于角色的访问控制)链路:user →(user_role)→ role →(role_menu)→ menu(type=1 权限节点)。 - [5.5 跨域资源共享](http://docs.goframe.elevue.easygoadmin.vip/zh/core/cors.html): CORS 由中间件链第一层处理(middleware/cors.go)。 - [5.6 密码加密服务](http://docs.goframe.elevue.easygoadmin.vip/zh/core/password.html): 密码加密由 utility/crypto 实现:bcrypt(password+salt) 双重加盐。 - [5.7 演示模式](http://docs.goframe.elevue.easygoadmin.vip/zh/core/demo-mode.html): 演示模式(app.demo)为对外演示站设计:读操作照常、写操作一律拦截。 - [5.8 多租户隔离](http://docs.goframe.elevue.easygoadmin.vip/zh/core/tenant.html): 多租户是硬隔离:9 张租户级表的 tenant_id 过滤与盖章由全局钩子强制执行,业务代码零感知、不可绕过。 - [5.9 数据权限](http://docs.goframe.elevue.easygoadmin.vip/zh/core/data-scope.html): 角色数据权限(role.data_scope)是叠加在租户隔离之上的第二层行级过滤,四档可配置。 - [5.10 字典模块](http://docs.goframe.elevue.easygoadmin.vip/zh/core/dict.html): 字典是枚举数据的唯一真相:dict(字典)+ dict_item(字典项)两级结构,驱动全系统的 {field}Text 显示名。 - [5.11 字典配置与使用](http://docs.goframe.elevue.easygoadmin.vip/zh/core/dict-guide.html): 本节是 {field}Text 字典驱动的使用手册:如何声明、填充链路如何工作、文案如何修改生效、常见坑有哪些。 - [5.12 系统配置管理](http://docs.goframe.elevue.easygoadmin.vip/zh/core/config.html): 系统配置采用两级结构:config(配置分组)+ config_item(配置项)。 - [5.13 系统参数管理](http://docs.goframe.elevue.easygoadmin.vip/zh/core/param.html): 参数模块(goframe_param)管理系统级键值参数:code 唯一标识 + name + value。 - [5.14 操作日志](http://docs.goframe.elevue.easygoadmin.vip/zh/core/operation-log.html): 操作日志由中间件异步采集:gmeta log/logType 标签声明记录内容,OperationLog 中间件组装(含脱敏),有界通道 + 单 worker 批量落库,绝不阻塞业务。 - [5.15 登录日志](http://docs.goframe.elevue.easygoadmin.vip/zh/core/login-log.html): 登录日志由业务写入(logic/auth.go writeLoginLog):登录成功、失败、退出全记录,含 IP 归属地(ip2region)、操作系统与浏览器解析、耗时统计。 - [5.16 异常与响应处理](http://docs.goframe.elevue.easygoadmin.vip/zh/core/exception.html): 全部响应经 utility/response 统一信封写出;panic 由 Response 中间件 recover 兜底;404/500 状态页输出 JSON 而非 HTML。 - [5.17 接口限流](http://docs.goframe.elevue.easygoadmin.vip/zh/core/idempotent.html): 接口防护采用固定窗口限流(middleware/ratelimit.go):按 IP + 路径计数,普通接口与认证入口双阈值。 - [5.18 gmeta 标签系统总览](http://docs.goframe.elevue.easygoadmin.vip/zh/core/gmeta.html): gmeta 标签是本项目的"声明即事实"机制:请求结构体上的一个 gmeta.Meta 标签同时驱动路由注册、权限校验、操作日志、OpenAPI 文档四件事。 ## 6. 业务模块 - [6.1 用户管理](http://docs.goframe.elevue.easygoadmin.vip/zh/modules/user.html): 用户模块(goframe_user,租户级表)是机制最全的模块:唯一校验(按行现租户)、租户用户上限、角色全量重写、城市编解码、Excel 导入导出、数据权限接线、批量名称回填。 - [6.2 角色管理](http://docs.goframe.elevue.easygoadmin.vip/zh/modules/role.html): 角色模块(goframe_role,租户级表)承载 RBAC 分配与数据权限四档:MenuList 返回带勾选状态的全量菜单树,SavePermission 全量重写角色菜单并清理身份缓存, - [6.3 菜单管理](http://docs.goframe.elevue.easygoadmin.vip/zh/modules/menu.html): 菜单模块(goframe_menu,平台级表)统一承载两类节点:type=0 目录/菜单(进前端菜单树)与 type=1 权限节点(进后端 Perms 校验)。 - [6.4 部门管理](http://docs.goframe.elevue.easygoadmin.vip/zh/modules/dept.html): 部门模块(goframe_dept,租户级表)管理组织架构:树形结构、删除有子级/用户守卫、租户内名称唯一。 - [6.5 职级管理](http://docs.goframe.elevue.easygoadmin.vip/zh/modules/level.html): 职级模块(goframe_level,租户级表)管理用户职级属性:标准 CRUD + 状态切换 + Excel 导入导出(与 user/example 并列的三个导入导出示范模块之一),列表带 - [6.6 岗位管理](http://docs.goframe.elevue.easygoadmin.vip/zh/modules/position.html): 岗位模块(goframe_position,租户级表)管理用户岗位属性:标准 CRUD + 状态切换 + 引用统计。 - [6.7 文章管理](http://docs.goframe.elevue.easygoadmin.vip/zh/modules/article.html): 文章模块(goframe_article,租户级表)是文件/富文本字段的代表模块:cover 单图、images 多图、content 富文本([IMG_URL] 持久化契约), - [6.8 公告与链接管理](http://docs.goframe.elevue.easygoadmin.vip/zh/modules/content.html): 内容域还有两个租户级模块:通知公告(goframe_notice)与友情链接(goframe_link)。 - [6.9 行政区划管理](http://docs.goframe.elevue.easygoadmin.vip/zh/modules/city.html): 行政区划模块(goframe_city,平台级大表)管理全国省/市/区/街道/社区数据:树形双键(pid + parent_code)、级联懒加载查询、双向编解码包级函数(user/index - [6.10 分类管理](http://docs.goframe.elevue.easygoadmin.vip/zh/modules/category.html): 分类模块(goframe_category,租户级表)管理文章/商品等树形分类:ModuleSpec 树形声明(IsTree + ParentOf)、租户内名称唯一、删除守卫。 - [6.11 定时任务](http://docs.goframe.elevue.easygoadmin.vip/zh/modules/job.html): 定时任务是数据驱动的常驻调度器:任务定义在 goframe_job 表,启动时加载 status=1 任务挂载 gcron,执行目标分双形态(HTTP 调用 / 本地处理器), - [6.12 参数管理](http://docs.goframe.elevue.easygoadmin.vip/zh/modules/param.html): 参数模块(goframe_param,平台级表)管理系统级扁平键值参数:code 全局唯一(uk_code),标准七件套 CRUD。 - [6.13 租户管理](http://docs.goframe.elevue.easygoadmin.vip/zh/modules/tenant.html): 租户模块(goframe_tenant,平台级表)管理多租户生命周期:状态/过期、用户上限、事务化开户(Account,code 按 T+ID 规则回填)。 - [6.14 文件模板管理](http://docs.goframe.elevue.easygoadmin.vip/zh/modules/filetemplate.html): 文件模板模块(goframe_file_template,平台级表)在线管理文件/代码片段模板:code 全局唯一、按编码查询(getTemplateByCode)。 - [6.15 首页与个人中心](http://docs.goframe.elevue.easygoadmin.vip/zh/modules/index.html): index 模块(无表,聚合 user/menu)提供个人中心五接口:当前用户信息(超管返回通配权限)、菜单树、修改密码、更新个人信息。 - [6.16 在线用户监控](http://docs.goframe.elevue.easygoadmin.vip/zh/modules/online-user.html): 在线用户是无表模块(数据源 Redis):登录/刷新登记会话,分页查看在线列表,强退踢出(access+refresh 双令牌拉黑,防被踢会话经刷新复活)。 - [6.17 服务器监控](http://docs.goframe.elevue.easygoadmin.vip/zh/modules/server-monitor.html): 服务器监控是无表模块:单接口聚合返回运行时、内存、磁盘、数据库连通、缓存模式与调度器健康。 - [6.18 缓存监控](http://docs.goframe.elevue.easygoadmin.vip/zh/modules/cache-monitor.html): 缓存监控是无表模块:解析 Redis INFO 返回内存、客户端、命中率、键空间等指标;内存降级时返回 mode=memory 标识。 - [6.19 案例演示模块](http://docs.goframe.elevue.easygoadmin.vip/zh/modules/example.html): 案例演示模块(goframe_example,tool 域)是官方完整样板:七件套 + 状态切换 + Excel 导入导出 + 文件字段 + 字典填充,前端五件套齐备。 ## 7. 文件处理 - [7.1 文件上传全流程](http://docs.goframe.elevue.easygoadmin.vip/zh/tools/upload.html): 上传采用两段式:SaveTemp 先入临时目录(白名单+大小+图片嗅探校验),表单保存时 SaveFromTemp 移动到正式子目录。 - [7.2 上传配置详解](http://docs.goframe.elevue.easygoadmin.vip/zh/tools/upload-config.html): 上传行为全部由 config.yaml 的 file.* 配置块控制:物理目录、访问域名、扩展名白名单、大小上限、临时保留天数。 - [7.3 富文本处理](http://docs.goframe.elevue.easygoadmin.vip/zh/tools/rich-text.html): 富文本的核心是 [IMG_URL] 持久化契约:存库时本站图片引用转为占位符(LocalizeContentFields),读取时还原为访问基址(ExpandContentFields,唯一还原出口)。 - [7.4 数据导入导出](http://docs.goframe.elevue.easygoadmin.vip/zh/tools/excel.html): Excel 导入导出基于 xuri/excelize/v2(utility/excel 封装):导入解析逐行校验写入并返回统计,导出走 ChunkQuery 分批查询防 OOM。 - [7.5 前端文件组件](http://docs.goframe.elevue.easygoadmin.vip/zh/tools/file-components.html): 前端文件能力集中在 components/Upload(上传组件族)与 utils/downloadFile(下载工具),配合两段式上传协议:选择文件即调 - [7.6 数据库迁移工具](http://docs.goframe.elevue.easygoadmin.vip/zh/tools/db-migrate.html): 整库迁移器(internal/migrate + cmd/migrator)实现五方言互迁:源库内省 → 中间表示 → 目标方言 DDL → 分批搬运 → 序列修复 → 行数校验。 ## 8. 接口规范与对接 - [8.1 统一响应格式](http://docs.goframe.elevue.easygoadmin.vip/zh/api-spec/response.html): 全部接口返回统一 JSON 信封:code/ok/msg/data 四字段。 - [8.2 错误码对照表](http://docs.goframe.elevue.easygoadmin.vip/zh/api-spec/error-code.html): 业务错误码定义在 internal/consts/biz_err.go(gcode.Register 语义值)。 - [8.3 分页查询规范](http://docs.goframe.elevue.easygoadmin.vip/zh/api-spec/pagination.html): 分页契约三件套:PageReq 入参(pageNo/pageSize)+ PageData 出参(records/total/size/current/pages)+ - [8.4 文件上传接口](http://docs.goframe.elevue.easygoadmin.vip/zh/api-spec/upload.html): 上传接口统一 multipart:POST /api/upload/uploadFile(单文件)与 uploadFiles(多文件),字段名 file。 - [8.5 字典数据接口](http://docs.goframe.elevue.easygoadmin.vip/zh/api-spec/dict-api.html): 字典接口分三层:管理接口(dict/dict_item 七件套,带权限)、前端消费接口(dictionary 别名 + getDictItemList,登录即可)、缓存刷新接口。 - [8.6 Token 使用说明](http://docs.goframe.elevue.easygoadmin.vip/zh/api-spec/token.html): 本文档面向 API 对接方:如何获取令牌、如何携带、如何刷新、如何撤销。 - [8.7 API 接口总览](http://docs.goframe.elevue.easygoadmin.vip/zh/api-spec/overview.html): 全部接口经 gmeta 标签自动生成 OpenAPI:GET /api.json(原生 JSON)+ GET /swagger(本地 Redoc UI)。 ## 9. 前端开发 - [9.1 前端工程概述](http://docs.goframe.elevue.easygoadmin.vip/zh/frontend/overview.html): 前端为 Vue3 + TypeScript + Vite + ElementPlus + Pinia 的标准工程化项目(ui/ 目录),采用 Composition API,核心机制为:动态菜单路由、 - [9.2 目录结构详解](http://docs.goframe.elevue.easygoadmin.vip/zh/frontend/directory.html): 前端目录按"共享层平铺、页面层按域分目录"组织:api/views 按域(system/data/content/monitor/tool)对应后端模块域; - [9.3 环境与构建配置](http://docs.goframe.elevue.easygoadmin.vip/zh/frontend/env-config.html): 前端构建基于 Vite 多环境模式:dev/test/uat/prod 四套构建命令 + 环境变量文件。 - [9.4 HTTP 请求封装](http://docs.goframe.elevue.easygoadmin.vip/zh/frontend/http.html): HTTP 封装在 utils/http/axios:VAxios 类 + transform 链式处理。 - [9.5 路由与动态菜单](http://docs.goframe.elevue.easygoadmin.vip/zh/frontend/router.html): 路由分两层:constant.ts 常量路由(login/redirect/403/404,登录前可访问)与动态菜单路由(登录后由 /api/index/getMenus 返回的菜单树经 - [9.6 状态管理(Pinia)](http://docs.goframe.elevue.easygoadmin.vip/zh/frontend/store.html): 状态管理用 Pinia,modules 七个状态域:user(登录身份)、asyncRoute(动态路由)、tabsView(标签页)、 - [9.7 权限控制](http://docs.goframe.elevue.easygoadmin.vip/zh/frontend/permission.html): 前端权限是按钮级 UX 控制:directives/permission.ts 按 getUser 返回的 permissions 数组控制元素显隐;超管通配权限 *:*:* 直接放行。 - [9.8 登录流程](http://docs.goframe.elevue.easygoadmin.vip/zh/frontend/login.html): 登录页支持多表单形态(账号/手机/Qrcode),核心链路为:验证码获取 → 登录请求 → access_token 存储 → 跳转首页。 - [9.9 数据展示组件](http://docs.goframe.elevue.easygoadmin.vip/zh/frontend/display-components.html): components/ 提供 25 类公共组件,覆盖数据展示(Table/Page/CountTo/Qrcode/Render)、容器(Modal)、 - [9.10 数据录入组件](http://docs.goframe.elevue.easygoadmin.vip/zh/frontend/form-components.html): 数据录入组件覆盖表单场景:Form(querySchemas 驱动)、Select(下拉)、ChinaArea/Region(级联区划)、Cropper(裁剪)、Password(密码强度)、 - [9.11 Excel 导入导出组件](http://docs.goframe.elevue.easygoadmin.vip/zh/frontend/excel-components.html): 前端 Excel 能力由 components/Excel 与 importFile 组件 + xlsx 库提供:导入走文件上传接口拿统计结果,导出走导出接口拿文件 URL 再下载。 - [9.12 新增页面开发步骤](http://docs.goframe.elevue.easygoadmin.vip/zh/frontend/new-page.html): 新增前端页面的标准路径:api 模块 → columns.ts → querySchemas.ts → index.vue → edit.vue/detail.vue → 菜单权限。 - [9.13 API 模块编写规范](http://docs.goframe.elevue.easygoadmin.vip/zh/frontend/api-module.html): api 模块按域组织(src/api/{域}/{模块}.ts),每接口一个导出函数,内部 http.request 调用。 - [9.14 样式与主题定制](http://docs.goframe.elevue.easygoadmin.vip/zh/frontend/style.html): 样式体系基于 ElementPlus CSS 变量 + styles/ 全局覆盖:主题色、暗黑模式、水印、动画等经 designSetting/projectSetting 在线配置。 - [9.15 布局系统](http://docs.goframe.elevue.easygoadmin.vip/zh/frontend/layout.html): 布局系统(src/layout/)提供管理后台标准骨架:侧栏菜单、顶栏(面包屑/用户区)、标签页(tabsView)、内容区(keep-alive 页面缓存)、锁屏等,全部受 - [9.16 工具函数](http://docs.goframe.elevue.easygoadmin.vip/zh/frontend/utils.html): utils/ 提供通用工具:HTTP 封装(9.4 已述)、Storage 本地存储、auth 路径工具、downloadFile 下载、dateUtil/formatTime 时间、 - [9.17 枚举与全局设置](http://docs.goframe.elevue.easygoadmin.vip/zh/frontend/i18n.html): 本项目前端不引入 i18n(当前仅简体中文)。 ## 10. 代码生成器 - [10.1 概述与架构](http://docs.goframe.elevue.easygoadmin.vip/zh/generator/overview.html): 代码生成器根据表结构一键产出前后端全套文件,并同步创建菜单、权限节点、字典数据、路由注册行(全部幂等)。 - [10.2 CLI 命令行使用](http://docs.goframe.elevue.easygoadmin.vip/zh/generator/cli.html): CLI 入口 cmd/generator:go run ./cmd/generator -tables "表名|注释"。 - [10.3 Web 管理界面](http://docs.goframe.elevue.easygoadmin.vip/zh/generator/web-ui.html): 管理界面位于「工具 → 代码生成」(ui/src/views/tool/generator/):数据表清单分页浏览、代码预览、一键生成、批量生成。 - [10.4 表结构解析引擎](http://docs.goframe.elevue.easygoadmin.vip/zh/generator/parser.html): 解析引擎负责把数据库表翻译为生成元数据:表注释(MySQL information_schema / 非 MySQL 降级)、字段类型映射、注释智能解析(枚举/标签/图片/富文本识别)、 - [10.5 代码生成引擎](http://docs.goframe.elevue.easygoadmin.vip/zh/generator/code-engine.html): 生成引擎按模板渲染全部产物:后端八件套(统一 gofmt)+ 前端五件/三件,然后经 writeFile 四态落盘决策,最后执行幂等副作用。 - [10.6 模板开发](http://docs.goframe.elevue.easygoadmin.vip/zh/generator/templates.html): 生成器模板在 templates/ 磁盘目录:后端模板用 Go text/template 默认 {{ }} 定界;前端模板因与 Vue 插值冲突改用 [[ ]] 定界。 - [10.7 配置文件详解](http://docs.goframe.elevue.easygoadmin.vip/zh/generator/config.html): 生成器配置在 config.yaml 的 generator 块:parentMenuId(菜单挂载父级)与 overwrite(覆盖开关,唯一入口)。 - [10.8 实战案例](http://docs.goframe.elevue.easygoadmin.vip/zh/generator/demo.html): 本节以数据库中真实存在的 goframe_example(案例演示表)为实操对象,演示生成器全流程:预览 → 生成(幂等)→ 副作用核对。 - [10.9 常见问题](http://docs.goframe.elevue.easygoadmin.vip/zh/generator/faq.html): 生成器 FAQ 按"识别/产出/副作用/覆盖"分组。 ## 11. 运维部署 - [11.1 部署 Checklist](http://docs.goframe.elevue.easygoadmin.vip/zh/deploy/checklist.html): 生产上线前逐项核对:安全基线(密钥/万能码/错误信息)、依赖服务(MySQL/Redis)、配置核对、静态资源、验证步骤。 - [11.2 环境规划](http://docs.goframe.elevue.easygoadmin.vip/zh/deploy/env-plan.html): 推荐三套环境(开发/测试/生产)+ 环境差异经 GF_ 环境变量覆盖(不改配置文件)。 - [11.3 数据库迁移](http://docs.goframe.elevue.easygoadmin.vip/zh/deploy/db-migrate.html): 部署场景的两类迁移:① 全新环境初始化(导入定稿脚本);② 存量环境跨方言迁移(整库迁移器)。 - [11.4 后端部署](http://docs.goframe.elevue.easygoadmin.vip/zh/deploy/backend.html): 后端为单二进制部署:go build 产物 + manifest 配置 + resource 静态资源 + ip2region 数据文件。 - [11.5 前端部署](http://docs.goframe.elevue.easygoadmin.vip/zh/deploy/frontend.html): 前端构建为静态产物(dist/),生产由 Nginx 托管:静态文件 + SPA 路由回退 + /api 与 /upload 反代后端。 - [11.6 Docker 生产部署](http://docs.goframe.elevue.easygoadmin.vip/zh/deploy/docker.html): 项目已内置 Docker 化文件:docker/Dockerfile(多阶段静态编译)、docker/docker-compose.yml(后端 + MySQL + Redis 编排)、 - [11.7 性能调优](http://docs.goframe.elevue.easygoadmin.vip/zh/deploy/performance.html): 性能调优按层次展开:数据库(连接池/索引/大表)、Redis(连接池/内存)、应用(缓存策略/日志异步)、前端(构建/缓存)。 - [11.8 安全加固清单](http://docs.goframe.elevue.easygoadmin.vip/zh/deploy/security.html): 安全加固按层次组织:配置层(密钥/开关)、网络层(暴露面/代理)、数据层(账号/备份)、应用层(上传/权限)。 - [11.9 备份与恢复](http://docs.goframe.elevue.easygoadmin.vip/zh/deploy/backup.html): 备份对象:数据库(核心)、上传文件、配置与密钥。 - [11.10 故障排查手册](http://docs.goframe.elevue.easygoadmin.vip/zh/deploy/troubleshooting.html): 按故障类别速查:启动失败 / 认证授权 / 数据异常 / 性能 / 缓存 / 定时任务 / 文件上传。 - [11.11 CI/CD 流水线](http://docs.goframe.elevue.easygoadmin.vip/zh/deploy/ci-cd.html): CI 门禁:后端 go vet + gofmt + build + test;前端 vue-tsc + eslint + 构建。 ## 12. 规范标准 - [12.1 API 响应规范](http://docs.goframe.elevue.easygoadmin.vip/zh/standards/api-response.html): 必须遵守的响应契约:统一信封四字段、code 语义、data 形态、命名驼峰(含下划线例外)。 - [12.2 分页查询规范](http://docs.goframe.elevue.easygoadmin.vip/zh/standards/pagination.html): 必须遵守的查询契约:筛选对齐三件套、分页默认值与上限、导出=所见、排序白名单。 - [12.3 Git 提交规范](http://docs.goframe.elevue.easygoadmin.vip/zh/standards/git.html): 提交遵循 Conventional Commits(前端工程内置 commitlint + husky 校验)。 - [12.4 数据删除规范](http://docs.goframe.elevue.easygoadmin.vip/zh/standards/deletion.html): 删除一律软删(del_flag=1,由全局钩子强制改写);物理删除只在定时清理任务中出现。 - [12.5 代码审查清单](http://docs.goframe.elevue.easygoadmin.vip/zh/standards/code-review.html): Review 按"架构红线 → 安全 → 正确性 → 规范"四层组织。 - [12.6 后端编码规范](http://docs.goframe.elevue.easygoadmin.vip/zh/standards/backend-code.html): 后端规范汇总:分层职责、命名、错误处理、事务纪律、注释风格。 - [12.7 前端编码规范](http://docs.goframe.elevue.easygoadmin.vip/zh/standards/frontend-code.html): 前端规范汇总:三件套对齐、组件使用、权限、状态管理、类型与样式。 ## 附录 - [A. 常见问题汇总](http://docs.goframe.elevue.easygoadmin.vip/zh/appendix/faq.html): 全书 FAQ 汇总(按主题分组),结论均可回溯到代码位置。 - [B. 数据库表结构速查](http://docs.goframe.elevue.easygoadmin.vip/zh/appendix/database-tables.html): 25 张业务表速查:表名/中文/域/租户级/关键列。 - [C. 配置项速查](http://docs.goframe.elevue.easygoadmin.vip/zh/appendix/config-reference.html): manifest/config/config.yaml 全键速查。 - [D. 公共函数速查](http://docs.goframe.elevue.easygoadmin.vip/zh/appendix/functions.html): 后端共享能力速查:logic/base.go 15 个导出函数 + module_spec/data_scope 包级函数 + utility 九包。 - [E. API 接口速查表](http://docs.goframe.elevue.easygoadmin.vip/zh/appendix/api-cheatsheet.html): 全部接口速查(按模块)。 - [F. 中间件执行顺序](http://docs.goframe.elevue.easygoadmin.vip/zh/appendix/middleware.html): 七层中间件 + Bind 包装层的完整执行顺序与短路行为速查。 - [G. 前端组件速查](http://docs.goframe.elevue.easygoadmin.vip/zh/appendix/components.html): ui/src/components/ 全部公共组件速查(25 类),按展示/录入/布局/能力分组。 - [H. 前端 Store 速查](http://docs.goframe.elevue.easygoadmin.vip/zh/appendix/stores.html): Pinia store 模块速查(store/modules/ 七个): - [I. 前端 Enums 速查](http://docs.goframe.elevue.easygoadmin.vip/zh/appendix/enums.html): src/enums/ 枚举常量速查。 - [J. 术语表](http://docs.goframe.elevue.easygoadmin.vip/zh/appendix/glossary.html): 项目核心术语速查(按字母/主题排序)。 - [K. 贡献指南](http://docs.goframe.elevue.easygoadmin.vip/zh/other/contributing.html): 感谢关注 EasyGoAdmin! - [L. 免责声明](http://docs.goframe.elevue.easygoadmin.vip/zh/other/declare.html): 使用本项目前请阅读以下免责声明。 - [M. 广告赞助](http://docs.goframe.elevue.easygoadmin.vip/zh/other/sponsor.html): 如果本项目对你的工作有帮助,欢迎通过赞助支持它的持续演进。