mirror of
				https://github.com/TeaOSLab/EdgeAdmin.git
				synced 2025-11-04 21:50:28 +08:00 
			
		
		
		
	在选择线路弹窗可以从域名中获取线路
This commit is contained in:
		@@ -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").
 | 
			
		||||
 
 | 
			
		||||
@@ -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()
 | 
			
		||||
}
 | 
			
		||||
@@ -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()
 | 
			
		||||
	})
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										33
									
								
								internal/web/actions/default/dns/issues/syncDomain.go
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										33
									
								
								internal/web/actions/default/dns/issues/syncDomain.go
									
									
									
									
									
										Normal 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()
 | 
			
		||||
}
 | 
			
		||||
@@ -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>
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										13
									
								
								web/views/@default/clusters/cluster/node/updateDNSPopup.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										13
									
								
								web/views/@default/clusters/cluster/node/updateDNSPopup.js
									
									
									
									
									
										Normal 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()
 | 
			
		||||
				})
 | 
			
		||||
			})
 | 
			
		||||
	}
 | 
			
		||||
})
 | 
			
		||||
@@ -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>
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										13
									
								
								web/views/@default/dns/issues/updateNodePopup.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										13
									
								
								web/views/@default/dns/issues/updateNodePopup.js
									
									
									
									
									
										Normal 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()
 | 
			
		||||
				})
 | 
			
		||||
			})
 | 
			
		||||
	}
 | 
			
		||||
})
 | 
			
		||||
		Reference in New Issue
	
	Block a user