在选择线路弹窗可以从域名中获取线路

This commit is contained in:
GoEdgeLab
2021-09-06 09:16:19 +08:00
parent aa88cef7fd
commit 1c2ed070ca
8 changed files with 98 additions and 4 deletions

View File

@@ -45,6 +45,7 @@ func init() {
Get("/thresholds", new(thresholds.IndexAction)).
Get("/detail", new(node.DetailAction)).
GetPost("/updateDNSPopup", new(node.UpdateDNSPopupAction)).
Post("/syncDomain", new(node.SyncDomainAction)).
// 分组相关
Prefix("/clusters/cluster/groups").

View File

@@ -0,0 +1,33 @@
package node
import (
"github.com/TeaOSLab/EdgeAdmin/internal/oplogs"
"github.com/TeaOSLab/EdgeAdmin/internal/web/actions/actionutils"
"github.com/TeaOSLab/EdgeCommon/pkg/rpc/pb"
)
type SyncDomainAction struct {
actionutils.ParentAction
}
func (this *SyncDomainAction) RunPost(params struct {
DomainId int64
}) {
// 记录日志
defer this.CreateLog(oplogs.LevelInfo, "同步DNS域名数据 %d", params.DomainId)
// 执行同步
resp, err := this.RPC().DNSDomainRPC().SyncDNSDomainData(this.AdminContext(), &pb.SyncDNSDomainDataRequest{DnsDomainId: params.DomainId})
if err != nil {
this.ErrorPage(err)
return
}
if resp.IsOk {
this.Success()
} else {
this.Data["shouldFix"] = resp.ShouldFix
this.Fail(resp.Error)
}
this.Success()
}

View File

@@ -56,6 +56,7 @@ func init() {
Data("teaSubMenu", "issue").
GetPost("", new(issues.IndexAction)).
GetPost("/updateNodePopup", new(issues.UpdateNodePopupAction)).
Post("/syncDomain", new(issues.SyncDomainAction)).
EndData().
EndAll()
})

View File

@@ -0,0 +1,33 @@
package issues
import (
"github.com/TeaOSLab/EdgeAdmin/internal/oplogs"
"github.com/TeaOSLab/EdgeAdmin/internal/web/actions/actionutils"
"github.com/TeaOSLab/EdgeCommon/pkg/rpc/pb"
)
type SyncDomainAction struct {
actionutils.ParentAction
}
func (this *SyncDomainAction) RunPost(params struct {
DomainId int64
}) {
// 记录日志
defer this.CreateLog(oplogs.LevelInfo, "同步DNS域名数据 %d", params.DomainId)
// 执行同步
resp, err := this.RPC().DNSDomainRPC().SyncDNSDomainData(this.AdminContext(), &pb.SyncDNSDomainDataRequest{DnsDomainId: params.DomainId})
if err != nil {
this.ErrorPage(err)
return
}
if resp.IsOk {
this.Success()
} else {
this.Data["shouldFix"] = resp.ShouldFix
this.Fail(resp.Error)
}
this.Success()
}

View File

@@ -24,10 +24,10 @@
<tr v-if="domainId > 0">
<td>线路</td>
<td>
<p class="comment" v-if="allRoutes.length == 0">没有可选的线路。</p>
<p class="comment" v-if="allRoutes.length == 0">没有可选的线路。<a href="" @click.prevent="syncDomain(domainId)">[获取线路]</a></p>
<div v-if="allRoutes.length > 0">
<dns-route-selector :v-all-routes="allRoutes" :v-routes="routes"></dns-route-selector>
<p class="comment">当前节点IP对应的线路。</p>
<p class="comment">当前节点IP对应的线路。<a href="" @click.prevent="syncDomain(domainId)">[重新获取线路]</a></p>
</div>
</td>
</tr>

View File

@@ -0,0 +1,13 @@
Tea.context(function () {
this.syncDomain = function (domainId) {
this.$post(".syncDomain")
.params({
domainId: domainId
})
.success(function () {
teaweb.success("从服务商获取线路成功", function () {
window.location.reload()
})
})
}
})

View File

@@ -24,10 +24,10 @@
<tr v-if="domainId > 0">
<td>线路</td>
<td>
<p class="comment" v-if="allRoutes.length == 0">没有可选的线路。</p>
<p class="comment" v-if="allRoutes.length == 0">没有可选的线路。<a href="" @click.prevent="syncDomain(domainId)">[获取线路]</a></p>
<div v-if="allRoutes.length > 0">
<dns-route-selector :v-all-routes="allRoutes" :v-routes="routes"></dns-route-selector>
<p class="comment">当前节点IP对应的线路。</p>
<p class="comment">当前节点IP对应的线路。<a href="" @click.prevent="syncDomain(domainId)">[重新获取线路]</a></p>
</div>
</td>
</tr>

View File

@@ -0,0 +1,13 @@
Tea.context(function () {
this.syncDomain = function (domainId) {
this.$post(".syncDomain")
.params({
domainId: domainId
})
.success(function () {
teaweb.success("从服务商获取线路成功", function () {
window.location.reload()
})
})
}
})