feat: E1002 六色版改为 k=1 原字号重排版+启用黄绿蓝语义色并恢复 30 天趋势图
- 放弃 k=2 整数倍放大(字太大),字号与 400×300 三色版一致,靠四倍面积重排:顶部时钟/天气不变,中段 Claude Usage 与橘喵今日实时左右并排,下段全宽恢复三色版隐藏的 30 天趋势图 - 六色各有唯一语义:红=预警/涨/定位/太阳闪电/流水线,黄=用量「注意」档填充(USAGE_CAUTION,默认 60,仅六色版),绿=毛利线,蓝=单量线与雨滴雪花 - renderer 基类新增 _usage_colors 配色钩子与 _weather_icon 的 wet 参数、_section 支持自定义横向范围,三色版行为不变 - data 为趋势追加 totals 合计(现算不进缓存),usage 增加 caution 阈值 - 底部六色测试色条改由 E1002_COLOR_STRIP 控制,默认关闭;同步更新 CLAUDE.md Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
20
data.py
20
data.py
@@ -163,11 +163,25 @@ def _mao(now):
|
||||
except Exception as e:
|
||||
print(f"[警告] 今日经营拉取失败:{e}")
|
||||
cols = [_placeholder_col(k) for k in ("单量", "流水", "毛利")]
|
||||
# 近30天趋势(按日期缓存,每天只拉一次)
|
||||
trend = _trend(now)
|
||||
# 近30天趋势(按日期缓存,每天只拉一次);合计每次现算,不进缓存(缓存结构保持不变)
|
||||
trend = dict(_trend(now))
|
||||
trend["totals"] = _trend_totals(trend)
|
||||
return {"upd": upd, "cols": cols, "trend": trend}
|
||||
|
||||
|
||||
def _trend_totals(trend):
|
||||
"""近30天三指标合计 → [(名,文本)],供宽版(E1002)趋势图标题行展示;无数据返回空列表。
|
||||
单量按千分位计数,流水/毛利按金额紧凑格式(≥1万 显示 X.XX万)。"""
|
||||
out = []
|
||||
for s in trend.get("series") or []:
|
||||
data = s.get("data") or []
|
||||
if not data:
|
||||
continue
|
||||
total = sum(data)
|
||||
out.append((s["k"], _fmt_count(total) if s["k"] == "单量" else _fmt_money(total)))
|
||||
return out
|
||||
|
||||
|
||||
# ---------- Claude Code 用量 ----------
|
||||
def _parse_reset_ts(s):
|
||||
"""resets_at → epoch 秒。兼容三种:epoch 数字(Claude Code stdin 给的就是 epoch)、
|
||||
@@ -220,7 +234,7 @@ def _usage(now):
|
||||
if pct is not None and tp is not None:
|
||||
bar["time_pct"] = tp
|
||||
bars.append(bar)
|
||||
return {"title": "Claude Usage", "warn": config.USAGE_WARN, "bars": bars}
|
||||
return {"title": "Claude Usage", "warn": config.USAGE_WARN, "caution": config.USAGE_CAUTION, "bars": bars}
|
||||
|
||||
|
||||
def get_dashboard_data(now=None):
|
||||
|
||||
Reference in New Issue
Block a user