refactor: ui

master
xiaojunnuo 2021-02-04 22:07:01 +08:00
parent 86ddb72227
commit 305824ff1a
10 changed files with 62 additions and 36 deletions

View File

@ -9,9 +9,9 @@ const define = {
domainName: {
label: 'cdn加速域名',
component: {
placeholder: 'cdn加速域名',
rules: [{ required: true, message: '该项必填' }]
}
placeholder: 'cdn加速域名'
},
required: true
},
certName: {
label: '证书名称',
@ -22,6 +22,7 @@ const define = {
from: {
default: 'upload',
label: '证书来源',
required: true,
component: {
required: true,
placeholder: '证书来源',
@ -45,9 +46,9 @@ const define = {
accessProvider: {
label: 'Access提供者',
type: [String, Object],
desc: 'AccessProviders的key 或 一个包含accessKeyId与accessKeySecret的对象',
desc: 'access授权',
component: {
name: 'provider-selector',
name: 'access-provider-selector',
filter: 'aliyun'
},
required: true

View File

@ -11,14 +11,15 @@ const define = {
},
regionId: {
label: '大区',
default: 'cn-hangzhou'
default: 'cn-hangzhou',
required: true
},
accessProvider: {
label: 'Access提供者',
type: [String, Object],
desc: 'AccessProviders的key 或 一个包含accessKeyId与accessKeySecret的对象',
desc: 'access授权',
component: {
name: 'provider-selector',
name: 'access-provider-selector',
filter: 'aliyun'
},
required: true

View File

@ -18,8 +18,12 @@ export class HostShellExecute extends AbstractHostPlugin {
accessProvider: {
label: '主机登录配置',
type: [String, Object],
desc: 'AccessProviders的key 或 一个包含用户名密码的对象',
options: 'accessProviders[type=ssh]'
desc: '登录',
component: {
name: 'access-provider-selector',
filter: 'host'
},
required: true
}
},
output: {

View File

@ -21,8 +21,12 @@ export class UploadCertToHost extends AbstractHostPlugin {
accessProvider: {
label: '主机登录配置',
type: [String, Object],
desc: 'AccessProviders的key 或 一个包含用户名密码的对象',
options: 'accessProviders[type=ssh]'
desc: 'access授权',
component: {
name: 'access-provider-selector',
filter: 'host'
},
required: true
}
},
output: {

View File

@ -35,9 +35,9 @@ export class DeployCertToTencentCDN extends AbstractTencentPlugin {
accessProvider: {
label: 'Access提供者',
type: [String, Object],
desc: 'AccessProviders的key 或 一个包含accessKeyId与accessKeySecret的对象',
desc: 'access 授权',
component: {
name: 'provider-selector',
name: 'access-provider-selector',
filter: 'tencent'
},
required: true

View File

@ -15,16 +15,19 @@ export class DeployCertToTencentCLB extends AbstractTencentPlugin {
input: {
region: {
label: '大区',
default: 'ap-guangzhou'
default: 'ap-guangzhou',
required: true
},
domain: {
label: '域名',
type: [String, Array],
required: true,
desc: '要更新的支持https的负载均衡的域名'
},
loadBalancerId: {
label: '负载均衡ID',
desc: '如果没有配置则根据域名匹配负载均衡下的监听器根据域名匹配时暂时只支持前100个'
desc: '如果没有配置则根据域名匹配负载均衡下的监听器根据域名匹配时暂时只支持前100个',
required: true
},
listenerId: {
label: '监听器ID',
@ -37,8 +40,11 @@ export class DeployCertToTencentCLB extends AbstractTencentPlugin {
accessProvider: {
label: 'Access提供者',
type: [String, Object],
desc: 'AccessProviders的key 或 一个包含accessKeyId与accessKeySecret的对象',
options: 'accessProviders[type=tencent]',
desc: 'access授权',
component: {
name: 'access-provider-selector',
filter: 'tencent'
},
required: true
}
},

View File

@ -16,21 +16,25 @@ export class DeployCertToTencentTKEIngress extends AbstractTencentPlugin {
input: {
region: {
label: '大区',
default: 'ap-guangzhou'
default: 'ap-guangzhou',
required: true
},
clusterId: {
label: '集群ID',
required: true,
desc: '例如cls-6lbj1vee'
desc: '例如cls-6lbj1vee',
request: true
},
namespace: {
label: '集群的namespace',
default: 'default'
label: '集群namespace',
default: 'default',
required: true
},
secreteName: {
type: [String, Array],
label: '证书的secret名称',
desc: '支持多个(传入数组)'
desc: '支持多个(传入数组)',
required: true
},
ingressName: {
type: [String, Array],
@ -44,20 +48,19 @@ export class DeployCertToTencentTKEIngress extends AbstractTencentPlugin {
},
clusterDomain: {
type: String,
label: '集群域名,可不填,默认为:[clusterId].ccs.tencent-cloud.com'
label: '集群域名',
desc: '可不填,默认为:[clusterId].ccs.tencent-cloud.com'
},
/**
* AccessProvider的key,或者一个包含access的具体的对象
*/
accessProvider: {
label: 'Access提供者',
label: 'Access授权',
type: [String, Object],
desc: '请选择access提供者',
desc: 'access授权',
component: {
name: 'accessProviderSelect',
props: {
filterType: 'tencent'
}
name: 'access-provider-selector',
filter: 'tencent'
},
required: true
}

View File

@ -18,10 +18,14 @@ export class UploadCertToTencent extends AbstractTencentPlugin {
label: '证书名称'
},
accessProvider: {
label: 'Access提供者',
label: 'Access授权',
type: [String, Object],
desc: 'AccessProviders的key 或 一个包含accessKeyId与accessKeySecret的对象',
options: 'accessProviders[type=tencent]'
desc: 'access授权',
component: {
name: 'access-provider-selector',
filter: 'tencent'
},
required: true
}
},
output: {

View File

@ -5,7 +5,10 @@ function handleInputs (inputs) {
return
}
_.forEach(inputs, (item, key) => {
if (item.component?.required === true) {
if (item.required === true) {
if (item.component == null) {
item.component = {}
}
if (item.component.rules == null) {
item.component.rules = []
}
@ -18,7 +21,7 @@ function handleInputs (inputs) {
}
}
item.component.rules.push({ required: true, message: '该项必填' })
delete item.component.required
delete item.required
}
})
}

View File

@ -24,7 +24,7 @@ import { ref, inject } from 'vue'
import AccessProviderManager from './access-provider-manager'
export default {
name: 'provider-selector',
name: 'access-provider-selector',
components: { AccessProviderManager },
emits: ['update:providers', 'update:value'],
//