Initial commit (code only without large binaries)

This commit is contained in:
robin
2026-02-15 18:58:44 +08:00
commit 35df75498f
9442 changed files with 1495866 additions and 0 deletions

View File

@@ -0,0 +1,50 @@
//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/TeaOSLab/EdgeAdmin/internal/web/helpers"
"github.com/TeaOSLab/EdgeCommon/pkg/langs/codes"
"github.com/iwind/TeaGo/actions"
)
type AdvancedHelper struct {
helpers.LangHelper
tab string
}
func NewAdvancedHelper(tab string) *AdvancedHelper {
return &AdvancedHelper{
tab: tab,
}
}
func (this *AdvancedHelper) BeforeAction(actionPtr actions.ActionWrapper) (goNext bool) {
goNext = true
var action = actionPtr.Object()
// 左侧菜单
action.Data["teaMenu"] = "settings"
action.Data["teaSubMenu"] = "advanced"
// 标签栏
var tabbar = actionutils.NewTabbar()
var session = action.Session()
var adminId = session.GetInt64(teaconst.SessionAdminId)
if configloaders.AllowModule(adminId, configloaders.AdminModuleCodeSetting) {
tabbar.Add(this.Lang(actionPtr, codes.AdminSetting_TabTransfer), "", "/settings/database", "", this.tab == "database")
tabbar.Add(this.Lang(actionPtr, codes.AdminSetting_TabAPINodes), "", "/settings/api", "", this.tab == "apiNodes")
tabbar.Add(this.Lang(actionPtr, codes.AdminSetting_TabAccessLogDatabases), "", "/db", "", this.tab == "dbNodes")
tabbar.Add(this.Lang(actionPtr, codes.AdminSetting_TabTransfer), "", "/settings/transfer", "", this.tab == "transfer")
//tabbar.Add(codes.AdminSettingsTabBackup, "", "/settings/backup", "", this.tab == "backup")
}
actionutils.SetTabbar(actionPtr, tabbar)
return
}

View File

@@ -0,0 +1,81 @@
// Copyright 2021 Liuxiangchao iwind.liu@gmail.com. All rights reserved.
//go:build plus
package settingutils
import (
"strings"
"github.com/TeaOSLab/EdgeAdmin/internal/configloaders"
teaconst "github.com/TeaOSLab/EdgeAdmin/internal/const"
"github.com/TeaOSLab/EdgeAdmin/internal/plus"
"github.com/TeaOSLab/EdgeAdmin/internal/web/actions/actionutils"
"github.com/TeaOSLab/EdgeAdmin/internal/web/helpers"
"github.com/TeaOSLab/EdgeCommon/pkg/langs/codes"
"github.com/iwind/TeaGo/Tea"
"github.com/iwind/TeaGo/actions"
)
type AdvancedHelper struct {
helpers.LangHelper
tab string
}
func NewAdvancedHelper(tab string) *AdvancedHelper {
return &AdvancedHelper{
tab: tab,
}
}
func (this *AdvancedHelper) BeforeAction(actionPtr actions.ActionWrapper) (goNext bool) {
goNext = true
var action = actionPtr.Object()
// 左侧菜单
action.Data["teaMenu"] = "settings"
action.Data["teaSubMenu"] = "advanced"
// 标签栏
var tabbar = actionutils.NewTabbar()
var session = action.Session()
var adminId = session.GetInt64(teaconst.SessionAdminId)
if configloaders.AllowModule(adminId, configloaders.AdminModuleCodeSetting) {
if this.tab != "authority" {
tabbar.Add(this.Lang(actionPtr, codes.AdminSetting_TabDatabase), "", "/settings/database", "", this.tab == "database")
tabbar.Add(this.Lang(actionPtr, codes.AdminSetting_TabAPINodes), "", "/settings/api", "", this.tab == "apiNodes")
if plus.AllowComponent(plus.ComponentCodeUser) {
tabbar.Add(this.Lang(actionPtr, codes.AdminSetting_TabUserNodes), "", "/settings/userNodes", "", this.tab == "userNodes")
}
// 外层始终显示「日志数据库」与「ClickHouse 配置」两个标签,不随点击变化
path := action.Request.URL.Path
langCode := strings.ToLower(configloaders.FindAdminLangForAction(actionPtr))
mysqlTabName := "Log Databases (MySQL)"
clickHouseTabName := "Log Databases (ClickHouse)"
if strings.HasPrefix(langCode, "zh") {
mysqlTabName = "日志数据库MySQL"
clickHouseTabName = "日志数据库ClickHouse"
}
tabbar.Add(mysqlTabName, "", "/db", "", (path == "/db" || strings.HasPrefix(path, "/db/")) && path != "/db/clickhouse")
tabbar.Add(clickHouseTabName, "", "/db/clickhouse", "", path == "/db/clickhouse")
if teaconst.IsPlus {
// 目前仅在调试模式下使用
if Tea.IsTesting() {
tabbar.Add(this.Lang(actionPtr, codes.AdminSetting_TabIPLibrary), "", "/settings/ip-library", "", this.tab == "ipLibrary")
tabbar.Add(this.Lang(actionPtr, codes.AdminSetting_TabClientOperationSystems), "", "/settings/client-systems", "", this.tab == "clientSystem")
tabbar.Add(this.Lang(actionPtr, codes.AdminSetting_TabClientBrowsers), "", "/settings/client-browsers", "", this.tab == "clientBrowser")
}
}
tabbar.Add(this.Lang(actionPtr, codes.AdminSetting_TabTransfer), "", "/settings/transfer", "", this.tab == "transfer")
tabbar.Add(this.Lang(actionPtr, codes.AdminSetting_TabAuthority), "", "/settings/authority", "", this.tab == "authority") // 兼容以往版本
//tabbar.Add(this.Lang(actionPtr, codes.AdminSettings_TabBackup), "", "/settings/backup", "", this.tab == "backup")
} else {
tabbar.Add(this.Lang(actionPtr, codes.AdminSetting_TabAuthority), "", "/settings/authority", "", this.tab == "authority")
}
}
actionutils.SetTabbar(actionPtr, tabbar)
return
}

View File

@@ -0,0 +1,52 @@
//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/TeaOSLab/EdgeAdmin/internal/web/helpers"
"github.com/TeaOSLab/EdgeCommon/pkg/langs/codes"
"github.com/iwind/TeaGo/actions"
)
type Helper struct {
helpers.LangHelper
tab string
}
func NewHelper(tab string) *Helper {
return &Helper{
tab: tab,
}
}
func (this *Helper) BeforeAction(actionPtr actions.ActionWrapper) (goNext bool) {
goNext = true
var action = actionPtr.Object()
// 左侧菜单
action.Data["teaMenu"] = "settings"
action.Data["teaSubMenu"] = "basic"
// 标签栏
var tabbar = actionutils.NewTabbar()
var session = action.Session()
var adminId = session.GetInt64(teaconst.SessionAdminId)
if configloaders.AllowModule(adminId, configloaders.AdminModuleCodeSetting) {
tabbar.Add(this.Lang(actionPtr, codes.AdminSetting_TabAdminServer), "", "/settings/server", "", this.tab == "server")
tabbar.Add(this.Lang(actionPtr, codes.AdminSetting_TabAdminUI), "", "/settings/ui", "", this.tab == "ui")
tabbar.Add(this.Lang(actionPtr, codes.AdminSetting_TabAdminSecuritySettings), "", "/settings/security", "", this.tab == "security")
if teaconst.IsPlus {
tabbar.Add(this.Lang(actionPtr, codes.AdminSetting_TabIPLibrary), "", "/settings/ip-library", "", this.tab == "ipLibrary")
}
}
tabbar.Add(this.Lang(actionPtr, codes.AdminSetting_TabProfile), "", "/settings/profile", "", this.tab == "profile")
tabbar.Add(this.Lang(actionPtr, codes.AdminSetting_TabLogin), "", "/settings/login", "", this.tab == "login")
actionutils.SetTabbar(actionPtr, tabbar)
return
}

View File

@@ -0,0 +1,53 @@
//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/TeaOSLab/EdgeAdmin/internal/web/helpers"
"github.com/TeaOSLab/EdgeCommon/pkg/langs/codes"
"github.com/iwind/TeaGo/actions"
)
type Helper struct {
helpers.LangHelper
tab string
}
func NewHelper(tab string) *Helper {
return &Helper{
tab: tab,
}
}
func (this *Helper) BeforeAction(actionPtr actions.ActionWrapper) (goNext bool) {
goNext = true
var action = actionPtr.Object()
// 左侧菜单
action.Data["teaMenu"] = "settings"
action.Data["teaSubMenu"] = "basic"
// 标签栏
var tabbar = actionutils.NewTabbar()
var session = action.Session()
var adminId = session.GetInt64(teaconst.SessionAdminId)
if configloaders.AllowModule(adminId, configloaders.AdminModuleCodeSetting) {
tabbar.Add(this.Lang(actionPtr, codes.AdminSetting_TabAdminServer), "", "/settings/server", "", this.tab == "server")
tabbar.Add(this.Lang(actionPtr, codes.AdminSetting_TabAdminUI), "", "/settings/ui", "", this.tab == "ui")
if teaconst.IsPlus {
tabbar.Add(this.Lang(actionPtr, codes.AdminSetting_TabUserUI), "", "/settings/user-ui", "", this.tab == "userUI")
}
tabbar.Add(this.Lang(actionPtr, codes.AdminSetting_TabAdminSecuritySettings), "", "/settings/security", "", this.tab == "security")
tabbar.Add(this.Lang(actionPtr, codes.AdminSetting_TabIPLibrary), "", "/settings/ip-library", "", this.tab == "ipLibrary")
}
tabbar.Add(this.Lang(actionPtr, codes.AdminSetting_TabProfile), "", "/settings/profile", "", this.tab == "profile")
tabbar.Add(this.Lang(actionPtr, codes.AdminSetting_TabLogin), "", "/settings/login", "", this.tab == "login")
actionutils.SetTabbar(actionPtr, tabbar)
return
}