// package web_gui -- веб-сервер для графики package web_gui import ( "fmt" "log" "github.com/gofiber/fiber/v2" "wartank/pkg/types" ) // ВебГип -- веб-сервер для графики type ВебГуи struct { серв types.ИСервер файбер *fiber.App } // НовВебГуи -- возвращает новый веб-сервер для графики func НовВебГуи(вебСервер types.ИВебСервер) (*ВебГуи, error) { if вебСервер == nil { return nil, fmt.Errorf("НовВебГуи(): ИВебСервер==nil") } сам := &ВебГуи{ серв: вебСервер.Сервер(), файбер: вебСервер.Файбер(), } сам.файбер.Get("/", сам.индекс) сам.файбер.Get("/gui/list_bot", сам.списокБотов) return сам, nil } // Возвращает страницу со списком ботов func (сам *ВебГуи) списокБотов(кнт *fiber.Ctx) error { имя := кнт.Cookies("login") if имя != "svi" { return кнт.Render("index", fiber.Map{ "Title": "WarTank", "err": "Не выполнен вход", }) } log.Printf("ВебГуи.списокБотов(): логин=%s\n", имя) return кнт.Render("list_bot", fiber.Map{ "Title": "WarTank", }) } // Возвращает индексную страницу func (сам *ВебГуи) индекс(кнт *fiber.Ctx) error { return кнт.Render("index", fiber.Map{ "Title": "WarTank", }) }