Files
lunar-mini/server/internal/model/wiki.go
T
gouki 2a68eae999
Build and Publish Server / build (push) Successful in 2m8s
Publish Mini Program Dev Version / publish (push) Failing after 11m17s
feat(home): 修复swiper动画、宜忌布局、月历显示、节日速查
1. 修复swiper箭头点击动画丢失问题
   - 改用固定7天窗口,滑动到边缘时整体滚动数据
   - 保持dayIndex连续,确保swiper平滑动画

2. 修复宜忌两行显示压在一起
   - 设置item固定高度32rpx和行距12rpx
   - 超出2行显示...省略号

3. 修复月历数字竖向排列问题
   - 修正wxml嵌套结构,让42个格子正确排成6行7列
   - 压缩格子高度,放大数字字体

4. 节日速查功能优化
   - 默认显示3条,右侧添加更多
2026-08-10 23:07:47 +00:00

43 lines
2.1 KiB
Go

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"` // 详细内容(展开后显示)
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
}