跳转到内容

desktop/src/App.svelte

第 1 条注释,第 41 行

desktop/src/App.svelte:41

/** 两个自然日/当天自动切小时粒度,以设置时区的日期为边界。 */

第 2 条注释,第 55 行

desktop/src/App.svelte:55

/** 今日独立查询(任务 D8):当日 first=last 的 summary,供今日分区使用。 */

第 3 条注释,第 66 行

desktop/src/App.svelte:66

// ---- 主题(跟随系统/亮色/暗色):data-theme 属性 + isDark 派生(供 ECharts)。 ----

第 4 条注释,第 67 行

desktop/src/App.svelte:67

/** 系统深色偏好实时状态(change 时更新;system 模式下系统切换立即重绘图表)。 */

第 5 条注释,第 77 行

desktop/src/App.svelte:77

/** 生效主题:设置显式 light/dark 优先,其余(含未知值)回落 system。 */

第 6 条注释,第 81 行

desktop/src/App.svelte:81

/** 是否深色(显式 dark,或 system 且系统偏好深色);传给各 ECharts 组件。 */

第 7 条注释,第 84 行

desktop/src/App.svelte:84

// system = 移除 data-theme(themes.css 的 prefers-color-scheme 媒体查询接管)。

第 8 条注释,第 91 行

desktop/src/App.svelte:91

// 多用户(v6):顶栏切换 + 新建。

第 9 条注释,第 100 行

desktop/src/App.svelte:100

/** 用户切换/导入等不改变 query 的强制重查信号(传给子组件)。 */

第 10 条注释,第 103 行

desktop/src/App.svelte:103

// ---- 面板布局(任务 E10/E11):拖拽顺序 + 显示/隐藏,按页持久化 localStorage。 ----

第 11 条注释,第 158 行

desktop/src/App.svelte:158

/** 面板在 6 列网格中的默认跨列数。 */

第 12 条注释,第 189 行

desktop/src/App.svelte:189

/** 趋势页面板顺序:费用估算未启用时隐藏费用面板(布局持久化不动)。 */

第 13 条注释,第 203 行

desktop/src/App.svelte:203

/** 面板生效跨列数:编辑模式把手拖出的档位优先,其次面板默认值。 */

第 14 条注释,第 209 行

desktop/src/App.svelte:209

/** 面板生效高度(px;未调整过 = 自适应)。 */

第 15 条注释,第 214 行

desktop/src/App.svelte:214

/** resize 把手拖动结束:记录 span/height 并持久化布局。 */

第 16 条注释,第 221 行

desktop/src/App.svelte:221

/** 重置布局(编辑模式):清除当前页 localStorage 记录,恢复默认顺序/尺寸/显隐。 */

第 17 条注释,第 236 行

desktop/src/App.svelte:236

/** 布局编辑模式:仅此时面板可拖拽/调整显隐(总览与趋势共用一个开关)。 */

第 18 条注释,第 242 行

desktop/src/App.svelte:242

/**
* 面板拖拽(Pointer Events;2026-09-26 修复“完全无法拖动”):
* WebView2 在 Tauri 默认 dragDropEnabled=true 时拦截 HTML5 drag 事件,
* dragstart/drop 根本不触发。改为 pointerdown(Panel 内)+ window 级
* pointermove/pointerup/pointercancel:move 时 elementsFromPoint 命中
* 落点面板(data-panel-group/-index),抬起时交换 order 并持久化。
*/

第 19 条注释,第 259 行

desktop/src/App.svelte:259

// 命中其它分组/页面区域:落点回退为自身(松手不产生交换)。

第 20 条注释,第 352 行

desktop/src/App.svelte:352

// 同一费用查询为当前页面的汇总、模型行和曲线提供数据。

第 21 条注释,第 390 行

desktop/src/App.svelte:390

// 用量按小时显示时,费用曲线仍按日;包含该日所有可见小时。

第 22 条注释,第 435 行

desktop/src/App.svelte:435

/** 总览历史与趋势共用周期选区;总览再次点击同一点取消。 */

第 23 条注释,第 448 行

desktop/src/App.svelte:448

// 下拉选项 = 用户列表 +(当前用户不在列表时合成一项,如初始 default)。

第 24 条注释,第 457 行

desktop/src/App.svelte:457

// 今日饼图数据:total_tokens 占比(unknown 归“未知”;0 值不参与)。

第 25 条注释,第 474 行

desktop/src/App.svelte:474

// 趋势页饼图数据:当前时间范围 summary 的模型/Agent total_tokens 占比。

第 26 条注释,第 518 行

desktop/src/App.svelte:518

/** 今日分区日期标签。 */

第 27 条注释,第 521 行

desktop/src/App.svelte:521

/**
* 选中时间点汇总卡(结构同今日汇总):总调用、输入(总量 + 命中/未命中分解)、
* 输出、总 token、缓存命中率、会话数;周/月粒度附加活动天数。
*/

第 28 条注释,第 581 行

desktop/src/App.svelte:581

/** 主查询 + 今日查询(同一次用户交互/刷新内成对加载)。
* 查询键与数据修订均未变化时保留现有对象引用:派生值/图表不重算,
* 避免空闲轮询导致的整体重绘闪烁(2026-09-26 用户反馈)。 */

第 29 条注释,第 634 行

desktop/src/App.svelte:634

/** 用户切换/导入等不改变 query 的数据重载(summary/heatmap/sources 都要刷新)。 */

第 30 条注释,第 643 行

desktop/src/App.svelte:643

// 打开新建行;下拉回落到当前用户。

第 31 条注释,第 663 行

desktop/src/App.svelte:663

// summary/heatmap 后端按当前用户过滤,切换后必须重拉。

第 32 条注释,第 696 行

desktop/src/App.svelte:696

// ---- 采集状态轮询与数据自动刷新 ----

第 33 条注释,第 697 行

desktop/src/App.svelte:697

/** 上次观察到"已结束"的采集完成时间(变化 = 一次采集结束,需要重查数据)。 */

第 34 条注释,第 699 行

desktop/src/App.svelte:699

/** 已加载 summary 的查询键 + 数据修订(loadSummary 跳过重复赋值用)。 */

第 35 条注释,第 702 行

desktop/src/App.svelte:702

/**
* 轮询采集状态:只在采集刚结束(running→结束)或完成时间变化(计划任务/
* headless 触发的采集结束)时重查数据;空闲轮询仅更新进度条状态,
* 不触发查询与图表重建(修复总览页周期性闪烁)。
*/

第 36 条注释,第 708 行

desktop/src/App.svelte:708

// 请求已接受时,工作线程可能尚未设置 running 标记。

第 37 条注释,第 729 行

desktop/src/App.svelte:729

/* 轮询失败下次再试 */

第 38 条注释,第 735 行

desktop/src/App.svelte:735

/**
* 状态轮询间隔自适应:采集中 500 ms,空闲 10 秒
* (仅探测系统任务/调度器启动的采集;状态查询本身不重绘图表)。
*/

第 39 条注释,第 746 行

desktop/src/App.svelte:746

// ---- 顶部数据自动刷新间隔(UI 定时重查;localStorage 持久化,默认 5 分钟)。 ----

第 40 条注释,第 748 行

desktop/src/App.svelte:748

// 键带 v2:默认值由 60 秒改为 300 秒(2026-09-26),旧默认的存量记录作废,

第 41 条注释,第 749 行

desktop/src/App.svelte:749

// 已运行过的界面首次启动回落新默认而非保留旧默认 60。

第 42 条注释,第 767 行

desktop/src/App.svelte:767

/* 存储不可用时仅本次会话生效 */

第 43 条注释,第 808 行

desktop/src/App.svelte:808

// 两个自然日/当天自动切到小时粒度。

第 44 条注释,第 814 行

desktop/src/App.svelte:814

// 查询条件变化后防抖 200ms 重查,并清空可能已失效的时间点选择。

第 45 条注释,第 833 行

desktop/src/App.svelte:833

// 时区/周起始影响统计范围但不改查询键,需强制重查。

第 46 条注释,第 835 行

desktop/src/App.svelte:835

// F2:费用估算配置变化后既有明细尚未估过价——启用时自动触发一次后台重算

第 47 条注释,第 836 行

desktop/src/App.svelte:836

// 重复重算不会重复计价;未启用时跳过,采集也不回填。

第 48 条注释,第 854 行

desktop/src/App.svelte:854

// 采集中:ETA 文案(null/不可估时为空串,模板据此隐藏)。

第 49 条注释,第 918 行

desktop/src/App.svelte:918

<!-- 数据自动重查间隔(与后台采集间隔独立;关闭 = 只手动刷新)。 -->

第 50 条注释,第 1082 行

desktop/src/App.svelte:1082

<!-- 范围/粒度只影响历史趋势区(今日数据独立查询),故放在该分区内侧而非页面顶部。 -->

第 51 条注释,第 1105 行

desktop/src/App.svelte:1105

<!-- 选中时间点汇总(点击任一历史趋势图的数据点出现;结构同今日汇总)。 -->

第 52 条注释,第 1132 行

desktop/src/App.svelte:1132

<!-- 选中时间点的模型/Agent 占比饼图(chart_series 数据,采用相同筛选条件)。
加载占位与饼图同高度、换选保留旧图原地换数据,避免布局跳动。 -->

第 53 条注释,第 1194 行

desktop/src/App.svelte:1194

<!-- 范围汇总面板(图表区上方固定位置):7 张小卡片,取 summary.totals。 -->

第 54 条注释,第 1345 行

desktop/src/App.svelte:1345

/* 布局编辑模式开关(🔧;激活时高亮)。 */

第 55 条注释,第 1380 行

desktop/src/App.svelte:1380

/* 顶部自动刷新间隔(与采集进度条/刷新按钮同行)。 */

第 56 条注释,第 1389 行

desktop/src/App.svelte:1389

/* 采集中:简洁进度条(宽度 = 百分比)+ 百分比/剩余时间文案。 */

第 57 条注释,第 1467 行

desktop/src/App.svelte:1467

/* 今日/历史醒目分区标题(任务 D8);历史区标题右侧内联范围/粒度筛选(只影响该区)。 */

第 58 条注释,第 1490 行

desktop/src/App.svelte:1490

/* 历史趋势区标题右侧的范围/粒度下拉(与今日数据区视觉分离)。 */

第 59 条注释,第 1504 行

desktop/src/App.svelte:1504

/* 选中时间点汇总(历史趋势区内):标题行 + 复用 summary-cards 卡片网格。 */

第 60 条注释,第 1538 行

desktop/src/App.svelte:1538

/* 选中时间点饼图行:模型/Agent 两列卡片(窄屏叠一行一个)。 */

第 61 条注释,第 1551 行

desktop/src/App.svelte:1551

/* 与加载占位和空数据状态保持同高,减少切换时间点时的布局变化。 */

第 62 条注释,第 1559 行

desktop/src/App.svelte:1559

/* 饼图加载占位:高度与 SharePie 190px 一致,加载完成不产生布局跳动。 */

第 63 条注释,第 1565 行

desktop/src/App.svelte:1565

/* 面板 6 列格子布局(任务 E10);跨列数由 Panel 的 span 类决定。 */

第 64 条注释,第 1573 行

desktop/src/App.svelte:1573

/* 指标行保持紧凑;账号额度使用独立的整行区域。 */