Files
go_blog/models/nav_link.go
T
kevin f307781f58 docs: 全部 Go 代码注释汉化
- 48 个 Go 文件所有注释(行注释/块注释/行尾注释,含 _test.go)翻译为中文
- 保留技术标识符:SECURITY_TODO(n)、unsafe-inline、sqlite/mysql、路由参数等
- 代码、字符串字面量、日志消息保持英文原文,零逻辑改动
- go build/vet 通过,go test -count=1 ./... 全绿
2026-08-27 19:03:03 +08:00

37 lines
1.2 KiB
Go

package models
import "time"
// NavLink 表示页头中的自定义导航链接。
type NavLink struct {
ID uint `gorm:"primarykey" json:"id"`
TitleZh string `gorm:"size:100;not null" json:"title_zh"` // 链接文本(中文)
TitleEn string `gorm:"size:100;not null" json:"title_en"` // 链接文本(英文)
URL string `gorm:"size:512;not null" json:"url"` // 目标 URL
OpenNew bool `gorm:"default:false" json:"open_new"` // 在新窗口中打开
Enabled bool `gorm:"default:true" json:"enabled"` // 显示/隐藏链接
Sort int `gorm:"default:0;index" json:"sort"` // 显示顺序(数值越小越靠前)
CreatedAt time.Time `json:"created_at"`
UpdatedAt time.Time `json:"updated_at"`
UpdatedBy uint `gorm:"index" json:"updated_by"`
}
// TableName 覆盖 GORM 默认的表名。
func (NavLink) TableName() string {
return "nav_links"
}
// Title 返回指定语言代码下的链接文本,当所请求语言为空时回退到另一语言。
func (n *NavLink) Title(lang string) string {
if lang == "zh" {
if n.TitleZh != "" {
return n.TitleZh
}
return n.TitleEn
}
if n.TitleEn != "" {
return n.TitleEn
}
return n.TitleZh
}