:new:新增tui管理模式[能用就行]
This commit is contained in:
62
cli/tui/server.go
Normal file
62
cli/tui/server.go
Normal file
@@ -0,0 +1,62 @@
|
||||
package tui
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"wireguard-ui/command"
|
||||
"wireguard-ui/http/vo"
|
||||
)
|
||||
|
||||
type ServerComponent struct {
|
||||
LoginUser *vo.User
|
||||
Menu []string
|
||||
}
|
||||
|
||||
func NewServerComponent(loginUser *vo.User) *ServerComponent {
|
||||
return &ServerComponent{
|
||||
LoginUser: loginUser,
|
||||
Menu: []string{"[1] 启动服务", "[2] 关闭服务", "[3] 重启服务", "[q] 返回上一级菜单"},
|
||||
}
|
||||
}
|
||||
|
||||
// Menus
|
||||
// @description: 服务端菜单
|
||||
// @receiver s
|
||||
func (s *ServerComponent) Menus() {
|
||||
fmt.Println("")
|
||||
for _, r := range s.Menu {
|
||||
fmt.Println(" -> " + r)
|
||||
}
|
||||
|
||||
chooseMenu := readInput("\n请选择: ")
|
||||
switch chooseMenu {
|
||||
case "1":
|
||||
s.Start()
|
||||
case "2":
|
||||
s.Stop()
|
||||
case "3":
|
||||
s.Restart()
|
||||
case "q":
|
||||
return
|
||||
}
|
||||
}
|
||||
|
||||
// Start
|
||||
// @description: 启动服务
|
||||
// @receiver s
|
||||
func (s *ServerComponent) Start() {
|
||||
command.StartWireguard("")
|
||||
}
|
||||
|
||||
// Stop
|
||||
// @description: 停止服务
|
||||
// @receiver s
|
||||
func (s *ServerComponent) Stop() {
|
||||
command.StopWireguard("")
|
||||
}
|
||||
|
||||
// Restart
|
||||
// @description: 重启服务
|
||||
// @receiver s
|
||||
func (s *ServerComponent) Restart() {
|
||||
command.RestartWireguard(false, "")
|
||||
}
|
||||
Reference in New Issue
Block a user