聚合插件应用:Avalonia原生开发与Webview2的完美结合

30 阅读4分钟

MioKit 是一款聚合插件应用,插件驱动功能,提供聚焦于搜索框或界面的常用功能。采用原生开发和Webview2混合架构,常驻界面全部采用原生开发,仅部分编辑页或强制绑定web生态的窗口嵌套webview2,保证运行时不占用太多内存。

MioKit 设计时规范了所有插件和主窗体必须实现以下功能

  • 明暗主题切换
  • 多语言切换(目前支持中文和英语)
  • 主显示器全屏时暂停任务
  • 记录上次的窗口大小,下次启动时保持

MioKit 的交互方式主要是根据自定义的快捷键默认(ALT + SPACE)呼出搜索框,在搜索框搜索节点或功能,在设计时MioKit考虑了以下两种插件类型,目前已有以下实现

  1. 节点插件

    1. 软件快开插件
    2. 网页快开插件
    3. 文本输入插件
    4. 表达式计算插件
  2. 功能插件

    1. 剪贴板插件

软件下载链接: MioKit

1. 节点提供插件

1. 1 搜索节点组

  • 节点组提供相同类型节点的搜索能力
  • 在选中节点组时仅搜索节点组中节点
  • 可通过全局快捷键快速切换节点组
  • 可在搜索框输入 / 后切换节点组

1.2 搜索节点

大部分的搜索节点都提供了以下能力

  • 节点用于提供具体的功能
  • 节点支持拼音匹配
  • 节点可设置别名 (用于在搜索框匹配)
  • 节点可忽略搜索
  • 节点可固定至首页
  • 首页节点支持拖拽排序
  • 节点可设置全局快捷键快速触发
  • 每个节点有一个或多个快速操作功能

1.3 快速操作功能

  • 必须绑定节点
  • 提供基于节点数据的快速操作 例如(固定、忽略、设置全局快捷键等)

2 功能插件

功能插件不依赖搜索框显示结果,提供常用的功能

3 已实现的插件列表

3.1 软件快速启动插件

主要功能

  • 提供设备中win32应用、工具、商店内应用

  • 提供windows常用设置搜索

  • 提供自定义扫描目录

  • 提供自定义排除关键词扫描

  • 提供自定义排除lnk解析后名称后缀功能

  • 复制本地文件后呼出搜索框快速添加

  • 提供自定义节点的添加功能,可选以下参数

    • 路径
    • 管理员启动
    • 工作目录
    • 启动参数

界面截图

搜索页

image

数据编辑页

image

数据添加页

image

3.2 网页快开插件

主要功能

  • 纯HTML打包为节点

  • 本地HTML文件打包为节点

  • 在线网页打包为节点

  • 在线网页url搜索占位符

  • 自定义上传图标

  • 支持Webview2打开并提供部分Api

    • 本地权限模块

      • 文件api
      • 目录操作api
      • 路径操作api
      • 系统环境api
    • 是否允许打开开发者工具

    • 自定义UserAgent

    • 自定义网页数据目录

    • 支持导航完成和Dom加载后自动执行javascript脚本

界面截图

搜索框

image

编辑页

a

3.3 文本输入插件

主要功能

  • 纯文本保存为输入节点,支持占位符匹配

  • 剪贴板保存为输入节点,常用的模板等

  • 自定义javascript脚本输入

  • 多种输入模式可选

    • 剪贴板全格式粘贴
    • 剪贴板纯文本粘贴
    • 模拟键盘输入
    • 向窗口发送消息输入
  • 按键模式

    • A-Z 关联文本或节点,按下按键秒输
    • 多种预设随意切换

界面截图

搜索页

image

按键模式页

image

3.4 表达式计算插件

主要功能

  • 搜索框直接计算表达式
  • 支持常用数学函数
  • 支持自定义函数
  • 自定义小数点位数
  • 是否显示千分位
  • 回车复制结果

界面截图

搜索页

image

自定义脚本编辑页

image

3.5 剪贴板插件

主要功能

  • 文本、富文本、HTML格式记录
  • 图片记录
  • 文件记录
  • 文本合并复制
  • 全部支持拖拽复制
  • 自定义记录格式
  • 窗口位置自定义
  • 应用黑名单
  • 最大条数和最长存储时间管理
  • 原生虚拟化列表

界面截图

image