package setting import ( "context" "database/sql" "encoding/json" "fmt" ) // Settings 站点级配置,管理员可在后台调整。 type Settings struct { SiteTitle string `json:"site_title"` SiteSubtitle string `json:"site_subtitle"` OwnerName string `json:"owner_name"` OwnerAvatar string `json:"owner_avatar"` OwnerBio string `json:"owner_bio"` Modules []string `json:"modules"` // Pages 是对访客开放的页面;管理员始终可以访问全部页面 Pages []string `json:"pages"` // Regions 是访客的区域限制列表(省 / 市 / 区任意层级); // 空表示不限制,管理员始终看到全部数据。方向由 RegionsMode 决定。 Regions []string `json:"regions"` // RegionsMode 决定 Regions 是白名单还是黑名单: // whitelist = 访客只看得到命中这些区域的记录;blacklist = 命中这些区域的记录对访客隐藏。 RegionsMode string `json:"regions_mode"` HideHome bool `json:"hide_home"` HideWork bool `json:"hide_work"` // NotesPublic 决定地点备注是否对访客展示;默认只站长自己可见 NotesPublic bool `json:"notes_public"` // MarksPublic 决定「推荐 / 踩雷」标记与票数是否对访客展示;默认公开 MarksPublic bool `json:"marks_public"` MinDwellMin int `json:"min_dwell_min"` AccentColor string `json:"accent_color"` // VisitorHome 是访客打开站点根路径时的落地页;VisitorHomeMain 表示就停在主页。 // 站长自己访问根路径始终看主页,不受这里影响。 VisitorHome string `json:"visitor_home"` // MapDefaultBase 是地图默认铺哪张底图,取值是底图图层的 Key(如 amap-roadnet)。 // 空 = 用第一张。点位密集时换成「纯路网」可以去掉底图自带的 POI 与路名标注, // 自己的点看得更清楚;访客在图上手动切换过的话,浏览器会记住他自己的选择。 MapDefaultBase string `json:"map_default_base"` // MediaBackend 是地点图片存哪:local(服务器磁盘)或 s3(S3 兼容对象存储,如 R2)。 // 对象存储的凭据在 conf/app.ini 里(s3_*),不进数据库。 MediaBackend string `json:"media_backend"` // TrackEnabled 决定是否注入 TrackScript。默认关闭(false)—— // 统计脚本会把自己掌握的访问信息发到第三方,默认不该开。 TrackEnabled bool `json:"track_enabled"` // TrackScript 是第三方统计 / 追踪脚本;填 URL 会包成