logo
1
1
WeChat Login

RuoYi-Go-Demo 后台管理框架

本项目是一个基于 Go 语言 (Gin + Gorm) 实现的后台管理系统框架 Demo,复刻了 RuoYi 的核心设计理念,提供了快速开发后台管理系统的基础脚手架。

📋 项目简介

该项目演示了如何使用 ruoyiGo SDK 快速构建后台服务。集成了 Web 服务、数据库操作、权限认证、代码生成等核心功能,并支持前后端分离架构(前端资源可嵌入二进制文件中)。

核心特性

  • Web 框架: 基于 Gin 高性能 Web 框架。
  • ORM: 使用 Gorm 进行数据库操作,支持 MySQL 和 SQLite。
  • 权限管理: 基于 Token 的认证机制。
  • 自动代码生成:
    • 自动生成后端 CRUD 接口 (Controller)
    • 自动生成前端 TypeScript 类型定义
    • 自动生成 ApiFox 接口文档结构
    • 自动生成菜单和字典初始化数据
  • 嵌入式前端: 支持将前端构建产物 (static/) 嵌入 Go 二进制文件,实现单文件部署。

📂 目录结构

d:\work\sdk\ruoyiDemo
├── src/
│   ├── apiFox/       # ApiFox 接口文档生成配置
│   ├── ctl/          # 控制器层 (Controller),处理 HTTP 请求
│   │   ├── demoCtl/  # 示例模块接口 (CRUD)
│   │   └── init.go   # 路由初始化
│   ├── menu/         # 菜单数据初始化配置
│   ├── modelPkg/     # 数据模型定义 (Struct/Entity)
│   ├── srcConstPkg/  # 业务常量定义
│   └── srcDictData/  # 字典数据初始化
├── static/           # 前端静态资源 (构建后的 dist 目录)
├── config.yaml       # 项目配置文件
├── go.mod            # Go 依赖管理
└── main.go           # 项目入口文件

🚀 快速开始

1. 环境要求

  • Go 1.24+
  • SQLite (默认) 或 MySQL

2. 配置说明

修改项目根目录下的 config.yaml 文件:

goAdmin:
  tokenName: goAdmin      # Token 名称
  tokenMaxAge: 86400      # Token 有效期 (秒)
  rootUser: admin         # 默认管理员账号
  rootPassword: 123456    # 默认管理员密码
  sqlType: sqlite         # 数据库类型: sqlite 或 mysql

system:
  mode: debug             # 运行模式: debug, release, test
  address: 0.0.0.0:9004   # 服务监听地址

mysql:                    # 如果使用 MySQL,请配置此处
  driver: mysql
  host: mysql.localhost:3306
  username: root
  password: your_password
  dbname: db_ruoyiGo

sqlLite:                  # SQLite 配置
  path: './test.db'       # 数据库文件路径

⚠️ 注意: main.goconfig.yaml 中可能包含开发者的本地硬编码路径 (如 D:\work1\...),请在运行前根据您的环境进行修改或注释掉相关代码生成逻辑。

3. 运行项目

# 下载依赖
go mod tidy

# 运行
go run main.go

启动成功后,访问: http://localhost:9004

  • 默认账号: admin
  • 默认密码: 123456

🛠️ 开发指南

新增模块流程

参考 src/modelPkg/readme.md 的说明,标准开发流程如下:

  1. 定义模型: 在 src/modelPkg/ 下创建新的结构体文件 (如 TbDemo.go)。
  2. 配置字典: 如果涉及字典类型,在 src/srcDictData/ 下添加常量和初始化逻辑。
  3. 配置菜单: 在 src/menu/ 下定义菜单结构和权限。
  4. 生成接口: 在 src/ctl/ 下创建对应的控制器目录,实现 CRUD 逻辑。
  5. 生成文档: 在 src/apiFox/ 下配置接口文档分类。

代码生成

项目在启动时 (main.go) 会触发代码生成逻辑 (生成 TS 类型、ApiFox 文档等)。相关的生成路径配置在 main.gospingGo.AddLifeListener 回调中,请确保路径配置正确。

📄 接口文档

项目集成了 ApiFox 文档生成结构,相关的接口定义位于 src/apiFox/ 目录下。

📝 许可证

[License 信息]

About

仿ruoyi的go语言后台框架

Language
Go92.3%
TypeScript7.6%
Others0.1%