Skip to content

Commit bb08076

Browse files
committed
feat(audio): 加会话音频存储开关命令
1 parent 3612809 commit bb08076

3 files changed

Lines changed: 22 additions & 1 deletion

File tree

‎app/src-tauri/src/app_commands.rs‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -334,6 +334,7 @@ pub fn handle() -> impl Fn(tauri::ipc::Invoke<tauri::Wry>) -> bool + Send + Sync
334334
crate::commands_audio::session_audio_status,
335335
crate::commands_audio::session_audio_cleanup,
336336
crate::commands_audio::session_audio_path,
337+
crate::commands_audio::session_audio_config_set,
337338
// 音频预处理链(REQ-101,v0.7.0 M1:CER 微基准定默认后的用户开关)
338339
crate::commands_audio::audio_preproc_status,
339340
crate::commands_audio::audio_preproc_set,

‎app/src-tauri/src/commands_audio.rs‎

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -89,6 +89,26 @@ pub fn session_audio_status(state: State<'_, AppState>) -> SessionAudioStatus {
8989
status_of(&state.data_dir)
9090
}
9191

92+
/// 设置音频落盘开关(T27;持久化,下次实时会话生效)。
93+
///
94+
/// @ai-context: 入参 = **类型化的 `bool`**(取值域只有两态 ⇒ 无越界面要校验;同
95+
/// `audio_preproc_set` 先例)。路径由**后端**从 `state.data_dir` 构造,前端
96+
/// **不传路径**(AGENTS.md §4「文件系统访问限定应用数据目录」)。
97+
/// @ai-context: 先 `load` 再改**一个**字段再 `save`(**不整份覆盖**:保留期/预算不在本命令的
98+
/// 入参面内,整份覆盖会把它们抹回默认);返回值是**回读落盘结果**,前端据此刷
99+
/// UI(不做本地乐观状态 —— 写盘失败必须看得见)。
100+
#[tauri::command]
101+
pub fn session_audio_config_set(
102+
state: State<'_, AppState>,
103+
enabled: bool,
104+
) -> Result<SessionAudioStatus, String> {
105+
let path = state.data_dir.join("audio-store.json");
106+
let mut config = AudioStoreConfig::load(&path);
107+
config.enabled = enabled;
108+
config.save(&path).map_err(|e| e.to_string())?;
109+
Ok(status_of(&state.data_dir))
110+
}
111+
92112
/// 手动触发音频清理(超保留期删除 + 超预算删最旧)。
93113
#[tauri::command]
94114
pub fn session_audio_cleanup(state: State<'_, AppState>) -> Result<crate::audio_store::CleanupSummary, String> {

‎docs/standards/line-limit-exemptions.md‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@
4141
| app/src-tauri/src/live_session_persist.rs | 488 | 定稿落库域(persist_final/digest_merged/handle_final_event)+ P2 flush_tail_and_persist(停止/暂停共用尾句落库)内聚 | 若再增长:flush_tail_and_persist 与 digest_merged 拆至 live_session_persist_tail.rs |
4242
| app/src-tauri/src/db_sessions.rs | 482 | 会话仓储;批 4 delete_sessions_batch + 审查修复轮 3(transaction() 改造)——2026-09-09 实测纠偏(登记值 394 过期) | 若再增长:recent_ocr_texts 等建议查询拆至 db_sessions_queries.rs |
4343
| app/src/components/RefineWorkbench.tsx | 497 | 并排双栏(规则版 + 精修版)+ 章节级 diff 高亮 + 同步滚动 +采纳/重新生成/放弃。批 3(问题11):行级三态染色(removed删除线红/added 绿)与 并排/差异 单列视图切换——数据源为整篇有序行级 diff(diff_markdown_ops,见 load 内 Why)。数据源:非只读带 taskResult(采纳前内存结果)→ refine_workbench回传 result(消除未落库右侧恒空);无 taskResult →refine_workbench(后端兜底未采纳任务/已落库笔记,重启可恢复);只读(VersionPanel)→ ruleMd/refinedMd 透传。批 7 T17:三处阅读面加 `[[ts:ms]]` 芯片的容器侧事件委托(+13 行;`onOpenSessionAt?` 由 VersionPanel 注入)。(自动摘取,待细化) | 若再增长:按职责拆分 |
44-
| app/src-tauri/src/app_commands.rs | 478 | 宏约束下的**唯一**注册点:**311 条** `generate_handler!` 条目是**数据不是逻辑**(批 1 删除批收口实测:334 → 312,−22;批 6 T22 新增 1 条 `session_audio_path` ⇒ 313;批 7 T4 撤下 3 条 ⇒ 313 → 310;T19 新增 1 条后为 311;此数由本行人工维护,`--write` 只刷新数字列) —— `Invoke` 按值语义使分域组合不可行(见文件头),拆成多份只会在域间新增「命令名 → 域」路由漂移面;一致性由 `scripts/check-command-registry.mjs` 机器门禁守 | 不拆(数据文件);新增命令时同步条目,由门禁强制 |
44+
| app/src-tauri/src/app_commands.rs | 479 | 宏约束下的**唯一**注册点:**312 条** `generate_handler!` 条目是**数据不是逻辑**(批 1 删除批收口实测:334 → 312,−22;批 6 T22 新增 1 条 `session_audio_path` ⇒ 313;批 7 T4 撤下 3 条 ⇒ 313 → 310;T19 新增 1 条后为 311;批 8 T27 新增 1 条 `session_audio_config_set` ⇒ 312;此数由本行人工维护,`--write` 只刷新数字列) —— `Invoke` 按值语义使分域组合不可行(见文件头),拆成多份只会在域间新增「命令名 → 域」路由漂移面;一致性由 `scripts/check-command-registry.mjs` 机器门禁守 | 不拆(数据文件);新增命令时同步条目,由门禁强制 |
4545
| app/src-tauri/src/commands_ai_enrich.rs | 479 | v0.8.0 M3(REQ-142)+ F1/F2/F3:知识补充命令域(九子项校验/预估/异步任务/采纳/撤销 + 配额去重门控 + 成本硬拦截 + 任务落库)——与精修共用任务注册表上下文,命令域内聚;2026-09 修复(章节目录注入/逐块审查回执)微增 | 若再增长:门控/拦截拆至 commands_ai_enrich_gate.rs |
4646
| app/src-tauri/src/region_tracker.rs | 478 | v0.4.0 M2(REQ-037)起:ROI 跟踪状态机(播放区域检测/锁定聚簇/重扫/前台切换冻结)+ 纯函数单测内联;与 RoiTracker 状态强耦合 | 若再增长:lock_roi/prior_roi 纯函数拆至 region_lock.rs |
4747
| app/src-tauri/src/layout_analyzer.rs | 475 | v0.5.0 M3(REQ-047):规则版版面分析(行/列投影 + 表格线检测 + 区域分类启发式)内聚于同一分类管线;审查加固(公式启发 + 低信息纯色方差滤除) | 若再增长:区域分类启发式拆至 layout_classify.rs |

0 commit comments

Comments
 (0)