Nincs leírás

145870 54ad97dab3 简化 1 hete
yushu-backend 54ad97dab3 简化 1 hete
yushu-uivue3 54ad97dab3 简化 1 hete
.gitignore 8ec37d065d 1 1 hónapja
README.md 54ad97dab3 简化 1 hete
package-lock.json a326904f2e 文件 依旧有预览缺陷暂不处理 2 hete
package.json a326904f2e 文件 依旧有预览缺陷暂不处理 2 hete

README.md

予书管理系统

基于 Spring Boot + Vue3 前后端分离的企业级管理系统


项目简介

予书管理系统是一套现代化的企业级后台管理解决方案,采用前后端分离架构,提供完整的权限管理、系统监控、开发工具等基础功能。系统界面采用玻璃拟态(Glassmorphism)设计风格,支持深色/浅色主题切换。

核心特点

  • 前后端分离架构,支持独立部署和扩展
  • 基于RBAC的权限模型,支持角色、菜单、按钮级权限控制
  • 模块化设计,核心系统+可选扩展模块,按需部署
  • 完整的系统监控,实时掌握系统运行状态
  • 强大的代码生成器,快速生成前后端代码
  • 现代化UI设计,支持主题切换和响应式布局
  • 企业级安全防护,JWT认证、密码加密、防注入攻击

系统架构

yushu/
├── yushu-backend/          # 后端服务(Spring Boot)
│   ├── yushu-admin/        # 主应用模块
│   ├── yushu-common/       # 通用模块
│   ├── yushu-framework/    # 框架核心
│   ├── yushu-generator/    # 代码生成器
│   ├── yushu-quartz/       # 定时任务模块
│   ├── yushu-system/       # 系统模块
│   └── sql/                # 数据库脚本
└── yushu-uivue3/           # 前端应用(Vue3)
    ├── src/
    │   ├── api/            # API 接口
    │   ├── components/     # 公共组件
    │   ├── views/          # 页面视图
    │   └── ...
    └── ...

技术栈

后端技术

技术 版本 说明
Spring Boot 3.5.4 基础框架
Spring Security 6.x 安全框架
MyBatis-Plus 3.5.9 ORM 框架(增强版)
MySQL 8.2.0 关系型数据库
Redis 3.0+ 缓存数据库
JWT 0.9.1 Token生成与验证
Quartz - 定时任务调度
Druid 1.2.23 数据库连接池
FastJson2 2.0.58 JSON处理
Swagger/SpringDoc 2.8.9 API文档
POI 4.1.2 Excel导入导出
Velocity 2.3 代码生成模板

前端技术

技术 版本 说明
Vue 3.5.16 渐进式JavaScript框架
Ant Design Vue 4.2.0 企业级UI组件库
Vite 6.3.5 下一代前端构建工具
Pinia 3.0.2 Vue状态管理
Vue Router 4.5.1 路由管理
Axios 1.9.0 HTTP请求库
ECharts 5.6.0 数据可视化
CodeMirror 6.0.2 代码编辑器
Quill 2.0.2 富文本编辑器

环境要求

后端环境

  • JDK 17+
  • Maven 3.6+
  • MySQL 5.7+
  • Redis 3.0+

前端环境

  • Node.js 16.0+
  • npm 8.0+

快速部署

1. 数据库初始化

-- 创建数据库
CREATE DATABASE yushu DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;

核心系统(必需):

cd yushu-backend/sql

# 导入核心系统(包含:用户权限+定时任务+文件+消息+待办+错误日志)
mysql -u root -p yushu < yushu_core.sql

扩展模块(可选):

# AI助手模块
mysql -u root -p yushu < yushu_module_ai.sql

# 邮件系统模块
mysql -u root -p yushu < yushu_module_mail.sql

详细说明请查看:SQL脚本文档

2. 后端配置与启动

# 进入后端目录
cd yushu-backend

# 修改配置文件
# yushu-admin/src/main/resources/application-druid.yml  (数据库配置)
# yushu-admin/src/main/resources/application.yml        (Redis配置)

# 编译打包
mvn clean package -Dmaven.test.skip=true

# 运行
cd yushu-admin/target
java -jar yushu-admin.jar

后端访问地址:http://localhost:8080

3. 前端部署

# 进入前端目录
cd yushu-uivue3

# 安装依赖
npm install

# 开发环境运行
npm run dev

# 生产环境构建
npm run build:prod

前端访问地址:http://localhost:80

4. 默认账号

  • 用户名:admin
  • 密码:admin123

生产环境部署

后端部署

# 打包
mvn clean package -Dmaven.test.skip=true

# 后台运行
nohup java -jar yushu-admin.jar > yushu.log 2>&1 &

前端部署(Nginx)

server {
    listen       80;
    server_name  your-domain.com;

    location / {
        root   /usr/share/nginx/html/dist;
        index  index.html;
        try_files $uri $uri/ /index.html;
    }

    location /prod-api/ {
        proxy_pass http://localhost:8080/;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
}

Docker 部署

后端 Dockerfile:

FROM openjdk:17-jdk-alpine
VOLUME /tmp
COPY yushu-admin.jar app.jar
ENTRYPOINT ["java","-jar","/app.jar"]
# 构建镜像
docker build -t yushu-backend .

# 运行容器
docker run -d -p 8080:8080 --name yushu-backend yushu-backend

功能模块

核心系统(必需)

1. 系统管理

  • 用户管理:用户信息维护、密码重置、状态管理、数据权限分配
  • 角色管理:角色权限配置、菜单权限、数据权限范围设置
  • 菜单管理:动态菜单配置、按钮权限、图标管理、路由配置
  • 部门管理:组织架构树形管理、部门层级关系维护
  • 岗位管理:岗位信息配置、岗位与用户关联
  • 字典管理:系统字典类型和数据维护、字典缓存管理
  • 参数管理:系统参数动态配置、参数缓存刷新
  • 通知公告:系统公告发布、公告类型管理

2. 系统监控

  • 在线用户:实时在线用户列表、会话信息、强制下线
  • 定时任务:Quartz任务调度、Cron表达式配置、执行日志
  • 操作日志:用户操作记录、请求参数、返回结果、异常信息
  • 登录日志:登录记录、登录地点、浏览器信息、登录状态
  • 服务监控:CPU使用率、内存状态、JVM信息、磁盘空间
  • 缓存监控:Redis连接信息、缓存命中率、键值管理、命令统计
  • 数据源监控:Druid连接池状态、SQL监控、慢SQL分析

3. 开发工具

  • 代码生成:数据库表导入、代码模板配置、一键生成CRUD代码
  • 表单构建:可视化表单设计、组件拖拽、表单代码生成
  • 系统接口:Swagger/SpringDoc接口文档、在线调试

4. 文件管理

  • 文件夹管理:文件夹创建、重命名、删除、树形结构
  • 文件上传:多文件上传、文件预览、下载、删除
  • 文件分享:分享链接生成、访问权限控制、分享记录

5. 消息中心

  • 系统通知:系统消息推送、消息类型分类
  • 消息接收:消息列表、已读未读状态、消息详情
  • 消息管理:消息发送记录、接收统计

6. 待办事项

  • 待办管理:待办创建、编辑、删除、状态更新
  • 优先级设置:紧急、重要、普通等级
  • 完成状态:待办、进行中、已完成

7. 错误日志

  • 前端错误:前端异常捕获、错误堆栈记录
  • 错误统计:错误类型分析、错误趋势图表
  • 错误处理:错误标记、处理记录

扩展模块(可选)

AI助手模块

  • 多厂商支持:OpenAI、智谱AI、阿里云、百度、Moonshot(Kimi)、Ollama
  • 服务管理:AI服务配置、模型参数设置、API密钥管理
  • 对话功能:流式输出、多轮对话、上下文管理
  • 会话记录:对话历史、会话管理、消息查询

邮件系统模块

  • 邮箱配置:多邮箱管理、SMTP/API配置、阿里云/腾讯企业邮箱
  • 邮件模板:模板管理、变量替换、HTML/纯文本支持
  • 发送邮件:单发/群发、附件支持、发送日志
  • 收件箱:IMAP协议收信、邮件列表、已读/未读、星标标记

系统特性

安全特性

  • JWT Token认证机制
  • 密码BCrypt加密存储
  • 接口权限验证
  • 数据权限过滤
  • SQL注入防护
  • XSS攻击防护
  • CSRF防护
  • 接口防重放
  • 敏感操作日志记录

性能优化

  • Redis缓存加速
  • 数据库连接池优化
  • 分页查询优化
  • 静态资源CDN加速
  • Gzip压缩
  • 懒加载和按需加载

开发体验

  • 热部署支持
  • 代码生成器
  • 统一异常处理
  • 统一返回格式
  • 接口文档自动生成 ---

目录说明

目录 说明
yushu-backend 后端服务,详见 后端说明
yushu-uivue3 前端应用,详见 前端说明

未来计划

即将推出的功能

  • 工作流引擎:可视化流程设计、流程审批、流程监控、流程实例管理
  • 多租户支持:SaaS模式、租户隔离、数据隔离、租户管理
  • 微服务架构:服务拆分、服务治理、分布式事务、服务网关
  • 移动端适配:响应式设计优化、移动端专属界面、H5页面
  • 数据大屏:可视化数据展示、实时监控大屏、图表组件库
  • 报表系统:自定义报表、数据导出、图表分析、报表模板
  • 消息推送:WebSocket实时推送、邮件通知、短信通知
  • 第三方登录:微信、QQ、GitHub等第三方账号登录
  • 国际化支持:多语言切换、语言包管理
  • 数据备份:定时备份、备份恢复、备份管理

常见问题

部署相关

  • Q: 如何修改默认端口?

    • A: 后端在 application.yml 中修改 server.port,前端在 vite.config.js 中修改 server.port
  • Q: 如何配置跨域?

    • A: 后端已配置CORS,前端开发环境使用代理,生产环境通过Nginx配置
  • Q: Redis连接失败怎么办?

    • A: 检查Redis服务是否启动,配置文件中的连接信息是否正确

功能相关

  • Q: 如何添加新的菜单?

    • A: 在系统管理-菜单管理中添加,配置路由、组件路径、权限标识
  • Q: 如何使用代码生成器?

    • A: 在开发工具-代码生成中导入数据库表,配置生成信息后一键生成
  • Q: 如何集成AI功能?

    • A: 导入 yushu_module_ai.sql,在AI服务管理中配置API密钥

开发相关

  • Q: 如何添加新的接口?

    • A: 在Controller中添加接口,使用@PreAuthorize注解配置权限
  • Q: 如何自定义主题?

    • A: 修改 src/assets/styles/variables.module.scss 中的变量

更新日志

v3.9.0 (2025-01-22)

  • 升级 Spring Boot 到 3.5.4
  • 升级 Vue 到 3.5.16
  • 升级 Ant Design Vue 到 4.2.0
  • 重构数据库脚本,采用模块化设计
  • 新增文件管理模块
  • 新增消息中心模块
  • 新增待办事项模块
  • 新增错误日志模块
  • 优化AI助手功能
  • 优化邮件系统功能
  • 修复已知问题

贡献指南

欢迎提交Issue和Pull Request!

开发规范

  • 代码风格遵循阿里巴巴Java开发手册
  • 前端代码遵循Vue官方风格指南
  • 提交信息格式:[模块] 功能描述
  • 新功能需要添加单元测试
  • 重要功能需要更新文档

提交流程

  1. Fork本项目
  2. 创建特性分支 (git checkout -b feature/AmazingFeature)
  3. 提交更改 (git commit -m '[模块] 添加某某功能')
  4. 推送到分支 (git push origin feature/AmazingFeature)
  5. 提交Pull Request

开源协议

本项目采用 MIT 许可证,详见 LICENSE 文件。


致谢

本项目基于 RuoYi-Vue 进行二次开发,感谢若依团队的开源贡献。

感谢以下开源项目: