Files
tjt_czjs_backend/doc/项目介绍.md
2026-01-19 18:54:03 +08:00

509 lines
17 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Lyzsys 项目介绍
## 📖 目录
- [项目简介](#项目简介)
- [核心特性](#核心特性)
- [技术架构](#技术架构)
- [功能模块](#功能模块)
- [快速开始](#快速开始)
- [项目展示](#项目展示)
- [适用场景](#适用场景)
- [开源协议](#开源协议)
---
## 项目简介
Lyzsys 是一个**企业级后台管理系统**,基于 Spring Boot + Vue 3 技术栈构建采用前后端分离架构。项目集成了丰富的企业级功能包括权限管理、工作流、多租户、AI 集成等,适用于各类企业管理系统的快速开发。
### 项目定位
- **快速开发平台**: 提供完整的代码生成器和脚手架,快速构建业务系统
- **企业级框架**: 内置权限、工作流、多租户等企业通用功能
- **微服务就绪**: 模块化设计,便于未来微服务化改造
- **AI 集成**: 原生支持多个 AI 服务提供商,便于构建智能化应用
### 版本说明
| 版本 | JDK 8 + Spring Boot 2.7 | JDK 17/21 + Spring Boot 3.2 |
|------|-------------------------|----------------------------|
| 【完整版】lyzsys | `master` 分支 | `master-jdk17` 分支 |
| 【精简版】lyzsys-mini | `mini` 分支 | `mini-jdk17` 分支 |
- **完整版**: 包括系统功能、基础设施、工作流、商城、CRM、ERP、AI 等所有模块
- **精简版**: 只包括系统功能和基础设施,适用于简单场景
---
## 核心特性
### 🎯 技术特性
#### 1. 模块化架构
- **Maven 多模块**: 清晰的模块划分,便于维护和扩展
- **前后端分离**: 独立部署,提升开发效率
- **微服务就绪**: 模块化设计便于微服务化改造
#### 2. 权限管理
- **RBAC 权限模型**: 基于角色的访问控制
- **数据权限**: 支持全部、本部门、本部门及以下、仅本人等数据权限
- **按钮级权限**: 细粒度的功能权限控制
- **动态菜单**: 根据权限动态生成菜单
#### 3. 多租户支持
- **SaaS 多租户**: 原生支持多租户场景
- **租户隔离**: 数据库级别的租户隔离
- **租户套餐**: 灵活的租户权限配置
#### 4. 工作流引擎
- **Flowable 集成**: 强大的工作流引擎
- **双设计器**: BPMN 标准设计器 + 仿钉钉/飞书简易设计器
- **流程管理**: 支持会签、或签、驳回、转办、委派等复杂流程操作
#### 5. AI 集成
- **多 AI 支持**: 支持 OpenAI、通义千问、文心一言等多个 AI 服务
- **AI 聊天**: 内置 AI 对话功能
- **AI 绘图**: 支持 AI 图片生成
- **知识库**: AI 知识库管理和检索
#### 6. 开发效率
- **代码生成器**: 一键生成前后端代码、SQL 脚本、接口文档
- **在线表单**: 拖拽式表单设计器
- **报表设计**: 可视化报表和大屏设计器
- **API 文档**: 自动生成 Swagger/Knife4j 接口文档
### 🛡️ 安全特性
- **Spring Security**: 企业级安全框架
- **JWT 认证**: 无状态认证机制
- **密码加密**: BCrypt 加密存储
- **API 加密**: 支持请求/响应加密
- **XSS 防护**: 内置 XSS 过滤器
- **操作日志**: 完整的操作审计日志
### ⚡ 性能特性
- **Redis 缓存**: 高性能缓存支持
- **数据库优化**: MyBatis Plus 增强,支持分页、排序、筛选
- **分布式锁**: 基于 Redisson 的分布式锁
- **消息队列**: 异步处理提升性能
- **连接池**: Druid 监控的数据库连接池
---
## 技术架构
### 整体架构
```
┌─────────────────────────────────────────────────────────────┐
│ 前端应用 │
│ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │
│ │ lyzsys-ui- │ │ lyzsys-ui- │ │ lyzsys-mall- │ │
│ │ admin-vue3 │ │ admin-uniapp │ │ uniapp │ │
│ │ (PC端管理) │ │ (移动端管理) │ │ (用户App) │ │
│ └──────────────┘ └──────────────┘ └──────────────┘ │
└─────────────────────────────────────────────────────────────┘
┌─────────────────────────────────────────────────────────────┐
│ lyzsys-server │
│ (后端服务启动模块) │
└─────────────────────────────────────────────────────────────┘
┌─────────────────────┼─────────────────────┐
│ │ │
▼ ▼ ▼
┌──────────────┐ ┌──────────────────┐ ┌──────────────┐
│ lyzsys- │ │ lyzsys-module-xxx│ │lyzsys- │
│ framework │ │ (业务模块) │ │dependencies │
│ (框架组件) │ │ │ │ (依赖管理) │
└──────────────┘ └──────────────────┘ └──────────────┘
├─── lyzsys-common (通用组件)
├─── lyzsys-spring-boot-starter-web (Web 封装)
├─── lyzsys-spring-boot-starter-security (安全认证)
├─── lyzsys-spring-boot-starter-mybatis (数据库)
├─── lyzsys-spring-boot-starter-redis (缓存)
├─── lyzsys-spring-boot-starter-biz-tenant (多租户)
└─── ...
┌─────────────────────┼─────────────────────┐
│ │ │
▼ ▼ ▼
┌──────────────┐ ┌──────────────────┐ ┌──────────────┐
│ MySQL │ │ Redis │ │ MinIO │
│ (主数据库) │ │ (缓存数据库) │ │ (文件存储) │
└──────────────┘ └──────────────────┘ └──────────────┘
```
### 技术选型
#### 后端技术栈
| 技术 | 版本 | 说明 |
|------|------|------|
| Spring Boot | 2.7.18 | 应用开发框架 |
| Spring Security | 5.8.16 | 安全框架 |
| MyBatis Plus | 3.5.15 | ORM 增强框架 |
| Flowable | 6.8.0 | 工作流引擎 |
| Redisson | 3.52.0 | 分布式锁客户端 |
| Quartz | 2.3.2 | 定时任务 |
| Knife4j | 3.0.3 | API 文档 |
| MySQL | 5.7+ | 关系型数据库 |
| Redis | 5.0+ | 缓存数据库 |
#### 前端技术栈
| 技术 | 版本 | 说明 |
|------|------|------|
| Vue | 3.2+ | 渐进式 JavaScript 框架 |
| TypeScript | 4.x | JavaScript 超集 |
| Vite | 4.x | 构建工具 |
| Element Plus | 2.x | UI 组件库 |
| Pinia | 2.x | 状态管理 |
| Vue Router | 4.x | 路由管理 |
| ECharts | 5.x | 数据可视化 |
| WangEditor | 5.x | 富文本编辑器 |
---
## 功能模块
### 核心模块(必选)
#### 1. 系统功能模块 (lyzsys-module-system)
提供系统基础功能,是整个系统的基础。
| 功能 | 说明 |
|------|------|
| 用户管理 | 用户的增删改查、密码重置、导入导出 |
| 角色管理 | 角色权限分配、数据权限配置 |
| 菜单管理 | 动态菜单配置、按钮权限标识 |
| 部门管理 | 组织机构树形结构管理 |
| 岗位管理 | 用户岗位配置 |
| 字典管理 | 系统字典项维护 |
| 参数配置 | 系统动态参数配置 |
| 通知公告 | 系统通知发布管理 |
| 操作日志 | 用户操作审计日志 |
| 登录日志 | 登录成功/失败日志 |
| 在线用户 | 当前在线用户监控,支持踢出 |
| 租户管理 | SaaS 租户配置 |
| 租户套餐 | 租户权限套餐管理 |
#### 2. 基础设施模块 (lyzsys-module-infra)
提供技术基础设施功能。
| 功能 | 说明 |
|------|------|
| 代码生成 | 可视化代码生成,支持单表、树表、主子表 |
| 表单构建 | 拖拽式表单设计器 |
| 系统接口 | Swagger/Knife4j 接口文档 |
| 数据库文档 | Screw 自动生成数据库文档 |
| 文件管理 | 支持本地、MinIO、阿里云、腾讯云等存储 |
| 定时任务 | Quartz 在线定时任务管理 |
| API 日志 | 接口访问日志、异常日志 |
| MySQL 监控 | 数据库连接池监控 |
| Redis 监控 | Redis 使用情况监控 |
| 服务监控 | Spring Boot Admin 监控 |
| 链路追踪 | SkyWalking 链路追踪集成 |
| 日志中心 | 远程日志查看 |
| 服务保障 | 分布式锁、幂等、限流、熔断 |
| 消息队列 | Redis 消息队列支持 |
### 业务模块(可选)
#### 3. 工作流模块 (lyzsys-module-bpm)
基于 Flowable 的业务流程管理。
| 功能 | 说明 |
|------|------|
| 流程模型 | BPMN 2.0 流程建模 |
| 流程设计 | BPMN 设计器 + 简易设计器 |
| 流程实例 | 流程实例管理、发起、审批 |
| 任务管理 | 待办、已办、抄送任务 |
| 表单管理 | 流程表单配置 |
| 流程监听 | 流程事件监听配置 |
#### 4. 支付模块 (lyzsys-module-pay)
统一的支付接入平台。
| 功能 | 说明 |
|------|------|
| 应用管理 | 支付应用配置 |
| 支付渠道 | 微信支付、支付宝等渠道接入 |
| 支付订单 | 支付订单管理 |
| 退款订单 | 退款订单管理 |
| 回调通知 | 支付回调处理 |
#### 5. 会员模块 (lyzsys-module-member)
C 端会员管理功能。
| 功能 | 说明 |
|------|------|
| 会员管理 | 会员信息管理 |
| 会员标签 | 会员标签体系 |
| 会员等级 | 会员等级配置 |
| 会员分组 | 会员分组管理 |
| 积分签到 | 积分规则、签到记录 |
#### 6. 商城模块 (lyzsys-module-mall)
完整的电商系统。
| 功能 | 说明 |
|------|------|
| 商品管理 | 商品、分类、品牌管理 |
| 营销管理 | 优惠券、满减、秒杀等活动 |
| 订单管理 | 订单、售后、退款管理 |
| 购物车 | 购物车管理 |
| 收货地址 | 用户地址管理 |
| 物流管理 | 物流公司、物流跟踪 |
| 统计分析 | 销售统计、商品分析 |
#### 7. CRM 模块 (lyzsys-module-crm)
客户关系管理。
| 功能 | 说明 |
|------|------|
| 客户管理 | 客户信息管理 |
| 联系人 | 客户联系人管理 |
| 商机管理 | 销售商机跟进 |
| 合同管理 | 合同签订、管理 |
| 回款管理 | 回款计划、记录 |
| 产品管理 | CRM 产品管理 |
#### 8. ERP 模块 (lyzsys-module-erp)
企业资源计划。
| 功能 | 说明 |
|------|------|
| 采购管理 | 采购订单、入库单 |
| 销售管理 | 销售订单、出库单 |
| 库存管理 | 库存查询、库存预警 |
| 产品管理 | 产品、物料管理 |
| 供应商管理 | 供应商信息管理 |
#### 9. AI 模块 (lyzsys-module-ai)
AI 大模型集成。
| 功能 | 说明 |
|------|------|
| AI 聊天 | 对话式 AI 交互 |
| AI 绘图 | AI 图片生成 |
| 知识库 | AI 知识库管理 |
| API 管理 | AI API 密钥管理 |
#### 10. 报表模块 (lyzsys-module-report)
数据报表和大屏。
| 功能 | 说明 |
|------|------|
| 报表设计 | 可视化报表设计器 |
| 大屏设计 | 拖拽式大屏设计器 |
| 数据源 | 多种数据源支持 |
#### 11. 微信公众号 (lyzsys-module-mp)
微信公众号管理。
| 功能 | 说明 |
|------|------|
| 账号管理 | 公众号配置 |
| 粉丝管理 | 粉丝信息、标签管理 |
| 消息管理 | 消息发送、接收 |
| 自动回复 | 关注、关键词、消息回复 |
| 菜单管理 | 公众号菜单配置 |
| 素材管理 | 图片、视频等素材管理 |
| 图文管理 | 图文素材管理 |
#### 12. IoT 物联网 (lyzsys-module-iot)
物联网设备管理。
| 功能 | 说明 |
|------|------|
| 设备管理 | 设备注册、管理 |
| 产品管理 | IoT 产品定义 |
| 属性定义 | 设备属性配置 |
| 数据采集 | 设备数据采集 |
| 场景联动 | 设备场景规则 |
---
## 快速开始
### 环境要求
| 软件 | 版本要求 | 必需 |
|------|----------|------|
| JDK | 8+ | √ |
| MySQL | 5.7+ | √ |
| Redis | 5.0+ | √ |
| Node.js | 16+ | √ |
| Maven | 3.6+ | √ |
### 后端启动
```bash
# 1. 克隆项目
git clone https://github.com/your-org/lyzsys.git
cd lyzsys/lyzsys_backend
# 2. 导入数据库
mysql -u root -p < sql/lyzsys.sql
# 3. 修改配置
vi lyzsys-server/src/main/resources/application.yaml
# 配置数据库、Redis 连接信息
# 4. 启动后端
cd lyzsys-server
mvn spring-boot:run
```
访问: http://localhost:48080/doc.html
### 前端启动
```bash
# 1. 安装依赖
cd lyzsys-ui-admin
pnpm install
# 2. 启动开发服务器
pnpm dev
```
访问: http://localhost:5173
默认账号: `admin` / `admin123`
---
## 项目展示
### 系统功能
| 登录 & 首页 | 用户 & 应用 | 租户 & 套餐 | 部门 & 岗位 |
|------------|------------|------------|------------|
| ![登录](../.image/登录.jpg) | ![用户管理](../.image/用户管理.jpg) | ![租户管理](../.image/租户管理.jpg) | ![部门管理](../.image/部门管理.jpg) |
| 菜单 & 角色 | 审计日志 | 短信管理 | 字典 & 敏感词 |
|------------|------------|------------|------------|
| ![菜单管理](../.image/菜单管理.jpg) | ![操作日志](../.image/操作日志.jpg) | ![短信渠道](../.image/短信渠道.jpg) | ![字典类型](../.image/字典类型.jpg) |
### 工作流程
| 流程模型 | 我的流程 | 待办 & 已办 | OA 请假 |
|---------|---------|-----------|---------|
| ![流程模型](../.image/流程模型-列表.jpg) | ![我的流程](../.image/我的流程-列表.jpg) | ![任务列表](../.image/任务列表-待办.jpg) | ![OA请假](../.image/OA请假-列表.jpg) |
### 基础设施
| 代码生成 | 文档 | 文件 & 配置 | 定时任务 |
|---------|-----|------------|---------|
| ![代码生成](../.image/代码生成.jpg) | ![系统接口](../.image/系统接口.jpg) | ![文件配置](../.image/文件配置.jpg) | ![定时任务](../.image/定时任务.jpg) |
---
## 适用场景
### 适用行业
- **互联网**: SaaS 平台、内容管理、用户系统
- **制造业**: ERP、MES、设备管理
- **零售电商**: 商城系统、CRM、会员管理
- **金融服务**: 风控系统、审批流程
- **政府机构**: OA 系统、审批平台
- **教育培训**: 在线教育、学员管理
- **医疗健康**: HIS 系统、预约管理
### 适用场景
1. **企业内部系统**: OA、ERP、CRM、HR 等管理系统
2. **SaaS 平台**: 多租户 SaaS 应用开发
3. **电商系统**: 商城、订单、支付系统
4. **审批系统**: 工作流、审批流程定制
5. **AI 应用**: AI 对话、AI 知识库、AI 绘图
---
## 开源协议
本项目采用 **MIT 协议**开源,这意味着:
✅ 个人和企业可以 100% 免费使用
✅ 可以用于商业项目无需保留类作者、Copyright 信息
✅ 可以自由修改、分发、二次开发
✅ 无任何商业版本限制
> 严肃声明:现在、未来都不会有商业版本,所有代码全部开源!
---
## 相关资源
### 官方资源
- **在线文档**: https://doc.iocoder.cn
- **视频教程**: https://doc.iocoder.cn/video/
- **Gitee 仓库**: https://gitee.com/zhijiantianya/ruoyi-vue-pro
- **GitHub 仓库**: https://github.com/YunaiV/ruoyi-vue-pro
### 参考项目
本项目基于以下开源项目进行二次开发和优化:
- **RuoYi-Vue**: 优秀的后台管理系统框架
- **Yudao Framework**: 芋道源码框架
### 技术支持
- **文档中心**: 完整的开发文档和使用指南
- **视频教程**: 从零开始的视频教程
- **社区支持**: GitHub Issues、Gitee Issues
---
## 更新日志
### v1.0.0 (2025-01-19)
- 🎉 首次发布 Lyzsys 系统
- ✨ 完整的系统功能和基础设施
- ✨ 工作流模块 (BPM)
- ✨ 支付模块 (Pay)
- ✨ 会员模块 (Member)
- ✨ 商城模块 (Mall)
- ✨ CRM 模块
- ✨ ERP 模块
- ✨ AI 模块
- ✨ 微信公众号模块 (MP)
- ✨ IoT 物联网模块
- 🐛 修复已知问题
- 📝 完善开发文档
---
**项目**: Lyzsys 企业级后台管理系统
**版本**: v1.0.0
**更新**: 2025-01-19
**团队**: Lyzsys 开发团队