在集群中可以设置自动加入DNS的CNAME记录

This commit is contained in:
GoEdgeLab
2021-09-20 16:37:41 +08:00
parent 9f855e4477
commit b7fd551acf
10 changed files with 65 additions and 1 deletions

View File

@@ -46,6 +46,12 @@ func (this *IndexAction) RunGet(params struct {
this.Data["domainName"] = dnsInfoResp.Domain.Name
}
if len(dnsInfoResp.CnameRecords) == 0 {
this.Data["cnameRecords"] = []string{}
} else {
this.Data["cnameRecords"] = dnsInfoResp.CnameRecords
}
this.Show()
}
@@ -56,6 +62,7 @@ func (this *IndexAction) RunPost(params struct {
DnsName string
NodesAutoSync bool
ServersAutoSync bool
CnameRecords []string
Must *actions.Must
CSRF *actionutils.CSRF
@@ -97,6 +104,7 @@ func (this *IndexAction) RunPost(params struct {
DnsDomainId: params.DnsDomainId,
NodesAutoSync: params.NodesAutoSync,
ServersAutoSync: params.ServersAutoSync,
CnameRecords: params.CnameRecords,
})
if err != nil {
this.ErrorPage(err)

View File

@@ -61,6 +61,12 @@ func (this *ClusterAction) RunGet(params struct {
dnsMap["providerTypeName"] = dnsResp.Provider.TypeName
}
if len(dnsResp.CnameRecords) > 0 {
dnsMap["cnameRecords"] = dnsResp.CnameRecords
} else {
dnsMap["cnameRecords"] = []string{}
}
this.Data["dnsInfo"] = dnsMap
// 节点DNS解析记录

View File

@@ -46,6 +46,12 @@ func (this *UpdateClusterPopupAction) RunGet(params struct {
this.Data["providerId"] = 0
}
if len(dnsResp.CnameRecords) == 0 {
this.Data["cnameRecords"] = []string{}
} else {
this.Data["cnameRecords"] = dnsResp.CnameRecords
}
// 所有服务商
providerTypesResp, err := this.RPC().DNSProviderRPC().FindAllDNSProviderTypes(this.AdminContext(), &pb.FindAllDNSProviderTypesRequest{})
if err != nil {
@@ -70,6 +76,7 @@ func (this *UpdateClusterPopupAction) RunPost(params struct {
DomainId int64
NodesAutoSync bool
ServersAutoSync bool
CnameRecords []string
Must *actions.Must
CSRF *actionutils.CSRF
@@ -103,6 +110,7 @@ func (this *UpdateClusterPopupAction) RunPost(params struct {
DnsDomainId: params.DomainId,
NodesAutoSync: params.NodesAutoSync,
ServersAutoSync: params.ServersAutoSync,
CnameRecords: params.CnameRecords,
})
if err != nil {
this.ErrorPage(err)

View File

@@ -6,7 +6,12 @@ Vue.component("label-on", {
// 文字代码标签
Vue.component("code-label", {
template: `<span class="ui label basic tiny" style="padding: 3px;margin-left:2px;margin-right:2px"><slot></slot></span>`
methods: {
click: function (args) {
this.$emit("click", args)
}
},
template: `<span class="ui label basic tiny" style="padding: 3px;margin-left:2px;margin-right:2px" @click.prevent="click"><slot></slot></span>`
})
// tiny标签

View File

@@ -55,6 +55,9 @@ Vue.component("values-box", {
},
updateAll: function (values) {
this.vValeus = values
},
addValue: function (v) {
this.vValues.push(v)
}
},
template: `<div>

View File

@@ -26,6 +26,13 @@
<p class="comment">当前集群的子域名,和主域名一起组成集群节点的子域名。</p>
</td>
</tr>
<tr>
<td>自动设置CNAME记录</td>
<td>
<values-box :values="cnameRecords" name="cnameRecords" placeholder="记录名" ref="cnameRecords"></values-box>
<p class="comment">除了集群节点记录之外自动加入的CNAME记录比如<code-label @click.prevent="addCnameRecord('@')">@</code-label><code-label @click.prevent="addCnameRecord('www')">www</code-label></p>
</td>
</tr>
<tr>
<td colspan="2"><more-options-indicator></more-options-indicator></td>
</tr>

View File

@@ -6,4 +6,8 @@ Tea.context(function () {
this.domain.id = domain.id
this.domain.name = domain.name
}
this.addCnameRecord = function (name) {
this.$refs.cnameRecords.addValue(name)
}
})

View File

@@ -31,6 +31,15 @@
<span v-else class="disabled">没有设置</span>
</td>
</tr>
<tr>
<td>自动设置CNAME记录</td>
<td>
<span v-if="dnsInfo.cnameRecords.length == 0" class="disabled">暂时还没有设置。</span>
<div v-else>
<span v-for="record in dnsInfo.cnameRecords" class="ui label basic small">{{record}}</span>
</div>
</td>
</tr>
<tr v-if="dnsInfo.domainName.length > 0">
<td>操作</td>
<td>

View File

@@ -44,6 +44,13 @@
<p class="comment">子域名和主域名共同组成集群的域名。</p>
</td>
</tr>
<tr>
<td>自动设置CNAME记录</td>
<td>
<values-box :values="cnameRecords" name="cnameRecords" placeholder="记录名" ref="cnameRecords"></values-box>
<p class="comment">除了集群节点记录之外自动加入的CNAME记录比如<code-label @click.prevent="addCnameRecord('@')">@</code-label><code-label @click.prevent="addCnameRecord('www')">www</code-label></p>
</td>
</tr>
<tr>
<td colspan="2"><more-options-indicator></more-options-indicator></td>
</tr>

View File

@@ -77,4 +77,11 @@ Tea.context(function () {
this.domain = domainInfo.name
}
}
/**
* 自动设置CNAME
*/
this.addCnameRecord = function (name) {
this.$refs.cnameRecords.addValue(name)
}
})