新建插件包
我们的插件包都是放在plugins文件夹下的,如果你需要新开发一个插件包,你可以在plugins文件夹下新建一个命为xxx的项目,目录结构如下
目录结构可以根据插件的复杂程度自行扩展
如何启动插件包项目?
建好插件包目录后,我们可以进到智汀专业版项目的根目录, 然后通过以下命令可以启动插件包项目
【1】前端源码分析
- 我们看下主要的代码
插件包主要功能是实现智能设备的控制,智能设备的控制主要是通过Websocket发送指令去控制的,这里引用了智汀封装好的Websocket插件包ws-plugin,插件控制的相关指令可以点击这里插件模块。
这里有两个重要的变量,这两个参数都是从插件链接传进来的
- token 用户的身份凭证,这里主要用来做权限控制
- device_id 设备id,就是发送控制指令时需要知道是控制哪个设备
进入页面时我们要建立一个Websocket长连接,用来发送操作指令和同步更新设备状态
2. 如何做权限控制?
进入插件时我们要做好权限控制,无权限用户无法在插件页面操作。
当我们Websocket链接成功后,我们需要发一个指令去拿用户的操作权限。
指令如下:
发送指令后,后端会返回用户的权限信息,结构如下
我们可以根据 “can_control” 获取用户的权限,然后拿到权限信息后就可以在页面做对应的操作
3. 如何控制设备?
我们也是通过发送指令的方法控制设备
例如:打开灯
其他操作也一样,只是操作的指令有所区别
4. 如何同步设备状态?
每个设备都有初始状态,我们怎么同步设备的初始状态呢
同样的也是发送指令
后端送到指令后会返回设备的初始状态,结构如下:
拿到设备后,我们就可以对设备进行初始化值
5. 如何发布我们的插件?
当我们的插件包开发完成后,就打包编译我们的前端和后端文件, 填写我们的配置文件 结构如下:
然后在智汀家庭云上传我们的插件包,等审核通过后就可以看到我们的插件包了。
【2】 插件包集成
打包我们的插件包
打包后的文件在根目录下plugin文件下
插件的后端文件也要编译好
最终插件包的目录如下:
html文件夹是插件的页面文件,也就是(html,js,css等静态资源文件)
yeelight-plugin是插件后端的编译文件
config.yaml是插件的配置文件
我们看下插件的配置文件包括哪些信息
这些信息都是很重要的,不能遗漏!我们的插件可以包含多个设备,每个设备有所属的品牌。
智汀用户通过添加安装我们的插件包就可以通过智汀app发现我们插件支持的设备,连接设备,操作我们的设备。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。