web_gui.go 1010 B

123456789101112131415161718192021222324252627282930313233343536
  1. // package web_gui -- веб-сервер для графики
  2. package web_gui
  3. import (
  4. "fmt"
  5. "wartank/pkg/types"
  6. "github.com/gofiber/fiber/v2"
  7. )
  8. // ВебГип -- веб-сервер для графики
  9. type ВебГуи struct {
  10. серв types.ИСервер
  11. файбер *fiber.App
  12. }
  13. // НовВебГуи -- возвращает новый веб-сервер для графики
  14. func НовВебГуи(вебСервер types.ИВебСервер) (*ВебГуи, error) {
  15. if вебСервер == nil {
  16. return nil, fmt.Errorf("НовВебГуи(): ИВебСервер==nil")
  17. }
  18. сам := &ВебГуи{
  19. серв: вебСервер.Сервер(),
  20. файбер: вебСервер.Файбер(),
  21. }
  22. сам.файбер.Get("/", сам.индекс)
  23. return сам, nil
  24. }
  25. // Возвращает индексную страницу
  26. func (сам *ВебГуи) индекс(кнт *fiber.Ctx) error {
  27. return кнт.Render("index", fiber.Map{
  28. "Title": "WarTank",
  29. })
  30. }