logo
0
0
WeChat Login
cuijixiong<cuiji@cuijixiongdeMac-mini.local>
feat: 添加 AGENTS.md + README/modelPkg 指向 skill 文档

RuoYi-Go-Demo 后台管理框架

🤖 AI 开发者:开始写代码前请先阅读 AGENTS.md.openclaw/skills/ruoyi-demo/SKILL.md,里面有完整的开发规范和代码模板。

本项目是一个基于 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 信息]