Добавление и Удаление сайта

Backend (Go):
- Добавлен полный функционал создания сайтов
- Добавлен функционал удаления сайтов
- Новые API методы в admin.go:
- Добавлен шаблон стартовой страницы
- Добавлена функция DecodeBase64

Исправления критических ошибок:
- Исправлена работа wildcard алиасов (*.domain.com) в handler.go
- Исправлены ошибки "файл не найден" при создании файлов

Frontend (JavaScript + HTML + CSS):
- Добавлена страница создания сайта
- Добавлена кнопка "Удалить сайт" в редактировании
- Мелкие доработки стилей

Build:
- Обновлён build_admin.ps1 - добавлен шаг генерации биндингов (wails generate module)

Fixes:
- #fix Wildcard алиасы (*.domain.com) теперь работают корректно
- #fix Удалён порт из host при проверке алиасов
- #fix Приоритет точных доменов над wildcard
- #fix Ошибки "файл не найден" при создании сайтов/vAccess
- #fix Секция добавления сайта теперь скрывается при навигации
This commit is contained in:
2025-11-14 14:18:26 +07:00
parent 0ed6a6007d
commit 4b13923375
22 changed files with 1823 additions and 57 deletions

View File

@@ -318,3 +318,49 @@ func (a *App) UpdateSiteCache() string {
webserver.UpdateSiteStatusCache()
return "Cache updated"
}
func (a *App) CreateNewSite(siteJSON string) string {
var siteData sites.SiteInfo
err := json.Unmarshal([]byte(siteJSON), &siteData)
if err != nil {
return "Error: Invalid JSON - " + err.Error()
}
err = sites.CreateNewSite(siteData)
if err != nil {
return "Error: " + err.Error()
}
config.LoadConfig()
return "Site created successfully"
}
func (a *App) UploadCertificate(host, certType, certDataBase64 string) string {
certData, err := tools.DecodeBase64(certDataBase64)
if err != nil {
return "Error: Invalid base64 data - " + err.Error()
}
err = sites.UploadSiteCertificate(host, certType, certData)
if err != nil {
return "Error: " + err.Error()
}
webserver.ReloadCertificates()
return "Certificate uploaded successfully"
}
func (a *App) ReloadSSLCertificates() string {
webserver.ReloadCertificates()
return "SSL certificates reloaded"
}
func (a *App) DeleteSite(host string) string {
err := sites.DeleteSite(host)
if err != nil {
return "Error: " + err.Error()
}
config.LoadConfig()
return "Site deleted successfully"
}