调整界面

This commit is contained in:
GoEdgeLab
2020-10-10 20:28:36 +08:00
parent 8d24063e80
commit 444ca7535e
35 changed files with 276 additions and 49 deletions

View File

@@ -1,7 +1,6 @@
package api
import (
"github.com/TeaOSLab/EdgeAdmin/internal/web/actions/actionutils"
"github.com/iwind/TeaGo/actions"
)
@@ -13,11 +12,4 @@ func NewHelper() *Helper {
}
func (this *Helper) BeforeAction(action *actions.ActionObject) {
action.Data["teaMenu"] = "api"
selectedTabbar, _ := action.Data["mainTab"]
tabbar := actionutils.NewTabbar()
tabbar.Add("API节点", "", "/api", "", selectedTabbar == "node")
actionutils.SetTabbar(action, tabbar)
}

View File

@@ -2,6 +2,7 @@ package api
import (
"github.com/TeaOSLab/EdgeAdmin/internal/web/actions/default/api/node"
"github.com/TeaOSLab/EdgeAdmin/internal/web/actions/default/settings/settingutils"
"github.com/TeaOSLab/EdgeAdmin/internal/web/helpers"
"github.com/iwind/TeaGo"
)
@@ -11,9 +12,10 @@ func init() {
server.
Helper(helpers.NewUserMustAuth()).
Helper(NewHelper()).
Helper(settingutils.NewHelper("api")).
Prefix("/api").
Get("", new(IndexAction)).
GetPost("/node/create", new(node.CreateAction)).
GetPost("/node/createPopup", new(node.CreatePopupAction)).
EndAll()
})
}

View File

@@ -9,19 +9,19 @@ import (
"github.com/iwind/TeaGo/actions"
)
type CreateAction struct {
type CreatePopupAction struct {
actionutils.ParentAction
}
func (this *CreateAction) Init() {
func (this *CreatePopupAction) Init() {
this.Nav("", "node", "create")
}
func (this *CreateAction) RunGet(params struct{}) {
func (this *CreatePopupAction) RunGet(params struct{}) {
this.Show()
}
func (this *CreateAction) RunPost(params struct {
func (this *CreatePopupAction) RunPost(params struct {
Name string
Description string
ListensJSON []byte

View File

@@ -2,7 +2,6 @@ package node
import (
"github.com/TeaOSLab/EdgeAdmin/internal/rpc"
"github.com/TeaOSLab/EdgeAdmin/internal/web/actions/actionutils"
"github.com/TeaOSLab/EdgeCommon/pkg/rpc/pb"
"github.com/iwind/TeaGo/actions"
"github.com/iwind/TeaGo/logs"
@@ -43,22 +42,10 @@ func (this *Helper) BeforeAction(action *actions.ActionObject) (goNext bool) {
action.WriteString("node not found")
return
}
node := nodeResp.Node
// 顶部Tab栏
selectedTabbar, _ := action.Data["mainTab"]
tabbar := actionutils.NewTabbar()
tabbar.Add("节点列表", "", "/api", "", false)
tabbar.Add("设置", "", "/api/node/settings?nodeId="+nodeIdString, "setting", selectedTabbar == "setting")
{
m := tabbar.Add("当前节点:"+node.Name, "", "", "", false)
m["right"] = true
}
actionutils.SetTabbar(action, tabbar)
// 左侧菜单栏
secondMenuItem := action.Data.GetString("secondMenuItem")
switch selectedTabbar {
switch action.Data.GetString("firstMenuItem") {
case "setting":
action.Data["leftMenuItems"] = this.createSettingMenu(nodeIdString, secondMenuItem)
}

View File

@@ -1,6 +1,7 @@
package node
import (
"github.com/TeaOSLab/EdgeAdmin/internal/web/actions/default/settings/settingutils"
"github.com/TeaOSLab/EdgeAdmin/internal/web/helpers"
"github.com/iwind/TeaGo"
)
@@ -9,6 +10,7 @@ func init() {
TeaGo.BeforeStart(func(server *TeaGo.Server) {
server.
Helper(helpers.NewUserMustAuth()).
Helper(settingutils.NewHelper("api")).
Prefix("/api/node").
// 这里不受Helper的约束

View File

@@ -15,7 +15,7 @@ type SettingsAction struct {
}
func (this *SettingsAction) Init() {
this.Nav("", "setting", "")
this.Nav("", "setting", "setting")
this.SecondMenu("basic")
}

View File

@@ -1,6 +1,7 @@
package db
import (
"github.com/TeaOSLab/EdgeAdmin/internal/web/actions/default/settings/settingutils"
"github.com/TeaOSLab/EdgeAdmin/internal/web/helpers"
"github.com/iwind/TeaGo"
)
@@ -10,6 +11,7 @@ func init() {
server.
Helper(new(helpers.UserMustAuth)).
Helper(new(Helper)).
Helper(settingutils.NewHelper("db")).
Prefix("/db").
Get("", new(IndexAction)).
GetPost("/createPopup", new(CreatePopupAction)).

View File

@@ -0,0 +1,15 @@
package backup
import "github.com/TeaOSLab/EdgeAdmin/internal/web/actions/actionutils"
type IndexAction struct {
actionutils.ParentAction
}
func (this *IndexAction) Init() {
this.Nav("", "", "")
}
func (this *IndexAction) RunGet(params struct{}) {
this.Show()
}

View File

@@ -0,0 +1,18 @@
package backup
import (
"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()).
Helper(settingutils.NewHelper("backup")).
Prefix("/settings/backup").
Get("", new(IndexAction)).
EndAll()
})
}

View File

@@ -1,6 +1,7 @@
package settings
import (
"github.com/TeaOSLab/EdgeAdmin/internal/web/actions/default/settings/settingutils"
"github.com/TeaOSLab/EdgeAdmin/internal/web/helpers"
"github.com/iwind/TeaGo"
)
@@ -10,6 +11,7 @@ func init() {
server.
Helper(helpers.NewUserMustAuth()).
Helper(NewHelper()).
Helper(settingutils.NewHelper("console")).
Prefix("/settings").
Get("", new(IndexAction)).
EndAll()

View File

@@ -0,0 +1,15 @@
package login
import "github.com/TeaOSLab/EdgeAdmin/internal/web/actions/actionutils"
type IndexAction struct {
actionutils.ParentAction
}
func (this *IndexAction) Init() {
this.Nav("", "", "")
}
func (this *IndexAction) RunGet(params struct{}) {
this.Show()
}

View File

@@ -0,0 +1,18 @@
package login
import (
"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()).
Helper(settingutils.NewHelper("login")).
Prefix("/settings/login").
Get("", new(IndexAction)).
EndAll()
})
}

View File

@@ -0,0 +1,15 @@
package profile
import "github.com/TeaOSLab/EdgeAdmin/internal/web/actions/actionutils"
type IndexAction struct {
actionutils.ParentAction
}
func (this *IndexAction) Init() {
this.Nav("", "", "")
}
func (this *IndexAction) RunGet(params struct{}) {
this.Show()
}

View File

@@ -0,0 +1,18 @@
package profile
import (
"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()).
Helper(settingutils.NewHelper("profile")).
Prefix("/settings/profile").
Get("", new(IndexAction)).
EndAll()
})
}

View File

@@ -0,0 +1,15 @@
package security
import "github.com/TeaOSLab/EdgeAdmin/internal/web/actions/actionutils"
type IndexAction struct {
actionutils.ParentAction
}
func (this *IndexAction) Init() {
this.Nav("", "", "")
}
func (this *IndexAction) RunGet(params struct{}) {
this.Show()
}

View File

@@ -0,0 +1,18 @@
package security
import (
"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()).
Helper(settingutils.NewHelper("security")).
Prefix("/settings/security").
Get("", new(IndexAction)).
EndAll()
})
}

View File

@@ -0,0 +1,39 @@
package settingutils
import (
"github.com/TeaOSLab/EdgeAdmin/internal/web/actions/actionutils"
"github.com/iwind/TeaGo/actions"
)
type Helper struct {
tab string
}
func NewHelper(tab string) *Helper {
return &Helper{
tab: tab,
}
}
func (this *Helper) BeforeAction(actionPtr actions.ActionWrapper) (goNext bool) {
goNext = true
action := actionPtr.Object()
// 左侧菜单
action.Data["teaMenu"] = "settings"
// 标签栏
tabbar := actionutils.NewTabbar()
tabbar.Add("管理界面", "", "/settings", "", this.tab == "console")
tabbar.Add("安全设置", "", "/settings/security", "", this.tab == "security")
tabbar.Add("API节点", "", "/api", "exchange", this.tab == "api")
tabbar.Add("日志数据库节点", "", "/db", "database", this.tab == "db")
tabbar.Add("备份", "", "/settings/backup", "", this.tab == "backup")
tabbar.Add("个人资料", "", "/settings/profile", "", this.tab == "profile")
tabbar.Add("登录设置", "", "/settings/login", "", this.tab == "login")
tabbar.Add("检查版本更新", "", "/settings/upgrade", "", this.tab == "upgrade")
actionutils.SetTabbar(actionPtr, tabbar)
return
}

View File

@@ -0,0 +1,15 @@
package upgrade
import "github.com/TeaOSLab/EdgeAdmin/internal/web/actions/actionutils"
type IndexAction struct {
actionutils.ParentAction
}
func (this *IndexAction) Init() {
this.Nav("", "", "")
}
func (this *IndexAction) RunGet(params struct{}) {
this.Show()
}

View File

@@ -0,0 +1,18 @@
package upgrade
import (
"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()).
Helper(settingutils.NewHelper("upgrade")).
Prefix("/settings/upgrade").
Get("", new(IndexAction)).
EndAll()
})
}

View File

@@ -75,21 +75,16 @@ func (this *UserMustAuth) BeforeAction(actionPtr actions.ActionWrapper, paramNam
"menuName": "节点集群",
"icon": "cloud",
},
{
"code": "api",
"menuName": "API节点",
"icon": "exchange",
},
{
"code": "db",
"menuName": "日志数据库",
"icon": "database",
},
{
"code": "dns",
"menuName": "DNS",
"icon": "globe",
},
{
"code": "settings",
"menuName": "系统设置",
"icon": "setting",
},
}
action.Data["teaTitle"] = teaconst.ProductNameZH

View File

@@ -65,5 +65,10 @@ import (
_ "github.com/TeaOSLab/EdgeAdmin/internal/web/actions/default/servers/server/settings/websocket"
_ "github.com/TeaOSLab/EdgeAdmin/internal/web/actions/default/servers/server/stat"
_ "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/login"
_ "github.com/TeaOSLab/EdgeAdmin/internal/web/actions/default/settings/profile"
_ "github.com/TeaOSLab/EdgeAdmin/internal/web/actions/default/settings/security"
_ "github.com/TeaOSLab/EdgeAdmin/internal/web/actions/default/settings/upgrade"
_ "github.com/TeaOSLab/EdgeAdmin/internal/web/actions/default/ui"
)

View File

@@ -224,5 +224,8 @@ window.teaweb = {
}
}
});
},
reload: function () {
window.location.reload()
}
};

View File

@@ -29,7 +29,7 @@
<div class="right menu">
<a href="" class="item" v-if="globalChangedClusters.length > 0" @click.prevent="syncClustersConfigs()"><i class="icon refresh"></i>{{globalChangedClusters.length}}个集群服务已变更,点此同步</a>
<a href="/monitor/messages" class="item" v-if="teaBadge > 0"><span :class="{'blink':teaBadge > 0}"><i class="icon bell"></i>告警({{teaBadge}}) </span></a>
<a href="/settings" class="item" :class="{active: teaMenu == 'settings'}">
<a href="/settings/profile" class="item" :class="{active: teaMenu == 'settings'}">
<i class="icon user" v-if="teaUserAvatar.length == 0"></i>
<img class="avatar" alt="" :src="teaUserAvatar" v-if="teaUserAvatar.length > 0"/>
{{teaUsername}}

View File

@@ -1,4 +0,0 @@
<first-menu>
<menu-item href="/api" code="index">节点列表</menu-item>
<menu-item href="/api/node/create" code="create">创建节点</menu-item>
</first-menu>

View File

@@ -1,9 +1,11 @@
{$layout}
{$template "menu"}
<first-menu>
<a href="" class="item" @click.prevent="createNode()">[添加节点]</a>
</first-menu>
<p class="comment" v-if="nodes.length == 0">暂时还没有节点。</p>
<table class="ui table selectable" v-if="nodes.length > 0">
<thead>
<tr>

View File

@@ -0,0 +1,13 @@
Tea.context(function () {
this.createNode = function () {
teaweb.popup("/api/node/createPopup", {
width: "50em",
height: "30em",
callback: function () {
teaweb.success("保存成功", function () {
teaweb.reload()
})
}
})
}
})

View File

@@ -0,0 +1,5 @@
<first-menu>
<menu-item href="/api" code="index">节点列表</menu-item>
<span class="item">|</span>
<menu-item :href="'/api/node/settings?nodeId=' + node.id" active="true">{{node.name}}</menu-item>
</first-menu>

View File

@@ -1,6 +1,6 @@
{$layout}
{$template "../menu"}
<div class="margin"></div>
{$layout "layout_popup"}
<h3>添加API节点</h3>
<form class="ui form" data-tea-action="$" data-tea-success="success">
<table class="ui table selectable definition">
<tr>

View File

@@ -1,5 +1,5 @@
Tea.context(function () {
this.success = NotifySuccess("保存成功", "/api")
this.success = NotifyPopup
this.hasHTTPS = false
this.changeListens = function (addrs) {

View File

@@ -2,6 +2,8 @@
{$template "/left_menu"}
<div class="right-box">
{$template "menu"}
<form class="ui form" data-tea-action="$" data-tea-success="success">
<input type="hidden" name="nodeId" :value="node.id"/>
<input type="hidden" name="sslPolicyId" :value="node.sslPolicyId"/>

View File

@@ -0,0 +1,3 @@
{$layout}
<p class="comment">此功能暂未开放,敬请期待。</p>

View File

@@ -0,0 +1,3 @@
{$layout}
<p class="comment">此功能暂未开放,敬请期待。</p>

View File

@@ -0,0 +1,3 @@
{$layout}
<p class="comment">此功能暂未开放,敬请期待。</p>

View File

@@ -0,0 +1,3 @@
{$layout}
<p class="comment">此功能暂未开放,敬请期待。</p>

View File

@@ -0,0 +1,3 @@
{$layout}
<p class="comment">此功能暂未开放,敬请期待。</p>