Skip to content

插件开发

Adkimsm edited this page Oct 5, 2021 · 5 revisions

插件

用户方

插件,最开始的实现方案是做一个模块和一个构造函数,但随后发现貌似无法解析,于是又采用了 JSON 的方式。

主要使用 LocalStorage 存储 JSON,然后启动时检查 LS ,直接 ForEach 这个键值,再用 DOM 的 CreateElement。

主要功能是向启动台添加一个图标,同时绑定 OnClick,再添一段相关的 Pop 模态对话框作为二级页面供插件使用。

理论上插件可以且仅可用于添加功能与彩蛋,但由于未对插件权限与行为进行限制,且开启了全局 Node 支持,所以可以用插件调用所有 NodeJs Api,安全隐患极大。

未来有提案计划将插件封装在一个自定义 H5 标签中,并缩进权限,仅支持插件调用影子 DOM。

但我懒得写

所以,你要是能力足够的话,你完全可以利用插件,来进行深度的自定义,从而打造一款属于你自己的工具,你甚至可以通过删除自带的 JS 和 CSS 标签,来深度改装内部逻辑。

当然,不怀好意的开发者 例如某浩,就很有可能开发病毒,,利用 Node Api,借用本程序的权限,来删除文件,添加自启动等。

所以这是一把双刃剑,对于用户而言,一定要确保插件没有被改动且开发者是你所信任的。

开发者

作为开发者,代码示例在 plugin

其中, pName 变量存储插件名,建议使用大驼峰形式命名。

当然,你可以自定义变量,甚至可以自己重写逻辑,甚至于你可以既不创建 pop 也不创建图标,做一个安静的后台。

理论上,插件能做的 = Web 能做的 + Node 能做的。

所以你可以用插件,来吧 AdonS 做成一个工具箱。

如果你做完了插件,你可以向这个仓库提一个 PR,收录进来。

Clone this wiki locally