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("/thresholds", new(thresholds.IndexAction)).
 | 
				
			||||||
			Get("/detail", new(node.DetailAction)).
 | 
								Get("/detail", new(node.DetailAction)).
 | 
				
			||||||
			GetPost("/updateDNSPopup", new(node.UpdateDNSPopupAction)).
 | 
								GetPost("/updateDNSPopup", new(node.UpdateDNSPopupAction)).
 | 
				
			||||||
 | 
								Post("/syncDomain", new(node.SyncDomainAction)).
 | 
				
			||||||
 | 
					
 | 
				
			||||||
			// 分组相关
 | 
								// 分组相关
 | 
				
			||||||
			Prefix("/clusters/cluster/groups").
 | 
								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").
 | 
								Data("teaSubMenu", "issue").
 | 
				
			||||||
			GetPost("", new(issues.IndexAction)).
 | 
								GetPost("", new(issues.IndexAction)).
 | 
				
			||||||
			GetPost("/updateNodePopup", new(issues.UpdateNodePopupAction)).
 | 
								GetPost("/updateNodePopup", new(issues.UpdateNodePopupAction)).
 | 
				
			||||||
 | 
								Post("/syncDomain", new(issues.SyncDomainAction)).
 | 
				
			||||||
			EndData().
 | 
								EndData().
 | 
				
			||||||
			EndAll()
 | 
								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">
 | 
							<tr v-if="domainId > 0">
 | 
				
			||||||
			<td>线路</td>
 | 
								<td>线路</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">
 | 
									<div v-if="allRoutes.length > 0">
 | 
				
			||||||
					<dns-route-selector :v-all-routes="allRoutes" :v-routes="routes"></dns-route-selector>
 | 
										<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>
 | 
									</div>
 | 
				
			||||||
			</td>
 | 
								</td>
 | 
				
			||||||
		</tr>
 | 
							</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">
 | 
							<tr v-if="domainId > 0">
 | 
				
			||||||
			<td>线路</td>
 | 
								<td>线路</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">
 | 
									<div v-if="allRoutes.length > 0">
 | 
				
			||||||
					<dns-route-selector :v-all-routes="allRoutes" :v-routes="routes"></dns-route-selector>
 | 
										<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>
 | 
									</div>
 | 
				
			||||||
			</td>
 | 
								</td>
 | 
				
			||||||
		</tr>
 | 
							</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