增加文档说明
This commit is contained in:
508
doc/项目介绍.md
Normal file
508
doc/项目介绍.md
Normal file
@@ -0,0 +1,508 @@
|
||||
# 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`
|
||||
|
||||
---
|
||||
|
||||
## 项目展示
|
||||
|
||||
### 系统功能
|
||||
|
||||
| 登录 & 首页 | 用户 & 应用 | 租户 & 套餐 | 部门 & 岗位 |
|
||||
|------------|------------|------------|------------|
|
||||
|  |  |  |  |
|
||||
|
||||
| 菜单 & 角色 | 审计日志 | 短信管理 | 字典 & 敏感词 |
|
||||
|------------|------------|------------|------------|
|
||||
|  |  |  |  |
|
||||
|
||||
### 工作流程
|
||||
|
||||
| 流程模型 | 我的流程 | 待办 & 已办 | OA 请假 |
|
||||
|---------|---------|-----------|---------|
|
||||
|  |  |  |  |
|
||||
|
||||
### 基础设施
|
||||
|
||||
| 代码生成 | 文档 | 文件 & 配置 | 定时任务 |
|
||||
|---------|-----|------------|---------|
|
||||
|  |  |  |  |
|
||||
|
||||
---
|
||||
|
||||
## 适用场景
|
||||
|
||||
### 适用行业
|
||||
|
||||
- **互联网**: 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 开发团队
|
||||
Reference in New Issue
Block a user