pull/68/head
xiaojunnuo 2024-03-22 01:04:45 +08:00
parent 72fb20abf3
commit 103f28f6ba
4 changed files with 53 additions and 7 deletions

View File

@ -119,7 +119,12 @@ http://your_server_ip:7001
</p>
## 七、我的其他项目
## 七、贡献代码
[贡献插件教程](./packages/plugins/plugin-center/README.md)
## 八、我的其他项目
* [袖手GPT](https://ai.handsfree.work/) ChatGPT国内可用无需FQ每日免费额度
* [fast-crud](https://gitee.com/fast-crud/fast-crud/) 基于vue3的crud快速开发框架
* [dev-sidecar](https://github.com/docmirror/dev-sidecar/) 直连访问github工具无需FQ解决github无法访问的问题

View File

@ -1,18 +1,53 @@
# 贡献插件
## 1.复制demo作为你的根目录
## 1.本地调试运行
server:
```shell
cd packages/ui/certd-server
npm run dev
```
client:
```shell
cd packages/ui/certd-client
npm run dev
# 访问客户端,即可测试你的插件
```
## 开发插件
进入 `packages/plugins/plugin-center/src`
### 1.复制demo目录作为你的插件目录
比如你想做cloudflare的插件那么你可以复制demo目录将其命名成cloudflare。
## 2. access授权
### 2. access授权
如果这是一个新的平台它应该有授权方式比如accessKey accessSecret之类的
参考`demo/access.ts` 修改为你要做的平台的`access`
这样用户就可以在certd后台中创建这种授权凭证了
## 3. dns-provider
### 3. dns-provider
如果域名是这个平台进行解析的那么你需要实现dns-provider
参考`demo/dns-provider.ts` 修改为你要做的平台的`dns-provider`
## 4. deploy-plugin
### 4. deploy-plugin
如果这个平台有需要部署证书的地方
参考`demo/deploy-plugin.ts` 修改为你要做的平台的`deploy-plugin`
### 5. 增加导入
在`./src/你的插件目录/index.ts`中增加你的插件import
```ts
export * from './dns-provider'
export * from './plugin-test'
export * from './access'
````
在`./src/index.ts`中增加import
```ts
export * from "./你的插件目录"
```
## 重启服务进行调试
确保能够正常进行证书申请和部署
## 提交PR
我们将尽快审核PR

View File

@ -5,7 +5,6 @@ import { DemoAccess } from "./access";
// TODO 这里注册一个dnsProvider
@IsDnsProvider({
//注意这里name要跟access的name一致
name: "demo",
title: "Dns提供商Demo",
desc: "demo dns provider示例",

View File

@ -15,6 +15,10 @@ export class DemoTestPlugin extends AbstractTaskPlugin {
//测试参数
@TaskInput({
title: "属性示例",
component:{
//前端组件配置,具体配置见组件文档 https://www.antdv.com/components/input-cn
name:"a-input"
}
})
text!: string;
@ -22,6 +26,7 @@ export class DemoTestPlugin extends AbstractTaskPlugin {
@TaskInput({
title: "选择框",
component:{
//前端组件配置,具体配置见组件文档 https://www.antdv.com/components/select-cn
name:"a-select",
options:[
{value:"1",label:"选项1"},
@ -35,7 +40,9 @@ export class DemoTestPlugin extends AbstractTaskPlugin {
@TaskInput({
title: "switch",
component:{
//前端组件配置,具体配置见组件文档 https://www.antdv.com/components/switch-cn
name:"a-switch",
vModel:"checked"
}
})
switch!: boolean;
@ -56,7 +63,7 @@ export class DemoTestPlugin extends AbstractTaskPlugin {
helper: "demoAccess授权",
component: {
name: "pi-access-selector",
type: "demoAccess",
type: "demo",
},
rules: [{ required: true, message: "此项必填" }],
})