mirror of
https://github.com/bolucat/Archive.git
synced 2025-10-06 08:39:35 +08:00
Update On Fri Sep 6 20:35:08 CEST 2024
This commit is contained in:
96
echo/internal/web/handler_page.go
Normal file
96
echo/internal/web/handler_page.go
Normal file
@@ -0,0 +1,96 @@
|
||||
package web
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"net/http"
|
||||
"strconv"
|
||||
|
||||
"github.com/Ehco1996/ehco/internal/config"
|
||||
"github.com/Ehco1996/ehco/internal/constant"
|
||||
"github.com/labstack/echo/v4"
|
||||
"go.uber.org/zap"
|
||||
)
|
||||
|
||||
const defaultPageSize = 20
|
||||
|
||||
func MakeIndexF() http.HandlerFunc {
|
||||
return func(w http.ResponseWriter, r *http.Request) {
|
||||
zap.S().Named("web").Infof("index call from %s", r.RemoteAddr)
|
||||
fmt.Fprintf(w, "access from remote ip: %s \n", r.RemoteAddr)
|
||||
}
|
||||
}
|
||||
|
||||
func (s *Server) index(c echo.Context) error {
|
||||
data := struct {
|
||||
Version string
|
||||
GitBranch string
|
||||
GitRevision string
|
||||
BuildTime string
|
||||
StartTime string
|
||||
Cfg config.Config
|
||||
}{
|
||||
Version: constant.Version,
|
||||
GitBranch: constant.GitBranch,
|
||||
GitRevision: constant.GitRevision,
|
||||
BuildTime: constant.BuildTime,
|
||||
StartTime: constant.StartTime.Format("2006-01-02 15:04:05"),
|
||||
Cfg: *s.cfg,
|
||||
}
|
||||
return c.Render(http.StatusOK, "index.html", data)
|
||||
}
|
||||
|
||||
func (s *Server) ListConnections(c echo.Context) error {
|
||||
pageStr := c.QueryParam("page")
|
||||
page, err := strconv.Atoi(pageStr)
|
||||
if err != nil || page < 1 {
|
||||
page = 1
|
||||
}
|
||||
pageSizeStr := c.QueryParam("page_size")
|
||||
pageSize, err := strconv.Atoi(pageSizeStr)
|
||||
if err != nil || pageSize < 1 {
|
||||
pageSize = defaultPageSize
|
||||
}
|
||||
connType := c.QueryParam("conn_type")
|
||||
total := s.connMgr.CountConnection(connType)
|
||||
perv := 0
|
||||
if page > 1 {
|
||||
perv = page - 1
|
||||
}
|
||||
next := 0
|
||||
if page*pageSize < total && page*pageSize > 0 {
|
||||
next = page + 1
|
||||
}
|
||||
|
||||
activeCount := s.connMgr.CountConnection("active")
|
||||
closedCount := s.connMgr.CountConnection("closed")
|
||||
|
||||
return c.Render(http.StatusOK, "connection.html", map[string]interface{}{
|
||||
"ConnType": connType,
|
||||
"ConnectionList": s.connMgr.ListConnections(connType, page, pageSize),
|
||||
"CurrentPage": page,
|
||||
"TotalPage": total / pageSize,
|
||||
"PageSize": pageSize,
|
||||
"Prev": perv,
|
||||
"Next": next,
|
||||
"Count": total,
|
||||
"ActiveCount": activeCount,
|
||||
"ClosedCount": closedCount,
|
||||
"AllCount": s.connMgr.CountConnection("active") + s.connMgr.CountConnection("closed"),
|
||||
})
|
||||
}
|
||||
|
||||
func (s *Server) ListRules(c echo.Context) error {
|
||||
return c.Render(http.StatusOK, "rule_list.html", map[string]interface{}{
|
||||
"Configs": s.cfg.RelayConfigs,
|
||||
})
|
||||
}
|
||||
|
||||
func (s *Server) RuleMetrics(c echo.Context) error {
|
||||
return c.Render(http.StatusOK, "rule_metrics.html", map[string]interface{}{
|
||||
"Configs": s.cfg.RelayConfigs,
|
||||
})
|
||||
}
|
||||
|
||||
func (s *Server) LogsPage(c echo.Context) error {
|
||||
return c.Render(http.StatusOK, "logs.html", nil)
|
||||
}
|
Reference in New Issue
Block a user