From e6cc1b02296244611957ba32a8ef0afacca93908 Mon Sep 17 00:00:00 2001 From: keven Date: Sun, 19 Oct 2025 10:19:28 +0800 Subject: [PATCH] feat(backend): add About and Config controllers for dynamic environment variable retrieval --- backend/internal/controllers/about.go | 19 +++++++++++++++++++ backend/internal/controllers/config.go | 17 +++++++++++++++++ backend/internal/utils/env.go | 5 +++++ 3 files changed, 41 insertions(+) create mode 100644 backend/internal/controllers/about.go create mode 100644 backend/internal/controllers/config.go diff --git a/backend/internal/controllers/about.go b/backend/internal/controllers/about.go new file mode 100644 index 0000000..c8c54c5 --- /dev/null +++ b/backend/internal/controllers/about.go @@ -0,0 +1,19 @@ +package controllers + +import ( + "backend/internal/utils" + + "github.com/labstack/echo/v4" +) + +func GetAbout(c echo.Context) error { + + return utils.HTTPSuccessHandler(c, map[string]any{ + "bg_url": utils.GetEnv("about.bg_url"), + "content": utils.GetEnvMapString("about.content"), + "email": utils.GetEnv("about.email"), + "name": utils.GetEnv("about.name"), + "url": utils.GetEnv("about.url"), + "avatar": utils.GetEnv("about.avatar"), + }) +} diff --git a/backend/internal/controllers/config.go b/backend/internal/controllers/config.go new file mode 100644 index 0000000..a8ff51e --- /dev/null +++ b/backend/internal/controllers/config.go @@ -0,0 +1,17 @@ +package controllers + +import ( + "backend/internal/utils" + + "github.com/labstack/echo/v4" +) + +func GetConfig(c echo.Context) error { + return utils.HTTPSuccessHandler(c, map[string]any{ + "site_title": utils.GetEnvMapString("site.title"), + "site_desc": utils.GetEnvMapString("site.desc"), + "site_url": utils.GetEnv("site.url"), + "site_icon": utils.GetEnvWithDefault("site.icon", "/logo.png"), + "site_bg_url": utils.GetEnvWithDefault("site.bg_url", "https://img.fudaoyuan.icu/api/1/random/?scale_min=1.5&webp=true&md=false&format=302"), + }) +} diff --git a/backend/internal/utils/env.go b/backend/internal/utils/env.go index c13b89f..bd4ffdb 100644 --- a/backend/internal/utils/env.go +++ b/backend/internal/utils/env.go @@ -44,3 +44,8 @@ func GetEnvWithDefault(key string, defaultValue string) string { } return value } + +func GetEnvMapString(key string) map[string]string { + InitEnv() + return v.GetStringMapString(key) +}