desktop/src-tauri/src/app_state.rs
第 1 条注释,第 1 行
desktop/src-tauri/src/app_state.rs:1
//! 应用状态:单写者存储句柄、本机来源主机身份、设置与刷新作业状态。第 2 条注释,第 2 行
desktop/src-tauri/src/app_state.rs:2
//! GUI/headless 共享配置与采集状态(M6);Mutex 串行处理写入。第 3 条注释,第 3 行
desktop/src-tauri/src/app_state.rs:3
//! 查询优先使用连接池或只读连接;不可用时回退到写连接。第 4 条注释,第 11 行
desktop/src-tauri/src/app_state.rs:11
/// 保留天数:明细 7、小时 3、日 90、周 1095、第 5 条注释,第 12 行
desktop/src-tauri/src/app_state.rs:12
/// 月 3650,年层 None 表示终身保留。第 6 条注释,第 36 行
desktop/src-tauri/src/app_state.rs:36
/// 供应商级费用估算偏好:精确渠道优先,未知渠道仅允许无歧义的同型号官方参考。第 7 条注释,第 42 行
desktop/src-tauri/src/app_state.rs:42
/// 缓存写默认 TTL 档(分钟;5/60 合法,None=未设,写分量不计价)。第 8 条注释,第 47 行
desktop/src-tauri/src/app_state.rs:47
/// 费用估算设置;估算和用量提醒默认关闭。第 9 条注释,第 54 行
desktop/src-tauri/src/app_state.rs:54
/// models.dev 在线刷新(默认关闭;开启后仅 HTTPS GET 公开价格目录)。第 10 条注释,第 57 行
desktop/src-tauri/src/app_state.rs:57
/// 原始响应缓存 TTL(天;默认 3,范围 1–365)。新鲜期内不发网络请求。第 11 条注释,第 62 行
desktop/src-tauri/src/app_state.rs:62
/// 手动 Default:派生 Default 会把 online_cache_ttl_days 设为 u32::default()=0,第 12 条注释,第 63 行
desktop/src-tauri/src/app_state.rs:63
/// 与约定「默认 3」矛盾,导致新装/缺 pricing 字段的配置界面显示 0。第 13 条注释,第 80 行
desktop/src-tauri/src/app_state.rs:80
/// 转核心估算选项(provider 键 casefold)。第 14 条注释,第 98 行
desktop/src-tauri/src/app_state.rs:98
/// 持久化的用户设置,应用语言初值为 zh-CN。第 15 条注释,第 102 行
desktop/src-tauri/src/app_state.rs:102
/// None = 跟随语言地区习惯(zh 系→周一;en-US/CA→周日;其余周一)。第 16 条注释,第 104 行
desktop/src-tauri/src/app_state.rs:104
/// 分级归档保留。第 17 条注释,第 107 行
desktop/src-tauri/src/app_state.rs:107
/// 今日数据刷新提取间隔(秒);0 = 关闭自动提取。默认每小时。第 18 条注释,第 117 行
desktop/src-tauri/src/app_state.rs:117
/// 主题:system(跟随系统)/ light / dark。第 19 条注释,第 120 行
desktop/src-tauri/src/app_state.rs:120
/// 手工添加的数据源根目录。第 20 条注释,第 123 行
desktop/src-tauri/src/app_state.rs:123
/// 显式限制为已配置的根目录,系统启动的采集也遵循此设置。第 21 条注释,第 126 行
desktop/src-tauri/src/app_state.rs:126
/// 本机来源身份显示名(仅辨认用途,不改 host_id 键)。第 22 条注释,第 129 行
desktop/src-tauri/src/app_state.rs:129
/// 本地 OTLP 接收器(M5,按需启用;默认关闭。仅 127.0.0.1)。第 23 条注释,第 134 行
desktop/src-tauri/src/app_state.rs:134
/// 费用估算(F2;默认关闭,启用前不展示费用面板)。第 24 条注释,第 184 行
desktop/src-tauri/src/app_state.rs:184
/// 周起始生效值:显式设置优先;否则按语言地区(zh→周一;en-US/CA→周日;第 25 条注释,第 185 行
desktop/src-tauri/src/app_state.rs:185
/// 其余周一)。core 仅支持 0/6。第 26 条注释,第 203 行
desktop/src-tauri/src/app_state.rs:203
/// 用于初始用户显示名的系统用户名。第 27 条注释,第 204 行
desktop/src-tauri/src/app_state.rs:204
/// 读取 USERNAME,其次 USER;不可用、空值或 default 回落为 default。第 28 条注释,第 217 行
desktop/src-tauri/src/app_state.rs:217
// 无 TZ 时用 jiff 探测系统 IANA 时区,包括 Windows;无可用名称则回落 UTC。第 29 条注释,第 224 行
desktop/src-tauri/src/app_state.rs:224
/// 刷新作业的可观察状态(UI 轮询;进度按实例粒度)。第 30 条注释,第 231 行
desktop/src-tauri/src/app_state.rs:231
/// 逐实例摘要:instance → (状态, 事件数, 诊断数)。第 31 条注释,第 233 行
desktop/src-tauri/src/app_state.rs:233
/// 采集进度(百分比 + 预计剩余秒;UI 轮询展示)。第 32 条注释,第 236 行
desktop/src-tauri/src/app_state.rs:236
/// 已完成的适配器名(按序)。第 33 条注释,第 238 行
desktop/src-tauri/src/app_state.rs:238
/// 正在采集时收到的手工刷新请求,在当前采集结束后执行一次。第 34 条注释,第 241 行
desktop/src-tauri/src/app_state.rs:241
/// 仅完整采集重置全局间隔,单来源采集不重置。第 35 条注释,第 270 行
desktop/src-tauri/src/app_state.rs:270
/// 当前统计用户(v6 多用户约定;默认 "default",存 settings 表)。第 36 条注释,第 272 行
desktop/src-tauri/src/app_state.rs:272
/// 「清理全部数据并重新采集」后台任务运行中(防重复触发;UI 不阻塞)。第 37 条注释,第 275 行
desktop/src-tauri/src/app_state.rs:275
/// F2 在线刷新(models.dev)状态:运行标记 + 最近一次结果(UI 轮询)。第 38 条注释,第 280 行
desktop/src-tauri/src/app_state.rs:280
/// 打开应用数据库并初始化主机标识和设置;显式处理不兼容的 schema。第 39 条注释,第 285 行
desktop/src-tauri/src/app_state.rs:285
// 预发布阶段:不做逐版本迁移;版本不匹配时提示用户"删除重建或退出"。第 40 条注释,第 311 行
desktop/src-tauri/src/app_state.rs:311
// 重建前一致备份(M1/V15 约定:无备份不删除;空间不足也中止)。第 41 条注释,第 332 行
desktop/src-tauri/src/app_state.rs:332
// F2:幂等导入仓库种子价格快照(本地元数据;失败不阻塞采集,仅提示)。第 42 条注释,第 339 行
desktop/src-tauri/src/app_state.rs:339
// 时区分区修复:老版本扫描以 UTC 写日分区而用户统计时区不同 ⇒第 43 条注释,第 340 行
desktop/src-tauri/src/app_state.rs:340
// 在用户时区下重算事件覆盖范围(推导非猜测;2026-09-26 缺陷修复)。第 44 条注释,第 342 行
desktop/src-tauri/src/app_state.rs:342
// 默认用户名取 OS 当前用户(不再使用 "default");首次初始化时第 45 条注释,第 343 行
desktop/src-tauri/src/app_state.rs:343
// 把 v6 迁移创建的 default 用户重命名为 OS 用户名(保留同一 user_id第 46 条注释,第 344 行
desktop/src-tauri/src/app_state.rs:344
// 键,来源归属不变)。第 47 条注释,第 357 行
desktop/src-tauri/src/app_state.rs:357
// 首次:把 default 改名为 OS 用户名(或创建)。第 48 条注释,第 399 行
desktop/src-tauri/src/app_state.rs:399
/// 时区分区或小时字段规则需要修复时,按保留事件的时间范围重建。第 49 条注释,第 400 行
desktop/src-tauri/src/app_state.rs:400
/// 核心重算跳过封存日;失败向调用方返回。第 50 条注释,第 433 行
desktop/src-tauri/src/app_state.rs:433
// F2:其他时区分区已被本次重建取代——清理其未封存日成本行(封存的历史第 51 条注释,第 434 行
desktop/src-tauri/src/app_state.rs:434
// 金额保留;当前时区的行由后续扫描回填/显式重算重建)。第 52 条注释,第 453 行
desktop/src-tauri/src/app_state.rs:453
/// 查询连接:只读连接(带短重试——观察到的间歇性 disk I/O error 发生在第 53 条注释,第 454 行
desktop/src-tauri/src/app_state.rs:454
/// 打开瞬间);仍失败时回退写连接互斥锁,UI 查询宁可短暂排队也不硬错。第 54 条注释,第 511 行
desktop/src-tauri/src/app_state.rs:511
// 规整费用缓存 TTL:旧版派生 Default 会持久化 0(非法,合法范围 1–365);第 55 条注释,第 512 行
desktop/src-tauri/src/app_state.rs:512
// 0 或越界回落默认值;保留合法的用户设置。第 56 条注释,第 538 行
desktop/src-tauri/src/app_state.rs:538
/// 运行报告 → UI 摘要。第 57 条注释,第 581 行
desktop/src-tauri/src/app_state.rs:581
// 模拟旧版派生 Default 持久化的非法值 0:加载时应回落默认 3,保留其他字段。