🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
# 一、基本插件文件结构 >[success] 插件文件夹由主文件夹、插件配置文件、插件源码文件和其它资源文件组成 这里以一个简单的helloworld插件举例,你也可以通过插件市场直接下载helloworld插件样例查看。 ![](http://qiniucn.16302.com/bf54580609a7965d921eb3b76999235c) ```shell ├── helloworld # 插件文件夹名称 │ ├── config.json # 插件配置文件 │ └── helloworld.py # 插件主程序文件 ``` <br> # 二、文件名命名规范 >[info] 文件夹名称为`helloworld`,那么插件程序名称必须为`helloworld.py` ![](http://qiniucn.16302.com/b8e20b20f25682a61e4603ec066b6ebf) <br> # 三、config文件规范 >[info] 我们可以看到插件文件夹里有一个config.json文件,这个文件是用于配置插件的各项属性的,比如插件是否自启动,插件是否打印出debug信息,插件的触发词等等,详细的插件各项属性请查看下列属性表单。 ![](http://qiniucn.16302.com/cc127af40decbfd84d553fcbeb865bee) ```json { "name": "helloworld", "triggerwords":["Hello", "你好世界"], "IsEnable": true, "IsSystem": false, "AutoLoader": false, "icon":"1", "displayName": "基本的Hello World", "description": "这里写简介,比如'这是一个Hello World文档'", "version": "1.0.1", "updateTime":"2022-06-22 13:25:10" } ``` | 属性 | 功能 | 可选值 | | --- | --- |---| | name | 插件名,需要与插件文件夹名称一致 | "helloworld" | | triggerwords | 插件的触发词 | ["触发词1","触发词2"] | | IsEnable| 是否启用插件 | true,false | | IsSystem| 是否为系统插件 | false,true | | AutoLoader| 是否自动加载 | false,"start" | | icon| 默认图标 | "1" | | displayName| 插件的显示名 | "插件名称" | | description| 插件的简介 | "插件的简介" | | version| 插件版本 |"1.0.1" | | updateTime| 更新时间 | "2022-06-22 13:25:10" | <br> # 四、插件主程序文件规范 >[info] 打开`helloworld.py`文件,这是插件的主程序文件,它在我们的系统里是以类(class)的方式提供的,你编写的插件的所有功能都是从这里开始的。 ![](http://qiniucn.16302.com/65046086729499c9a01bcc95986a8bae) `helloworld.py`源码 ```python from MsgProcess import MsgProcess, MsgType class helloworld(MsgProcess): def Text(self, message): data="你好世界~ 我是智能小美" self.send(MsgType.Text, Receiver='Screen', Data=data) ``` >[warning] 这段代码建议手动敲出来不要复制,复制会导致编码错误,尤其是Windows平台和Linux平台的CRLF和LF格式问题。 >[info] 请在条件允许的情况下手动将代码输入一遍 这段代码表示将字符串`data`的内容以`MsgType.Text`类型发送到 `Screen`也就是前端的屏幕 如果你对`send()`函数不理解请前往[插件消息机制](http://docs.16302.com/2987119)了解。 # 五、最终效果 ![](http://qiniucn.16302.com/6db5b6aa8978ba60c17330905680c37b)