# LiteAdmin
**Repository Path**: leekeep/lite-admin
## Basic Information
- **Project Name**: LiteAdmin
- **Description**: LiteAdmin 是一款轻量、简洁、现代的管理系统。深度集成了工作流引擎、在线表单设计、文件预览、AI助手、规则编排等能力,适合学习参考与技术交流。
- **Primary Language**: Java
- **License**: MIT
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 27
- **Forks**: 15
- **Created**: 2026-06-20
- **Last Updated**: 2026-11-13
## Categories & Tags
**Categories**: Uncategorized
**Tags**: 管理系统, 后台管理框架, Java
## README
# ✦ LiteAdmin
**轻量 · 简洁 · 现代的管理系统**
[](https://spring.io/projects/spring-boot)
[](https://vuejs.org/)
[](https://openjdk.org/)
[](https://vitejs.dev/)
[](https://antdv.com/)
[](https://baomidou.com/)
[](https://sa-token.cc/)
[](https://warm-flow.com/)
[](https://liteflow.cc/)
[](https://gitee.com/kuafucv/zero-log)
[](https://www.mysql.com/)
---
## 介绍
**[LiteAdmin](https://gitee.com/leekeep/lite-admin)** 是一款轻量、简洁、现代的管理系统。深度集成了工作流引擎、在线表单设计、文件预览、AI助手、规则编排等能力,适合学习参考与技术交流。
---
## 在线演示
**演示地址**:
**登录账号**:admin
**登录密码**:123456
> ⚠️ **提示**:演示服务器不保证稳定可用,仅供体验功能,测试数据会不定时清除,请勿存放重要数据。
---
## 特色功能
🤖 AI 智能助手
- 多平台支持:阿里百炼、DeepSeek、ChatGPT,遵循 OpenAI 协议
- SSE 流式响应,对话内容逐字实时渲染
- 多轮对话记忆,完整上下文存储
- 多 AI 应用管理,模型/参数/提示词自由配置
- Markdown 渲染:代码高亮、表格、列表
- 多选对话记录生成分享图片并下载
|
🔄 Warm-Flow 工作流
- 在线流程设计器,经典 / 仿钉钉双模式
- 通过、退回、撤销、转办、委派、加减签
- 与在线表单深度集成,无需编码配置表单
- 实时流程监控,节点状态、审批历史一览
- 仅 7 张核心表,轻量低维护
- 支持 SpEL 条件表达式、互斥/并行网关
|
📊 通用 Excel 导入导出
- 通用导入弹窗组件,SSE 实时推送逐行进度
- 异步导出 + 导出记录管理,文件生成后随时下载
- 支持静态模板与动态模板两种下载方式
- 导入记录可追溯:成功/失败/明细行级查看
- 导出文件自动添加水印,防重复导出锁保护
- 业务模块仅需实现 Handler 接口即可接入
|
👥 在线用户管理
- 基于 Sa-Token 实时查看当前所有在线用户
- 展示用户账号、姓名、Token、登录时间、剩余存活时间
- 支持按 Token 关键字搜索,快速定位目标用户
- 一键强制踢人下线,精准控制到 Token 粒度
- 分页查询,轻松应对大量在线会话
|
📋 FcDesigner 在线表单
- 可视化拖拽式表单设计器
- 每个审批节点可独立配置表单视图
- 丰富控件类型,满足多样业务场景
📄 Flyfish Viewer 文件预览
- 支持 Word / Excel / PPT / PDF / 图片 / CAD / 视频
- 全屏沉浸式预览,嵌入系统无缝集成
- iframe 方式集成,前端零依赖
|
🖥️ 系统监控
- CPU / 内存 / 磁盘实时监控,基于 OSHI 轻量采集
- CPU 使用率饼图,内存信息对比展示
- 服务器信息总览,磁盘状态管理
📜 Zero-Log 嵌入式日志(可选部署)
- Lite 模式零配置接入,无需部署额外服务
- 浏览器实时查看日志,支持搜索与级别过滤
- 接口性能监控 & 慢请求分析,内置 H2 存储
|
⚡ LiteFlow 规则编排
- AI 对话全链路组件化:校验 / 路由 / 流式调用 / 持久化各自独立
- EL 规则文件驱动,流程调整无需改动 Java 代码
- 组件可复用可热插拔,支持 SWITCH / WHEN 等复杂编排语法
- 与 Warm-Flow 职责互补:逻辑编排 vs 审批任务流转
|
🛡️ 安全体系
- 等保三级合规:登录失败锁定、图形验证码、双因子登录
- 密码复杂度策略 & 定期更换
- SM4 国密 / AES 接口加解密
- 注解式数据脱敏(9 种类型)、防重复提交、智能水印
|
---
LiteAdmin 部分系统级功能速览:
| 🔐 安全体系 |
🏗️ 系统功能 |
📊 办公运营 |
⚙️ 开发效率 |
等保三级合规
登录失败锁定 & 图形验证码
双因子登录(邮箱验证码)
密码复杂度 & 定期更换
SM4 国密 / AES 接口加解密
注解式数据脱敏(9 种类型)
防重复提交 & 前端智能水印
|
员工/部门/角色/菜单/岗位
企业管理(多租户)
数据权限 & 行级范围控制
数据字典 & 系统参数
操作日志 & 登录日志
在线用户管理 & 强制踢出
服务器监控(CPU/内存/磁盘)
缓存管理 & 定时任务
文件管理 & 多存储模式
暗黑模式 · 10 主题色 · 4 布局 · i18n
|
通知公告(定时发布 & 撤回)
工作流引擎(Warm-Flow)
流程定义 → 发起 → 审批全链路
可视化表单设计器(FcDesigner)
AI 对话(DeepSeek/百炼/OpenAI)
文件预览(30+ 格式)
在线帮助文档 & 消息中心
意见反馈 & 版本记录
钉钉组织架构同步
|
代码生成器(前后端全栈 · JS/TS 双模板)
通用 Excel 导入导出 & 记录追踪
嵌入式日志监控(Zero-Log Lite)
数据变更可视化追踪
Swagger / Knife4j 文档
Redis / 本地缓存双模式
多套环境配置
丰富的业务组件库
动态路由 & 权限指令
|
---
## 技术栈
| 层次 | 技术 |
|:----:|------|
| 前端 | Vue 3.5 · Vite 5.2 · Pinia 2.1 · Ant Design Vue 4.2 |
| 后端 | Java 17 · Spring Boot 3.5 · Sa-Token 1.45 · MyBatis-Plus 3.5.17 |
| 工作流 | Warm-Flow 1.8.9 |
| 规则编排 | LiteFlow 2.16 |
| 在线表单 | FcDesigner |
| 文件预览 | Flyfish Viewer |
| AI 服务 | 阿里百炼 · DeepSeek · ChatGPT(标准 OpenAI 协议) |
| 文件存储 | 本地 · 阿里云 OSS · MinIO · RustFS(均基于 AWS S3 SDK) |
| 系统监控 | OSHI · Hutool |
| 日志监控 | Zero-Log 2.5.0(Lite 模式嵌入式) |
| 数据库 | MySQL · PostgreSQL · Oracle · SQL Server · 国产数据库 |
---
## 快速开始
### 环境要求
| 依赖 | 版本要求 |
|------|---------|
| JDK | 17+ |
| Node.js | 18+ |
| MySQL | 8.0.4+(或其他受支持的数据库) |
| Redis | **可选**(默认关闭,无需配置即可启动) |
### 后端启动
```bash
# 1. 克隆项目
git clone <仓库地址>
# 2. 导入数据库脚本
执行 lite-admin-server/lite-admin.sql
# 3. 修改配置文件
编辑 application-dev.yml,配置数据库连接信息
# 4. 启动项目(Redis 为可选依赖,默认不需要)
cd lite-admin-server
mvn spring-boot:run
```
### 前端启动
```bash
cd lite-admin-front
npm install # 安装依赖
npm run localhost # 本地启动
npm run build:prod # 生产环境构建
```
### AI 助手配置
在「**AI应用管理**」中创建应用,填写模型标识(如 `qwen3-plus`)与 API Key 即可使用。
---
#### 📊 通用 Excel 导入导出
LiteAdmin 提供了一套开箱即用的通用 Excel 导入导出框架,业务模块只需实现 Handler 接口即可快速接入。
**架构概览**
| 层次 | 前端 | 后端 |
|:----:|------|------|
| 组件 | `ExcelImportDialog` 通用导入弹窗 | `ExcelService` 通用导入导出服务 |
| API | `excelApi` / `importRecordApi` / `exportRecordApi` | `ExcelController` 统一入口 |
| 扩展 | 页面引入组件并传入 `type` | 实现 `ExcelImportHandler` / `ExcelExportHandler` 接口 |
| 记录 | 导入记录列表 / 导出记录列表 | `ImportRecordService` / `ExportRecordService` |
**导入流程**
1. 前端调用 `ExcelImportDialog` 弹窗,指定 `type`(如 `user_import`)
2. 用户点击「下载导入模板」,支持 **静态模板**(classpath 文件)和 **动态模板**(由 Handler 的 `getImportClass()` 生成)
3. 用户上传 `.xlsx/.xls` 文件 → 先调用 `fileApi.uploadFile()` 上传到文件服务获取 `fileKey`
4. 再调用 `POST /support/excel/import` 触发后端导入,后端通过 **SSE 流式推送** 逐行进度(`progress` / `error` / `complete` / `fail`)
5. 导入过程自动创建导入记录,支持按行查看成功/失败明细
**导出流程**
1. 前端调用 `POST /support/excel/export`,传入 `type` 和查询参数
2. 后端 **异步执行** 导出任务,立即返回提示「导出任务已提交」
3. 导出完成后文件自动上传到文件服务,并添加水印(操作人 + 时间)
4. 用户到「导出记录管理」页面查看并下载文件
5. 内置 **防重复导出锁**(按 type + userId,5 分钟过期)
**接入新业务模块**
后端只需 3 步:
```java
// 1. 在枚举中新增类型
// ExcelImportTypeEnum
USER("user_import", "员工导入", null)
// ExcelExportTypeEnum
USER("user_export", "员工导出")
// 2. 实现 ExcelImportHandler 接口
@Component("user_import") // Bean 名称 = type 值
public class UserExcelImportHandler implements ExcelImportHandler {
Class> getImportClass(); // 返回 UserExcelImportDTO.class
String validateAndSaveRow(Object row, Map params); // 内部强转为 UserExcelImportDTO
}
// 3. 实现 ExcelExportHandler 接口
@Component("user_export") // Bean 名称 = type 值
public class UserExcelExportHandler implements ExcelExportHandler {
List> getExportData(JSONObject params);
Class> getExcelClass(); // 返回 UserExcelVO.class
}
```
前端只需引入组件:
```vue
```
> **命名规范**:导入类型值必须以 `_import` 结尾,导出类型值必须以 `_export` 结尾。
---
#### 🔄 审批流程
LiteAdmin 基于 [Warm-Flow](https://gitee.com/dromara/warm-flow/) 实现了完整的审批链路:流程设计 → 发布 → 发起 → 审批 → 归档全部在线完成,无需编写流程代码;流程定义与每个节点都可绑定表单,与下方「在线表单 / 动态表单」自由组合。
**架构概览**
| 层次 | 前端 | 后端 |
|:----:|------|------|
| 设计器 | `flow-def-design` 内嵌 Warm-Flow 官方设计器(经典 / 仿钉钉) | `FlowDesignerRestController` 接管设计器接口 |
| 流程定义 | `flow-def-list` | `FlowDefService` · `FlowDefRestController` |
| 流程实例 | `flow-inst-list` / `flow-inst-detail` / `flow-intervene-list` | `FlowInstService` · `FlowInstRestController` |
| 审批任务 | `flow-task-list`(待办 / 已办) | `FlowTaskService` · `FlowTaskRestController` |
| 流程角色 | `biz-task-role-list` | `BizTaskRoleCfgService` · `FlowSelectHandler` |
| 流程监听 | 节点扩展属性 `task_notice` | `CustomGlobalListener` 全局监听器 |
**流程全链路**
1. **流程设计**:在线设计器拖拽节点,可切换经典模型 / 仿钉钉模型,支持互斥网关与并行网关
2. **办理人配置**:节点支持「用户 / 角色 / 部门 / 流程角色」四种权限类型,`permission_flag` 以 `user:1@@role:2@@dept:3` 形式组合存储
3. **流程角色**:`biz_task_role_cfg` 定义「经理审批」「财务审核」等任务角色并绑定审批人,`biz_task_role_dept_cfg` 按部门限定生效范围;节点上以 `${roleCode}` 引用,流程启动时按发起人所属部门自动解析为具体办理人
4. **保存校验**:设计保存时校验流程编号唯一、任务节点必须设置办理人、节点表单必须为自定义表单、引用的流程角色必须存在
5. **表单绑定**:流程定义级表单在发起时填写,节点级表单在各自审批环节填写
6. **发布 / 挂起**:`is_publish` 控制发布状态,`activity_status` 控制挂起与激活;支持复制流程、修改流程分类
7. **发起**:流程中心按「请假 / 报销 / 出差 / 加班 / 采购 / 用印 / 合同 / 人事 …」等 50+ 内置多级分类展示可发起流程
8. **审批**:待办列表 → 审批抽屉(通过 / 驳回 / 转办),审批意见与表单数据一并落库
9. **归档**:我的流程查看状态、表单详情与流程图,图中节点实时显示办理人与办理时间
**审批操作**
| 操作 | 说明 | 接口 |
|:----:|------|------|
| 通过 | 提交审批意见与流程变量,流转至下一节点 | `POST /flowTask/pass` |
| 驳回 | 可退回到本实例已办过的任一节点;也可「驳回并结束」直接终止流程 | `POST /flowTask/reject` |
| 转办 | 将当前任务转交其他员工 | `POST /flowTask/transfer` |
| 催办 | 站内消息提醒当前办理人:同一任务 30 分钟内不可重复催办,每人每天最多 3 次,仅发起人可催办 | `POST /flowTask/urging` |
| 撤销 | 发起人撤销审批中 / 已退回的流程,需填写撤销说明 | `GET /flowInst/revoke` |
| 终止 | 发起人终止流程,终止后不可恢复 | `GET /flowInst/terminate` |
| 流程干预 | 管理员查看全系统流程实例,执行撤销 / 终止 / 转办 / 催办 | `/flowInst/intervene*` · `/flowTask/interveneTransfer` |
| 委派 / 加签 / 减签 | 由 Warm-Flow 引擎原生提供(`CooperateType`),可按业务需要在上述接口基础上扩展入口 | — |
**变量与通知**
- **流程变量**:发起与审批时可传变量;系统自动扫描所有节点办理人表达式与跳转条件所需的变量,缺失即抛出业务异常,避免走到网关才发现取不到值
- **SpEL 表达式**:`WfSpelService` 提供 `getLeaderId(initiator, level)` 等方法,可在办理人表达式中取发起人的上级
- **任务通知**:节点扩展属性配置 `task_notice`,任务创建时由全局监听器推送站内消息,且只在「首次进入节点」时发送,驳回重走不会重复打扰
- **数据权限**:我的流程与待办 / 已办列表均接入 `FLOW_INST` / `FLOW_TASK` 数据权限,行级范围可控
**表结构**
Warm-Flow 官方 7 张核心表由框架维护,**禁止修改字段、注释与索引**:
`flow_definition`(流程定义)· `flow_instance`(流程实例)· `flow_task`(待办任务)· `flow_his_task`(历史任务)· `flow_node`(流程节点)· `flow_skip`(节点跳转)· `flow_user`(流程用户)
业务侧仅扩展 2 张流程角色表(`biz_task_role_cfg` / `biz_task_role_dept_cfg`)与 5 张表单表(`sys_form_design` / `sys_form_data` / `sys_diy_table` / `sys_diy_table_cfg` / `sys_diy_table_val`)。
**接入自定义表单(开发表单)**
除在线表单与动态表单外,流程还支持「开发表单」——用自行开发的 Vue 页面承载业务数据,`form_path` 以 `kf_` 开头。后端只需 2 步:
```java
// 1. 在 FlowFormEnum 中登记:处理器简单类名 + 页面路径 + 表单名称
_001("LeaveFlowBusinessHandler", "/flow/form/leave", "请假申请")
// 2. 实现 FlowBusinessHandler(按 formPath 路由到对应处理器)
@Component("LeaveFlowBusinessHandler")
public class LeaveFlowBusinessHandler implements FlowBusinessHandler {
String saveData(String formData); // 保存业务数据,返回 businessId
String loadData(String businessId); // 按 businessId 回显业务数据
}
```
> **表单路径约定**:在线表单 `zx_{formId}`、动态表单 `dt_{diyTableId}`、开发表单 `kf_{页面路径}`,三者共用同一套 `form_path` 存储、变量校验与回显逻辑。
---
#### 📋 在线表单
LiteAdmin 内置基于 form-create 生态的 **FcDesigner** 可视化表单设计器,拖拽即可完成表单设计,产物是 `formRule` + `formOptions` 两段 JSON,不建表、不发版即可上线新表单。
**架构概览**
| 层次 | 前端 | 后端 |
|:----:|------|------|
| 设计器 | `FcDesigner` 组件(画布 + 属性面板 + 校验 / 样式 / 事件配置) | — |
| 表单定义 | `form-design-list` / `form-design-designer` | `FormDesignService` · `FormDesignController` |
| 表单填写 | `form-design-fill` 通用填写抽屉(表单模式 / iframe 模式) | — |
| 表单数据 | `form-data-list` | `FormDataService` · `FormDataController` |
**设计器能力**
- 丰富控件:输入框、数字、日期 / 时间 / 区间、下拉、单选、复选、开关、评分、滑块、级联、树选择、穿梭框、上传、签名、富文本、表格 / 子表单等
- 布局与样式:栅格 / 卡片 / 标签页 / 折叠面板,字段字体、边框、阴影、间距等样式可视化调整
- 校验与联动:必填、正则、长度、自定义校验规则;字段显隐联动、事件与远程数据源均可配置
- 多语言:内置中文 / 英文语言包,随系统 i18n 切换
**草稿与发布**
| 字段 | 说明 |
|------|------|
| `form_options_draft` / `form_rule_draft` | 设计器保存的草稿,可反复编辑 |
| `form_options` / `form_rule` | `publish` 发布后的正式版本,供填写与流程使用 |
| `is_publish_draft` | 标识是否存在未发布草稿,避免编辑中的改动直接影响线上表单 |
**数据与快照**
- 提交数据写入 `sys_form_data`:`form_data`(字段值 JSON)+ `form_options` / `form_rule`(**当次快照**),表单后续改版不影响历史单据回显
- `biz_type` + `biz_id` 关联业务:流程实例 `flowInst`、流程任务 `flowTask`
- 表单数据列表支持按表单筛选、查看详情、删除
**与审批流程集成**
流程定义或节点绑定在线表单时,`form_path` 写入 `zx_{formId}`(如 `zx_12`)。发起与审批时由 `FlowFormInfoItem` 统一返回表单规则与已填数据,前端按节点渲染各自的表单视图,实现「每个节点一套表单」。
---
#### 📝 动态表单
动态表单(DIY 表)不是「画一张表单」,而是「配置一张数据表」:先定义表与字段(类型、字典、必填、排序),系统自动生成列表、录入表单与详情,业务字段调整只需改配置、无需改代码。
**与在线表单的定位差异**
| 维度 | 在线表单(FcDesigner) | 动态表单(DIY 表) |
|:----:|------|------|
| 设计方式 | 拖拽自由布局 | 结构化字段配置,自动生成表格与录入界面 |
| 结构存储 | 表单规则整体存 JSON | 表 `sys_diy_table` + 字段 `sys_diy_table_cfg` |
| 数据存储 | `sys_form_data.form_data` | `sys_diy_table_val.content`(JSON) |
| 数据视图 | 以单据为单位 | 自带数据列表、详情抽屉、分类分组展示 |
| 典型场景 | 审批单据、复杂业务表单 | 台账、配置项、字典类数据的快速录入 |
| 流程绑定 | `zx_{formId}` | `dt_{diyTableId}` |
**三层结构**
| 表 | 作用 |
|:--:|------|
| `sys_diy_table` | 动态表定义:表编号 `table_code`、表名称、图标、备注 |
| `sys_diy_table_cfg` | 字段配置:分类分组、字段编码 / 名称、字段类型、下拉候选值、字典关联、是否必填 / 启用、排序 |
| `sys_diy_table_val` | 数据记录:`content` 以 JSON 存储字段值,`biz_type` + `biz_id` 关联业务 |
**字段类型**
单行文本 · 多行文本 · 数字 · 日期 · 时间 · 下拉框(单选 / 多选)· 附件 · 地区 · 开关,共 10 种。下拉字段既可手工维护候选值,也可关联数据字典(`dict_code`)自动取数。
**与审批流程集成**
流程绑定动态表单时 `form_path` 写入 `dt_{diyTableId}`(如 `dt_5`),由 `FlowDiyFormHelper` 负责:
1. 读取字段配置并按分类组装 `categoryList`,前端 `DiyFormFields` 组件直接渲染,流程发起、审批、详情三处复用
2. 提交时按 `fieldCode → fieldValue` 保存到 `sys_diy_table_val`,并将数据 ID 作为流程实例的 `business_id`
---
### 部分功能图示
> 💡 **提示**:以下截图中的菜单位置、页面 UI 及布局仅供参考,后续可能有所调整,请以实际最新版本为准。
#### 📋 在线表单
> **表单设计**

> **表单预览**

#### 🔄 工作流引擎
> **流程设计 - 流程定义列表**

> **流程设计 - 基本信息**

> **流程设计 - 审批规则**

> **流程设计 - 流程角色**

> **流程中心 - 流程发起**

> **流程中心 - 我的流程 - 详情**

> **流程中心 - 我的流程 - 流程图**

> **流程中心 - 我的任务 - 待办列表**

> **流程中心 - 我的任务 - 审批操作**

> **流程中心 - 我的任务 - 已办列表**

#### 🤖 AI 智能助手
> **智能助手 - 应用管理 - 应用配置**

> **智能助手 - 应用管理 - AI对话**

> **智能助手 - 会话管理**

> **智能助手 - 会话详情**

#### 📁 文件预览
> **文件预览 - doc/docx**

> **文件预览 - Excel**

> **文件预览 - PDF**

> **文件预览 - 图片**

> **文件预览 - 视频**

#### 📊 Excel 导入导出
> **导入记录**

> **导入详情**

> **导出记录**

#### 🔍 全局搜索
> **全局搜索**

#### 📡 系统安全
> **系统安全 - 服务器状态**

#### 🏢 组织架构
> **角色管理 - 快捷菜单**

---
## 致谢
本系统基于开源脚手架 SmartAdmin 深度二次开发;组织架构,系统管理,系统安全等能力继承其原有功能,并在此基础上做增强和优化。