🎉 Erupt v2.0 更新日志

发布于

## 2026-07-08 · 版本 2.0.3 · 基于 Spring Boot 3.5.16

低代码 · 注解驱动 · AI 原生

## 📊 本次概览

| 维度 | 数量 | 说明 |
|------------------|------|---------------------------------------|
| 🚀 新开源模块 | 2 | erupt-designer、erupt-print |
| 🌟 新增功能 | 21 | 注解增强、AI 能力、查询与导出等 |
| 🎨 前端重构 | 50+ | erupt-web 2.0,Angular 20 → 21 全量重写 |
| 🔒 安全升级 | 1 | 密码加密 MD5 → SHA-512 + 盐值 |
| 🤝 社区贡献者 | 2 | 段鹏鹏、canjian215215 |

> 这是 Erupt 自 1.x 以来跨度最大的一次发布:**对内**让"建后台"这件事从写代码走向可视化拖拽,**对外**让整套系统从"机器可读"走向"AI 可理解",**底层**则完成了一次彻底的前端重写与安全加固。

---

## ⚠️ 升级须知(请先阅读)
> **2.0.0 包含多项破坏性变更(Breaking Changes)。** 从 1.14.x 升级前,请务必完整阅读官方升级指南,逐项核对受影响的 API 与配置项,切勿在生产环境直接升级。
>
> 👉 [1.14.x → 2.0.0 升级指南](https://docs.erupt.xyz/zh/guide/upgrade)

## ✨ 本次亮点

### 1️⃣ erupt-designer 开源:运行时可视化建模
> 不再需要打开 IDE 写实体类——直接在后台界面上拖出字段、配置类型,**动态注册**后**一键发布到菜单**,且发布时**自动生成对应的按钮权限**。临时性的数据管理需求,业务同学自己就能搭起来。

### 2️⃣ 整个后台开始"被 AI 读懂"
> `@Erupt`、`@Edit` 乃至 erupt-cube 的 Cube 注解都新增了 `prompt` 字段,让你为字段补充业务语义;LLM 请求支持 `agentPrompt` / `contextPrompt`,可按调用场景注入上下文提示词。配合表格 / 树形视图内嵌的 **AI 侧边面板**,看数据时无需离开当前页即可让 AI 辅助分析。

### 3️⃣ 前端 2.0:Angular 21 全量重写
> 从架构到交互整体重写,50+ 项改进。新增分栏菜单(Split Menu)、表格列拖拽 / 固定 / 密度调整、行复制、搜索状态持久化,以及集成 WebSocket 的内嵌终端模块。

### 4️⃣ 安全加固:密码加密升级
> 密码加密算法由 MD5 升级为 **SHA-512 + 盐值**,并新增独立的 `PASSWORD` 编辑类型,从存储到传输全面加固。

---

## 🚀 新模块开源

- **[erupt-designer](https://docs.erupt.xyz/zh/modules/erupt-designer)** —— 运行时可视化设计 Erupt 实体模型,支持动态注册与一键发布到菜单。发布时自动生成对应按钮权限,无需改代码、无需重启。
- **[erupt-print](https://docs.erupt.xyz/zh/modules/erupt-print)** —— 为 Erupt 实体定义打印模板、配置变量并一键打印,适用于单据、标签等高频打印场景。

---

## 🌟 注解与核心功能

### 数据可视化
- **[@Vis](https://docs.erupt.xyz/zh/annotation/vis)** 新增日历视图(`CALENDAR`)与看板视图(`BOARD`)两种类型,同一份数据可按排期、流转等不同维度呈现。

```java
@Vis(type = Vis.Type.CALENDAR) // 日历视图
@Vis(type = Vis.Type.BOARD) // 看板视图
```

### 表格与权限
- **[@Power](https://docs.erupt.xyz/zh/annotation/power)** 新增 `copy` 权限开关,支持表格行一键复制。
- **[@Layout](https://docs.erupt.xyz/zh/annotation/layout)** 新增 `collapseActionButton` 配置,将查看详情、修改、删除等行操作按钮折叠进下拉菜单,列表更清爽。

### 字段与表单
- 新增 **[@GroupType](https://docs.erupt.xyz/zh/field-types/group)** 注解(`EditType.GROUP`),可将多个字段分组到一个可折叠面板中。

```java
@Edit(title = "高级配置", type = EditType.GROUP,
groupType = @GroupType(fields = {"timeout", "retry"}, collapsed = true))
```
- 新增 **[PASSWORD 编辑类型](https://docs.erupt.xyz/zh/field-types/password)**,密码字段独立渲染,传输更安全。
- 新增 **[独立表单视图 FormView](https://docs.erupt.xyz/zh/advanced/form-view)**,提供专用后端接口与 `DataProxy.formViewBehavior` / `formSave` 钩子,适合单记录全页表单场景。

### 搜索与联动
- 搜索栏支持**开放式搜索**:`INPUT`、`NUMBER` 等组件允许用户自主选择「等于 / 不等于 / 包含 / 范围」等操作符。
- 动态下拉刷新:`ChoiceFetchHandler` / `AutoCompleteHandler` / `TagsFetchHandler` 支持按需重新加载选项。
- 选择类 Handler 接口**泛型化**,回调中可直接访问表单其他字段的值,轻松实现级联联动。

### 查询与导出
- `EruptLambdaQuery` 新增 `or`**条件**支持,可构建带括号的 OR 复合查询。

```java
eruptDao.lambdaQuery(EruptUser.class)
.eq(EruptUser::getStatus, 1)
.or(q -> q.like(EruptUser::getName, "admin")
.like(EruptUser::getName, "root"))
.list();
```
- Excel 导出支持**仅导出已选中的行**。
- 操作日志新增**变更前实体数据记录**,修改 / 删除前的字段值可在日志详情中完整查看。

### 开放接口
- OpenAPI 新增 `getAppid` 接口,支持通过 token 获取 appid 信息。

---

## 🤖 AI 能力(erupt-ai & erupt-cube)
- **[erupt-ai](https://docs.erupt.xyz/zh/modules/erupt-ai#agentprompt-%E4%B8%8E-contextprompt)**:LLM 请求支持 `agentPrompt` 与 `contextPrompt`,可按调用场景注入上下文感知提示词。
- `@Erupt` 与 `@Edit` 注解新增 `prompt` 字段,为 AI 智能体场景提供字段级提示词配置。
- **[erupt-cube](https://docs.erupt.xyz/zh/modules/pro/erupt-cube)** 新增 `drillFields` 维度过滤与 `drillMeasure` 指标级下钻能力。
- **[erupt-cube](https://docs.erupt.xyz/zh/modules/pro/erupt-cube)** Cube 注解新增 `prompt` 字段,为 AI 语义分析提供字段级描述。
- erupt-ai 新增 [Requesty](https://requesty.ai/) LLM 提供商支持。

---

## 🔒 安全
> 密码加密算法由 MD5 升级为 **SHA-512 + 盐值**,安全性大幅提升;同时新增 `PASSWORD` 独立编辑类型。

| 项目 | 旧版(≤ 1.14.x) | v2.0 |
|-----------------|-------------------|-------------------|
| 加密算法 | MD5 | **SHA-512** |
| 加盐 | ❌ | ✅ 盐值 |
| 密码字段渲染 | 普通文本 | **独立 PASSWORD 类型** |

> 感谢 [段鹏鹏](https://gitee.com/erupt/erupt/pulls/35) 贡献的代码。

---

## 📈 监控与基础设施
- **[erupt-monitor](https://docs.erupt.xyz/zh/modules/erupt-monitor)** 完全重写:全新诊断监控体系,覆盖 **JVM、HikariCP 连接池、HTTP 统计、Redis 健康指标**。
- Spring Boot 升级至 **3.5.15**。

---

## 🧩 优化
- `dependField` 改为 getter 风格引用,支持 IDE 字段名自动补全,重构更安全。
- **[erupt-designer](https://docs.erupt.xyz/zh/modules/erupt-designer)** 发布菜单时自动生成对应按钮权限。

---

## 🐞 修复
- 修复 Ollama 模型配置中缺少 `baseUrl` 参数的问题。感谢 [canjian215215](https://github.com/canjian215215) 贡献的代码。

---

## 🎨 前端全面重构(erupt-web 2.0)
> **Angular 20 → 21**,UI 层从架构到交互全面重写,共计 50+ 项改进。

### 🧭 布局与导航
- 全新登录页与预加载动画,新增**分栏菜单(Split Menu)**模式。
- 侧边栏宽度可拖拽、收藏夹支持拖拽排序,响应式布局优化。
- 左树右表布局树面板可折叠,表格-树形布局支持全屏模式。

### 📋 表格与表单
- 表格支持**列拖拽排序、列固定、列密度调整、行复制、搜索状态持久化、可折叠搜索区域**。
- 表格与弹窗新增**动态按钮**,可根据行数据状态动态控制按钮显示。
- 树形视图支持排序、节点定位。
- `MultiChoice` / `Checkbox` 新增全选按钮;`Choice` 支持颜色圆点可视化;输入框实时字数计数。
- 附件组件支持拖拽排序与批量更新。
- `TAGS` 组件支持 `joinSeparator = "[]"` 的 JSON 数组格式标签值解析。

### 🤖 AI 与可视化
- 表格 / 树形视图**内嵌 AI 侧边面板**,无需离开当前页即可 AI 辅助分析数据。
- erupt-ai 聊天新增**宽屏模式、会话搜索、输入历史导航**。
- BI / Monitor 模块全屏优化。

### 💻 编辑器与模块
- 代码编辑器支持智能提示、全屏模式。
- 终端模块(**[erupt-terminal](https://docs.erupt.xyz/zh/modules/erupt-terminal)**)UI 集成,支持**多标签页动态切换与 WebSocket 实时通信**。
- erupt-flow 审批组件 UI 全面重构,新增移动端响应式主从布局与无障碍优化。

---

## 🤝 致谢
> 感谢以下社区贡献者为本次发布提交的代码:

- [段鹏鹏](https://gitee.com/erupt/erupt/pulls/35) —— 密码加密算法升级(SHA-512 + 盐值)
- [canjian215215](https://github.com/canjian215215) —— 修复 Ollama 配置 `baseUrl` 缺失问题

> 也感谢每一位提交 Issue、参与讨论、为项目 Star 的开发者。❤️

---

完整发布历史与各大版本升级指南,统一维护于 [docs.erupt.xyz/guide/changelog](https://docs.erupt.xyz/guide/changelog)

⭐ 如果 Erupt 帮到了你,欢迎在 GitHub / Gitee 给我们一个 Star

---

原文链接:[点击查看](https://www.oschina.net/news/471568/erupt-2-0-released)

评论

暂无评论。