一种基于插件的可扩展的中央控制系统的控制方法与流程

文档序号:37304893发布日期:2024-03-13 20:52阅读:16来源:国知局
一种基于插件的可扩展的中央控制系统的控制方法与流程

本发明涉及用户界面设计与开发,特别涉及到一种基于插件的可扩展的中央控制系统的控制方法。


背景技术:

1、在现有的技术中,多数中央控制系统为封闭式,对用户提供有限的自定义能力,一些开放的平台提供了插件系统,但其稳定性和兼容性受到质疑,同时,现有系统大多仅满足基础的界面设计需求,并不支持高级的交互设计和属性编辑。现有的中央控制系统大多功能单一,缺乏灵活性,不能满足多变的用户需求,而那些提供一些扩展功能的系统往往牺牲了稳定性,此外,现有系统的界面和交互设计功能不够强大,使得开发者和设计师在创建复杂的用户界面和交互时受到限制。

2、如cn104156176a中公开了一种基于驱动层插件实现磁盘功能扩展的方法,通过减少io迭代和bio检查次数,提高性能,基于优先级和插件类别决定插件层次,提高版本兼容性,但是其对功能扩展还是太过于繁琐,并且无法通过网络等方式进行快速的对新增功能的开发,对工程师的开发需求的压力还是很大,需要解决现有技术中的问题中央控制系统大多功能单一,缺乏灵活性,不能满足多变的用户需求并且稳定性差的问题。


技术实现思路

1、本发明的目的是为了解决现有技术中的问题中央控制系统大多功能单一,缺乏灵活性,不能满足多变的用户需求并且稳定性差的问题,为了解决上述问题,本发明提供以下技术方案:一种基于插件的可扩展的中央控制系统的控制方法,包括以下步骤:

2、s1.为插件准备基本的运行环境,构建基本的框架环境数据;

3、s2.对插件框架进行解析和执行,然后进入编辑器触发项目初始化逻辑;

4、s3.获取插件列表然后将插件进行挂载;

5、s4.对挂载的插件进行解析,解析后对插件进行初始化并获取插件的数据结构;

6、s5.获取当前项目的插件配置信息,对插件进行数据变更,读取当前页面组件对插件进行渲染,然后完成对插件的变更和调试,插件使用完成后退出程序对插件执行卸载逻辑。

7、本发明通过特定的网络平台或本地文件形式导入插件,以导入插件的形式为系统增加功能,在保证系统稳定性的同时,满足个性化和差异化的设计需求,首先要为插件准备基本的运行环境,例如axios、vue、element-plus等基本的框架环境数据,然后对插件框架进行解析和执行,这些操作会触发项目初始化逻辑,在项目初始化时会执行后续的插件处理流程,初始化后会获取插件列表,读取当前项目的插件列表,然后再将插件挂载到sansi.plugins目标点位,方便后续使用,然后再对挂载在sansi.plugins点位的插件进行解析,解析后代用oninstall方法对插件进行初始化,初始化过程中,会注册数据池(store),配置插件、解析插件组件,并获取插件的数据结构,解析完成后读取当前项目的插件配置信息,从当前项目中获取插件配置信息,并通过onconfigchanged方法通知插件数据变更,插件数据变更后读取当前页面组件,获取当前页面组件,组件包括内置组件和插件组件,然后再进行当前页面渲染,根据组件类型进行渲染,如果是内置组件,会调用内置渲染逻辑,如果是插件组件,则调用对应插件的渲染逻辑,渲染完成后组件信息会发生变化,组件信息变化时会通知数据更新接口告知插件发生了变更,一切完成后会退出编辑器或者渲染器,取决于组件类型,退出和关闭时会走对应的退出流程,用于销毁一些数据和对页面组件进行移除,最后退出程序,退出程序后会对插件执行卸载逻辑,释放占用的资源,本发明是在不更新和变动原有程序基础上通过外挂模组实现功能更新和新增功能的一种方案,在保证系统稳定性的同时,满足个性化和差异化的设计需求。

8、作为优选,所述步骤s3中将插件进行挂载的具体过程包括:

9、加载基本页面:从本地服务器读取基本的html页面框架,交给浏览器进行解析和渲染,当浏览器解析到插件架构部分框架后,自动执行相关代码;

10、加载插件架构:提供插件公共运行环境和标准库,提供插件挂载点,初始化公共数据;

11、加载和运行项目框架:当浏览器解析到html中vue框架部分后自动从本地服务加载框架代码,当框架代码被浏览器下载后,对其内容进行解析和执行,程序根据预设的内容自动执相关的逻辑;

12、加载项目:当项目框架运行结束后,执行页面的渲染和相关的回调函数,在页面渲染前的回调函数中执行加载项目的逻辑,加载项目从本地服务器加载具体的项目信息;

13、加载插件并且进行渲染:根据加载项目中获取的项目信息通过过插件注册接口挂载到插件池中再根据当前项目的配置信息和插件的信息进行渲染。

14、本发明对插件的挂载在加载基本页面时在html页面中会包括一些相关的css和js部分,当浏览器解析到插件架构部分的js框架后,会自动执行相关代码,在加载插件架构时插件架构本质上是一段js代码,用于构建插件的基本运行环境,它由浏览器解析和执行,加载项目时,项目信息包括插件信息动态的从服务器加载插件对应的js、css、assets等数据,然后进行渲染,页面渲染时会根据当前项目的配置信息和插件的信息进行渲染,例如页面组件的渲染,如果该组件来源于插件,则会自动根据规则调用插件中的具体方法进行渲染,由于不同项目所需要的插件不同,在切换项目时会先卸载掉旧项目的插件信息,并清除插件的相关数据残留,然后等切换到新项目后,重新走插件的加载流程,以此在系统添加插件增加功能的前提下还能保证系统的稳定性。

15、作为优选,所述html页面中包括css和js部分,所述插件架构为一段js代码,构建插件的基本运行环境;所述具体的项目信息包括项目的基本数据,页面信息,配置信息和插件信息。

16、本发明在进行插件的添加之前有一个必不可少的操作就是预处理,要先对插件文件的格式与结构进行初始化操作,再将文件通过usb或者网络方式上传到中控系统,中控系统自动识别新上传的插件文件,并对插件进行合法性校检,校检通过解压到插件目录。

17、作为优选,所述插件调试的具体过程包括:首先开启插件编译服务,监听插件原始文件内容是否发生变化,如果文件发生了变化则自动调用编译工具重新编译插件,然后对项目进行编译,编译完成后将编译好的文件复制到插件调试目录中,然后对中控服务和中控网页进行监听,当插件变更后会重新加载所有插件,包含当前调试插件。

18、本发明在对中控服务和中控网页进行监听时,监听插件调试目录下的插件是否发生更新,当发生更新时会像所有开启了调试模式的对应前端页面发送一个消息推送,中控的网页开启调试模式后,会持续监听消息推送,当收到服务端的插件变更推送后会触发相关的重载逻辑,根据监听的结果来判断插件组件的运行情况,以此来及时对系统进行操作防止出现故障,提高了系统的稳定性。

19、作为优选,所述中控服务和中控网页进行监听的具体过程包括:监听插件调试目录下的插件是否发生更新,当发生更新时向所有开启了调试模式的对应前端页面发送一个消息推送,中控的网页开启调试模式后,持续监听消息推送,当收到服务端的插件变更推送后触发相关的重载逻辑。

20、作为优选,所述重载逻辑的具体过程包括:重新获取当前项目下的所有插件,并重新加载这些插件,当插件调试服务结束时,清理对应的插件调试目录,当插件调试目录下的文件发生变化后,向前端发送更新消息,前端收到消息后重新加载解析插件,但是不包含当前调试插件。

21、本发明会在当插件调试服务结束时,会清理对应的插件调试目录,当插件调试目录下的文件发生变化后,同样会像前端发送更新消息,前端收到消息后重新加载解析插件,为下一个需要添加的插件提前做好调试准备,提高了新增功能的开发效率,减少了工程师对新增功能的开发时间。

22、作为优选,所述对项目进行编译的具体过程包括:首先对插件输出目录进行删除,然后对插件文件进行静态链接分析,对文件之间的引用关系等进行分析,形成索引表,然后进行预处理和编译,处理好后将文件中引用的图片、字体等资源链接重定向到特定的资源目录,再将静态资源移动到对应的目录下,最后将插件文件添加上对应的描述文件后进行压缩。

23、本发明资源链接重定向是将文件中引用的图片(jpg/png/svg等)、字体等资源链接重定向到特定的资源目录,将静态资源移动到对应的目录下的目的是为了确保插件加载后可以从该目录下找到对应的文件,提高插件加载的速度,也能提高添加插件后整体系统的稳定性,最后将插件文件压缩的文件是.splug文件。

24、作为优选,所述预处理和编译的具体过程包括:

25、预处理ts:将ts代码通过ts编译器编译为js代码;

26、编译js:将若干js文件进行打包、编译,整理为符合插件格式的代码;

27、预处理less:将less格式的样式表利用less编译器编译为css格式;

28、编译css:将若干分散在不同文件中的css格式文件打包、编译,并根据不同的文件标注划分不同的域。

29、本发明通过这些预处理是为了将这些文件,代码都整理成为负荷插件格式的代码,防止出现冲突,是为了让不同的插件均可通过这种方式添加到系统中,并且不会出现不兼容的情况,将不同文件划分成不同的域也是为了防止这些文件出现冲突,影响插件的添加。

30、作为优选,所述插件采用统一和标准化的接口设计。本发明采样的统一和标准化的接口设计意味着所有的插件开发者都遵循相同的规则和结构来创建插件,这大大减少了与各种设备和软件的兼容性问题,使得插件更容易、更快速地集成进中控系统。

31、本发明的有益效果为:1.本发明通过开放但稳定的插件系统设计,具有全面而强大的界面和交互设计功能。2.本发明可以让开发者和设计师可以根据需求轻松地为系统添加或修改功能。3.本发明所有功能和插件的稳定运行,稳定性高。4.本发明设计了一个开放但稳定的插件系统的控制方法,通过这种方法让该系统通过特定的网络平台或本地文件形式导入插件,从而在保证系统稳定性的同时,满足个性化和差异化的设计需求。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1