| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 |
- // package web_gui -- веб-сервер для графики
- package web_gui
- import (
- "net/http"
- "github.com/gofiber/fiber/v2"
- . "wartank/app/lev0/types"
- "wartank/app/lev2/serv_web/web_gui/page_bot_add"
- "wartank/app/lev2/serv_web/web_gui/page_bot_list"
- "wartank/app/lev2/serv_web/web_gui/page_bot_show"
- "wartank/app/lev2/serv_web/web_gui/page_login"
- "wartank/pkg/kernel/kernel_log"
- . "wartank/pkg/kernel/kernel_types"
- )
- // ВебГип -- веб-сервер для графики
- type ВебГуи struct {
- серв ИПриложение
- лог *kernel_log.Логгер
- }
- // НовВебГуи -- возвращает новый веб-сервер для графики
- func НовВебГуи(конт ИЯдроКонтекст) *ВебГуи {
- лог := kernel_log.НовЛоггер("ВебГуи")
- лог.Паника(конт == nil, "НовВебГуи(): ИЯдроКонтекст==nil")
- сам := &ВебГуи{
- серв: конт.Получ("сервер").(ИПриложение),
- лог: лог,
- }
- файбер := конт.Получ("fiberApp").(*fiber.App)
- файбер.Get("/", сам.кукиПроверить, сам.индекс)
- _ = page_login.НовСтраницаЛогин(конт)
- _ = page_bot_list.НовСтраницаСписокБотов(конт)
- _ = page_bot_add.НовСтраницаБотовДобавить(конт)
- _ = page_bot_show.НовСтраницаБотПоказать(конт)
- return сам
- }
- // Возвращает индексную страницу
- func (сам *ВебГуи) индекс(кнт *fiber.Ctx) error {
- сам.лог.Отладка("ВебГуи.индекс()\n")
- имя := кнт.Cookies("login")
- if имя != "svi" {
- return кнт.Redirect("/gui/login", http.StatusSeeOther)
- }
- return кнт.Redirect("/gui/bot", http.StatusSeeOther)
- }
- // Проверка на куки
- func (сам *ВебГуи) кукиПроверить(кнт *fiber.Ctx) error {
- сам.лог.Отладка("ВебГуи.кукиПроверить()\n")
- имя := кнт.Cookies("login")
- if имя != "svi" {
- return кнт.Redirect("/gui/login", http.StatusSeeOther)
- }
- return кнт.Next()
- }
|