琥歌瑞 Hugray

琥歌瑞(Hugray)是一个多端业务平台,采用「一后端 + 三前端」的单体仓库(Monorepo)管理,后端为 Spring Cloud 微服务架构。

目录结构

Hugray/
├── hugray-server/          Java 微服务后端(网关 / 认证 / 系统 / 文件 / 任务 / 生成 / 监控)
├── hugray-admin/           管理后台前端(Web 端,供运营与管理人员使用)
├── hugray-user-miniapp/    用户小程序(面向 C 端用户)
├── hugray-partner-miniapp/ 服务商小程序(面向服务商 / 入驻方)
├── LICENSE
└── README.md

各端简介

端 目录 技术栈 说明
管理后台 hugray-admin Vue 3.5 + Vite 6 + Element Plus 2.13 + Pinia + Vue Router 4 浏览器访问的运营管理后台
用户小程序 hugray-user-miniapp uni-app(Vue 3) 可编译到微信 / 支付宝 / 百度 / 抖音等小程序
服务商小程序 hugray-partner-miniapp uni-app(Vue 3) 面向服务商 / 入驻方的小程序
后端服务 hugray-server Java 17 + Spring Cloud 微服务 统一为三个端提供接口

后端 hugray-server

技术栈

分类 技术 版本
运行环境 Java 17
基础框架 Spring Boot 4.1.0
微服务框架 Spring Cloud 2025.1.2
微服务框架 Spring Cloud Alibaba 2025.1.0.0
注册 / 配置中心 Nacos 3.0.2
流量防护 Sentinel 随 Spring Cloud Alibaba
监控 Spring Boot Admin 4.1.2

| 持久层 | MyBatis + PageHelper + Druid | - |
| 数据库 | MySQL | 5.7+ |
| 缓存 | Redis | - |
| 认证 | JWT | 0.9.1 |
| 接口文档 | SpringDoc OpenAPI | 3.1.0 |
| 对象存储 | MinIO | 8.2.2 |

服务模块与端口

模块 目录 说明 端口
网关 ruoyi-gateway 统一入口、路由转发、鉴权与限流 8080
认证服务 ruoyi-auth 登录、注册、令牌签发 9200
系统服务 ruoyi-modules/ruoyi-system 用户 / 角色 / 菜单 / 部门 / 字典 / 日志等 9201
代码生成 ruoyi-modules/ruoyi-gen 前后端代码一键生成 9202
定时任务 ruoyi-modules/ruoyi-job Quartz 任务调度 9203
文件服务 ruoyi-modules/ruoyi-file 本地 / MinIO 文件上传下载 9300
监控服务 ruoyi-visual/ruoyi-monitor Spring Boot Admin 服务监控 9100

公共依赖模块

  • ruoyi-common-core:核心工具与公共模型
  • ruoyi-common-security:鉴权与安全
  • ruoyi-common-redis:缓存服务
  • ruoyi-common-datasource:多数据源
  • ruoyi-common-datascope:数据权限
  • ruoyi-common-sensitive:数据脱敏
  • ruoyi-common-log:操作日志
  • ruoyi-common-seata:分布式事务
  • ruoyi-common-swagger:接口文档
  • ruoyi-api/ruoyi-api-system:系统服务对外接口定义

docker 与部署脚本

  • docker/:Nacos、MySQL、Redis、Nginx 及各服务的容器化配置,编排文件为 docker/docker-compose.yml
  • docker/deploy.sh、docker/copy.sh:一键部署与拷贝脚本
  • bin/:各服务的本地启动脚本(run-gateway.bat、run-auth.bat、run-modules-*.bat、run-monitor.bat)
  • sql/:初始化脚本
    • ry_20260417.sql:业务库(ry-cloud)
    • ry_config_20260918.sql:Nacos 配置库
    • quartz.sql:定时任务表
    • ry_seata_20210128.sql:Seata 事务表

环境要求

组件 版本要求
JDK 17+
Maven 3.8+
Node.js 18+(建议 20 LTS)
MySQL 5.7+
Redis 5.0+
Nacos 3.x(8848)
Docker 可选,用于一键启动中间件

快速开始

1. 启动中间件

推荐使用 Docker 一键启动 Nacos、MySQL、Redis、Nginx:

cd hugray-server/docker
docker-compose up -d

也可自行安装上述组件,默认连接地址均为 127.0.0.1。

2. 初始化数据库与配置

  1. 创建业务库 ry-cloud,执行 hugray-server/sql/ry_20260417.sql、quartz.sql;
  2. 在 Nacos 配置库中执行 hugray-server/sql/ry_config_20260918.sql,导入各服务的配置;
  3. 如有分布式事务需求,执行 hugray-server/sql/ry_seata_20210128.sql。

3. 启动后端

先启动 Nacos,再按依赖顺序启动各服务(也可直接运行 hugray-server/bin/ 下的脚本):

ruoyi-gateway → ruoyi-auth → ruoyi-modules/ruoyi-system → ... → ruoyi-visual/ruoyi-monitor

4. 启动管理后台前端

cd hugray-admin
npm install
npm run dev        # 开发环境,默认 http://localhost:80
npm run build:prod # 生产打包,产物在 dist/

5. 启动小程序

用 HBuilderX 打开 hugray-user-miniapp 或 hugray-partner-miniapp,运行到对应小程序平台(微信小程序需先在 manifest.json 中配置 AppID)。

端口一览

服务 端口
管理后台前端(开发) 80
网关 ruoyi-gateway 8080
认证 ruoyi-auth 9200
系统 ruoyi-system 9201
代码生成 ruoyi-gen 9202
定时任务 ruoyi-job 9203
文件服务 ruoyi-file 9300
监控 ruoyi-monitor 9100
Nacos 8848 / 9848 / 9849
Sentinel 控制台 8718
MySQL 3306
Redis 6379
Nginx 80

说明:管理后台开发端口(80)与容器 Nginx(80)不冲突,生产环境前端产物由 Nginx 托管。

开源说明

后端基于开源项目 RuoYi-Cloud(v3.6.8)二次开发,遵循其原始开源协议(MIT);使用时请保留原作者版权声明。