官方 Joplin 的移动端基于 React Native,无法直接跑在 HarmonyOS NEXT 上(RN 依赖的 JSC/Hermes + 原生桥接在鸿蒙生态缺失)。本项目不是套壳,也不是 RN 适配层,而是把 Joplin 的核心契约用 ArkTS 重新实现了一遍:
| 契约层 | 移植方式 |
|---|---|
| SQLite 表结构 | 按 packages/lib/JoplinDatabase.ts 1:1 复刻,官方客户端导出的数据可直接读 |
| 条目序列化格式 | 复刻 BaseItem.serialize() 的 title\n\nbody\n\nkey: value…type_: N 文本格式 |
| 同步协议 | 实现 Joplin Server REST(api/sessions / api/items / delta 增量游标 / batch_delete) 支持 Joplin Server REST 接口( api/sessions / api/items / delta 增量游标 / batch_delete) |
| Markdown 渲染 | 手写扫描器产出 HTML(ArkTS 不支持 String.replace 回调,无法直接移植 marked),交 ArkWeb 渲染 |
也就是说:用官方 Joplin 桌面端 + 自建 Joplin Server,可以和本应用双向同步。