需求背景
现阶段的apinto是支持内置插件和外置插件加载
内置插件:插件跟随apinto进行编译,运行apinto程序后即可配置使用
外置插件:独立的插件项目,即插即用的原则,提高大家使用插件的灵活性,按照业务需求去按需加载外部插件
设计插件市场的初衷是想让大家可以在插件市场中寻找到合适的插件,不用重复造轮子
方案
目前apinto正在设计插件市场的功能,有一些简单的需求需要咨询一下各位,看看各位怎么看待下列的功能
1、在插件市场中,支持通过填写github地址、gitlab地址、gitee地址生成项目,然后apinto插件市场通过该地址去拉取代码,自动编译插件提供用户下载
2、支持github用户登录,无需注册
3、自动构造环境,编译插件后提供下载
由于golang插件和go版本绑定,使用不同go版本的apinto网关需要适配使用相同go版本编译的插件,否则不能加载,插件市场提供该自动化编译流程,从而适配apinto
4、关键字查询,支持通过项目简介、项目名称、插件名称等进行关键字搜索
5、目前插件是支持原子化或者项目化
项目化:多个插件可以放在一个项目中编译成一个文件,使用时只需要加载单个文件即可实现加载多个插件的功能,如官方插件统一放在apinto-plugins项目中
原子化:一个插件对应一个项目,极大提供插件加载的灵活性和可操作性
6、提供单页面markdown文档编辑,类似github上的readme.md,该文件可填写项目的简介、插件的使用配置等相关的内容
上述需求中,哪个会是大家的痛点,或者说给这些需求排个序
大致的流程图如下: