This commit is contained in:
toom1996
2026-08-30 10:45:34 +08:00
parent a6724265ad
commit 9c3403a903
23 changed files with 284 additions and 508 deletions

View File

@ -7,11 +7,7 @@ type BrandQuery struct {
Letter string // A-Z 字母索引;OTHER 表示中文分桶;空表示全部拉丁字母
Keyword string
Page int
Size int
// OnlyWithArticles 只返回"拥有走秀档案"的品牌,默认 true。
// 库中有 2 万+ 无档案的品牌,若不过滤会污染 A-Z 索引。
OnlyWithArticles bool
Size int // 每页条数,已写死 brandDefaultSize(30),前端不传
// Featured 仅保留"代表品牌"精选集合(按指标排名的前 N 个)。
Featured bool
@ -25,7 +21,7 @@ type BrandQuery struct {
// 品牌列表分页与精选集合的边界,与原项目保持一致。
const (
brandDefaultSize = 200
brandDefaultSize = 30
brandMaxSize = 500
featuredDefaultLimit = 200
featuredMaxLimit = 500
@ -54,13 +50,12 @@ func (q BrandQuery) Offset() int { return (q.Page - 1) * q.Size }
// PublicBrand 对外展示用的精简品牌结构,剔除 created_at / updated_at / is_deleted。
// 注意:对外只暴露编码后的 UID(非自增主键),防止顺序枚举。
// article_count(各品牌档案数)前端从不展示,已移除,故不再额外查一次分组计数。
type PublicBrand struct {
UID string `json:"id"` // 编码后的品牌 id(无序串),对外唯一标识
Name string `json:"name"` // 按 locale 选列(cn→name_cn,en→name_en)
NameEn string `json:"name_en"` // 英文规范名(始终返回,供前端组合双语展示)
NameCn string `json:"name_cn"` // 中文名(可能为空,供前端组合双语展示)
ShowName string `json:"show_name"`
ArticleCount int `json:"article_count"` // 该品牌下的走秀档案数,用于索引计数
UID string `json:"id"` // 编码后的品牌 id(无序串),对外唯一标识
Name string `json:"name"` // 按 locale 选列(cn→name_cn,en→name_en)
NameEn string `json:"name_en"` // 英文规范名(始终返回,供前端组合双语展示)
NameCn string `json:"name_cn"` // 中文名(可能为空,供前端组合双语展示)
}
// PopularBrand 首页"热门品牌"区块所需结构。