package model import ( "time" ) // WikiEntry 百科条目(小程序百科页,可在管理后台维护) type WikiEntry struct { ID uint `gorm:"primaryKey" json:"id"` Category string `gorm:"size:30;index" json:"category"` // term:节气 lunarFest:农历节日 solarFest:公历节日 ganzhi:干支生肖 termExplain:黄历术语 other:其他 Title string `gorm:"size:50" json:"title"` Brief string `gorm:"size:255" json:"brief"` // 简介(列表折叠时显示) Content string `gorm:"type:text" json:"content"` // 详细内容(展开后显示) Image string `gorm:"size:255" json:"image"` // 配图 URL(节气等条目的配图) Extra string `gorm:"type:text" json:"extra"` // 扩展字段 JSON(节气:别名/外文名/物候/习俗/养生等) Sort int `gorm:"default:0" json:"sort"` Status int `gorm:"default:1" json:"status"` // 1:显示 0:隐藏 CreatedAt time.Time `json:"createdAt"` UpdatedAt time.Time `json:"updatedAt"` } // WikiOnThisDay 历史上的今天(数据来源:中文维基百科) type WikiOnThisDay struct { ID uint `gorm:"primaryKey" json:"id"` Month int `gorm:"index:idx_otd_day" json:"month"` // 1-12 Day int `gorm:"index:idx_otd_day" json:"day"` // 1-31 Kind string `gorm:"size:20;index:idx_otd_day" json:"kind"` // event:大事记 birth:出生 death:逝世 festival:节假日习俗 Year int `json:"year"` // 0:年份不详,负数:公元前 Content string `gorm:"type:text" json:"content"` Status int `gorm:"default:1" json:"status"` } // WikiSyncLog 维基百科同步日志 type WikiSyncLog struct { ID uint `gorm:"primaryKey" json:"id"` Trigger string `gorm:"size:20" json:"trigger"` // startup:schema自动 cron:定时任务 admin:手动 Status string `gorm:"size:20" json:"status"` // running:进行中 success:成功 partial:部分失败 failed:失败 Pages int `json:"pages"` // 总页数 Success int `json:"success"` // 成功页数 Failed int `json:"failed"` // 失败页数 Error string `gorm:"size:500" json:"error"` StartedAt time.Time `json:"startedAt"` FinishedAt *time.Time `json:"finishedAt"` // 同步完成时间,进行中为 NULL }