Files
gouki fec383f257
Publish Mini Program Dev Version / publish (push) Successful in 1m12s
Build and Publish Server / build (push) Successful in 8m24s
feat(wiki): 二十四节气详情抓取百度百科并图文展示
数据源:百度百科开放接口 BaikeLemmaCardApi(无反爬,返回结构化 JSON)
与「历史上的今天」(维基)完全解耦,维基代码原样保留可随时恢复:

服务端:
- WikiEntry 增加 image(配图)和 extra(结构化字段 JSON)字段
- 新建 BaikeTermSyncLog 独立日志表(不污染维基 WikiSyncLog)
- 新建 BaikeTermSyncService 独立同步服务(24 节气,间隔 1.2s)
- 启动时缺详情自动补齐,之后按配置间隔定时增量刷新
- 管理 API:GET/POST /admin/api/wiki/term-sync*

管理后台:
- 百科条目 Tab 顶部加节气同步卡片(X/24 + 状态 + 同步按钮)
- 条目编辑器加配图 URL(含预览)和节气扩展字段编辑

小程序:
- 百科页展开详情图文展示:配图 + 简介 + 物候/习俗/养生等分块

本地验证:24/24 节气抓取成功,image/extra 全部填充,维基数据不受影响
2026-08-13 00:31:43 +00:00

19 lines
846 B
Go
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
package model
import (
"time"
)
// BaikeTermSyncLog 节气详情同步日志(独立于维基 WikiSyncLog,互不影响)
type BaikeTermSyncLog struct {
ID uint `gorm:"primaryKey" json:"id"`
Trigger string `gorm:"size:20" json:"trigger"` // startup:启动自动 cron:定时任务 admin:手动
Status string `gorm:"size:20" json:"status"` // running:进行中 success:成功 partial:部分失败 failed:失败
Pages int `json:"pages"` // 总节气数(24
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
}