# 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