fix(stats): 页脚时间标签改成「快照时间」,去掉重复的「数据基准日」
原来四行时间里,前两行说的是同一件事: 「数据基准日:2026-10-24」+「计算于:2026-10-24 14:05:22」。 `DataDate` 就是 `UpdatedAt` 的日期部分(同一个 now 格式化出来的), 两行并列只是把同一个值拆成粗/细两种粒度。 而且「计算于」没有主语:读者站在页脚最底部看到它,会当成「整页数据 算到这一刻」,可今日两项恰恰不在这份快照里 —— 命中缓存时 `withToday` 会用更新的读数替换它们,页面上就出现「标注 14:05、 今日提问却是 22:35 的数」。 改成三行: 快照时间: 2026-10-24 14:05:22 最后一条提问: ... 最后一条回答: ... 「快照只含累计数字与图表、今日两项实时」由下面那条 cacheNote 说明, 不塞进标签里(标签越短越好扫)。词条同步:快照时间 / 快照時間 / Snapshot: / 集計時刻。 顺带删掉 `Overview.DataDate` 字段:模板不用它之后就没有读者了, 留着它会诱使以后的人再拼出「基准日 + 计算于」这种重复行。 无 schema/接口变更,纯展示层。i18n 有词条数量对等测试,四个语言已 一起改;`go build ./...` 与 i18n / stats / template / templates / route 测试全绿。
This commit is contained in:
@@ -65,8 +65,10 @@ type Overview struct {
|
||||
ReplyBins [6]int64
|
||||
|
||||
// 元信息
|
||||
//
|
||||
// UpdatedAt 是这份快照的生成时间,只覆盖累计数字与图表;今日两项在缓存命中时
|
||||
// 会被 withToday 换成更晚的读数,所以它不能当成「整页数据的时间」来展示。
|
||||
UpdatedAt string
|
||||
DataDate string
|
||||
}
|
||||
|
||||
// DailyPoint 某一天的提问量。
|
||||
@@ -300,7 +302,6 @@ func buildOverview(raw *db.SiteAnalytics, now time.Time) *Overview {
|
||||
HeatmapDays: raw.HeatmapDays,
|
||||
LengthBins: raw.LengthBins,
|
||||
ReplyBins: raw.ReplyBins,
|
||||
DataDate: now.Format("2006-01-02"),
|
||||
}
|
||||
if v.Public < 0 {
|
||||
v.Public = 0
|
||||
|
||||
Reference in New Issue
Block a user