前言
最近刚好考完试空闲下来,故尝试了我之前很想实现的功能:滴答思源双向同步,但滴答比较保守,给的 api 有限,实现起来一点也不优雅。
虽然我的需求仅仅是:
- 手机快速添加日程——》使用思源时日程导入进思源——》处理,关联日程和笔记(记录)
- 日程可以通过手机提醒
而滴答在手机快速添加日程非常方便,之前也通过 ics 文件将滴答任务单向同步到思源。
所以实现双向同步,我的需求并不是很强烈,只是觉得如果能实现会非常 cool
同时也有用户提过 issue 便开始尝试开发一下
注意:目前此功能还不稳定,从后面的演示视频也可以看出
开发思路
-
解决无法获取已完成任务的方式
-
设置两个清单
-
完成清单
- 管理完成的任务
- 定时划掉此清单的任务,已减少负载
-
代办清单
- 管理未完成的任务
- 新任务默认往此清单添加
-
-
运行方式
-
完成任务不再点击[ ]来完成,而是将任务移动至完成清单
- 反之同理
-
-
-
目前插件进展
-
完成 token 获取
- 通过帖子打赏获取链接(通过 cloudflare work 实现)
- 或者用之前的在线服务 Dida365 Open API Token 获取-CSDN 博客
-
设置界面完善
- 设置两个清单
- 基本设置
- 滴答数据库设置
-
同步滴答清单
-
同步至数据库
-
新建一个滴答数据库
- 字段:事件,状态,优先级,开始时间,描述
-
触发方式
- 手动按钮
- 自动定时
-
运行逻辑
-
滴答-----》思源
-
对于新任务
-
拉取数据并插入到滴答清单日记本中
-
拉取数据为超级块
- 内容和 ics 导入一样,双向同步只同步数据库属性
- 方便做笔记
- 建议用新的笔记本管理
-
-
将超级块添加到滴答数据库中
- 同时更新数据库字段(属性)
-
-
对于旧任务
-
比对数据,不同以云端为准,云端覆盖本地
- 只比对==名称,状态,日期,优先级==
- 因为,思源端更改,云端会立刻更改
-
-
思源-----》滴答
-
对于新任务
-
监听滴答数据库添加
- 延时 2 秒后同步至滴答
-
-
对于旧任务
- 只监听==名称,状态,日期,优先级==的变化,改变后同步
-
-
-
-
目前问题(几乎无解)
思源端:
- 无法切换清单,即无法改变事件状态
- 无法设置更新时间段,只能更新截止时间
- 快速操作,可能会出 BUG(似乎可以优化)
目前功能演示:
滴答 token 获取方式
嫌麻烦可以用我自己用 cf 搭建的服务,后面我发出来
源码详见 siyuan-steve-tools/src/calendar/dida/dida_token_cf_work.js at main-2 · loonghfut/siyuan-steve-tools
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于