新增: 首页 + 资料导入 + PDF导出 + AI文档生成
This commit is contained in:
@@ -60,7 +60,7 @@ pub fn exec_op(state: State<AppState>, op_json: serde_json::Value) -> Result<OpR
|
||||
.map_err(|e| format!("Op 解析失败: {}", e))?;
|
||||
|
||||
let mut deck = state.deck.lock().map_err(|e| e.to_string())?;
|
||||
let backward_op = invert_op(&deck, &op);
|
||||
let _backward_op = invert_op(&deck, &op);
|
||||
*deck = apply_op(&deck, &op);
|
||||
|
||||
let mut hist = state.history.lock().map_err(|e| e.to_string())?;
|
||||
@@ -154,7 +154,7 @@ pub fn ping() -> String {
|
||||
|
||||
/// 保存 deck 到文件
|
||||
#[tauri::command]
|
||||
pub fn save_file(content: String) -> Result<String, String> {
|
||||
pub fn save_file(_content: String) -> Result<String, String> {
|
||||
Ok("ok".to_string())
|
||||
}
|
||||
|
||||
|
||||
@@ -1,3 +1,6 @@
|
||||
// 本文件的 struct/fn 多数是 TS 端的 Rust 镜像供序列化参考,非死代码
|
||||
#![allow(dead_code)]
|
||||
|
||||
mod ai;
|
||||
mod color;
|
||||
mod commands;
|
||||
|
||||
+1
-1
@@ -337,7 +337,7 @@ pub fn invert_op(input_deck: &Deck, op: &crate::model::Op) -> crate::model::Op {
|
||||
|
||||
"del_element" => {
|
||||
let slide_idx = op.payload.get("slideIdx").or_else(|| op.payload.get("slide_idx")).and_then(|v| v.as_f64()).map(|f| f as usize);
|
||||
let element_id = op.payload.get("elementId").or_else(|| op.payload.get("element_id")).and_then(|v| v.as_str()).unwrap_or("").to_string();
|
||||
let _element_id = op.payload.get("elementId").or_else(|| op.payload.get("element_id")).and_then(|v| v.as_str()).unwrap_or("").to_string();
|
||||
if let Some(deleted) = op.payload.get("deletedElement").or_else(|| op.payload.get("deleted_element")) {
|
||||
Op {
|
||||
op_type: "add_element".into(),
|
||||
|
||||
Reference in New Issue
Block a user