- nav_links 增加 position(header/footer,迁移 v11),后台“导航链接”拆为头部/底部两张卡片,页脚链接支持多语言、新窗口与点分隔,删除硬编码的关于我们等链接 - site_settings 增加 favicon(迁移 v12),新增 PUT/DELETE /api/site/favicon,支持 ICO/PNG/SVG 等且不裁剪,引用计数与 Logo 一致自动管理 - 文件服务识别 SVG 并允许内联,统一附加 CSP(default-src 'none'; sandbox)防止存储型 XSS;Logo 维持仅栅格 - 前端 SiteInfoForm 增加 Favicon 上传/清空/预览,App.vue 动态更新 link rel=icon,三语文案补齐 - 补充位置与 Favicon 的接口/引用计数/安全头测试,重新生成 Swagger 文档
20 lines
781 B
Go
20 lines
781 B
Go
package model
|
|
|
|
import "time"
|
|
|
|
// SiteSettingID 站点设置的固定单行主键。
|
|
const SiteSettingID uint = 1
|
|
|
|
// SiteSetting 站点信息,全站仅一行,字段为空时前端回退默认展示。
|
|
type SiteSetting struct {
|
|
ID uint `gorm:"primaryKey" json:"-"`
|
|
SiteName string `gorm:"size:100;not null;default:''" json:"site_name" example:"Rill"`
|
|
Logo string `gorm:"size:500" json:"logo" example:"https://example.com/logo.png"`
|
|
Favicon string `gorm:"size:500" json:"favicon" example:"https://example.com/favicon.ico"`
|
|
Footer string `gorm:"size:1000" json:"footer" example:"Copyright © Rill"`
|
|
CreatedAt time.Time `json:"-"`
|
|
UpdatedAt time.Time `json:"updated_at"`
|
|
}
|
|
|
|
func (SiteSetting) TableName() string { return "site_settings" }
|