GoWind 开源生态GoWind 开源生态
首页
GoWind Admin
GoWind CMS
GoWind IM
GoWind UBA
GoWind Toolkit
GitHub
首页
GoWind Admin
GoWind CMS
GoWind IM
GoWind UBA
GoWind Toolkit
GitHub
  • 介绍

    • GoWind Admin 产品介绍
    • GoWind Admin 安装指南
  • 后端文档

    • 后端架构总览
    • 后端核心模块详解
    • 后端 API 与 Protobuf 定义
    • 后端配置与部署
    • 后端扩展开发
  • 前端文档

    • 前端架构总览
    • 前端核心功能详解
  • 二开教程

    • 后端新增业务模块实战教程
    • 前端新增业务页面实战教程
    • 前后端联调完整实战教程
  • 高级教程

    • Lua 脚本扩展实战教程
    • 权限系统深度解析教程
    • 多租户架构实战教程
    • 任务调度与异步处理教程
    • 文件上传与对象存储教程
    • 事件总线与解耦架构教程
    • 前端主题定制与国际化教程
    • 性能优化与监控教程
    • SSE 实时推送
    • 登录策略与安全加固
    • 加密工具实战

GoWind Admin 产品介绍

GoWind Admin 是一套面向中大型项目的企业级中后台解决方案,基于 Go 微服务框架(Kratos)构建,采用单体架构部署,同时保持微服务级别的代码分层与模块化设计,可随业务增长平滑拆分为微服务。前端提供多套现代框架实现,具备开箱即用的后台管理能力、完善的多租户权限体系、丰富的组件库及可扩展的插件机制。

一、核心特性

1. 技术栈

维度核心技术优势说明
后端Go、Kratos 微服务框架、Ent ORM、Protobuf + Buf基于微服务框架的单体架构,标准化 API 定义与代码生成,可平滑拆分为微服务
前端Vue3 + Ant Design Vue (Vben)、Vue3 + Element Plus、React + Ant Design三套前端实现,覆盖主流 UI 框架,支持主题定制、响应式布局
存储PostgreSQL / MySQL、Redis、MinIO关系型数据库 + 缓存 + 对象存储,完整的存储方案
任务调度Asynq基于 Redis 的分布式任务队列,支持定时/延迟/异步任务
权限Casbin + OPA、JWT 认证双引擎权限校验,细粒度角色权限控制,多租户数据隔离
工程化Makefile、Docker Compose、Buf 代码生成、ESLint/Prettier全流程工程化管控,一键构建部署
扩展能力Lua / JavaScript 脚本引擎、自定义 API 模块、EventBus 事件总线灵活扩展业务逻辑,无需修改核心代码

2. 核心功能

  • 多租户支持:支持一对一/一对多两种租户关系模型,基于 Ent Viewer 机制实现应用级数据隔离
  • 完善的权限体系:后端基于 Casbin/OPA 双引擎实现接口级权限校验,前端适配路由/组件/菜单级权限控制
  • 三套前端实现:Vue Vben (Ant Design Vue)、Vue Element (Element Plus)、React (Ant Design),按需选择
  • 标准化 API 体系:基于 Protobuf 定义接口,自动生成 Go/TypeScript 代码及 OpenAPI 文档
  • 分布式任务调度:基于 Asynq 实现定时任务、延迟任务和异步任务,支持优先级队列和重试策略
  • 文件存储服务:集成 MinIO 对象存储,支持文件上传、下载和管理
  • 脚本引擎扩展:内置 Lua/JavaScript 脚本引擎和 EventBus,支持自定义 API 模块开发
  • 富文本编辑器:集成 TipTap 富文本编辑器,支持表格、代码块、图片上传等
  • 多环境适配:开发/测试/生产环境配置隔离,Docker Compose 一键启动依赖服务

二、架构设计

1. 整体架构

GoWind Admin 采用前后端分离架构,核心分为三层:

  • 前端层:三套独立前端实现(Vue Vben / Vue Element / React),按需选择
  • API 层:基于 Kratos 框架构建的单体服务,内部保持微服务级别的分层架构,支持 HTTP REST + SSE 推送 + Asynq 任务调度,未来可平滑拆分为独立微服务
  • 数据层:PostgreSQL/MySQL 主数据库 + Redis 缓存/消息队列 + MinIO 对象存储

2. 后端项目结构

backend/
├── api/                    # Protobuf API 定义与自动生成代码
│   └── gen/                # 自动生成的 Go / TypeScript 代码
├── app/                    # 应用服务代码
│   └── admin/service/      # Admin 服务
│       ├── cmd/server/     # 服务入口
│       ├── configs/        # 服务配置(数据库、Redis、OSS、服务器等)
│       └── internal/       # 内部逻辑(data/ent/schema、service、server)
├── pkg/                    # 通用工具包
│   ├── authorizer/         # Casbin/OPA 权限引擎
│   ├── constants/          # 常量(权限、角色、租户类型)
│   ├── crypto/             # 加密工具(AES-GCM)
│   ├── entgo/              # Ent ORM 扩展
│   ├── eventbus/           # 事件总线
│   ├── jwt/                # JWT 工具
│   ├── lua/                # Lua 脚本引擎
│   ├── middleware/         # 中间件(auth、ent viewer)
│   ├── oss/                # 对象存储(MinIO)
│   └── task/               # 任务类型定义
├── scripts/                # 自动化脚本
│   ├── env/                # 环境安装脚本(Windows/Unix)
│   ├── docker/             # Docker 部署脚本
│   └── deploy/             # PM2 部署脚本
├── sql/                    # 数据库初始化脚本
├── docker-compose.yaml     # 全量部署(应用 + 依赖)
├── docker-compose.libs.yaml # 仅依赖服务
├── Makefile                # 自动化构建指令
└── Dockerfile              # Docker 镜像构建(多阶段)

3. 前端项目结构

GoWind Admin 提供三套前端实现,均位于 frontend/admin/ 目录:

前端版本目录UI 框架开发端口
Vue Vbenvue-vben/Ant Design Vue5666
Vue Elementvue-element/Element Plus3000
Reactreact/Ant Design7000
frontend/admin/
├── vue-vben/               # Vue Vben 版(Monorepo)
│   ├── apps/admin/         # 管理端应用
│   ├── packages/           # 通用包(组件库、工具、国际化)
│   └── scripts/deploy/     # Docker 部署脚本
├── vue-element/            # Vue Element 版
│   ├── src/pages/          # 业务页面
│   ├── src/core/           # 核心逻辑(偏好、i18n、路由)
│   └── src/utils/          # 工具函数
└── react/                  # React 版
    ├── src/pages/          # 业务页面
    ├── src/core/           # 核心逻辑(偏好、i18n)
    └── src/locales/        # 国际化资源

三、快速体验

1. 环境准备

  • 后端:安装 Go、Docker、Buf、Make
  • 前端:安装 Node.js 16+、pnpm

详细安装步骤请参考 安装指南。

2. 在线演示

无需部署,直接体验完整功能:

  • 前端管理页面:https://demo.admin.gowind.cloud
  • 后端 API 文档(Swagger):https://api.demo.admin.gowind.cloud/docs/
  • 默认账号密码:admin / admin

3. 一键启动

后端启动

git clone https://github.com/tx7do/go-wind-admin.git

cd go-wind-admin/backend

# 安装依赖插件和 CLI 工具
make init

# 启动依赖服务(PostgreSQL / Redis / MinIO)
make docker-libs

# 启动后端服务
gow run admin

前端启动

cd go-wind-admin/frontend/admin

# Vue Vben 版本

cd vue-vben
pnpm install
pnpm dev:antd

# Vue Element 版本
cd ../vue-element
pnpm install
pnpm dev

# React 版本
cd ../react
pnpm install
pnpm dev

4. 访问地址

服务地址
Vue Vben 前端http://localhost:5666
Vue Element 前端http://localhost:3000
React 前端http://localhost:7000
后端 REST APIhttp://localhost:7788
后端 Swagger 文档http://localhost:7788/docs/
后端 SSE 服务http://localhost:7789/events
MinIO 控制台http://localhost:9001

四、核心能力详解

1. 多租户与权限体系

GoWind Admin 内置多租户支持,提供两种租户关系模型:

  • 一对一:每个用户只属于一个租户,通过 user_role 关联角色
  • 一对多:每个用户可属于多个租户,通过 membership 表管理身份

权限体系基于双引擎架构:

  • 认证(Authentication):JWT Token 内嵌用户 ID、租户 ID、角色、数据权限范围
  • 授权(Authorization):Casbin + OPA 双引擎,支持 RBAC / ABAC 权限模型
  • 数据隔离:通过 Ent Viewer 机制自动注入租户过滤,无需手动添加 WHERE 条件
  • 前端适配:路由守卫、组件级权限、菜单可见性控制

详见 权限系统深度解析 和 多租户架构实战。

2. 标准化 API 开发

基于 Protobuf 定义接口,通过 Buf 自动生成:

# 生成 Go 服务端代码
make api

# 生成 OpenAPI 文档
make openapi

# 生成 TypeScript 前端请求代码
make ts

# 一键生成所有(Ent + Wire + API + OpenAPI)
make gen

3. 任务调度

基于 Asynq 实现分布式任务队列:

  • 立即任务:发送邮件、短信通知
  • 延迟任务:订单超时自动取消
  • 定时任务:每日数据报表、定期数据清理
  • 支持优先级队列(critical / default / low)和自动重试
  • 提供 Asynqmon Web UI 监控任务状态

详见 任务调度与异步处理教程。

4. 扩展开发

后端扩展(脚本引擎)

内置 Lua/JavaScript 脚本引擎和 EventBus 事件总线,支持无需编译的业务逻辑扩展:

-- 监听用户创建事件,自动投递欢迎邮件任务
eventbus.subscribe("user.created", function(event)
    task.enqueue("send_welcome_email", {
        user_id = event.user_id,
        email = event.email
    })
end)

详见 Lua 脚本扩展实战 和 事件总线架构。

前端扩展(组件开发)

复用通用组件库快速开发业务页面,三套前端均支持自定义组件扩展。

5. 文件存储

集成 MinIO 对象存储服务,支持文件上传、下载和管理,配置化的存储桶策略。

详见 文件存储服务教程。

6. 富文本编辑器

Vue Element 和 React 版本集成 TipTap 富文本编辑器,支持:

  • 格式化文本、表格、代码块、公式
  • 图片上传
  • 颜色、高亮、标题等富文本样式

五、工程化与规范

1. 代码规范

  • 后端:Go 代码遵循 golangci-lint 规范,通过 make lint 自动校验
  • 前端:ESLint + Prettier 规范,保障代码风格一致
  • API 定义:Protobuf 接口定义标准化,Buf 格式化和 lint 检查

2. 构建与部署

  • 全 Docker 部署:make docker-up,三方中间件和微服务均运行在 Docker 容器中
  • 混合部署:Docker 运行中间件 + PM2 管理宿主机微服务
  • 前端部署:静态资源构建(pnpm build)或 Docker 镜像

详见 安装指南。

六、开源协议与生态

GoWind Admin 基于 MIT 协议开源,可自由用于商业项目。

核心生态依赖:

  • 后端框架:Kratos 微服务框架、Ent ORM、Buf 工具链
  • 前端框架:Vben Admin、Ant Design Vue、Element Plus、Ant Design
  • 基础设施:Asynq 任务队列、Casbin 权限引擎、MinIO 对象存储

七、适用场景

  • 企业级中后台系统开发
  • SaaS 多租户平台建设
  • 基于微服务框架的单体架构管理平台
  • 需要快速交付、易扩展的后台项目
  • 对权限管控、工程化有高要求的团队

八、相关资源

  • 源码仓库:GitHub、Gitee
  • 技术站点:https://www.gowind.cloud
  • 安装指南
  • 后端架构设计
  • 前端架构设计
Edit this page
Last Updated:: 6/5/26, 12:42 PM
Contributors: Bobo
Next
GoWind Admin 安装指南