§ 插件开发步骤

§ 总体描述

windows 外壳所有的浏览器插件项目都需要在Plugins目录内新建,目录结构如下图

image-20200611110616574

§ 建立插件工程

  • 工程名称规范 以Monkey.Plugin.Demo 为例,Monkey.Plugin. 必须字段,Demo根据实际情况

    操作步骤

    1. 新建项目

      Plugins文件夹上点击右键->添加->新建项目

      image-20200611110937134

    2.添加项目信息

    选择项目类型为类库.Net Framework 输入项目名称,框架选择.NET Framework 4.6.2

    截屏2020-06-1111.10.56

​ 3.修改项目属性

​ 项目右键->属性->生成->输出路径 修改为..\bin\Debug\Plugins\ 其中Debug为编译目标,Release 根据实际情况设置

image-20200611111408835

§ 编写插件逻辑

  1. 设置实现类基类

    将基类设置为MKPlugin ,该类位于Monkey.Base项目内,引入该项目,复制本地选择为false

  2. 添加类和方法的属性

    • 类属性包含MKPluginAttribute MKDispatcherOptionsAttribute 两种
    • MKPluginAttribute 标记该类为一个插件类,并且可以指定 插件名称
    • MKDispatcherOptionsAttribute 标记该插件的运行线程,ui线程or 普通线程,默认普通线程
    • MKPluginAction 标记该方法为插件的一个接口方法
  3. 代码示例

        [MKPluginAttribute("demo")]
        [MKDispatcherOptionsAttribute(ExecThreadMode.UI)]
        public class DemoPlugin : MKPlugin
        {
            [MKPluginAction]
            public void GetAppInfo(string key, MKCallbackContext callbackContext)
            {
     						string message = "";
                string data = "调用成功";
                //wrap result
                JObject jsonObject = JsonResult.Wrap(0, message, data);
                //回调成功结果
                callbackContext.Success(jsonObject);
            }
        }
    
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15

    MKCallbackContext 参数为每个方法 必须有的参数,用来向js回调 插件执行结果

    string key MKCallbackContext 之前的参数,个数、类型根据实际情况设置,并且js传入的参数需要与之匹配,类型和个数都要匹配,不然无法调用

最后更新于: 4/18/2022, 5:22:49 PM