42 lines
1.6 KiB
Go
42 lines
1.6 KiB
Go
package api
|
|
|
|
import (
|
|
"net/http"
|
|
|
|
"home-vue-go/internal/database"
|
|
|
|
"github.com/gin-gonic/gin"
|
|
)
|
|
|
|
// GetFrontendConfig returns only public head, runtime and tracker settings.
|
|
func GetFrontendConfig(db *database.Database) gin.HandlerFunc {
|
|
return func(c *gin.Context) {
|
|
settings, err := db.LoadSiteSettings(c.Request.Context())
|
|
if err != nil {
|
|
c.JSON(http.StatusInternalServerError, gin.H{"error": "加载前端配置失败"})
|
|
return
|
|
}
|
|
c.JSON(http.StatusOK, gin.H{
|
|
"title": settings.PageTitle,
|
|
"siteName": settings.SiteName,
|
|
"siteURL": settings.SiteURL,
|
|
"keywords": settings.SiteKeywords,
|
|
"description": settings.SiteDescription,
|
|
"favicon": settings.Favicon,
|
|
"iconLibrary": settings.IconLibrary,
|
|
"fontLibrary": settings.FontLibrary,
|
|
"analyticsProvider": settings.AnalyticsProvider,
|
|
"umamiScript": settings.UmamiScript,
|
|
"umamiScriptUrl": settings.UmamiScript,
|
|
"umamiWebsiteId": settings.UmamiWebsiteID,
|
|
"umamiDomains": settings.UmamiDomains,
|
|
"umamiDoNotTrack": settings.UmamiDoNotTrack,
|
|
"umamiExcludeSearch": settings.UmamiExcludeSearch,
|
|
"umamiExcludeHash": settings.UmamiExcludeHash,
|
|
"umamiPerformance": settings.UmamiPerformance,
|
|
"umamiTag": settings.UmamiTag,
|
|
"umamiTrackerOptions": gin.H{"domains": settings.UmamiDomains, "doNotTrack": settings.UmamiDoNotTrack, "excludeSearch": settings.UmamiExcludeSearch, "excludeHash": settings.UmamiExcludeHash, "performance": settings.UmamiPerformance, "tag": settings.UmamiTag},
|
|
})
|
|
}
|
|
}
|