From 5575c839705f6987ad2bdcd33256b0962c6a9c6a Mon Sep 17 00:00:00 2001 From: xiaojunnuo Date: Mon, 28 Oct 2024 18:20:10 +0800 Subject: [PATCH] =?UTF-8?q?perf:=20=E6=8E=88=E6=9D=83=E5=8A=A0=E5=AF=86?= =?UTF-8?q?=E6=94=AF=E6=8C=81=E8=A7=A3=E5=AF=86=E6=9F=A5=E7=9C=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../access/secret-plain-getter.vue | 32 +++++++++++++++++++ .../src/views/certd/access/api.ts | 8 +++++ .../src/views/certd/access/common.tsx | 11 ++++++- .../controller/pipeline/access-controller.ts | 6 ++++ 4 files changed, 56 insertions(+), 1 deletion(-) create mode 100644 packages/ui/certd-client/src/views/certd/access/access-selector/access/secret-plain-getter.vue diff --git a/packages/ui/certd-client/src/views/certd/access/access-selector/access/secret-plain-getter.vue b/packages/ui/certd-client/src/views/certd/access/access-selector/access/secret-plain-getter.vue new file mode 100644 index 00000000..cf05c662 --- /dev/null +++ b/packages/ui/certd-client/src/views/certd/access/access-selector/access/secret-plain-getter.vue @@ -0,0 +1,32 @@ + + + diff --git a/packages/ui/certd-client/src/views/certd/access/api.ts b/packages/ui/certd-client/src/views/certd/access/api.ts index 903f9c31..ca9d47c6 100644 --- a/packages/ui/certd-client/src/views/certd/access/api.ts +++ b/packages/ui/certd-client/src/views/certd/access/api.ts @@ -43,6 +43,14 @@ export function createAccessApi(from = "user") { }); }, + async GetSecretPlain(id: number, key: string) { + return await request({ + url: apiPrefix + "/getSecretPlain", + method: "post", + data: { id, key } + }); + }, + async GetProviderDefine(type: string) { return await request({ url: apiPrefix + "/define", diff --git a/packages/ui/certd-client/src/views/certd/access/common.tsx b/packages/ui/certd-client/src/views/certd/access/common.tsx index 99258f64..5b2c3ebe 100644 --- a/packages/ui/certd-client/src/views/certd/access/common.tsx +++ b/packages/ui/certd-client/src/views/certd/access/common.tsx @@ -1,9 +1,11 @@ import { ColumnCompositionProps, dict } from "@fast-crud/fast-crud"; -import { computed, ref, toRef } from "vue"; +import { computed, provide, ref, toRef } from "vue"; import { useReference } from "/@/use/use-refrence"; import { forEach, get, merge, set } from "lodash-es"; +import SecretPlainGetter from "/@/views/certd/access/access-selector/access/secret-plain-getter.vue"; export function getCommonColumnDefine(crudExpose: any, typeRef: any, api: any) { + provide("accessApi", api); const AccessTypeDictRef = dict({ url: "/pi/access/accessTypeDict" }); @@ -32,6 +34,13 @@ export function getCommonColumnDefine(crudExpose: any, typeRef: any, api: any) { }; const column = merge({ title: key }, defaultPluginConfig, field); + if (value.encrypt === true) { + column.suffixRender = (scope: { form: any; key: string }) => { + const { form, key } = scope; + const inputKey = scope.key.replace("access.", ""); + return ; + }; + } //eval useReference(column); diff --git a/packages/ui/certd-server/src/controller/pipeline/access-controller.ts b/packages/ui/certd-server/src/controller/pipeline/access-controller.ts index 3ee6e737..4b1df683 100644 --- a/packages/ui/certd-server/src/controller/pipeline/access-controller.ts +++ b/packages/ui/certd-server/src/controller/pipeline/access-controller.ts @@ -67,6 +67,12 @@ export class AccessController extends CrudController { return this.ok(access); } + @Post('/getSecretPlain', { summary: Constants.per.authOnly }) + async getSecretPlain(@Body(ALL) body: { id: number; key: string }) { + const value = await this.service.getById(body.id, this.getUserId()); + return this.ok(value[body.key]); + } + @Post('/accessTypeDict', { summary: Constants.per.authOnly }) async getAccessTypeDict() { const list = this.service.getDefineList();