电脑中应用程序扩展能否删除(cool-admin插件开发与使用)

wufei123 发布于 2024-08-18 阅读(3)

扩展插件(plugin)为了丰富系统功能,我们提供了插件系统,可以通过插件的方式来扩展系统功能而不用一味地堆功能,导致系统臃肿你可以自己开发插件,也可以使用别人开发的插件 或者通过官网下载插件使用插件1、安装

首先下载插件包,然后在系统中安装插件包。插件包可以通过官网下载插件。打开后台管理系统,点击左侧菜单扩展管理->插件管理,点击+按钮,选择插件包进行安装。

2、调用安装插件之后,就可以在代码中调用插件的方法了import { CoolController, BaseController } from"@cool-midway/core"; import { PluginService }

from"../../../plugin/service/info"; import { Get, Inject } from"@midwayjs/core"; /** * 插件 */@CoolController

() exportclass OpenDemoPluginController extends BaseController { // 注入插件服务@Inject() pluginService: PluginService;

@Get("/invoke", { summary: "调用插件" }) async invoke() { // test 是插件的标识, show 是插件的方法, 1,2 是传给插件的参数const

result = awaitthis.pluginService.invoke("test", "show", 1, 2); returnthis.ok(result); } } 对应插件内的方法

/** * 展示插件信息 * @param a 参数a * @param b 参数b * @returns 插件信息 */async show(a, b) 开发插件1、脚手架

为了方便开发插件和统一插件开发规范,我们提供了插件脚手架,可以快速开发我们的插件# github git clone https://github.com/cool-team-official/cool-admin-midway-plugin.git。

# gitee 如果你的网络不好,可以使用 git clone https://gitee.com/cool-team-official/cool-admin-midway-plugin.git2、目录结构

├── .vscode(vscode的一些配置) ├── assets(资源文件,如图片等) ├── dist(运行编译后的时候自动生成) ├── release(打包发布的时候自动生成) ├──

src │ └── index.ts(入口文件,所有插件的功能统一集中到这个文件) │ └── other.ts(其他文件,可自定义,不是必须的) ├── test │ └── index

.ts(开发时的测试文件) ├── .gitattributes(git的一些配置) ├── .gitignore(git忽略文件) ├── LICENSE(开源协议) ├── package.json

(依赖管理,项目信息) ├── plugin.json(插件的配置信息) ├── README.md(插件的介绍,会展示在插件的详情中) └── tsconfig.json(Typescript的配置文件)

3、开发过程配置插件信息(plugin.json){ "name": "测试", "key": "test", "hook": "", "version": "1.0.0", "description"

: "插件描述", "author": "作者", "logo": "assets/logo.png", "readme": "README.md", "config": { "appId"

: "xxxxx" } } 字段解释字段说明name插件名称key插件标识(英文),唯一, 调用插件的时候需要用到hook插件钩子,比如替换系统的上传组件,uploadversion版本号description

插件描述author作者logo插件 logo,建议尺寸 256x256readme插件介绍,会展示在插件的详情中config插件配置, 每个插件的配置各不相同开发插件功能(src/index.ts)import

{ BasePlugin } from"@cool-midway/plugin-cli"; import axios from"axios"; import"./other"; /** * 描述 */

exportclassCoolPluginextendsBasePlugin{ /** * 展示插件信息 * @param a 参数a * @param b 参数b * @returns

插件信息 */async show(a, b) { console.log("传参", a, b); returnthis.pluginInfo; } /** * 请求网络示例 */

async demo() { const res = await axios.get("https://www.baidu.com"); return res.data; } } // 导出插件实例, Plugin名称不可修改

exportconst Plugin = CoolPlugin; 测试插件(test/index.ts)import { Plugin } from"../src/index"; import pluginInfo

from"../plugin.json"; // 实例化插件const indexInstance = new Plugin(); // 初始化插件 indexInstance.init(pluginInfo);

// 调用插件方法 indexInstance.demo(); 执行测试npm run test打包发布打包命令npm run release 执行命令之后如果一切顺利的话你会在release目录下得到一个.cool后缀的插件包。

这个插件包你可以直接发给其他人安装使用,或者分享到插件市场,您的插件将帮助到很多人,我们鼓励您分享您的插件。

亲爱的读者们,感谢您花时间阅读本文。如果您对本文有任何疑问或建议,请随时联系我。我非常乐意与您交流。

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。