优化
This commit is contained in:
@@ -0,0 +1,87 @@
|
||||
---
|
||||
sidebar_position: 1
|
||||
title: 开始开发插件
|
||||
---
|
||||
|
||||
## 认识 MiniStar
|
||||
|
||||
`MiniStar` 是一套完整的微内核架构开发工具链,`Tailchat`的插件架构就是基于 `MiniStar` 进行开发。
|
||||
|
||||
关于更多的 `MiniStar` 相关问题可以查看 `MiniStar` 的官方文档: [https://ministar.moonrailgun.com/](https://ministar.moonrailgun.com/)
|
||||
|
||||
## 创建一个基本项目
|
||||
|
||||
import Tabs from '@theme/Tabs';
|
||||
import TabItem from '@theme/TabItem';
|
||||
|
||||
<Tabs groupId="start">
|
||||
<TabItem value="cli" label="使用命令行工具快速创建" default>
|
||||
|
||||
> 首先确保你已经安装了 `tailchat-cli`, 关于命令行工具可参照: [tailchat-cli](../cli/tailchat-cli)
|
||||
|
||||
移动到项目目录下(可以是自定义项目):
|
||||
|
||||
```bash
|
||||
tailchat create
|
||||
```
|
||||
|
||||
根据实际情况选择模板
|
||||
|
||||

|
||||
|
||||
</TabItem>
|
||||
<TabItem value="ministar" label="使用原生ministar创建插件项目" default>
|
||||
|
||||
|
||||
创建一个基本的 npm 项目, 并全局安装 `MiniStar`
|
||||
|
||||
```bash
|
||||
npm install --global mini-star
|
||||
```
|
||||
|
||||
在项目中执行: `ministar createPlugin` 来创建一个基本的插件
|
||||
|
||||
在项目中执行: `ministar buildPlugin` 来编译插件
|
||||
|
||||
> 值得一提的是, 虽然 `Tailchat` 并没有强制规定插件命名规范,但是还是推荐使用 `反域名` 的命名方式(类似于java中的包命名), 然后对插件中的部件,使用 `/` 进行分割
|
||||
>
|
||||
> 如:
|
||||
> 插件名: `com.msgbyte.webview`
|
||||
>
|
||||
> 注册内容: `com.msgbyte.webview/grouppanel`
|
||||
|
||||
|
||||
</TabItem>
|
||||
</Tabs>
|
||||
|
||||
|
||||
|
||||
## 安装插件
|
||||
|
||||
### 手动安装插件
|
||||
|
||||
在不经过任何预设的情况下,一个通用的办法是自己构造一个 `manifest` 配置, 然后在 `tailchat` 提供手动安装插件 Tab 中将配置文件粘贴进去安装。
|
||||
|
||||
插件的url路径可以通过 `oss对象存储服务` / `static-server` 等办法代理
|
||||
|
||||
一个作为示例的`manifest.json`配置如下:
|
||||
|
||||
```json
|
||||
{
|
||||
"label": "网页面板插件",
|
||||
"name": "com.msgbyte.webview",
|
||||
"url": "/plugins/com.msgbyte.webview/index.js",
|
||||
"version": "0.0.0",
|
||||
"author": "msgbyte",
|
||||
"description": "为群组提供创建网页面板的功能",
|
||||
"requireRestart": false
|
||||
}
|
||||
```
|
||||
|
||||
## 其他有用的资源
|
||||
|
||||
- 插件化架构内核依赖库 [MiniStar](https://ministar.moonrailgun.com/)
|
||||
- 来自基础项目提供的API: [API 文档](./api/common)
|
||||
- 导出接口源码
|
||||
- [@capital/common](https://github.com/msgbyte/tailchat/blob/master/client/web/src/plugin/common/index.ts)
|
||||
- [@capital/component](https://github.com/msgbyte/tailchat/blob/master/client/web/src/plugin/component/index.tsx)
|
||||
Reference in New Issue
Block a user