From 103f28f6bae7f9159e524f40d54ec8f0e2bad1d2 Mon Sep 17 00:00:00 2001 From: xiaojunnuo Date: Fri, 22 Mar 2024 01:04:45 +0800 Subject: [PATCH] chore: --- README.md | 7 ++- packages/plugins/plugin-center/README.md | 43 +++++++++++++++++-- .../plugin-center/src/demo/dns-provider.ts | 1 - .../plugin-center/src/demo/plugin-test.ts | 9 +++- 4 files changed, 53 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index 8b62b000..de87d5af 100644 --- a/README.md +++ b/README.md @@ -119,7 +119,12 @@ http://your_server_ip:7001

-## 七、我的其他项目 +## 七、贡献代码 + +[贡献插件教程](./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无法访问的问题 diff --git a/packages/plugins/plugin-center/README.md b/packages/plugins/plugin-center/README.md index 4d87d80c..5801b1c9 100644 --- a/packages/plugins/plugin-center/README.md +++ b/packages/plugins/plugin-center/README.md @@ -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 \ No newline at end of file diff --git a/packages/plugins/plugin-center/src/demo/dns-provider.ts b/packages/plugins/plugin-center/src/demo/dns-provider.ts index d7a36256..f72b3933 100644 --- a/packages/plugins/plugin-center/src/demo/dns-provider.ts +++ b/packages/plugins/plugin-center/src/demo/dns-provider.ts @@ -5,7 +5,6 @@ import { DemoAccess } from "./access"; // TODO 这里注册一个dnsProvider @IsDnsProvider({ - //注意这里name,要跟access的name一致 name: "demo", title: "Dns提供商Demo", desc: "demo dns provider示例", diff --git a/packages/plugins/plugin-center/src/demo/plugin-test.ts b/packages/plugins/plugin-center/src/demo/plugin-test.ts index 19041a0c..46061cbe 100644 --- a/packages/plugins/plugin-center/src/demo/plugin-test.ts +++ b/packages/plugins/plugin-center/src/demo/plugin-test.ts @@ -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: "此项必填" }], })