From e332ce28f838a2af06c720f139f7bb615d716c26 Mon Sep 17 00:00:00 2001 From: xiaojunnuo Date: Wed, 14 May 2025 01:06:30 +0800 Subject: [PATCH] chore: baotawaf access --- docs/guide/development/demo/access.md | 88 +++++++++++++++++++ .../plugins/common/remote-input.vue | 2 +- 2 files changed, 89 insertions(+), 1 deletion(-) create mode 100644 docs/guide/development/demo/access.md diff --git a/docs/guide/development/demo/access.md b/docs/guide/development/demo/access.md new file mode 100644 index 00000000..550d9184 --- /dev/null +++ b/docs/guide/development/demo/access.md @@ -0,0 +1,88 @@ + +# 授权插件Demo + +```ts +import { AccessInput, BaseAccess, IsAccess } from '@certd/pipeline'; +import { isDev } from '../../utils/env.js'; + +/** + * 这个注解将注册一个授权配置 + * 在certd的后台管理系统中,用户可以选择添加此类型的授权 + */ +@IsAccess({ + name: 'demo', + title: '授权插件示例', + icon: 'clarity:plugin-line', + desc: '', +}) +export class DemoAccess extends BaseAccess { + /** + * 授权属性配置 + */ + @AccessInput({ + title: '密钥Id', + component: { + placeholder: 'demoKeyId', + }, + required: true, + }) + demoKeyId = ''; + + /** + * 授权属性配置 + */ + @AccessInput({ + //标题 + title: '密钥串', + component: { + //input组件的placeholder + placeholder: 'demoKeySecret', + }, + //是否必填 + required: true, + //改属性是否需要加密 + encrypt: true, + }) + //属性名称 + demoKeySecret = ''; +} +new DemoAccess(); +``` + + +# 阿里云授权 +```ts + +import { IsAccess, AccessInput, BaseAccess } from "@certd/pipeline"; + +@IsAccess({ + name: "aliyun", + title: "阿里云授权", + desc: "", + icon: "ant-design:aliyun-outlined", + order: 0, +}) +export class AliyunAccess extends BaseAccess { + @AccessInput({ + title: "accessKeyId", + component: { + placeholder: "accessKeyId", + }, + helper: "登录阿里云控制台->AccessKey管理页面获取。", + required: true, + }) + accessKeyId = ""; + @AccessInput({ + title: "accessKeySecret", + component: { + placeholder: "accessKeySecret", + }, + required: true, + encrypt: true, + helper: "注意:证书申请需要dns解析权限;其他阿里云插件,需要对应的权限,比如证书上传需要证书管理权限;嫌麻烦就用主账号的全量权限的accessKey", + }) + accessKeySecret = ""; +} + +new AliyunAccess(); +``` \ No newline at end of file diff --git a/packages/ui/certd-client/src/components/plugins/common/remote-input.vue b/packages/ui/certd-client/src/components/plugins/common/remote-input.vue index 9fd0f3fb..6a1e1c48 100644 --- a/packages/ui/certd-client/src/components/plugins/common/remote-input.vue +++ b/packages/ui/certd-client/src/components/plugins/common/remote-input.vue @@ -18,7 +18,7 @@ const props = defineProps<{ modelValue: string; title: string; action: string; - form: any; + form?: any; button?: any; }>();