flowable-devops/backend/plugins/README.md
dengqichen ab88ff72f2 提交
2025-10-13 23:01:56 +08:00

147 lines
3.0 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.

# Flowable DevOps 插件目录
这是外部插件的存放目录。
## 📁 目录结构
```
plugins/
├── README.md # 本文件
├── http-request-plugin/ # HTTP请求插件示例
│ ├── http-request-1.0.0.jar
│ └── plugin.json
└── custom-plugin/ # 你的自定义插件
├── custom-plugin-1.0.0.jar
└── plugin.json
```
## 🔌 如何添加插件
### 方法1复制JAR文件第二期支持
1. 将插件JAR文件复制到此目录
2. 确保插件包含 `plugin.json` 清单文件
3. 重启应用或触发热加载
### 方法2通过API上传第二期支持
```bash
curl -X POST http://localhost:8080/api/plugins/upload \
-F "file=@my-plugin-1.0.0.jar"
```
### 方法3内置插件第一期推荐
将插件代码直接添加到项目中:
1.`src/main/java/.../workflow/node/` 创建节点类
2. 添加 `@NodePlugin` 注解
3. 实现 `WorkflowNode` 接口
4. 重启应用自动加载
## 📦 内置插件
当前系统内置以下插件:
### API 接口
- **HTTP Request** (`http_request`) - 发送HTTP请求
- 版本: 1.0.0
- 作者: Flowable Team
### 数据转换
- **Text Processor** (`text_processor`) - 文本处理工具
- 版本: 1.0.0
- 作者: Flowable Team
- 功能: 大小写转换、字符串反转、去除空格
## 🛠️ 插件开发
详细开发指南请参考:`docs/07-插件开发指南.md`
快速示例:
```java
@NodePlugin(
id = "my_plugin",
name = "myPlugin",
displayName = "My Plugin",
category = NodeCategory.OTHER,
version = "1.0.0"
)
@Component
public class MyPluginNode implements WorkflowNode {
// 实现接口...
}
```
## 🔧 插件管理API
### 查询所有插件
```bash
GET /api/plugins
```
### 启用/禁用插件
```bash
POST /api/plugins/{pluginId}/enable
POST /api/plugins/{pluginId}/disable
```
### 查看插件详情
```bash
GET /api/plugins/{pluginId}
```
### 统计信息
```bash
GET /api/plugins/statistics
```
## ⚠️ 注意事项
1. **第一期**仅支持内置插件外部JAR加载将在第二期实现
2. **热加载**:当前不支持,需要重启应用
3. **依赖管理**:插件间依赖解析在第三期实现
4. **安全性**:请勿加载未知来源的插件
## 📋 开发计划
### ✅ 第一期(已完成)
- [x] 插件注解系统
- [x] 自动扫描和注册
- [x] 插件管理API
- [x] 示例插件
### ⏳ 第二期(规划中)
- [ ] 外部JAR加载
- [ ] 独立类加载器
- [ ] 热加载支持
- [ ] 插件上传API
### 📅 第三期(未来)
- [ ] 插件依赖管理
- [ ] 插件市场
- [ ] 插件沙箱
- [ ] 插件评级系统
## 📚 相关文档
- [插件化架构设计](../docs/06-插件化架构设计.md)
- [插件开发指南](../docs/07-插件开发指南.md)
- [后端技术设计](../docs/02-后端技术设计.md)
## 🤝 贡献
欢迎贡献新的插件请遵循开发规范并提交Pull Request。
---
**最后更新**: 2025-01-13
**版本**: v1.0