Большое обновление GUI интерфейс
Большое обновление GUI интерфейс - Добавлен фраемворr Walles - Удалена консольная версия - Проработан интерфейс и дизайн - Добавлено кеширование для быстрой реакции. - Сделан .ps1 сборщик для удобной сборки проекта. - Обновлён Readme
This commit is contained in:
105
main.go
105
main.go
@@ -1,75 +1,50 @@
|
||||
package main
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"time"
|
||||
webserver "vServer/Backend/WebServer"
|
||||
"embed"
|
||||
"log"
|
||||
|
||||
"github.com/wailsapp/wails/v2"
|
||||
"github.com/wailsapp/wails/v2/pkg/options"
|
||||
"github.com/wailsapp/wails/v2/pkg/options/assetserver"
|
||||
"github.com/wailsapp/wails/v2/pkg/options/windows"
|
||||
|
||||
admin "vServer/Backend/admin/go"
|
||||
json_admin "vServer/Backend/admin/go/json"
|
||||
config "vServer/Backend/config"
|
||||
tools "vServer/Backend/tools"
|
||||
)
|
||||
|
||||
//go:embed all:Backend/admin/frontend
|
||||
var assets embed.FS
|
||||
|
||||
func main() {
|
||||
// Создаём экземпляр приложения
|
||||
app := admin.NewApp()
|
||||
|
||||
if !tools.CheckSingleInstance() {
|
||||
println("")
|
||||
println(tools.Color("❌ ОШИБКА:", tools.Красный) + " vServer уже запущен!")
|
||||
println(tools.Color("💡 Подсказка:", tools.Жёлтый) + " Завершите уже запущенный процесс перед запуском нового.")
|
||||
println("")
|
||||
println("Нажмите Enter для завершения...")
|
||||
fmt.Scanln()
|
||||
return
|
||||
// Настройки окна
|
||||
err := wails.Run(&options.App{
|
||||
Title: "vServer - Панель управления",
|
||||
Width: 1600,
|
||||
Height: 900,
|
||||
MinWidth: 1400,
|
||||
MinHeight: 800,
|
||||
AssetServer: &assetserver.Options{
|
||||
Assets: assets,
|
||||
},
|
||||
BackgroundColour: &options.RGBA{R: 10, G: 14, B: 26, A: 1},
|
||||
OnStartup: app.Startup,
|
||||
OnShutdown: app.Shutdown,
|
||||
Bind: []interface{}{
|
||||
app,
|
||||
},
|
||||
Frameless: true,
|
||||
Windows: &windows.Options{
|
||||
WebviewIsTransparent: false,
|
||||
WindowIsTranslucent: false,
|
||||
DisableWindowIcon: false,
|
||||
Theme: windows.Dark,
|
||||
},
|
||||
})
|
||||
|
||||
if err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
|
||||
// Освобождаем мьютекс при выходе (опционально, так как Windows сама освободит)
|
||||
defer tools.ReleaseMutex()
|
||||
|
||||
println("")
|
||||
println(tools.Color("vServer", tools.Жёлтый) + tools.Color(" 1.0.0", tools.Голубой))
|
||||
println(tools.Color("Автор: ", tools.Зелёный) + tools.Color("Суманеев Роман (c) 2025", tools.Голубой))
|
||||
println(tools.Color("Официальный сайт: ", tools.Зелёный) + tools.Color("https://voxsel.ru", tools.Голубой))
|
||||
|
||||
println("")
|
||||
println("🚀 Запуск vServer...")
|
||||
println("📁 Файлы сайта будут обслуживаться из папки 'www'")
|
||||
println("")
|
||||
println("⏳ Запуск сервисов...")
|
||||
println("")
|
||||
|
||||
// Инициализируем время запуска сервера
|
||||
tools.ServerUptime("start")
|
||||
|
||||
config.LoadConfig()
|
||||
time.Sleep(50 * time.Millisecond)
|
||||
|
||||
webserver.StartHandler()
|
||||
time.Sleep(50 * time.Millisecond)
|
||||
|
||||
// Запускаем серверы в горутинах
|
||||
go admin.StartAdmin()
|
||||
time.Sleep(50 * time.Millisecond)
|
||||
|
||||
webserver.Cert_start()
|
||||
time.Sleep(50 * time.Millisecond)
|
||||
|
||||
go webserver.StartHTTPS()
|
||||
json_admin.UpdateServerStatus("HTTPS Server", "running")
|
||||
time.Sleep(50 * time.Millisecond)
|
||||
|
||||
go webserver.StartHTTP()
|
||||
json_admin.UpdateServerStatus("HTTP Server", "running")
|
||||
time.Sleep(50 * time.Millisecond)
|
||||
|
||||
webserver.PHP_Start()
|
||||
json_admin.UpdateServerStatus("PHP Server", "running")
|
||||
time.Sleep(50 * time.Millisecond)
|
||||
|
||||
webserver.StartMySQLServer(false)
|
||||
json_admin.UpdateServerStatus("MySQL Server", "running")
|
||||
time.Sleep(50 * time.Millisecond)
|
||||
|
||||
println("")
|
||||
webserver.CommandListener()
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user