Большое обновление GUI интерфейс
Большое обновление GUI интерфейс - Добавлен фраемворr Walles - Удалена консольная версия - Проработан интерфейс и дизайн - Добавлено кеширование для быстрой реакции. - Сделан .ps1 сборщик для удобной сборки проекта. - Обновлён Readme
This commit is contained in:
92
Backend/admin/go/services/services.go
Normal file
92
Backend/admin/go/services/services.go
Normal file
@@ -0,0 +1,92 @@
|
||||
package services
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
webserver "vServer/Backend/WebServer"
|
||||
config "vServer/Backend/config"
|
||||
)
|
||||
|
||||
func GetAllServicesStatus() AllServicesStatus {
|
||||
return AllServicesStatus{
|
||||
HTTP: getHTTPStatus(),
|
||||
HTTPS: getHTTPSStatus(),
|
||||
MySQL: getMySQLStatus(),
|
||||
PHP: getPHPStatus(),
|
||||
Proxy: getProxyStatus(),
|
||||
}
|
||||
}
|
||||
|
||||
func getHTTPStatus() ServiceStatus {
|
||||
// Используем внутренний статус вместо TCP проверки
|
||||
return ServiceStatus{
|
||||
Name: "HTTP",
|
||||
Status: webserver.GetHTTPStatus(),
|
||||
Port: "80",
|
||||
Info: "",
|
||||
}
|
||||
}
|
||||
|
||||
func getHTTPSStatus() ServiceStatus {
|
||||
// Используем внутренний статус вместо TCP проверки
|
||||
return ServiceStatus{
|
||||
Name: "HTTPS",
|
||||
Status: webserver.GetHTTPSStatus(),
|
||||
Port: "443",
|
||||
Info: "",
|
||||
}
|
||||
}
|
||||
|
||||
func getMySQLStatus() ServiceStatus {
|
||||
port := fmt.Sprintf("%d", config.ConfigData.Soft_Settings.Mysql_port)
|
||||
|
||||
// Используем внутренний статус вместо TCP проверки
|
||||
// чтобы не вызывать connect_errors в MySQL
|
||||
return ServiceStatus{
|
||||
Name: "MySQL",
|
||||
Status: webserver.GetMySQLStatus(),
|
||||
Port: port,
|
||||
Info: "",
|
||||
}
|
||||
}
|
||||
|
||||
func getPHPStatus() ServiceStatus {
|
||||
basePort := config.ConfigData.Soft_Settings.Php_port
|
||||
|
||||
// Диапазон портов для 4 воркеров
|
||||
portRange := fmt.Sprintf("%d-%d", basePort, basePort+3)
|
||||
|
||||
// Используем внутренний статус вместо TCP проверки
|
||||
return ServiceStatus{
|
||||
Name: "PHP",
|
||||
Status: webserver.GetPHPStatus(),
|
||||
Port: portRange,
|
||||
Info: "",
|
||||
}
|
||||
}
|
||||
|
||||
func getProxyStatus() ServiceStatus {
|
||||
activeCount := 0
|
||||
totalCount := len(config.ConfigData.Proxy_Service)
|
||||
|
||||
for _, proxy := range config.ConfigData.Proxy_Service {
|
||||
if proxy.Enable {
|
||||
activeCount++
|
||||
}
|
||||
}
|
||||
|
||||
info := fmt.Sprintf("%d из %d", activeCount, totalCount)
|
||||
|
||||
// Проверяем глобальный флаг и статус HTTP/HTTPS
|
||||
proxyEnabled := config.ConfigData.Soft_Settings.Proxy_enabled
|
||||
httpRunning := webserver.GetHTTPStatus()
|
||||
httpsRunning := webserver.GetHTTPSStatus()
|
||||
|
||||
status := proxyEnabled && (httpRunning || httpsRunning)
|
||||
|
||||
return ServiceStatus{
|
||||
Name: "Proxy",
|
||||
Status: status,
|
||||
Port: "-",
|
||||
Info: info,
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user