# go-wind-cms
**Repository Path**: tx7do/go-wind-cms
## Basic Information
- **Project Name**: go-wind-cms
- **Description**: 这是一个前后端分离的内容中台系统,后端基于 Go、go-kratos,后台前端基于 Vue3、Vben,前台提供 React 与 Vue3 双版本,支持多端渲染与跨平台发布。
后台具备多租户、数据权限、动态 API、任务调度、多数据库兼容、高级查询等能力,集成统一认证、国际化、接口文档等企业级特性。
支持富文本、Markdown、JSON 编辑器,提供多语言内容管理与多端数据同步,可快速构建多语言
- **Primary Language**: Go
- **License**: MIT
- **Default Branch**: main
- **Homepage**: https://www.gowind.cloud/cms/intro.html
- **GVP Project**: No
## Statistics
- **Stars**: 19
- **Forks**: 8
- **Created**: 2022-12-06
- **Last Updated**: 2026-06-20
## Categories & Tags
**Categories**: Uncategorized
**Tags**: Go语言, CMS, Vue, Ant-Design, 微服务
## README
# GoWind Content Hub
### 风行 · 开箱即用的企业级前后端一体内容平台
[](./LICENSE)
[](https://go.dev/)
[](https://vuejs.org/)
[](https://react.dev/)
[](https://flutter.dev/)
[](https://go-kratos.dev/)
**[English](./README.en-US.md)** · **中文** · **[日本語](./README.ja-JP.md)**
---
风行(GoWind HCH)是一款开箱即用的企业级 Golang 全栈 Headless 内容平台(HCH = Headless Content Hub,无头内容中枢),为企业提供灵活、可扩展的全域内容管理与分发解决方案。
**核心亮点:**
- **API 优先** — 完整的 RESTful / gRPC 双协议接口,OpenAPI 文档自动生成
- **多端适配** — 前台支持 Vue、React、Taro(小程序)、Flutter 四套前端
- **多租户架构** — 租户数据隔离,自动初始化部门、角色与管理员
- **精细化权限** — 菜单权限、接口权限、数据权限三级管控,支持按钮级控制
- **原生多语言** — 内容、菜单、提示信息统一翻译管理,支撑出海业务
- **微服务架构** — 基于 go-kratos,支持服务发现、链路追踪、分布式事务
## 演示地址
| 演示类型 | 访问地址 |
|:---------------|:-------------------------------------------------------------------------------------|
| 管理后台 | [https://admin.cms.gowind.cloud](https://admin.cms.gowind.cloud) |
| 后台 API Swagger | [https://api.admin.cms.gowind.cloud/docs/](https://api.admin.cms.gowind.cloud/docs/) |
| 前台 API Swagger | [https://api.cms.gowind.cloud/docs/](https://api.cms.gowind.cloud/docs/) |
| Vue 前台 | [https://vue.cms.gowind.cloud](https://vue.cms.gowind.cloud) |
| React 前台 | [https://react.cms.gowind.cloud](https://react.cms.gowind.cloud) |
| Taro 前台 | [https://taro.cms.gowind.cloud](https://taro.cms.gowind.cloud) |
| Flutter 前台 | [https://flutter.cms.gowind.cloud](https://flutter.cms.gowind.cloud) |
> 所有演示站点通用账号:`admin` / `admin`
## 技术栈
### 后端
| 层级 | 技术 | 说明 |
|:-------|:-------------------------------------------------------------------------------------|:------------|
| 语言 | [Go 1.25+](https://go.dev/) | 高性能编译型语言 |
| 框架 | [go-kratos](https://go-kratos.dev/) | B站开源微服务框架 |
| 依赖注入 | [Wire](https://github.com/google/wire) | 编译时依赖注入 |
| ORM | [Ent](https://entgo.io/) | Go 实体框架 |
| 数据库 | [PostgreSQL](https://www.postgresql.org/) / [MySQL](https://www.mysql.com/) | 关系型数据库 |
| 缓存 | [Redis](https://redis.io/) | 内存数据库 |
| 对象存储 | [MinIO](https://min.io/) | 兼容 S3 的对象存储 |
| 搜索引擎 | [OpenSearch](https://opensearch.org/) | 全文检索 |
| 服务注册 | [Etcd](https://etcd.io/) / [Consul](https://www.consul.io/) | 服务发现与配置 |
| 链路追踪 | [Jaeger](https://www.jaegertracing.io/) + [OpenTelemetry](https://opentelemetry.io/) | 分布式可观测 |
| API 定义 | [Protobuf](https://protobuf.dev/) + [buf.build](https://buf.build/) | 接口契约优先 |
| 权限引擎 | [Casbin](https://casbin.org/) / [OPA](https://www.openpolicyagent.org/) | 策略驱动鉴权 |
### 管理后台前端
| 技术 | 说明 |
|:----------------------------------------------|:-----------|
| [Vue 3](https://vuejs.org/) | 渐进式前端框架 |
| [TypeScript](https://www.typescriptlang.org/) | 类型安全 |
| [Ant Design Vue](https://antdv.com/) | 企业级 UI 组件库 |
| [Vben Admin](https://doc.vben.pro/) | 后台管理框架 |
### 前台展示前端
| 版本 | 技术栈 | 适用场景 |
|:--------|:--------------------------------------------------------------------------------------|:-------------|
| Vue | [Nuxt.js](https://nuxt.com/) + [shadcn-vue](https://www.shadcn-vue.com/) | Web 应用 / SSR |
| React | [Next.js](https://nextjs.org/) + [shadcn/ui](https://ui.shadcn.com/) | Web 应用 / SSR |
| Taro | [Taro](https://docs.taro.zone/en/docs/) + React + [shadcn/ui](https://ui.shadcn.com/) | 微信小程序 / H5 |
| Flutter | [Flutter](https://flutter.dev/) + [BLoC](https://bloclibrary.dev/) | 跨平台原生应用 |
## 核心功能
### 组织与权限
| 功能 | 说明 |
|:------|:----------------------------------------|
| 多租户管理 | 租户新增、启用/禁用、套餐配置与数据隔离;新增租户自动初始化部门、角色与管理员 |
| 用户管理 | 用户全生命周期管理,支持多角色、多部门绑定,一键代登录,高级条件查询 |
| 角色管理 | 角色与角色分组管理,精细化配置菜单权限、接口权限与数据权限 |
| 权限管理 | 权限分组、菜单节点与权限点管理,支持按钮级细粒度控制,完整权限闭环 |
| 菜单管理 | 可视化菜单配置,支持目录、页面、按钮三级,按权限动态渲染 |
| 部门管理 | 多级部门树形管理,联动绑定用户,划分组织层级 |
### 内容与站点
| 功能 | 说明 |
|:------|:--------------------------------------------|
| 内容建模 | 可视化自定义内容模型,支持文本、数字、富文本、图片、文件、关联等字段类型 |
| 内容管理 | 内容增删改查、发布/下架、置顶、排序、回收站与批量操作;富文本/Markdown 编辑 |
| 分类管理 | 多级分类树形管理,支持绑定内容模型,前台按分类快速筛选 |
| 标签管理 | 标签增删改查与内容关联,支持按标签检索与聚合展示 |
| 评论管理 | 评论审核、删除、回复、屏蔽,可按内容、用户、时间筛选 |
| 多语言管理 | 语种管理、内容/菜单/提示统一翻译,原生国际化支持 |
| 站点管理 | 多站点独立配置,独立域名、标题、Logo、SEO 与展示风格 |
| 站点配置 | 基础信息、SEO、上传限制、缓存策略、邮件/短信等全局参数配置 |
### 系统与运维
| 功能 | 说明 |
|:-------------|:--------------------------------------|
| 文件资源管理 | 图片/文档/视频统一管理,支持本地或 OSS 云存储,预览、下载、分组管理 |
| 字典管理 | 数据字典大类与子项管理,联动查询、排序、导入导出 |
| 接口管理 | 后端接口统一维护与自动同步,树形展示,可配置请求参数与响应结果 |
| 任务调度 | 定时任务管理,支持启动/暂停/立即执行,查看执行记录与运行日志 |
| 消息通知 | 多级消息分类,向指定用户发送消息,查看已读状态与已读时间 |
| 站内信 | 个人消息中心,支持查看、删除、单条/全部已读 |
| 缓存管理 | 缓存实时查询,按键精准清除或批量清理 |
| 登录日志 | 登录成功/失败日志,含账号、IP、归属地、设备、时间,支持查询导出 |
| 操作日志 | 全链路操作日志,记录操作人、IP、请求参数与结果,支持详情追溯 |
| 个人中心 | 个人信息编辑、头像修改、密码重置、登录记录查看 |
| Headless API | 完整 OpenAPI 接口,支持内容 CRUD,适配多端调用 |
## 项目结构
```
go-wind-cms/
├── backend/ # 后端服务
│ ├── api/ # Protobuf API 定义 & 生成代码
│ │ ├── protos/ # .proto 源文件
│ │ └── gen/ # 生成代码 (Go / TypeScript / OpenAPI)
│ ├── app/
│ │ ├── admin/service/ # 管理后台服务 (HTTP/gRPC)
│ │ ├── app/service/ # 前台应用服务 (HTTP/gRPC)
│ │ └── core/service/ # 核心业务服务 (业务逻辑 + 数据层)
│ ├── pkg/ # 公共包 (鉴权/加密/事件总线/JWT/中间件/OSS...)
│ └── scripts/ # 部署脚本 (Docker/PM2/环境安装)
├── frontend/
│ ├── admin/ # 管理后台前端 (Vue3 + Ant Design Vue + Vben Admin)
│ └── app/ # 前台应用
│ ├── react/ # React 前台 (Next.js)
│ ├── vue/ # Vue 前台 (Nuxt.js)
│ ├── taro/ # Taro 前台 (微信小程序/H5)
│ └── flutter_app/ # Flutter 前台 (跨平台原生)
└── docs/ # 文档 & 截图
```
## 快速开始
### 环境要求
- Go 1.25+
- Docker & Docker Compose
- Node.js 18+ & pnpm
- buf (Protobuf 工具链)
### 1. 启动依赖服务
```bash
cd backend
# Windows
.\scripts\docker\libs_only.ps1
# Linux / macOS
./scripts/docker/libs_only.sh
```
### 2. 启动后端服务
```bash
# 推荐方式:使用 gow CLI
gow run admin
# 或在 IDE 中直接调试运行
```
### 3. 启动前端
```bash
# 管理后台
cd frontend/admin
pnpm install
pnpm dev
# React 前台
cd frontend/app/react
pnpm install
pnpm dev
```
### 常用命令
```bash
cd backend
# 生成 Protobuf API 代码
make api
# 生成 OpenAPI 文档
make openapi
# 生成 TypeScript 代码
make ts
# 一键生成全部代码 (ent + wire + api + openapi)
make gen
# 构建所有服务
make build
# 运行测试
make test
```
> 更多开发工作流请参考 [后端文档](./backend/README.md) 和 [脚本指南](./backend/scripts/WORKFLOWS_AND_BEST_PRACTICES.md)。
## 后台截图
## 前台截图
## 联系我们
- 微信个人号:`yang_lin_bo`(备注:`go-wind-cms`)
- 掘金专栏:[go-wind-cms](https://juejin.cn/column/7541283508041826367)
## 参与贡献
我们欢迎各种形式的贡献,包括但不限于:
- 提交 [Issue](../../issues) 报告 Bug 或提出功能建议
- 提交 [Pull Request](../../pulls) 修复问题或添加新功能
- 完善文档和翻译
- 分享使用经验
## 开源许可
本项目基于 [MIT License](./LICENSE) 开源。
## 致谢
[](https://jb.gg/OpenSource)
感谢 [JetBrains](https://jb.gg/OpenSource) 提供的免费 GoLand & WebStorm 开源许可。