mirror of https://github.com/certd/certd
chore:
parent
7ee9d915fb
commit
51f29d6093
|
@ -5,6 +5,7 @@ export type Registrable = {
|
||||||
title: string;
|
title: string;
|
||||||
desc?: string;
|
desc?: string;
|
||||||
group?: string;
|
group?: string;
|
||||||
|
deprecated?: string;
|
||||||
};
|
};
|
||||||
|
|
||||||
export type RegistryItem<T> = {
|
export type RegistryItem<T> = {
|
||||||
|
@ -67,6 +68,9 @@ export class Registry<T> {
|
||||||
for (const key in this.storage) {
|
for (const key in this.storage) {
|
||||||
const define = this.getDefine(key);
|
const define = this.getDefine(key);
|
||||||
if (define) {
|
if (define) {
|
||||||
|
if (define?.deprecated) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
list.push({ ...define, key });
|
list.push({ ...define, key });
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -174,6 +174,9 @@ export class CertApplyPlugin extends CertApplyBasePlugin {
|
||||||
const dnsProviderPlugin = dnsProviderRegistry.get(dnsProviderType);
|
const dnsProviderPlugin = dnsProviderRegistry.get(dnsProviderType);
|
||||||
const DnsProviderClass = dnsProviderPlugin.target;
|
const DnsProviderClass = dnsProviderPlugin.target;
|
||||||
const dnsProviderDefine = dnsProviderPlugin.define as DnsProviderDefine;
|
const dnsProviderDefine = dnsProviderPlugin.define as DnsProviderDefine;
|
||||||
|
if (dnsProviderDefine.deprecated) {
|
||||||
|
throw new Error(dnsProviderDefine.deprecated);
|
||||||
|
}
|
||||||
const access = await this.accessService.getById(dnsProviderAccessId);
|
const access = await this.accessService.getById(dnsProviderAccessId);
|
||||||
|
|
||||||
// @ts-ignore
|
// @ts-ignore
|
||||||
|
|
|
@ -30,8 +30,9 @@ function next() {
|
||||||
|
|
||||||
<style lang="less">
|
<style lang="less">
|
||||||
.tutorial-modal {
|
.tutorial-modal {
|
||||||
|
top: 50px;
|
||||||
.ant-modal-body {
|
.ant-modal-body {
|
||||||
height: 70vh;
|
height: 80vh;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
|
@ -11,7 +11,7 @@
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="image-box">
|
<div class="image-box">
|
||||||
<a-image :src="currentStepItem.image" />
|
<a-image :src="currentStepItem.image" :preview-mask="previewMask" />
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
@ -22,7 +22,7 @@
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup lang="ts">
|
<script setup lang="tsx">
|
||||||
type Step = {
|
type Step = {
|
||||||
title: string;
|
title: string;
|
||||||
subTitle?: string;
|
subTitle?: string;
|
||||||
|
@ -256,19 +256,26 @@ function stepChanged(index: number) {
|
||||||
current.value = index;
|
current.value = index;
|
||||||
currentItem.value = 0;
|
currentItem.value = 0;
|
||||||
}
|
}
|
||||||
|
function previewMask() {
|
||||||
|
return (
|
||||||
|
<div title="点击放大" class="h-100 w-100">
|
||||||
|
{" "}
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="less">
|
<style lang="less">
|
||||||
.tutorial-steps {
|
.tutorial-steps {
|
||||||
.step-item {
|
.step-item {
|
||||||
display: flex !important;
|
display: flex !important;
|
||||||
flex-direction: column;
|
flex-direction: row;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
flex: 1;
|
flex: 1;
|
||||||
padding: 20px;
|
padding: 20px;
|
||||||
.text {
|
.text {
|
||||||
width: 100%;
|
width: 350px;
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
|
@ -285,10 +292,20 @@ function stepChanged(index: number) {
|
||||||
background: #eee;
|
background: #eee;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 100%;
|
height: 100%;
|
||||||
img {
|
.ant-image-mask {
|
||||||
height: 100%;
|
background: rgba(255, 255, 255, 0);
|
||||||
|
}
|
||||||
|
.ant-image {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
object-fit: contain;
|
height: 100%;
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
img {
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
object-fit: contain;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.desc {
|
.desc {
|
||||||
|
|
|
@ -53,7 +53,7 @@ export class AccessController extends CrudController<AccessService> {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Post('/define', { summary: Constants.per.authOnly })
|
@Post('/define', { summary: Constants.per.authOnly })
|
||||||
async define(@Query('type') type:string) {
|
async define(@Query('type') type: string) {
|
||||||
const access = this.service.getDefineByType(type);
|
const access = this.service.getDefineByType(type);
|
||||||
return this.ok(access);
|
return this.ok(access);
|
||||||
}
|
}
|
||||||
|
@ -63,6 +63,9 @@ export class AccessController extends CrudController<AccessService> {
|
||||||
const list = this.service.getDefineList();
|
const list = this.service.getDefineList();
|
||||||
const dict = [];
|
const dict = [];
|
||||||
for (const item of list) {
|
for (const item of list) {
|
||||||
|
if (item?.deprecated) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
dict.push({
|
dict.push({
|
||||||
value: item.name,
|
value: item.name,
|
||||||
label: item.title,
|
label: item.title,
|
||||||
|
|
|
@ -13,7 +13,7 @@ export class DnsProviderController extends BaseController {
|
||||||
service: DnsProviderService;
|
service: DnsProviderService;
|
||||||
|
|
||||||
@Post('/list', { summary: Constants.per.authOnly })
|
@Post('/list', { summary: Constants.per.authOnly })
|
||||||
async list(@Query(ALL) query:any) {
|
async list(@Query(ALL) query: any) {
|
||||||
query.userId = this.ctx.user.id;
|
query.userId = this.ctx.user.id;
|
||||||
const list = this.service.getList();
|
const list = this.service.getList();
|
||||||
return this.ok(list);
|
return this.ok(list);
|
||||||
|
|
|
@ -8,6 +8,9 @@ export class PluginService {
|
||||||
const list = [];
|
const list = [];
|
||||||
for (const key in collection) {
|
for (const key in collection) {
|
||||||
const Plugin = collection[key];
|
const Plugin = collection[key];
|
||||||
|
if (Plugin?.define.deprecated) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
list.push({ ...Plugin.define, key });
|
list.push({ ...Plugin.define, key });
|
||||||
}
|
}
|
||||||
return list;
|
return list;
|
||||||
|
|
|
@ -2,8 +2,9 @@ import { IsAccess, AccessInput } from '@certd/pipeline';
|
||||||
|
|
||||||
@IsAccess({
|
@IsAccess({
|
||||||
name: 'dnspod',
|
name: 'dnspod',
|
||||||
title: 'dnspod',
|
title: 'dnspod(已废弃)',
|
||||||
desc: '腾讯云的域名解析接口已迁移到dnspod',
|
desc: '腾讯云的域名解析接口已迁移到dnspod',
|
||||||
|
deprecated: 'dnspod已废弃,请换成腾讯云',
|
||||||
})
|
})
|
||||||
export class DnspodAccess {
|
export class DnspodAccess {
|
||||||
@AccessInput({
|
@AccessInput({
|
||||||
|
|
|
@ -6,8 +6,9 @@ import { DnspodAccess } from '../access/index.js';
|
||||||
@IsDnsProvider({
|
@IsDnsProvider({
|
||||||
name: 'dnspod',
|
name: 'dnspod',
|
||||||
title: 'dnspod(已过时,请尽快换成腾讯云)',
|
title: 'dnspod(已过时,请尽快换成腾讯云)',
|
||||||
desc: '请尽快换成腾讯云类型',
|
desc: '已废弃,请尽快换成腾讯云类型',
|
||||||
accessType: 'dnspod',
|
accessType: 'dnspod',
|
||||||
|
deprecated: 'dnspod已废弃,请换成腾讯云',
|
||||||
})
|
})
|
||||||
export class DnspodDnsProvider extends AbstractDnsProvider {
|
export class DnspodDnsProvider extends AbstractDnsProvider {
|
||||||
@Autowire()
|
@Autowire()
|
||||||
|
|
Loading…
Reference in New Issue