This commit is contained in:
ZhuoQinghui 2025-02-17 15:32:18 +08:00
parent 4b43bc3533
commit ad99da70fb
6 changed files with 40 additions and 2 deletions

View File

@ -96,6 +96,14 @@ func initServerCmd() *cobra.Command {
cmd_handle.ServerStart(cmd, args) cmd_handle.ServerStart(cmd, args)
}, },
} }
runCmd := &cobra.Command{
Use: "run",
Short: "前台运行服务",
Long: "前台运行服务",
Run: func(cmd *cobra.Command, args []string) {
cmd_handle.RunStart(cmd, args)
},
}
stopCmd := &cobra.Command{ stopCmd := &cobra.Command{
Use: "stop", Use: "stop",
Short: "停止服务", Short: "停止服务",
@ -108,6 +116,7 @@ func initServerCmd() *cobra.Command {
serverCmd.AddCommand(editCmd) serverCmd.AddCommand(editCmd)
serverCmd.AddCommand(stateCmd) serverCmd.AddCommand(stateCmd)
serverCmd.AddCommand(startCmd) serverCmd.AddCommand(startCmd)
serverCmd.AddCommand(runCmd)
serverCmd.AddCommand(stopCmd) serverCmd.AddCommand(stopCmd)
return serverCmd return serverCmd
} }

View File

@ -13,6 +13,7 @@ import (
"path" "path"
"path/filepath" "path/filepath"
"strconv" "strconv"
"strings"
"syscall" "syscall"
) )
@ -62,12 +63,18 @@ func ServerStart(command *cobra.Command, args []string) {
os.Exit(0) os.Exit(0)
} }
func RunStart(command *cobra.Command, args []string) {
daemonStart()
}
func ServerEdit(cmd *cobra.Command, args []string) { func ServerEdit(cmd *cobra.Command, args []string) {
s := conf.Config().Server s := conf.Config().Server
host := util.ReadLine("请输入服务监听地址;", s.Host) host := util.ReadLine("请输入服务监听地址;", s.Host)
port := util.ReadInt("请输入服务监听端口;", strconv.Itoa(s.Port)) port := util.ReadInt("请输入服务监听端口;", strconv.Itoa(s.Port))
key := util.ReadLine("请输入服务通信认证秘钥;", s.Key) key := util.ReadLine("请输入服务通信认证秘钥;", s.Key)
conf.EditServer(host, port, key) web := util.ReadLine("是否启用WEB服务; Y(es)/N(o);", s.Key)
openWeb := strings.ToUpper(web) == "Y" || strings.ToUpper(web) == "YES"
conf.EditServer(host, port, key, openWeb)
fmt.Println("服务监听配置已完成") fmt.Println("服务监听配置已完成")
} }

View File

@ -6,10 +6,11 @@ func Config() *AppConfig {
return appConf return appConf
} }
func EditServer(host string, port int, key string) *AppConfig { func EditServer(host string, port int, key string, web bool) *AppConfig {
appConf.Server.Host = host appConf.Server.Host = host
appConf.Server.Port = port appConf.Server.Port = port
appConf.Server.Key = key appConf.Server.Key = key
appConf.Server.Web = web
WriteConfig() WriteConfig()
return appConf return appConf
} }

View File

@ -4,6 +4,7 @@ import (
"acme-mana/src/conf" "acme-mana/src/conf"
"acme-mana/src/server/http_handler" "acme-mana/src/server/http_handler"
"context" "context"
"embed"
"errors" "errors"
"github.com/gin-gonic/gin" "github.com/gin-gonic/gin"
"log" "log"
@ -12,6 +13,9 @@ import (
"time" "time"
) )
//go:embed static/*
var staticFiles embed.FS
type HttpServer struct { type HttpServer struct {
server *http.Server server *http.Server
status bool status bool
@ -69,6 +73,9 @@ func (s *HttpServer) register() {
service.Use(gin.Logger()) service.Use(gin.Logger())
service.Use(http_handler.GlobalErrorHandler()) service.Use(http_handler.GlobalErrorHandler())
fs := http.FileServer(http.FS(staticFiles))
http.Handle("/static/", http.StripPrefix("/static/", fs))
certHandler := http_handler.CertHandlerInstance certHandler := http_handler.CertHandlerInstance
certGroup := service.Group("/api/v1/cert", http_handler.AuthMiddleware()) certGroup := service.Group("/api/v1/cert", http_handler.AuthMiddleware())
certGroup.GET("/", certHandler.Get) certGroup.GET("/", certHandler.Get)

View File

@ -0,0 +1,10 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
123123
</body>
</html>

View File

@ -3,6 +3,7 @@ package util
import ( import (
"fmt" "fmt"
"github.com/manifoldco/promptui" "github.com/manifoldco/promptui"
"os"
"strconv" "strconv"
) )
@ -13,6 +14,9 @@ func ReadLine(label string, defaultContent string) string {
Default: defaultContent, Default: defaultContent,
} }
line, err := prompt.Run() line, err := prompt.Run()
if err.Error() == "^D" || err.Error() == "^C" {
os.Exit(0)
}
if err != nil { if err != nil {
fmt.Println("输入错误:", err) fmt.Println("输入错误:", err)
continue continue