插件系统介绍
插件系统介绍
1 、什么是小蜗插件
小蜗插件是扩展小蜗工具功能的方式。每个插件都是一个独立的小应用,拥有自己的界面和业务逻辑。
插件由两部分组成:
| 组成部分 | 说明 | 技术要求 |
|---|---|---|
| 前端 | 用户界面 | 任意网页技术(HTML/Vue/React 等) |
| 后端 | 业务逻辑(可选) | 推荐 Python,也支持其他语言 |
2 、架构概览
┌─────────────────────────────────────────────────┐
│ 小蜗工具主程序 │
│ │
│ 扫描插件 → 加载插件 → 管理插件生命周期 │
└─────────────────────────────────────────────────┘
│
┌───────────────┼───────────────┐
▼ ▼ ▼
┌───────────┐ ┌───────────┐ ┌───────────┐
│ 插件 A │ │ 插件 B │ │ 插件 C │
│ │ │ │ │ │
│ 前端 │ │ 前端 │ │ 前端 │
│ (Vue) │ │ (React) │ │ (HTML) │
│ ↕ │ │ ↕ │ │ │
│ 后端 │ │ 后端 │ │ (无后端) │
│ (Python) │ │ (exe) │ │ │
└───────────┘ └───────────┘ └───────────┘
3 、核心特性
前端框架自由
你可以使用任何熟悉的网页技术开发插件界面:
- 纯 HTML + CSS + JavaScript
- Vue.js
- React
- 其他任意前端框架
最终只需打包成单个 HTML 文件即可。
后端语言灵活
推荐使用 Python
小蜗内置了 Python 解释器,使用 Python 开发后端有以下优势:
- 无需用户额外安装环境
- 支持 pip 依赖自动安装
- 提供官方 SDK,开发简单
其他语言支持
如果你更熟悉其他语言(Go、Rust、C++ 等),也可以:
- 将程序编译为
.exe可执行文件 - 实现标准的 JSON-RPC 通信协议
- 配置为插件后端
纯前端插件
如果你的插件不需要复杂的业务逻辑,可以只开发前端,不需要后端。
4 、插件生命周期
用户点击加载插件
↓
检查并安装依赖(Python 后端)
↓
启动后端进程(如有)
↓
打开插件窗口(前端界面)
↓
插件运行中(前后端通信)
↓
用户关闭窗口
↓
停止后端进程,清理资源
5 、前后端通信
插件前端和后端通过 JSON-RPC 协议通信:
┌──────────┐ ┌──────────┐
│ 前端 │ ── 调用方法请求 ──→ │ 后端 │
│ (网页) │ ←── 返回结果 ──── │ (Python) │
│ │ ←── 主动推送事件 ── │ │
└──────────┘ └──────────┘
示例:前端调用后端
// 前端代码
const result = await PluginSDK.callBackend('hello', { name: '小蜗' })
console.log(result.message) // "Hello, 小蜗!"
0个回答默认排序 投票数排序
还没有回答~
请先登录