mirror of
				https://github.com/TeaOSLab/EdgeAdmin.git
				synced 2025-11-04 13:10:26 +08:00 
			
		
		
		
	优化代码
This commit is contained in:
		@@ -43,6 +43,9 @@ func (this *RestartLocalAPINodeAction) RunPost(params struct {
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	// 停止1秒等待命令运行完毕
 | 
			
		||||
	time.Sleep(1 * time.Second)
 | 
			
		||||
 | 
			
		||||
	// 检查是否已启动
 | 
			
		||||
	var countTries = 120
 | 
			
		||||
	for {
 | 
			
		||||
 
 | 
			
		||||
@@ -41,7 +41,7 @@ func (this *IndexAction) RunGet(params struct {
 | 
			
		||||
		selectedCountryIds = policyConfig.Inbound.Region.DenyCountryIds
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	countriesResp, err := this.RPC().RegionCountryRPC().FindAllEnabledRegionCountries(this.AdminContext(), &pb.FindAllEnabledRegionCountriesRequest{})
 | 
			
		||||
	countriesResp, err := this.RPC().RegionCountryRPC().FindAllRegionCountries(this.AdminContext(), &pb.FindAllRegionCountriesRequest{})
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		this.ErrorPage(err)
 | 
			
		||||
		return
 | 
			
		||||
 
 | 
			
		||||
@@ -42,7 +42,7 @@ func (this *ProvincesAction) RunGet(params struct {
 | 
			
		||||
		selectedProvinceIds = policyConfig.Inbound.Region.DenyProvinceIds
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	provincesResp, err := this.RPC().RegionProvinceRPC().FindAllEnabledRegionProvincesWithCountryId(this.AdminContext(), &pb.FindAllEnabledRegionProvincesWithCountryIdRequest{
 | 
			
		||||
	provincesResp, err := this.RPC().RegionProvinceRPC().FindAllRegionProvincesWithCountryId(this.AdminContext(), &pb.FindAllRegionProvincesWithCountryIdRequest{
 | 
			
		||||
		RegionCountryId: int64(ChinaCountryId),
 | 
			
		||||
	})
 | 
			
		||||
	if err != nil {
 | 
			
		||||
 
 | 
			
		||||
@@ -46,13 +46,13 @@ func (this *CountriesAction) RunGet(params struct {
 | 
			
		||||
		selectedCountryIds = policyConfig.Inbound.Region.DenyCountryIds
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	countriesResp, err := this.RPC().RegionCountryRPC().FindAllEnabledRegionCountries(this.AdminContext(), &pb.FindAllEnabledRegionCountriesRequest{})
 | 
			
		||||
	countriesResp, err := this.RPC().RegionCountryRPC().FindAllRegionCountries(this.AdminContext(), &pb.FindAllRegionCountriesRequest{})
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		this.ErrorPage(err)
 | 
			
		||||
		return
 | 
			
		||||
	}
 | 
			
		||||
	countryMaps := []maps.Map{}
 | 
			
		||||
	for _, country := range countriesResp.Countries {
 | 
			
		||||
	for _, country := range countriesResp.RegionCountries {
 | 
			
		||||
		countryMaps = append(countryMaps, maps.Map{
 | 
			
		||||
			"id":        country.Id,
 | 
			
		||||
			"name":      country.Name,
 | 
			
		||||
 
 | 
			
		||||
@@ -46,15 +46,15 @@ func (this *ProvincesAction) RunGet(params struct {
 | 
			
		||||
		selectedProvinceIds = policyConfig.Inbound.Region.DenyProvinceIds
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	provincesResp, err := this.RPC().RegionProvinceRPC().FindAllEnabledRegionProvincesWithCountryId(this.AdminContext(), &pb.FindAllEnabledRegionProvincesWithCountryIdRequest{
 | 
			
		||||
		CountryId: int64(ChinaCountryId),
 | 
			
		||||
	provincesResp, err := this.RPC().RegionProvinceRPC().FindAllRegionProvincesWithCountryId(this.AdminContext(), &pb.FindAllRegionProvincesWithCountryIdRequest{
 | 
			
		||||
		RegionCountryId: int64(ChinaCountryId),
 | 
			
		||||
	})
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		this.ErrorPage(err)
 | 
			
		||||
		return
 | 
			
		||||
	}
 | 
			
		||||
	provinceMaps := []maps.Map{}
 | 
			
		||||
	for _, province := range provincesResp.Provinces {
 | 
			
		||||
	for _, province := range provincesResp.RegionProvinces {
 | 
			
		||||
		provinceMaps = append(provinceMaps, maps.Map{
 | 
			
		||||
			"id":        province.Id,
 | 
			
		||||
			"name":      province.Name,
 | 
			
		||||
 
 | 
			
		||||
@@ -46,7 +46,7 @@ func (this *CountriesAction) RunGet(params struct {
 | 
			
		||||
		selectedCountryIds = policyConfig.Inbound.Region.DenyCountryIds
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	countriesResp, err := this.RPC().RegionCountryRPC().FindAllEnabledRegionCountries(this.AdminContext(), &pb.FindAllEnabledRegionCountriesRequest{})
 | 
			
		||||
	countriesResp, err := this.RPC().RegionCountryRPC().FindAllRegionCountries(this.AdminContext(), &pb.FindAllRegionCountriesRequest{})
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		this.ErrorPage(err)
 | 
			
		||||
		return
 | 
			
		||||
 
 | 
			
		||||
@@ -46,7 +46,7 @@ func (this *ProvincesAction) RunGet(params struct {
 | 
			
		||||
		selectedProvinceIds = policyConfig.Inbound.Region.DenyProvinceIds
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	provincesResp, err := this.RPC().RegionProvinceRPC().FindAllEnabledRegionProvincesWithCountryId(this.AdminContext(), &pb.FindAllEnabledRegionProvincesWithCountryIdRequest{
 | 
			
		||||
	provincesResp, err := this.RPC().RegionProvinceRPC().FindAllRegionProvincesWithCountryId(this.AdminContext(), &pb.FindAllRegionProvincesWithCountryIdRequest{
 | 
			
		||||
		RegionCountryId: int64(ChinaCountryId),
 | 
			
		||||
	})
 | 
			
		||||
	if err != nil {
 | 
			
		||||
 
 | 
			
		||||
@@ -1,26 +0,0 @@
 | 
			
		||||
package iplibrary
 | 
			
		||||
 | 
			
		||||
import (
 | 
			
		||||
	"github.com/TeaOSLab/EdgeAdmin/internal/oplogs"
 | 
			
		||||
	"github.com/TeaOSLab/EdgeAdmin/internal/web/actions/actionutils"
 | 
			
		||||
	"github.com/TeaOSLab/EdgeCommon/pkg/rpc/pb"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
type DeleteAction struct {
 | 
			
		||||
	actionutils.ParentAction
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (this *DeleteAction) RunPost(params struct {
 | 
			
		||||
	LibraryId int64
 | 
			
		||||
}) {
 | 
			
		||||
	// 创建日志
 | 
			
		||||
	defer this.CreateLog(oplogs.LevelInfo, "删除IP库 %d", params.LibraryId)
 | 
			
		||||
 | 
			
		||||
	_, err := this.RPC().IPLibraryRPC().DeleteIPLibrary(this.AdminContext(), &pb.DeleteIPLibraryRequest{IpLibraryId: params.LibraryId})
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		this.ErrorPage(err)
 | 
			
		||||
		return
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	this.Success()
 | 
			
		||||
}
 | 
			
		||||
@@ -1,50 +0,0 @@
 | 
			
		||||
package iplibrary
 | 
			
		||||
 | 
			
		||||
import (
 | 
			
		||||
	"github.com/TeaOSLab/EdgeAdmin/internal/oplogs"
 | 
			
		||||
	"github.com/TeaOSLab/EdgeAdmin/internal/web/actions/actionutils"
 | 
			
		||||
	"github.com/TeaOSLab/EdgeCommon/pkg/rpc/pb"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
type DownloadAction struct {
 | 
			
		||||
	actionutils.ParentAction
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (this *DownloadAction) Init() {
 | 
			
		||||
	this.Nav("", "", "")
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (this *DownloadAction) RunGet(params struct {
 | 
			
		||||
	LibraryId int64
 | 
			
		||||
}) {
 | 
			
		||||
	// 日志
 | 
			
		||||
	defer this.CreateLog(oplogs.LevelInfo, "下载IP库 %d", params.LibraryId)
 | 
			
		||||
 | 
			
		||||
	libraryResp, err := this.RPC().IPLibraryRPC().FindEnabledIPLibrary(this.AdminContext(), &pb.FindEnabledIPLibraryRequest{IpLibraryId: params.LibraryId})
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		this.ErrorPage(err)
 | 
			
		||||
		return
 | 
			
		||||
	}
 | 
			
		||||
	if libraryResp.IpLibrary == nil || libraryResp.IpLibrary.File == nil {
 | 
			
		||||
		this.NotFound("ipLibrary", params.LibraryId)
 | 
			
		||||
		return
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	file := libraryResp.IpLibrary.File
 | 
			
		||||
	chunkIdsResp, err := this.RPC().FileChunkRPC().FindAllFileChunkIds(this.AdminContext(), &pb.FindAllFileChunkIdsRequest{FileId: file.Id})
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		this.ErrorPage(err)
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	this.AddHeader("Content-Disposition", "attachment; filename=\""+file.Filename+"\";")
 | 
			
		||||
	for _, chunkId := range chunkIdsResp.FileChunkIds {
 | 
			
		||||
		chunkResp, err := this.RPC().FileChunkRPC().DownloadFileChunk(this.AdminContext(), &pb.DownloadFileChunkRequest{FileChunkId: chunkId})
 | 
			
		||||
		if err != nil {
 | 
			
		||||
			this.ErrorPage(err)
 | 
			
		||||
			return
 | 
			
		||||
		}
 | 
			
		||||
		if chunkResp.FileChunk != nil {
 | 
			
		||||
			this.Write(chunkResp.FileChunk.Data)
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
@@ -1,22 +0,0 @@
 | 
			
		||||
package iplibrary
 | 
			
		||||
 | 
			
		||||
import (
 | 
			
		||||
	"github.com/iwind/TeaGo/actions"
 | 
			
		||||
	"net/http"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
type Helper struct {
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func NewHelper() *Helper {
 | 
			
		||||
	return &Helper{}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (this *Helper) BeforeAction(action *actions.ActionObject) {
 | 
			
		||||
	if action.Request.Method != http.MethodGet {
 | 
			
		||||
		return
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	action.Data["mainTab"] = "component"
 | 
			
		||||
	action.Data["secondMenuItem"] = "ip-library"
 | 
			
		||||
}
 | 
			
		||||
@@ -1,56 +0,0 @@
 | 
			
		||||
package iplibrary
 | 
			
		||||
 | 
			
		||||
import (
 | 
			
		||||
	"fmt"
 | 
			
		||||
	"github.com/TeaOSLab/EdgeAdmin/internal/web/actions/actionutils"
 | 
			
		||||
	"github.com/TeaOSLab/EdgeCommon/pkg/rpc/pb"
 | 
			
		||||
	"github.com/TeaOSLab/EdgeCommon/pkg/serverconfigs"
 | 
			
		||||
	"github.com/iwind/TeaGo/maps"
 | 
			
		||||
	timeutil "github.com/iwind/TeaGo/utils/time"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
type IndexAction struct {
 | 
			
		||||
	actionutils.ParentAction
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (this *IndexAction) Init() {
 | 
			
		||||
	this.FirstMenu("index")
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (this *IndexAction) RunGet(params struct {
 | 
			
		||||
	Type string
 | 
			
		||||
}) {
 | 
			
		||||
	if len(params.Type) == 0 {
 | 
			
		||||
		params.Type = serverconfigs.IPLibraryTypes[0].GetString("code")
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	this.Data["types"] = serverconfigs.IPLibraryTypes
 | 
			
		||||
	this.Data["selectedType"] = params.Type
 | 
			
		||||
 | 
			
		||||
	// 列表
 | 
			
		||||
	listResp, err := this.RPC().IPLibraryRPC().FindAllEnabledIPLibrariesWithType(this.AdminContext(), &pb.FindAllEnabledIPLibrariesWithTypeRequest{Type: params.Type})
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		this.ErrorPage(err)
 | 
			
		||||
		return
 | 
			
		||||
	}
 | 
			
		||||
	libraryMaps := []maps.Map{}
 | 
			
		||||
	for _, library := range listResp.IpLibraries {
 | 
			
		||||
		var fileMap maps.Map = nil
 | 
			
		||||
		if library.File != nil {
 | 
			
		||||
			fileMap = maps.Map{
 | 
			
		||||
				"id":       library.File.Id,
 | 
			
		||||
				"filename": library.File.Filename,
 | 
			
		||||
				"sizeMB":   fmt.Sprintf("%.2f", float64(library.File.Size)/1024/1024),
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		libraryMaps = append(libraryMaps, maps.Map{
 | 
			
		||||
			"id":          library.Id,
 | 
			
		||||
			"file":        fileMap,
 | 
			
		||||
			"createdTime": timeutil.FormatTime("Y-m-d H:i:s", library.CreatedAt),
 | 
			
		||||
		})
 | 
			
		||||
	}
 | 
			
		||||
	this.Data["libraries"] = libraryMaps
 | 
			
		||||
 | 
			
		||||
	this.Show()
 | 
			
		||||
}
 | 
			
		||||
@@ -1,23 +0,0 @@
 | 
			
		||||
package iplibrary
 | 
			
		||||
 | 
			
		||||
import (
 | 
			
		||||
	"github.com/TeaOSLab/EdgeAdmin/internal/configloaders"
 | 
			
		||||
	"github.com/TeaOSLab/EdgeAdmin/internal/web/actions/default/settings/settingutils"
 | 
			
		||||
	"github.com/TeaOSLab/EdgeAdmin/internal/web/helpers"
 | 
			
		||||
	"github.com/iwind/TeaGo"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
func init() {
 | 
			
		||||
	TeaGo.BeforeStart(func(server *TeaGo.Server) {
 | 
			
		||||
		server.
 | 
			
		||||
			Helper(helpers.NewUserMustAuth(configloaders.AdminModuleCodeSetting)).
 | 
			
		||||
			Helper(NewHelper()).
 | 
			
		||||
			Helper(settingutils.NewHelper("ipLibrary")).
 | 
			
		||||
			Prefix("/settings/ip-library").
 | 
			
		||||
			Get("", new(IndexAction)).
 | 
			
		||||
			GetPost("/uploadPopup", new(UploadPopupAction)).
 | 
			
		||||
			Post("/delete", new(DeleteAction)).
 | 
			
		||||
			Get("/download", new(DownloadAction)).
 | 
			
		||||
			EndAll()
 | 
			
		||||
	})
 | 
			
		||||
}
 | 
			
		||||
@@ -1,111 +0,0 @@
 | 
			
		||||
package iplibrary
 | 
			
		||||
 | 
			
		||||
import (
 | 
			
		||||
	"github.com/TeaOSLab/EdgeAdmin/internal/oplogs"
 | 
			
		||||
	"github.com/TeaOSLab/EdgeAdmin/internal/web/actions/actionutils"
 | 
			
		||||
	"github.com/TeaOSLab/EdgeCommon/pkg/rpc/pb"
 | 
			
		||||
	"github.com/TeaOSLab/EdgeCommon/pkg/serverconfigs"
 | 
			
		||||
	"github.com/iwind/TeaGo/actions"
 | 
			
		||||
	"io"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
type UploadPopupAction struct {
 | 
			
		||||
	actionutils.ParentAction
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (this *UploadPopupAction) Init() {
 | 
			
		||||
	this.Nav("", "", "")
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (this *UploadPopupAction) RunGet(params struct{}) {
 | 
			
		||||
	this.Data["types"] = serverconfigs.IPLibraryTypes
 | 
			
		||||
 | 
			
		||||
	this.Show()
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (this *UploadPopupAction) RunPost(params struct {
 | 
			
		||||
	Type string
 | 
			
		||||
	File *actions.File
 | 
			
		||||
 | 
			
		||||
	Must *actions.Must
 | 
			
		||||
}) {
 | 
			
		||||
	libraryType := serverconfigs.FindIPLibraryWithType(params.Type)
 | 
			
		||||
	if libraryType == nil {
 | 
			
		||||
		this.Fail("错误的IP类型")
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	if params.File == nil {
 | 
			
		||||
		this.Fail("请选择要上传的文件")
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	if params.File.Size == 0 {
 | 
			
		||||
		this.Fail("文件内容不能为空")
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	if params.File.Ext != libraryType.GetString("ext") {
 | 
			
		||||
		this.Fail("IP库文件扩展名错误,应该为:" + libraryType.GetString("ext"))
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	reader, err := params.File.OriginFile.Open()
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		this.ErrorPage(err)
 | 
			
		||||
		return
 | 
			
		||||
	}
 | 
			
		||||
	defer func() {
 | 
			
		||||
		_ = reader.Close()
 | 
			
		||||
	}()
 | 
			
		||||
 | 
			
		||||
	// 创建文件
 | 
			
		||||
	fileResp, err := this.RPC().FileRPC().CreateFile(this.AdminContext(), &pb.CreateFileRequest{
 | 
			
		||||
		Filename: params.File.Filename,
 | 
			
		||||
		Size:     params.File.Size,
 | 
			
		||||
	})
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		this.ErrorPage(err)
 | 
			
		||||
		return
 | 
			
		||||
	}
 | 
			
		||||
	fileId := fileResp.FileId
 | 
			
		||||
 | 
			
		||||
	// 上传内容
 | 
			
		||||
	buf := make([]byte, 512*1024)
 | 
			
		||||
	for {
 | 
			
		||||
		n, err := reader.Read(buf)
 | 
			
		||||
		if n > 0 {
 | 
			
		||||
			_, err = this.RPC().FileChunkRPC().CreateFileChunk(this.AdminContext(), &pb.CreateFileChunkRequest{
 | 
			
		||||
				FileId: fileId,
 | 
			
		||||
				Data:   buf[:n],
 | 
			
		||||
			})
 | 
			
		||||
			if err != nil {
 | 
			
		||||
				this.Fail("上传失败:" + err.Error())
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
		if err != nil {
 | 
			
		||||
			if err == io.EOF {
 | 
			
		||||
				break
 | 
			
		||||
			}
 | 
			
		||||
			this.Fail("上传失败:" + err.Error())
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	// 置为已完成
 | 
			
		||||
	_, err = this.RPC().FileRPC().UpdateFileFinished(this.AdminContext(), &pb.UpdateFileFinishedRequest{FileId: fileId})
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		this.ErrorPage(err)
 | 
			
		||||
		return
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	// 保存
 | 
			
		||||
	createResp, err := this.RPC().IPLibraryRPC().CreateIPLibrary(this.AdminContext(), &pb.CreateIPLibraryRequest{
 | 
			
		||||
		Type:   params.Type,
 | 
			
		||||
		FileId: fileId,
 | 
			
		||||
	})
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		this.ErrorPage(err)
 | 
			
		||||
		return
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	// 创建日志
 | 
			
		||||
	defer this.CreateLog(oplogs.LevelInfo, "上传IP库 %d", createResp.IpLibraryId)
 | 
			
		||||
 | 
			
		||||
	this.Success()
 | 
			
		||||
}
 | 
			
		||||
@@ -31,7 +31,7 @@ func (this *IndexAction) RunGet(params struct{}) {
 | 
			
		||||
	// 国家和地区
 | 
			
		||||
	var countryMaps = []maps.Map{}
 | 
			
		||||
	for _, countryId := range config.AllowCountryIds {
 | 
			
		||||
		countryResp, err := this.RPC().RegionCountryRPC().FindEnabledRegionCountry(this.AdminContext(), &pb.FindEnabledRegionCountryRequest{RegionCountryId: countryId})
 | 
			
		||||
		countryResp, err := this.RPC().RegionCountryRPC().FindRegionCountry(this.AdminContext(), &pb.FindRegionCountryRequest{RegionCountryId: countryId})
 | 
			
		||||
		if err != nil {
 | 
			
		||||
			this.ErrorPage(err)
 | 
			
		||||
			return
 | 
			
		||||
@@ -49,7 +49,7 @@ func (this *IndexAction) RunGet(params struct{}) {
 | 
			
		||||
	// 省份
 | 
			
		||||
	var provinceMaps = []maps.Map{}
 | 
			
		||||
	for _, provinceId := range config.AllowProvinceIds {
 | 
			
		||||
		provinceResp, err := this.RPC().RegionProvinceRPC().FindEnabledRegionProvince(this.AdminContext(), &pb.FindEnabledRegionProvinceRequest{RegionProvinceId: provinceId})
 | 
			
		||||
		provinceResp, err := this.RPC().RegionProvinceRPC().FindRegionProvince(this.AdminContext(), &pb.FindRegionProvinceRequest{RegionProvinceId: provinceId})
 | 
			
		||||
		if err != nil {
 | 
			
		||||
			this.ErrorPage(err)
 | 
			
		||||
			return
 | 
			
		||||
 
 | 
			
		||||
@@ -22,14 +22,14 @@ func NewAdvancedHelper(tab string) *AdvancedHelper {
 | 
			
		||||
func (this *AdvancedHelper) BeforeAction(actionPtr actions.ActionWrapper) (goNext bool) {
 | 
			
		||||
	goNext = true
 | 
			
		||||
 | 
			
		||||
	action := actionPtr.Object()
 | 
			
		||||
	var action = actionPtr.Object()
 | 
			
		||||
 | 
			
		||||
	// 左侧菜单
 | 
			
		||||
	action.Data["teaMenu"] = "settings"
 | 
			
		||||
	action.Data["teaSubMenu"] = "advanced"
 | 
			
		||||
 | 
			
		||||
	// 标签栏
 | 
			
		||||
	tabbar := actionutils.NewTabbar()
 | 
			
		||||
	var tabbar = actionutils.NewTabbar()
 | 
			
		||||
	var session = action.Session()
 | 
			
		||||
	var adminId = session.GetInt64("adminId")
 | 
			
		||||
	if configloaders.AllowModule(adminId, configloaders.AdminModuleCodeSetting) {
 | 
			
		||||
 
 | 
			
		||||
@@ -1,8 +1,9 @@
 | 
			
		||||
//go:build !plus
 | 
			
		||||
 | 
			
		||||
package settingutils
 | 
			
		||||
 | 
			
		||||
import (
 | 
			
		||||
	"github.com/TeaOSLab/EdgeAdmin/internal/configloaders"
 | 
			
		||||
	teaconst "github.com/TeaOSLab/EdgeAdmin/internal/const"
 | 
			
		||||
	"github.com/TeaOSLab/EdgeAdmin/internal/web/actions/actionutils"
 | 
			
		||||
	"github.com/iwind/TeaGo/actions"
 | 
			
		||||
)
 | 
			
		||||
@@ -20,23 +21,19 @@ func NewHelper(tab string) *Helper {
 | 
			
		||||
func (this *Helper) BeforeAction(actionPtr actions.ActionWrapper) (goNext bool) {
 | 
			
		||||
	goNext = true
 | 
			
		||||
 | 
			
		||||
	action := actionPtr.Object()
 | 
			
		||||
	var action = actionPtr.Object()
 | 
			
		||||
 | 
			
		||||
	// 左侧菜单
 | 
			
		||||
	action.Data["teaMenu"] = "settings"
 | 
			
		||||
 | 
			
		||||
	// 标签栏
 | 
			
		||||
	tabbar := actionutils.NewTabbar()
 | 
			
		||||
	var tabbar = actionutils.NewTabbar()
 | 
			
		||||
	var session = action.Session()
 | 
			
		||||
	var adminId = session.GetInt64("adminId")
 | 
			
		||||
	if configloaders.AllowModule(adminId, configloaders.AdminModuleCodeSetting) {
 | 
			
		||||
		tabbar.Add("Web服务", "", "/settings/server", "", this.tab == "server")
 | 
			
		||||
		tabbar.Add("管理界面设置", "", "/settings/ui", "", this.tab == "ui")
 | 
			
		||||
		if teaconst.IsPlus {
 | 
			
		||||
			tabbar.Add("用户界面设置", "", "/settings/user-ui", "", this.tab == "userUI")
 | 
			
		||||
		}
 | 
			
		||||
		tabbar.Add("安全设置", "", "/settings/security", "", this.tab == "security")
 | 
			
		||||
		//tabbar.Add("IP库", "", "/settings/ip-library", "", this.tab == "ipLibrary")
 | 
			
		||||
		tabbar.Add("检查更新", "", "/settings/updates", "", this.tab == "updates")
 | 
			
		||||
	}
 | 
			
		||||
	tabbar.Add("个人资料", "", "/settings/profile", "", this.tab == "profile")
 | 
			
		||||
 
 | 
			
		||||
@@ -13,7 +13,7 @@ type CityOptionsAction struct {
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (this *CityOptionsAction) RunPost(params struct{}) {
 | 
			
		||||
	citiesResp, err := this.RPC().RegionCityRPC().FindAllEnabledRegionCities(this.AdminContext(), &pb.FindAllEnabledRegionCitiesRequest{
 | 
			
		||||
	citiesResp, err := this.RPC().RegionCityRPC().FindAllRegionCities(this.AdminContext(), &pb.FindAllRegionCitiesRequest{
 | 
			
		||||
		IncludeRegionProvince: true,
 | 
			
		||||
	})
 | 
			
		||||
	if err != nil {
 | 
			
		||||
 
 | 
			
		||||
@@ -14,7 +14,7 @@ type CountryOptionsAction struct {
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (this *CountryOptionsAction) RunPost(params struct{}) {
 | 
			
		||||
	countriesResp, err := this.RPC().RegionCountryRPC().FindAllEnabledRegionCountries(this.AdminContext(), &pb.FindAllEnabledRegionCountriesRequest{})
 | 
			
		||||
	countriesResp, err := this.RPC().RegionCountryRPC().FindAllRegionCountries(this.AdminContext(), &pb.FindAllRegionCountriesRequest{})
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		this.ErrorPage(err)
 | 
			
		||||
		return
 | 
			
		||||
 
 | 
			
		||||
@@ -13,7 +13,7 @@ type ProviderOptionsAction struct {
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (this *ProviderOptionsAction) RunPost(params struct{}) {
 | 
			
		||||
	providersResp, err := this.RPC().RegionProviderRPC().FindAllEnabledRegionProviders(this.AdminContext(), &pb.FindAllEnabledRegionProvidersRequest{})
 | 
			
		||||
	providersResp, err := this.RPC().RegionProviderRPC().FindAllRegionProviders(this.AdminContext(), &pb.FindAllRegionProvidersRequest{})
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		this.ErrorPage(err)
 | 
			
		||||
		return
 | 
			
		||||
 
 | 
			
		||||
@@ -13,7 +13,7 @@ type ProvinceOptionsAction struct {
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (this *ProvinceOptionsAction) RunPost(params struct{}) {
 | 
			
		||||
	provincesResp, err := this.RPC().RegionProvinceRPC().FindAllEnabledRegionProvincesWithCountryId(this.AdminContext(), &pb.FindAllEnabledRegionProvincesWithCountryIdRequest{RegionCountryId: ChinaCountryId})
 | 
			
		||||
	provincesResp, err := this.RPC().RegionProvinceRPC().FindAllRegionProvincesWithCountryId(this.AdminContext(), &pb.FindAllRegionProvincesWithCountryIdRequest{RegionCountryId: ChinaCountryId})
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		this.ErrorPage(err)
 | 
			
		||||
		return
 | 
			
		||||
 
 | 
			
		||||
@@ -23,7 +23,7 @@ func (this *SelectCountriesPopupAction) RunGet(params struct {
 | 
			
		||||
}) {
 | 
			
		||||
	var selectedCountryIds = utils.SplitNumbers(params.CountryIds)
 | 
			
		||||
 | 
			
		||||
	countriesResp, err := this.RPC().RegionCountryRPC().FindAllEnabledRegionCountries(this.AdminContext(), &pb.FindAllEnabledRegionCountriesRequest{})
 | 
			
		||||
	countriesResp, err := this.RPC().RegionCountryRPC().FindAllRegionCountries(this.AdminContext(), &pb.FindAllRegionCountriesRequest{})
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		this.ErrorPage(err)
 | 
			
		||||
		return
 | 
			
		||||
@@ -50,7 +50,7 @@ func (this *SelectCountriesPopupAction) RunPost(params struct {
 | 
			
		||||
}) {
 | 
			
		||||
	var countryMaps = []maps.Map{}
 | 
			
		||||
	for _, countryId := range params.CountryIds {
 | 
			
		||||
		countryResp, err := this.RPC().RegionCountryRPC().FindEnabledRegionCountry(this.AdminContext(), &pb.FindEnabledRegionCountryRequest{RegionCountryId: countryId})
 | 
			
		||||
		countryResp, err := this.RPC().RegionCountryRPC().FindRegionCountry(this.AdminContext(), &pb.FindRegionCountryRequest{RegionCountryId: countryId})
 | 
			
		||||
		if err != nil {
 | 
			
		||||
			this.ErrorPage(err)
 | 
			
		||||
			return
 | 
			
		||||
 
 | 
			
		||||
@@ -24,7 +24,7 @@ func (this *SelectProvincesPopupAction) RunGet(params struct {
 | 
			
		||||
}) {
 | 
			
		||||
	var selectedProvinceIds = utils.SplitNumbers(params.ProvinceIds)
 | 
			
		||||
 | 
			
		||||
	provincesResp, err := this.RPC().RegionProvinceRPC().FindAllEnabledRegionProvincesWithCountryId(this.AdminContext(), &pb.FindAllEnabledRegionProvincesWithCountryIdRequest{RegionCountryId: ChinaCountryId})
 | 
			
		||||
	provincesResp, err := this.RPC().RegionProvinceRPC().FindAllRegionProvincesWithCountryId(this.AdminContext(), &pb.FindAllRegionProvincesWithCountryIdRequest{RegionCountryId: ChinaCountryId})
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		this.ErrorPage(err)
 | 
			
		||||
		return
 | 
			
		||||
@@ -50,7 +50,7 @@ func (this *SelectProvincesPopupAction) RunPost(params struct {
 | 
			
		||||
}) {
 | 
			
		||||
	var provinceMaps = []maps.Map{}
 | 
			
		||||
	for _, provinceId := range params.ProvinceIds {
 | 
			
		||||
		provinceResp, err := this.RPC().RegionProvinceRPC().FindEnabledRegionProvince(this.AdminContext(), &pb.FindEnabledRegionProvinceRequest{RegionProvinceId: provinceId})
 | 
			
		||||
		provinceResp, err := this.RPC().RegionProvinceRPC().FindRegionProvince(this.AdminContext(), &pb.FindRegionProvinceRequest{RegionProvinceId: provinceId})
 | 
			
		||||
		if err != nil {
 | 
			
		||||
			this.ErrorPage(err)
 | 
			
		||||
			return
 | 
			
		||||
 
 | 
			
		||||
@@ -115,7 +115,6 @@ import (
 | 
			
		||||
	_ "github.com/TeaOSLab/EdgeAdmin/internal/web/actions/default/settings"
 | 
			
		||||
	_ "github.com/TeaOSLab/EdgeAdmin/internal/web/actions/default/settings/backup"
 | 
			
		||||
	_ "github.com/TeaOSLab/EdgeAdmin/internal/web/actions/default/settings/database"
 | 
			
		||||
	_ "github.com/TeaOSLab/EdgeAdmin/internal/web/actions/default/settings/ip-library"
 | 
			
		||||
	_ "github.com/TeaOSLab/EdgeAdmin/internal/web/actions/default/settings/login"
 | 
			
		||||
	_ "github.com/TeaOSLab/EdgeAdmin/internal/web/actions/default/settings/profile"
 | 
			
		||||
	_ "github.com/TeaOSLab/EdgeAdmin/internal/web/actions/default/settings/security"
 | 
			
		||||
 
 | 
			
		||||
@@ -212,7 +212,9 @@ Tea.context(function () {
 | 
			
		||||
			})
 | 
			
		||||
			.timeout(300)
 | 
			
		||||
			.success(function () {
 | 
			
		||||
				this.$delay(function () {
 | 
			
		||||
					teaweb.reload()
 | 
			
		||||
				}, 5000)
 | 
			
		||||
			})
 | 
			
		||||
			.done(function () {
 | 
			
		||||
				this.isRestartingLocalAPINode = false
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user