Compare commits

...

4 Commits

Author SHA1 Message Date
刘祥超
d8393481a4 修改域名变更时是否需要审核的初始状态 2021-11-25 12:10:23 +08:00
刘祥超
70d3202a2c 服务增加是否合并URL中的多余分隔符选项 2021-11-24 14:49:42 +08:00
刘祥超
c7f1bbc03d 版本号改为0.3.6 2021-11-24 14:03:56 +08:00
刘祥超
61a55cb3f4 优化命名 2021-11-24 11:58:01 +08:00
66 changed files with 236 additions and 94 deletions

View File

@@ -1,9 +1,9 @@
package teaconst
const (
Version = "0.3.5.2"
Version = "0.3.6"
APINodeVersion = "0.3.5.2"
APINodeVersion = "0.3.6"
ProductName = "Edge Admin"
ProcessName = "edge-admin"

View File

@@ -33,7 +33,7 @@ func (this *IndexAction) RunGet(params struct{}) {
globalConfig := &serverconfigs.GlobalConfig{}
// 默认值
globalConfig.HTTPAll.DomainAuditingIsOn = true
globalConfig.HTTPAll.DomainAuditingIsOn = false
if len(valueJSON) > 0 {
err = json.Unmarshal(valueJSON, globalConfig)

View File

@@ -364,7 +364,7 @@ func (this *CreateAction) RunPost(params struct {
this.ErrorPage(err)
return
}
webId = webResp.WebId
webId = webResp.HttpWebId
}
// 包含条件
@@ -462,7 +462,7 @@ func (this *CreateAction) RunPost(params struct {
// 访问日志
if params.AccessLogIsOn {
_, err = this.RPC().HTTPWebRPC().UpdateHTTPWebAccessLog(this.AdminContext(), &pb.UpdateHTTPWebAccessLogRequest{
WebId: webConfig.Id,
HttpWebId: webConfig.Id,
AccessLogJSON: []byte(`{
"isPrior": false,
"isOn": true,
@@ -501,7 +501,7 @@ func (this *CreateAction) RunPost(params struct {
} else {
websocketId := createWebSocketResp.WebsocketId
_, err = this.RPC().HTTPWebRPC().UpdateHTTPWebWebsocket(this.AdminContext(), &pb.UpdateHTTPWebWebsocketRequest{
WebId: webConfig.Id,
HttpWebId: webConfig.Id,
WebsocketJSON: []byte(` {
"isPrior": false,
"isOn": true,
@@ -530,7 +530,7 @@ func (this *CreateAction) RunPost(params struct {
return
}
_, err = this.RPC().HTTPWebRPC().UpdateHTTPWebCache(this.AdminContext(), &pb.UpdateHTTPWebCacheRequest{
WebId: webConfig.Id,
HttpWebId: webConfig.Id,
CacheJSON: cacheConfigJSON,
})
if err != nil {
@@ -552,7 +552,7 @@ func (this *CreateAction) RunPost(params struct {
return
}
_, err = this.RPC().HTTPWebRPC().UpdateHTTPWebFirewall(this.AdminContext(), &pb.UpdateHTTPWebFirewallRequest{
WebId: webConfig.Id,
HttpWebId: webConfig.Id,
FirewallJSON: firewallRefJSON,
})
if err != nil {
@@ -575,7 +575,7 @@ func (this *CreateAction) RunPost(params struct {
return
}
_, err = this.RPC().HTTPWebRPC().UpdateHTTPWebRemoteAddr(this.AdminContext(), &pb.UpdateHTTPWebRemoteAddrRequest{
WebId: webConfig.Id,
HttpWebId: webConfig.Id,
RemoteAddrJSON: remoteAddrConfigJSON,
})
if err != nil {

View File

@@ -56,7 +56,7 @@ func (this *IndexAction) RunPost(params struct {
// TODO 检查参数
_, err := this.RPC().HTTPWebRPC().UpdateHTTPWebAccessLog(this.AdminContext(), &pb.UpdateHTTPWebAccessLogRequest{
WebId: params.WebId,
HttpWebId: params.WebId,
AccessLogJSON: params.AccessLogJSON,
})
if err != nil {

View File

@@ -76,7 +76,7 @@ func (this *IndexAction) RunPost(params struct {
}
_, err = this.RPC().HTTPWebRPC().UpdateHTTPWebCache(this.AdminContext(), &pb.UpdateHTTPWebCacheRequest{
WebId: params.WebId,
HttpWebId: params.WebId,
CacheJSON: cacheJSON,
})
if err != nil {

View File

@@ -52,7 +52,7 @@ func (this *IndexAction) RunPost(params struct {
defer this.CreateLog(oplogs.LevelInfo, "修改Web %d 的字符集设置", params.WebId)
_, err := this.RPC().HTTPWebRPC().UpdateHTTPWebCharset(this.AdminContext(), &pb.UpdateHTTPWebCharsetRequest{
WebId: params.WebId,
HttpWebId: params.WebId,
CharsetJSON: params.CharsetJSON,
})
if err != nil {

View File

@@ -66,7 +66,7 @@ func (this *IndexAction) RunPost(params struct {
}
_, err = this.RPC().HTTPWebRPC().UpdateHTTPWebCompression(this.AdminContext(), &pb.UpdateHTTPWebCompressionRequest{
WebId: params.WebId,
HttpWebId: params.WebId,
CompressionJSON: params.CompressionJSON,
})
if err != nil {

View File

@@ -55,7 +55,7 @@ func (this *IndexAction) RunGet(params struct {
return
}
_, err = this.RPC().HTTPWebRPC().UpdateHTTPWebRequestHeader(this.AdminContext(), &pb.UpdateHTTPWebRequestHeaderRequest{
WebId: webId,
HttpWebId: webId,
HeaderJSON: refJSON,
})
if err != nil {
@@ -82,7 +82,7 @@ func (this *IndexAction) RunGet(params struct {
return
}
_, err = this.RPC().HTTPWebRPC().UpdateHTTPWebResponseHeader(this.AdminContext(), &pb.UpdateHTTPWebResponseHeaderRequest{
WebId: webId,
HttpWebId: webId,
HeaderJSON: refJSON,
})
if err != nil {
@@ -129,7 +129,7 @@ func (this *IndexAction) RunPost(params struct {
}
_, err = this.RPC().HTTPWebRPC().UpdateHTTPWebRequestHeader(this.AdminContext(), &pb.UpdateHTTPWebRequestHeaderRequest{
WebId: params.WebId,
HttpWebId: params.WebId,
HeaderJSON: params.RequestHeaderJSON,
})
if err != nil {
@@ -145,7 +145,7 @@ func (this *IndexAction) RunPost(params struct {
}
_, err = this.RPC().HTTPWebRPC().UpdateHTTPWebResponseHeader(this.AdminContext(), &pb.UpdateHTTPWebResponseHeaderRequest{
WebId: params.WebId,
HttpWebId: params.WebId,
HeaderJSON: params.ResponseHeaderJSON,
})
if err != nil {

View File

@@ -52,7 +52,7 @@ func (this *IndexAction) RunPost(params struct {
// TODO 检查配置
_, err := this.RPC().HTTPWebRPC().UpdateHTTPWebPages(this.AdminContext(), &pb.UpdateHTTPWebPagesRequest{
WebId: params.WebId,
HttpWebId: params.WebId,
PagesJSON: []byte(params.PagesJSON),
})
if err != nil {
@@ -61,7 +61,7 @@ func (this *IndexAction) RunPost(params struct {
}
_, err = this.RPC().HTTPWebRPC().UpdateHTTPWebShutdown(this.AdminContext(), &pb.UpdateHTTPWebShutdownRequest{
WebId: params.WebId,
HttpWebId: params.WebId,
ShutdownJSON: []byte(params.ShutdownJSON),
})
if err != nil {

View File

@@ -56,7 +56,7 @@ func (this *IndexAction) RunPost(params struct {
}
_, err = this.RPC().HTTPWebRPC().UpdateHTTPWebRemoteAddr(this.AdminContext(), &pb.UpdateHTTPWebRemoteAddrRequest{
WebId: params.WebId,
HttpWebId: params.WebId,
RemoteAddrJSON: params.RemoteAddrJSON,
})
if err != nil {

View File

@@ -49,8 +49,8 @@ func (this *IndexAction) RunPost(params struct {
// TODO 校验配置
_, err := this.RPC().HTTPWebRPC().UpdateHTTPWebStat(this.AdminContext(), &pb.UpdateHTTPWebStatRequest{
WebId: params.WebId,
StatJSON: params.StatJSON,
HttpWebId: params.WebId,
StatJSON: params.StatJSON,
})
if err != nil {
this.ErrorPage(err)

View File

@@ -64,7 +64,7 @@ func (this *IndexAction) RunPost(params struct {
// TODO 检查配置
_, err := this.RPC().HTTPWebRPC().UpdateHTTPWebFirewall(this.AdminContext(), &pb.UpdateHTTPWebFirewallRequest{
WebId: params.WebId,
HttpWebId: params.WebId,
FirewallJSON: params.FirewallJSON,
})
if err != nil {

View File

@@ -47,8 +47,8 @@ func (this *IndexAction) RunPost(params struct {
defer this.CreateLogInfo("修改Web %d 的首页文件名", params.WebId)
_, err := this.RPC().HTTPWebRPC().UpdateHTTPWeb(this.AdminContext(), &pb.UpdateHTTPWebRequest{
WebId: params.WebId,
RootJSON: params.RootJSON,
HttpWebId: params.WebId,
RootJSON: params.RootJSON,
})
if err != nil {
this.ErrorPage(err)

View File

@@ -56,8 +56,8 @@ func (this *IndexAction) RunPost(params struct {
}
_, err = this.RPC().HTTPWebRPC().UpdateHTTPWebWebP(this.AdminContext(), &pb.UpdateHTTPWebWebPRequest{
WebId: params.WebId,
WebpJSON: params.WebpJSON,
HttpWebId: params.WebId,
WebpJSON: params.WebpJSON,
})
if err != nil {
this.ErrorPage(err)

View File

@@ -110,7 +110,7 @@ func (this *IndexAction) RunPost(params struct {
return
}
_, err = this.RPC().HTTPWebRPC().UpdateHTTPWebWebsocket(this.AdminContext(), &pb.UpdateHTTPWebWebsocketRequest{
WebId: params.WebId,
HttpWebId: params.WebId,
WebsocketJSON: websocketRefJSON,
})
if err != nil {

View File

@@ -64,8 +64,8 @@ func (this *IndexAction) RunPost(params struct {
return
}
_, err = this.RPC().HTTPWebRPC().UpdateHTTPWebAuth(this.AdminContext(), &pb.UpdateHTTPWebAuthRequest{
WebId: params.WebId,
AuthJSON: configJSON,
HttpWebId: params.WebId,
AuthJSON: configJSON,
})
if err != nil {
this.ErrorPage(err)

View File

@@ -61,7 +61,7 @@ func (this *IndexAction) RunPost(params struct {
// TODO 检查参数
_, err := this.RPC().HTTPWebRPC().UpdateHTTPWebAccessLog(this.AdminContext(), &pb.UpdateHTTPWebAccessLogRequest{
WebId: params.WebId,
HttpWebId: params.WebId,
AccessLogJSON: params.AccessLogJSON,
})
if err != nil {

View File

@@ -97,7 +97,7 @@ func (this *IndexAction) RunPost(params struct {
}
_, err = this.RPC().HTTPWebRPC().UpdateHTTPWebCache(this.AdminContext(), &pb.UpdateHTTPWebCacheRequest{
WebId: params.WebId,
HttpWebId: params.WebId,
CacheJSON: cacheJSON,
})
if err != nil {

View File

@@ -57,7 +57,7 @@ func (this *IndexAction) RunPost(params struct {
defer this.CreateLog(oplogs.LevelInfo, "修改Web %d 的字符集设置", params.WebId)
_, err := this.RPC().HTTPWebRPC().UpdateHTTPWebCharset(this.AdminContext(), &pb.UpdateHTTPWebCharsetRequest{
WebId: params.WebId,
HttpWebId: params.WebId,
CharsetJSON: params.CharsetJSON,
})
if err != nil {

View File

@@ -0,0 +1,61 @@
// Copyright 2021 Liuxiangchao iwind.liu@gmail.com. All rights reserved.
package common
import (
"github.com/TeaOSLab/EdgeAdmin/internal/web/actions/actionutils"
"github.com/TeaOSLab/EdgeCommon/pkg/rpc/dao"
"github.com/TeaOSLab/EdgeCommon/pkg/rpc/pb"
"github.com/iwind/TeaGo/actions"
"github.com/iwind/TeaGo/maps"
)
type IndexAction struct {
actionutils.ParentAction
}
func (this *IndexAction) Init() {
this.Nav("", "setting", "index")
this.SecondMenu("common")
}
func (this *IndexAction) RunGet(params struct {
ServerId int64
}) {
this.Data["hasGroupConfig"] = false
webConfig, err := dao.SharedHTTPWebDAO.FindWebConfigWithServerId(this.AdminContext(), params.ServerId)
if err != nil {
this.ErrorPage(err)
return
}
this.Data["webId"] = webConfig.Id
this.Data["commonConfig"] = maps.Map{
"mergeSlashes": webConfig.MergeSlashes,
}
this.Show()
}
func (this *IndexAction) RunPost(params struct {
WebId int64
MergeSlashes bool
Must *actions.Must
CSRF *actionutils.CSRF
}) {
defer this.CreateLogInfo("修改服务Web %d 设置的其他设置", params.WebId)
_, err := this.RPC().HTTPWebRPC().UpdateHTTPWebCommon(this.AdminContext(), &pb.UpdateHTTPWebCommonRequest{
HttpWebId: params.WebId,
MergeSlashes: params.MergeSlashes,
})
if err != nil {
this.ErrorPage(err)
return
}
this.Success()
}

View File

@@ -0,0 +1,19 @@
package common
import (
"github.com/TeaOSLab/EdgeAdmin/internal/configloaders"
"github.com/TeaOSLab/EdgeAdmin/internal/web/actions/default/servers/serverutils"
"github.com/TeaOSLab/EdgeAdmin/internal/web/helpers"
"github.com/iwind/TeaGo"
)
func init() {
TeaGo.BeforeStart(func(server *TeaGo.Server) {
server.
Helper(helpers.NewUserMustAuth(configloaders.AdminModuleCodeServer)).
Helper(serverutils.NewServerHelper()).
Prefix("/servers/server/settings/common").
GetPost("", new(IndexAction)).
EndAll()
})
}

View File

@@ -71,7 +71,7 @@ func (this *IndexAction) RunPost(params struct {
}
_, err = this.RPC().HTTPWebRPC().UpdateHTTPWebCompression(this.AdminContext(), &pb.UpdateHTTPWebCompressionRequest{
WebId: params.WebId,
HttpWebId: params.WebId,
CompressionJSON: params.CompressionJSON,
})
if err != nil {

View File

@@ -58,7 +58,7 @@ func (this *IndexAction) RunPost(params struct {
return
}
_, err = this.RPC().HTTPWebRPC().UpdateHTTPWebFastcgi(this.AdminContext(), &pb.UpdateHTTPWebFastcgiRequest{
WebId: params.WebId,
HttpWebId: params.WebId,
FastcgiJSON: fastcgiRefJSON,
})
if err != nil {

View File

@@ -59,7 +59,7 @@ func (this *IndexAction) RunGet(params struct {
return
}
_, err = this.RPC().HTTPWebRPC().UpdateHTTPWebRequestHeader(this.AdminContext(), &pb.UpdateHTTPWebRequestHeaderRequest{
WebId: webId,
HttpWebId: webId,
HeaderJSON: refJSON,
})
if err != nil {
@@ -86,7 +86,7 @@ func (this *IndexAction) RunGet(params struct {
return
}
_, err = this.RPC().HTTPWebRPC().UpdateHTTPWebResponseHeader(this.AdminContext(), &pb.UpdateHTTPWebResponseHeaderRequest{
WebId: webId,
HttpWebId: webId,
HeaderJSON: refJSON,
})
if err != nil {

View File

@@ -129,7 +129,7 @@ func (this *IndexAction) RunPost(params struct {
// 设置跳转到HTTPS
// TODO 校验设置
_, err = this.RPC().HTTPWebRPC().UpdateHTTPWebRedirectToHTTPS(this.AdminContext(), &pb.UpdateHTTPWebRedirectToHTTPSRequest{
WebId: params.WebId,
HttpWebId: params.WebId,
RedirectToHTTPSJSON: params.RedirectToHTTPSJSON,
})
if err != nil {

View File

@@ -64,8 +64,8 @@ func (this *IndexAction) RunPost(params struct {
return
}
_, err = this.RPC().HTTPWebRPC().UpdateHTTPWebAuth(this.AdminContext(), &pb.UpdateHTTPWebAuthRequest{
WebId: params.WebId,
AuthJSON: configJSON,
HttpWebId: params.WebId,
AuthJSON: configJSON,
})
if err != nil {
this.ErrorPage(err)

View File

@@ -45,7 +45,7 @@ func (this *IndexAction) RunPost(params struct {
// TODO 检查参数
_, err := this.RPC().HTTPWebRPC().UpdateHTTPWebAccessLog(this.AdminContext(), &pb.UpdateHTTPWebAccessLogRequest{
WebId: params.WebId,
HttpWebId: params.WebId,
AccessLogJSON: params.AccessLogJSON,
})
if err != nil {

View File

@@ -81,7 +81,7 @@ func (this *IndexAction) RunPost(params struct {
}
_, err = this.RPC().HTTPWebRPC().UpdateHTTPWebCache(this.AdminContext(), &pb.UpdateHTTPWebCacheRequest{
WebId: params.WebId,
HttpWebId: params.WebId,
CacheJSON: cacheJSON,
})
if err != nil {

View File

@@ -42,7 +42,7 @@ func (this *IndexAction) RunPost(params struct {
defer this.CreateLogInfo("修改Web %d 的字符集设置", params.WebId)
_, err := this.RPC().HTTPWebRPC().UpdateHTTPWebCharset(this.AdminContext(), &pb.UpdateHTTPWebCharsetRequest{
WebId: params.WebId,
HttpWebId: params.WebId,
CharsetJSON: params.CharsetJSON,
})
if err != nil {

View File

@@ -57,7 +57,7 @@ func (this *IndexAction) RunPost(params struct {
}
_, err = this.RPC().HTTPWebRPC().UpdateHTTPWebCompression(this.AdminContext(), &pb.UpdateHTTPWebCompressionRequest{
WebId: params.WebId,
HttpWebId: params.WebId,
CompressionJSON: params.CompressionJSON,
})
if err != nil {

View File

@@ -123,7 +123,7 @@ func (this *CreateAction) RunPost(params struct {
return
}
_, err = this.RPC().HTTPWebRPC().UpdateHTTPWebLocations(this.AdminContext(), &pb.UpdateHTTPWebLocationsRequest{
WebId: params.WebId,
HttpWebId: params.WebId,
LocationsJSON: refJSON,
})
if err != nil {

View File

@@ -28,7 +28,7 @@ func (this *DeleteAction) RunPost(params struct {
return
}
_, err = this.RPC().HTTPWebRPC().UpdateHTTPWebLocations(this.AdminContext(), &pb.UpdateHTTPWebLocationsRequest{
WebId: params.WebId,
HttpWebId: params.WebId,
LocationsJSON: refJSON,
})
if err != nil {

View File

@@ -57,7 +57,7 @@ func (this *IndexAction) RunPost(params struct {
return
}
_, err = this.RPC().HTTPWebRPC().UpdateHTTPWebFastcgi(this.AdminContext(), &pb.UpdateHTTPWebFastcgiRequest{
WebId: params.WebId,
HttpWebId: params.WebId,
FastcgiJSON: fastcgiRefJSON,
})
if err != nil {

View File

@@ -48,7 +48,7 @@ func (this *IndexAction) RunGet(params struct {
return
}
_, err = this.RPC().HTTPWebRPC().UpdateHTTPWebRequestHeader(this.AdminContext(), &pb.UpdateHTTPWebRequestHeaderRequest{
WebId: webId,
HttpWebId: webId,
HeaderJSON: refJSON,
})
isChanged = true
@@ -71,7 +71,7 @@ func (this *IndexAction) RunGet(params struct {
return
}
_, err = this.RPC().HTTPWebRPC().UpdateHTTPWebResponseHeader(this.AdminContext(), &pb.UpdateHTTPWebResponseHeaderRequest{
WebId: webId,
HttpWebId: webId,
HeaderJSON: refJSON,
})
isChanged = true
@@ -109,7 +109,7 @@ func (this *IndexAction) RunPost(params struct {
switch params.Type {
case "request":
_, err := this.RPC().HTTPWebRPC().UpdateHTTPWebRequestHeader(this.AdminContext(), &pb.UpdateHTTPWebRequestHeaderRequest{
WebId: params.WebId,
HttpWebId: params.WebId,
HeaderJSON: params.RequestHeaderJSON,
})
if err != nil {
@@ -118,7 +118,7 @@ func (this *IndexAction) RunPost(params struct {
}
case "response":
_, err := this.RPC().HTTPWebRPC().UpdateHTTPWebResponseHeader(this.AdminContext(), &pb.UpdateHTTPWebResponseHeaderRequest{
WebId: params.WebId,
HttpWebId: params.WebId,
HeaderJSON: params.ResponseHeaderJSON,
})
if err != nil {

View File

@@ -40,7 +40,7 @@ func (this *IndexAction) RunPost(params struct {
// 设置跳转到HTTPS
// TODO 校验设置
_, err := this.RPC().HTTPWebRPC().UpdateHTTPWebRedirectToHTTPS(this.AdminContext(), &pb.UpdateHTTPWebRedirectToHTTPSRequest{
WebId: params.WebId,
HttpWebId: params.WebId,
RedirectToHTTPSJSON: params.RedirectToHTTPSJSON,
})
if err != nil {

View File

@@ -41,7 +41,7 @@ func (this *IndexAction) RunPost(params struct {
// TODO 检查配置
_, err := this.RPC().HTTPWebRPC().UpdateHTTPWebPages(this.AdminContext(), &pb.UpdateHTTPWebPagesRequest{
WebId: params.WebId,
HttpWebId: params.WebId,
PagesJSON: []byte(params.PagesJSON),
})
if err != nil {
@@ -50,7 +50,7 @@ func (this *IndexAction) RunPost(params struct {
}
_, err = this.RPC().HTTPWebRPC().UpdateHTTPWebShutdown(this.AdminContext(), &pb.UpdateHTTPWebShutdownRequest{
WebId: params.WebId,
HttpWebId: params.WebId,
ShutdownJSON: []byte(params.ShutdownJSON),
})
if err != nil {

View File

@@ -48,7 +48,7 @@ func (this *IndexAction) RunPost(params struct {
}
_, err = this.RPC().HTTPWebRPC().UpdateHTTPWebRemoteAddr(this.AdminContext(), &pb.UpdateHTTPWebRemoteAddrRequest{
WebId: params.WebId,
HttpWebId: params.WebId,
RemoteAddrJSON: params.RemoteAddrJSON,
})
if err != nil {

View File

@@ -47,7 +47,7 @@ func (this *SortAction) RunPost(params struct {
return
}
_, err = this.RPC().HTTPWebRPC().UpdateHTTPWebLocations(this.AdminContext(), &pb.UpdateHTTPWebLocationsRequest{
WebId: params.WebId,
HttpWebId: params.WebId,
LocationsJSON: newRefsJSON,
})
if err != nil {

View File

@@ -40,8 +40,8 @@ func (this *IndexAction) RunPost(params struct {
// TODO 校验配置
_, err := this.RPC().HTTPWebRPC().UpdateHTTPWebStat(this.AdminContext(), &pb.UpdateHTTPWebStatRequest{
WebId: params.WebId,
StatJSON: params.StatJSON,
HttpWebId: params.WebId,
StatJSON: params.StatJSON,
})
if err != nil {
this.ErrorPage(err)

View File

@@ -61,7 +61,7 @@ func (this *IndexAction) RunPost(params struct {
// TODO 检查配置
_, err := this.RPC().HTTPWebRPC().UpdateHTTPWebFirewall(this.AdminContext(), &pb.UpdateHTTPWebFirewallRequest{
WebId: params.WebId,
HttpWebId: params.WebId,
FirewallJSON: params.FirewallJSON,
})
if err != nil {

View File

@@ -38,8 +38,8 @@ func (this *IndexAction) RunPost(params struct {
defer this.CreateLogInfo("修改Web %d 的根目录等设置", params.WebId)
_, err := this.RPC().HTTPWebRPC().UpdateHTTPWeb(this.AdminContext(), &pb.UpdateHTTPWebRequest{
WebId: params.WebId,
RootJSON: params.RootJSON,
HttpWebId: params.WebId,
RootJSON: params.RootJSON,
})
if err != nil {
this.ErrorPage(err)

View File

@@ -48,8 +48,8 @@ func (this *IndexAction) RunPost(params struct {
}
_, err = this.RPC().HTTPWebRPC().UpdateHTTPWebWebP(this.AdminContext(), &pb.UpdateHTTPWebWebPRequest{
WebId: params.WebId,
WebpJSON: params.WebpJSON,
HttpWebId: params.WebId,
WebpJSON: params.WebpJSON,
})
if err != nil {
this.ErrorPage(err)

View File

@@ -102,7 +102,7 @@ func (this *IndexAction) RunPost(params struct {
return
}
_, err = this.RPC().HTTPWebRPC().UpdateHTTPWebWebsocket(this.AdminContext(), &pb.UpdateHTTPWebWebsocketRequest{
WebId: params.WebId,
HttpWebId: params.WebId,
WebsocketJSON: websocketRefJSON,
})
if err != nil {

View File

@@ -57,7 +57,7 @@ func (this *IndexAction) RunPost(params struct {
// TODO 检查配置
_, err := this.RPC().HTTPWebRPC().UpdateHTTPWebPages(this.AdminContext(), &pb.UpdateHTTPWebPagesRequest{
WebId: params.WebId,
HttpWebId: params.WebId,
PagesJSON: []byte(params.PagesJSON),
})
if err != nil {
@@ -66,7 +66,7 @@ func (this *IndexAction) RunPost(params struct {
}
_, err = this.RPC().HTTPWebRPC().UpdateHTTPWebShutdown(this.AdminContext(), &pb.UpdateHTTPWebShutdownRequest{
WebId: params.WebId,
HttpWebId: params.WebId,
ShutdownJSON: []byte(params.ShutdownJSON),
})
if err != nil {

View File

@@ -42,7 +42,7 @@ func (this *IndexAction) RunPost(params struct {
defer this.CreateLogInfo("修改Web %d 的URL跳转设置", params.WebId)
_, err := this.RPC().HTTPWebRPC().UpdateHTTPWebHostRedirects(this.AdminContext(), &pb.UpdateHTTPWebHostRedirectsRequest{
WebId: params.WebId,
HttpWebId: params.WebId,
HostRedirectsJSON: params.HostRedirectsJSON,
})
if err != nil {

View File

@@ -61,7 +61,7 @@ func (this *IndexAction) RunPost(params struct {
}
_, err = this.RPC().HTTPWebRPC().UpdateHTTPWebRemoteAddr(this.AdminContext(), &pb.UpdateHTTPWebRemoteAddrRequest{
WebId: params.WebId,
HttpWebId: params.WebId,
RemoteAddrJSON: params.RemoteAddrJSON,
})
if err != nil {

View File

@@ -108,7 +108,7 @@ func (this *CreatePopupAction) RunPost(params struct {
// 设置Web中的重写规则
_, err = this.RPC().HTTPWebRPC().UpdateHTTPWebRewriteRules(this.AdminContext(), &pb.UpdateHTTPWebRewriteRulesRequest{
WebId: params.WebId,
HttpWebId: params.WebId,
RewriteRulesJSON: refsJSON,
})
if err != nil {

View File

@@ -38,7 +38,7 @@ func (this *DeleteAction) RunPost(params struct {
return
}
_, err = this.RPC().HTTPWebRPC().UpdateHTTPWebRewriteRules(this.AdminContext(), &pb.UpdateHTTPWebRewriteRulesRequest{
WebId: params.WebId,
HttpWebId: params.WebId,
RewriteRulesJSON: refsJSON,
})
if err != nil {

View File

@@ -40,7 +40,7 @@ func (this *SortAction) RunPost(params struct {
return
}
_, err = this.RPC().HTTPWebRPC().UpdateHTTPWebRewriteRules(this.AdminContext(), &pb.UpdateHTTPWebRewriteRulesRequest{
WebId: params.WebId,
HttpWebId: params.WebId,
RewriteRulesJSON: refsJSON,
})
if err != nil {

View File

@@ -54,8 +54,8 @@ func (this *IndexAction) RunPost(params struct {
// TODO 校验配置
_, err := this.RPC().HTTPWebRPC().UpdateHTTPWebStat(this.AdminContext(), &pb.UpdateHTTPWebStatRequest{
WebId: params.WebId,
StatJSON: params.StatJSON,
HttpWebId: params.WebId,
StatJSON: params.StatJSON,
})
if err != nil {
this.ErrorPage(err)

View File

@@ -86,7 +86,7 @@ func (this *IndexAction) RunPost(params struct {
// TODO 检查配置
_, err := this.RPC().HTTPWebRPC().UpdateHTTPWebFirewall(this.AdminContext(), &pb.UpdateHTTPWebFirewallRequest{
WebId: params.WebId,
HttpWebId: params.WebId,
FirewallJSON: params.FirewallJSON,
})
if err != nil {

View File

@@ -53,8 +53,8 @@ func (this *IndexAction) RunPost(params struct {
defer this.CreateLogInfo("修改Web %d 的首页文件名", params.WebId)
_, err := this.RPC().HTTPWebRPC().UpdateHTTPWeb(this.AdminContext(), &pb.UpdateHTTPWebRequest{
WebId: params.WebId,
RootJSON: params.RootJSON,
HttpWebId: params.WebId,
RootJSON: params.RootJSON,
})
if err != nil {
this.ErrorPage(err)

View File

@@ -61,8 +61,8 @@ func (this *IndexAction) RunPost(params struct {
}
_, err = this.RPC().HTTPWebRPC().UpdateHTTPWebWebP(this.AdminContext(), &pb.UpdateHTTPWebWebPRequest{
WebId: params.WebId,
WebpJSON: params.WebpJSON,
HttpWebId: params.WebId,
WebpJSON: params.WebpJSON,
})
if err != nil {
this.ErrorPage(err)

View File

@@ -115,7 +115,7 @@ func (this *IndexAction) RunPost(params struct {
return
}
_, err = this.RPC().HTTPWebRPC().UpdateHTTPWebWebsocket(this.AdminContext(), &pb.UpdateHTTPWebWebsocketRequest{
WebId: params.WebId,
HttpWebId: params.WebId,
WebsocketJSON: websocketRefJSON,
})
if err != nil {

View File

@@ -357,6 +357,19 @@ func (this *ServerHelper) createSettingsMenu(secondMenuItem string, serverIdStri
"isOn": serverConfig.TrafficLimit != nil && serverConfig.TrafficLimit.IsOn,
})
}
menuItems = append(menuItems, maps.Map{
"name": "-",
"url": "",
"isActive": false,
})
menuItems = append(menuItems, maps.Map{
"name": "其他设置",
"url": "/servers/server/settings/common?serverId=" + serverIdString,
"isActive": secondMenuItem == "common",
"isOn": serverConfig.Web != nil && serverConfig.Web.MergeSlashes,
})
} else if serverConfig.IsTCPFamily() {
menuItems = append(menuItems, maps.Map{
"name": "TCP",

View File

@@ -15,7 +15,7 @@ func (this *DeleteAction) RunPost(params struct {
}) {
// TODO 检查权限
_, err := this.RPC().AuthorityNodeRPC().DeleteAuthorityNode(this.AdminContext(), &pb.DeleteAuthorityNodeRequest{NodeId: params.NodeId})
_, err := this.RPC().AuthorityNodeRPC().DeleteAuthorityNode(this.AdminContext(), &pb.DeleteAuthorityNodeRequest{AuthorityNodeId: params.NodeId})
if err != nil {
this.ErrorPage(err)
return

View File

@@ -40,7 +40,7 @@ func (this *IndexAction) RunGet(params struct{}) {
return
}
for _, node := range nodesResp.Nodes {
for _, node := range nodesResp.AuthorityNodes {
// 状态
status := &nodeconfigs.NodeStatus{}
if len(node.StatusJSON) > 0 {

View File

@@ -41,7 +41,7 @@ func (this *CreatePopupAction) RunPost(params struct {
}
// 创建日志
defer this.CreateLog(oplogs.LevelInfo, "创建认证节点 %d", createResp.NodeId)
defer this.CreateLog(oplogs.LevelInfo, "创建认证节点 %d", createResp.AuthorityNodeId)
this.Success()
}

View File

@@ -17,12 +17,12 @@ func (this *IndexAction) Init() {
func (this *IndexAction) RunGet(params struct {
NodeId int64
}) {
nodeResp, err := this.RPC().AuthorityNodeRPC().FindEnabledAuthorityNode(this.AdminContext(), &pb.FindEnabledAuthorityNodeRequest{NodeId: params.NodeId})
nodeResp, err := this.RPC().AuthorityNodeRPC().FindEnabledAuthorityNode(this.AdminContext(), &pb.FindEnabledAuthorityNodeRequest{AuthorityNodeId: params.NodeId})
if err != nil {
this.ErrorPage(err)
return
}
node := nodeResp.Node
node := nodeResp.AuthorityNode
if node == nil {
this.NotFound("authorityNode", params.NodeId)
return

View File

@@ -19,12 +19,12 @@ func (this *InstallAction) RunGet(params struct {
NodeId int64
}) {
// 认证节点信息
nodeResp, err := this.RPC().AuthorityNodeRPC().FindEnabledAuthorityNode(this.AdminContext(), &pb.FindEnabledAuthorityNodeRequest{NodeId: params.NodeId})
nodeResp, err := this.RPC().AuthorityNodeRPC().FindEnabledAuthorityNode(this.AdminContext(), &pb.FindEnabledAuthorityNodeRequest{AuthorityNodeId: params.NodeId})
if err != nil {
this.ErrorPage(err)
return
}
node := nodeResp.Node
node := nodeResp.AuthorityNode
if node == nil {
this.NotFound("authorityNode", params.NodeId)
return

View File

@@ -31,12 +31,12 @@ func (this *LogsAction) RunGet(params struct {
this.Data["keyword"] = params.Keyword
this.Data["level"] = params.Level
authorityNodeResp, err := this.RPC().AuthorityNodeRPC().FindEnabledAuthorityNode(this.AdminContext(), &pb.FindEnabledAuthorityNodeRequest{NodeId: params.NodeId})
authorityNodeResp, err := this.RPC().AuthorityNodeRPC().FindEnabledAuthorityNode(this.AdminContext(), &pb.FindEnabledAuthorityNodeRequest{AuthorityNodeId: params.NodeId})
if err != nil {
this.ErrorPage(err)
return
}
authorityNode := authorityNodeResp.Node
authorityNode := authorityNodeResp.AuthorityNode
if authorityNode == nil {
this.NotFound("authorityNode", params.NodeId)
return

View File

@@ -20,13 +20,13 @@ func (this *UpdateAction) RunGet(params struct {
NodeId int64
}) {
nodeResp, err := this.RPC().AuthorityNodeRPC().FindEnabledAuthorityNode(this.AdminContext(), &pb.FindEnabledAuthorityNodeRequest{
NodeId: params.NodeId,
AuthorityNodeId: params.NodeId,
})
if err != nil {
this.ErrorPage(err)
return
}
node := nodeResp.Node
node := nodeResp.AuthorityNode
if node == nil {
this.WriteString("要操作的节点不存在")
return
@@ -56,10 +56,10 @@ func (this *UpdateAction) RunPost(params struct {
Require("请输入认证节点名称")
_, err := this.RPC().AuthorityNodeRPC().UpdateAuthorityNode(this.AdminContext(), &pb.UpdateAuthorityNodeRequest{
NodeId: params.NodeId,
Name: params.Name,
Description: params.Description,
IsOn: params.IsOn,
AuthorityNodeId: params.NodeId,
Name: params.Name,
Description: params.Description,
IsOn: params.IsOn,
})
if err != nil {
this.ErrorPage(err)

View File

@@ -57,6 +57,7 @@ import (
_ "github.com/TeaOSLab/EdgeAdmin/internal/web/actions/default/servers/server/settings/accessLog"
_ "github.com/TeaOSLab/EdgeAdmin/internal/web/actions/default/servers/server/settings/cache"
_ "github.com/TeaOSLab/EdgeAdmin/internal/web/actions/default/servers/server/settings/charset"
_ "github.com/TeaOSLab/EdgeAdmin/internal/web/actions/default/servers/server/settings/common"
_ "github.com/TeaOSLab/EdgeAdmin/internal/web/actions/default/servers/server/settings/compression"
_ "github.com/TeaOSLab/EdgeAdmin/internal/web/actions/default/servers/server/settings/conds"
_ "github.com/TeaOSLab/EdgeAdmin/internal/web/actions/default/servers/server/settings/dns"

View File

@@ -0,0 +1,30 @@
// 通用设置
Vue.component("http-common-config-box", {
props: ["v-common-config"],
data: function () {
let config = this.vCommonConfig
if (config == null) {
config = {
mergeSlashes: false
}
}
return {
config: config
}
},
template: `<div>
<table class="ui table definition selectable">
<tr>
<td class="title">合并重复的路径分隔符</td>
<td>
<div class="ui checkbox">
<input type="checkbox" name="mergeSlashes" value="1" v-model="config.mergeSlashes"/>
<label></label>
</div>
<p class="comment">合并URL中重复的路径分隔符为一个比如<code-label>//hello/world</code-label>中的<code-label>//</code-label>。</p>
</td>
</tr>
</table>
<div class="margin"></div>
</div>`
})

View File

@@ -0,0 +1,15 @@
{$layout}
{$template "/left_menu"}
<div class="right-box">
<div :class="{'opacity-mask': hasGroupConfig}">
<form method="post" class="ui form" data-tea-action="$" data-tea-success="success">
<csrf-token></csrf-token>
<input type="hidden" name="webId" :value="webId"/>
<http-common-config-box :v-common-config="commonConfig"></http-common-config-box>
<submit-btn></submit-btn>
</form>
</div>
</div>

View File

@@ -0,0 +1,3 @@
Tea.context(function () {
this.success = NotifyReloadSuccess("保存成功")
})