mirror of
https://github.com/certd/certd.git
synced 2026-04-30 17:37:24 +08:00
perf: 商业版支持配置证书申请插件参数
This commit is contained in:
@@ -135,3 +135,11 @@ export async function DoTest(req: { id: number; input: any }): Promise<void> {
|
|||||||
data: req,
|
data: req,
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export async function GetPluginByName(name: string): Promise<PluginConfigBean> {
|
||||||
|
return await request({
|
||||||
|
url: apiPrefix + "/getPluginByName",
|
||||||
|
method: "post",
|
||||||
|
data: { name },
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|||||||
@@ -36,6 +36,13 @@
|
|||||||
</div>
|
</div>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
|
|
||||||
|
<a-form-item label="其他配置">
|
||||||
|
<a-button type="primary" @click="doPluginConfig">证书申请插件默认值设置</a-button>
|
||||||
|
<div class="helper">
|
||||||
|
<div>自定义证书申请插件参数</div>
|
||||||
|
</div>
|
||||||
|
</a-form-item>
|
||||||
|
|
||||||
<a-form-item :wrapper-col="{ offset: 8, span: 16 }">
|
<a-form-item :wrapper-col="{ offset: 8, span: 16 }">
|
||||||
<a-button :loading="saveLoading" type="primary" html-type="submit">保存</a-button>
|
<a-button :loading="saveLoading" type="primary" html-type="submit">保存</a-button>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
@@ -47,10 +54,10 @@
|
|||||||
<script lang="ts" setup>
|
<script lang="ts" setup>
|
||||||
import AccessSelector from "/@/views/certd/access/access-selector/index.vue";
|
import AccessSelector from "/@/views/certd/access/access-selector/index.vue";
|
||||||
import { reactive, ref } from "vue";
|
import { reactive, ref } from "vue";
|
||||||
import { CommPluginConfig, GetCommPluginConfigs, SaveCommPluginConfigs } from "/@/views/sys/plugin/api";
|
import { CommPluginConfig, GetCommPluginConfigs, SaveCommPluginConfigs, GetPluginByName } from "/@/views/sys/plugin/api";
|
||||||
import { merge } from "lodash-es";
|
import { merge } from "lodash-es";
|
||||||
import { notification } from "ant-design-vue";
|
import { notification } from "ant-design-vue";
|
||||||
|
import { usePluginConfig } from "./use-config";
|
||||||
defineOptions({
|
defineOptions({
|
||||||
name: "SysPluginConfig",
|
name: "SysPluginConfig",
|
||||||
});
|
});
|
||||||
@@ -87,5 +94,12 @@ const onFinish = async (form: any) => {
|
|||||||
const onFinishFailed = (errorInfo: any) => {
|
const onFinishFailed = (errorInfo: any) => {
|
||||||
console.log("Failed:", errorInfo);
|
console.log("Failed:", errorInfo);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
const { openConfigDialog } = usePluginConfig();
|
||||||
|
|
||||||
|
async function doPluginConfig() {
|
||||||
|
const certApplyInfo = await GetPluginByName("CertApply");
|
||||||
|
await openConfigDialog({ row: certApplyInfo, crudExpose: null });
|
||||||
|
}
|
||||||
</script>
|
</script>
|
||||||
<style lang="less"></style>
|
<style lang="less"></style>
|
||||||
|
|||||||
@@ -43,13 +43,12 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup lang="tsx">
|
<script setup lang="tsx">
|
||||||
import { computed, nextTick, onMounted, reactive, ref, Ref, unref } from "vue";
|
|
||||||
import { useRoute, useRouter } from "vue-router";
|
|
||||||
import * as api from "./api";
|
|
||||||
import { usePluginStore } from "/@/store/plugin";
|
|
||||||
import { cloneDeep, get, merge, set, unset } from "lodash-es";
|
|
||||||
import Rollbackable from "./rollbackable.vue";
|
|
||||||
import { FsRender } from "@fast-crud/fast-crud";
|
import { FsRender } from "@fast-crud/fast-crud";
|
||||||
|
import { cloneDeep, merge, unset } from "lodash-es";
|
||||||
|
import { computed, onMounted, reactive, ref } from "vue";
|
||||||
|
import { useRoute, useRouter } from "vue-router";
|
||||||
|
import Rollbackable from "./rollbackable.vue";
|
||||||
|
import { usePluginStore } from "/@/store/plugin";
|
||||||
const route = useRoute();
|
const route = useRoute();
|
||||||
const router = useRouter();
|
const router = useRouter();
|
||||||
const pluginStore = usePluginStore();
|
const pluginStore = usePluginStore();
|
||||||
|
|||||||
@@ -35,7 +35,9 @@ export function usePluginConfig() {
|
|||||||
},
|
},
|
||||||
afterSubmit() {
|
afterSubmit() {
|
||||||
notification.success({ message: t("certd.operationSuccess") });
|
notification.success({ message: t("certd.operationSuccess") });
|
||||||
|
if (crudExpose) {
|
||||||
crudExpose.doRefresh();
|
crudExpose.doRefresh();
|
||||||
|
}
|
||||||
},
|
},
|
||||||
async doSubmit({}: any) {
|
async doSubmit({}: any) {
|
||||||
const form = configEditorRef.value.getForm();
|
const form = configEditorRef.value.getForm();
|
||||||
|
|||||||
@@ -84,6 +84,15 @@ export class PluginController extends CrudController<PluginService> {
|
|||||||
const res = await this.pluginConfigService.saveCommPluginConfig(body);
|
const res = await this.pluginConfigService.saveCommPluginConfig(body);
|
||||||
return this.ok(res);
|
return this.ok(res);
|
||||||
}
|
}
|
||||||
|
@Post('/getPluginByName', { description: 'sys:settings:view' })
|
||||||
|
async getPluginByName(@Body('name') name: string) {
|
||||||
|
const res = await this.pluginConfigService.getPluginConfig({
|
||||||
|
name: name,
|
||||||
|
type: 'builtIn'
|
||||||
|
});
|
||||||
|
return this.ok(res);
|
||||||
|
}
|
||||||
|
|
||||||
@Post('/saveSetting', { description: 'sys:settings:edit' })
|
@Post('/saveSetting', { description: 'sys:settings:edit' })
|
||||||
async saveSetting(@Body(ALL) body: PluginConfig) {
|
async saveSetting(@Body(ALL) body: PluginConfig) {
|
||||||
const res = await this.pluginConfigService.savePluginConfig(body);
|
const res = await this.pluginConfigService.savePluginConfig(body);
|
||||||
|
|||||||
Reference in New Issue
Block a user