Большое обновление GUI интерфейс

Большое обновление GUI интерфейс

- Добавлен фраемворr Walles
- Удалена консольная версия
- Проработан интерфейс и дизайн
- Добавлено кеширование для быстрой реакции.
- Сделан .ps1 сборщик для удобной сборки проекта.
- Обновлён Readme
This commit is contained in:
2025-11-14 08:40:25 +07:00
parent 752f294392
commit 02ae56b78c
93 changed files with 7477 additions and 3504 deletions

105
main.go
View File

@@ -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()
}