feat: 接入 mnote web tree shell 与主页链路整理

- 增加 mnote-web tree/command 支持与前端 MnoteWebTreeShell 集成
- 调整 sidebar、documents、runtime config 与 dev/prod server 配套逻辑
- 补充 homepage/tree shell smoke 脚本并更新 harness 进度文件
This commit is contained in:
lix-2026
2026-04-17 23:36:24 +08:00
parent cfc3af8984
commit d8de820d93
40 changed files with 4668 additions and 4143 deletions
+8
View File
@@ -3362,6 +3362,12 @@ fn normalize_kernel_node_from_record(
if let Some(is_starred) = bool_field(value, "is_starred").or_else(|| bool_field(value, "isStarred")) {
extra.insert("isStarred".into(), json!(is_starred));
}
if let Some(sort_order) = record_field(value, "sort_order")
.and_then(|field| field.as_i64().or_else(|| field.as_f64().map(|number| number as i64)))
.or_else(|| record_field(value, "sortOrder").and_then(Value::as_i64))
{
extra.insert("sortOrder".into(), json!(sort_order));
}
let content = value
.get("content")
@@ -5712,7 +5718,9 @@ mod tests {
assert_eq!(result["projection"], json!("sidebar_tree"));
assert_eq!(result["rootNodeId"], json!("page_root"));
assert_eq!(result["items"][0]["nodeId"], json!("page_root"));
assert_eq!(result["items"][0]["position"], json!(0));
assert_eq!(result["items"][1]["parentNodeId"], json!("page_root"));
assert_eq!(result["items"][1]["position"], json!(1));
}
#[test]