63 lines
1.1 KiB
Go
63 lines
1.1 KiB
Go
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, "")
|
|
}
|