|
|
@@ -3,12 +3,15 @@ package web_gui
|
|
|
|
|
|
import (
|
|
|
_ "embed"
|
|
|
- "net/http"
|
|
|
+ // "net/http"
|
|
|
+ "strings"
|
|
|
|
|
|
"github.com/gofiber/fiber/v2"
|
|
|
. "gitp78su.ipnodns.ru/svi/kern"
|
|
|
. "gitp78su.ipnodns.ru/svi/kern/kc/helpers"
|
|
|
. "gitp78su.ipnodns.ru/svi/kern/krn/ktypes"
|
|
|
+ "gitp78su.ipnodns.ru/svi/kern/wui"
|
|
|
+ "gitp78su.ipnodns.ru/svi/kern/wui/wtypes"
|
|
|
|
|
|
. "wartank/app/lev0/types"
|
|
|
"wartank/app/lev3/serv_web/web_gui/page_bot_add"
|
|
|
@@ -19,8 +22,10 @@ import (
|
|
|
|
|
|
// ВебГип -- веб-сервер для графики
|
|
|
type ВебГуи struct {
|
|
|
- прилож ИПриложение
|
|
|
- лог ILogBuf
|
|
|
+ прилож ИПриложение
|
|
|
+ конт IKernelCtx
|
|
|
+ лог ILogBuf
|
|
|
+ кнпБоты wtypes.IWuiButton
|
|
|
}
|
|
|
|
|
|
// НовВебГуи -- возвращает новый веб-сервер для графики
|
|
|
@@ -29,10 +34,14 @@ func НовВебГуи(конт IKernelCtx) *ВебГуи {
|
|
|
Hassert(конт != nil, "НовВебГуи(): ИЯдроКонтекст==nil")
|
|
|
сам := &ВебГуи{
|
|
|
прилож: конт.Get("мод_сервер").Val().(ИПриложение),
|
|
|
+ конт: конт,
|
|
|
лог: лог,
|
|
|
}
|
|
|
+ сам.кнпБоты = wui.NewWuiButton("Список ботов", сам.ботыКлик)
|
|
|
+ сам.кнпБоты.Hx().Target().Set("#main")
|
|
|
файбер := конт.Get("fiberApp").Val().(*fiber.App)
|
|
|
- файбер.Get("/", сам.кукиПроверить, сам.индекс)
|
|
|
+ // файбер.Get("/", сам.кукиПроверить) //, сам.индекс)
|
|
|
+ файбер.Get("/", сам.индекс)
|
|
|
_ = page_login.НовСтраницаЛогин(конт)
|
|
|
_ = page_bot_list.НовСтраницаСписокБотов(конт)
|
|
|
_ = page_bot_add.НовСтраницаБотовДобавить(конт)
|
|
|
@@ -40,6 +49,19 @@ func НовВебГуи(конт IKernelCtx) *ВебГуи {
|
|
|
return сам
|
|
|
}
|
|
|
|
|
|
+var стрБлокБоты string
|
|
|
+
|
|
|
+//go:embed block_login.html
|
|
|
+var стрБлокЛогин string
|
|
|
+
|
|
|
+func (сам *ВебГуи) ботыКлик() string {
|
|
|
+ еслиЛогин := сам.конт.Get("еслиЛогин").Val().(bool)
|
|
|
+ if !еслиЛогин {
|
|
|
+ return стрБлокЛогин
|
|
|
+ }
|
|
|
+ return стрБлокБоты
|
|
|
+}
|
|
|
+
|
|
|
//go:embed index.tmpl.html
|
|
|
var стрГлавная string
|
|
|
|
|
|
@@ -49,15 +71,20 @@ func (сам *ВебГуи) индекс(кнт *fiber.Ctx) error {
|
|
|
кнт.Set("Content-type", "text/html; charset=utf8;-")
|
|
|
кнт.Set("Cache-Control", "no-cache")
|
|
|
_, _ = кнт.WriteString("\n\n")
|
|
|
- return кнт.SendString(стрГлавная)
|
|
|
+ стрВых := strings.ReplaceAll(стрГлавная, "{.btn_lst_bot}", сам.кнпБоты.Html())
|
|
|
+ return кнт.SendString(стрВых)
|
|
|
}
|
|
|
|
|
|
+/*
|
|
|
// Проверка на куки
|
|
|
func (сам *ВебГуи) кукиПроверить(кнт *fiber.Ctx) error {
|
|
|
сам.лог.Debug("ВебГуи.кукиПроверить()\n")
|
|
|
имя := кнт.Cookies("login")
|
|
|
if имя != "svi" {
|
|
|
- return кнт.Redirect("/gui/login", http.StatusSeeOther)
|
|
|
+ сам.конт.Set("еслиЛогин", false, "Признак логина")
|
|
|
+ } else {
|
|
|
+ сам.конт.Set("еслиЛогин", true, "Признак логина")
|
|
|
}
|
|
|
return кнт.Next()
|
|
|
}
|
|
|
+*/
|