插件系统介绍

插件系统介绍

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++ 等),也可以:

  1. 将程序编译为 .exe 可执行文件
  2. 实现标准的 JSON-RPC 通信协议
  3. 配置为插件后端

纯前端插件

如果你的插件不需要复杂的业务逻辑,可以只开发前端,不需要后端。

4 、插件生命周期

用户点击加载插件
       ↓
检查并安装依赖(Python 后端)
       ↓
启动后端进程(如有)
       ↓
打开插件窗口(前端界面)
       ↓
插件运行中(前后端通信)
       ↓
用户关闭窗口
       ↓
停止后端进程,清理资源

5 、前后端通信

插件前端和后端通过 JSON-RPC 协议通信:

┌──────────┐                      ┌──────────┐
│   前端   │  ── 调用方法请求 ──→  │   后端   │
│  (网页)  │  ←── 返回结果 ────   │ (Python) │
│          │  ←── 主动推送事件 ── │          │
└──────────┘                      └──────────┘

示例:前端调用后端

// 前端代码
const result = await PluginSDK.callBackend('hello', { name: '小蜗' })
console.log(result.message)  // "Hello, 小蜗!"
0个回答默认排序 投票数排序
还没有回答~
请先登录