粉丝
${escapeHtml(fans.name || "粉丝追踪")}
${options.length > 1 ? `` : ""}
${!fans.available ? emptyState("暂无粉丝数据", "每日快照完成后会开始记录粉丝数。")
: `
当前粉丝
${formatCount(fans.follower)}
${escapeHtml(fans.stat_date || "—")} · 首次记录 ${escapeHtml(fans.first_date || "—")}
日增${fans.delta_1d === null ? "—" : formatDelta(fans.delta_1d)}
7 日净增${fans.delta_7d === null ? "—" : formatDelta(fans.delta_7d)}
累计增长(${escapeHtml(fans.first_date || "—")} 以来)${formatDelta(fans.delta_cum)}
${sectionHeader("粉丝曲线")}
${RANGES.map(([value, label]) => ``).join("")}
${customRange ? `
` : ""}
${["一","二","三","四","五","六","日"].map((d) => `${d}`).join("")}
缺失日断开,不插值。
${fans.mode === "monthly"
? "当前范围超过一年,按每月粉丝峰值所在日期绘制。"
: `当前按日绘制(${escapeHtml(fans.range_start || "—")} ~ ${escapeHtml(fans.range_end || "—")})。`}
${sectionHeader("最近记录")}
默认展示最近 ${fans.recent_days || 14} 天;更早的数据只在曲线中显示。
| 日期 | 粉丝 | 变化值 |
${(fans.recent_points || []).slice().reverse().map((point) => `
| ${escapeHtml(point.stat_date)} |
${point.ok ? formatNumber(point.follower) : "—"} |
${point.delta === null || point.delta === undefined ? "—" : formatDelta(point.delta)} |
`).join("")}
`}
`;
root.querySelectorAll("[data-days]").forEach((button) => button.addEventListener("click", () => {
replaceQuery({ days: button.dataset.days, start: null, end: null });
}));
root.querySelector("#fan-mid")?.addEventListener("change", (event) => {
replaceQuery({ mid: event.target.value });
});
root.querySelector("#fan-range-clear")?.addEventListener("click", () => {
replaceQuery({ start: null, end: null, days: null });
});
setupRangePicker(root, { start, end, defaultDate: fans.range_end || end });
centerActiveChips(root);
const chartElement = root.querySelector("#fans-chart");
if (chartElement) {
lineChart(chartElement, {
dates: fans.dates || [],
values: fans.series || [],
name: "粉丝",
color: themeColor("accent"),
scale: true,
});
}
}