同步日历 软件特性
「同步日历」是一款运行于 HarmonyOS 平台的 CalDAV 日历同步工具。它不提供云端托管服务,而是让你把日程直接同步到自己的 CalDAV 服务器——日程数据始终留在你(或你所在机构)手中,我们只提供这个客户端。
下面按「隐私与数据」「同步能力」「视图与交互」「提醒」「桌面卡片」「导航」「适用场景」七个方面介绍它的主要特性。
一、隐私与数据
1数据自持
所有日程、待办只存放在你自己(或所在机构)的 CalDAV 服务器上。我们不保存你的任何日程或账户数据,也没有用于留存这些数据的自有服务器。
2账户本地加密
CalDAV 账号密码以 AES-256-GCM 加密后保存在设备本地,加密密钥由系统硬件密钥库(HUKS / TEE)生成并保管、不可导出;仅在发起同步时临时解密使用,不落明文。
3最小必要权限
仅申请实现功能必需的权限:读取日历(READ_CALENDAR / READ_WHOLE_CALENDAR),均只在前台使用;写入日历(WRITE_CALENDAR)仅在你可选开启「日历镜像」时申请。不申请定位权限——「一键导航」所需的坐标由系统地理编码服务根据你填写的地址文本换算,无需读取设备位置。不收集通讯录、短信、相册、麦克风、摄像头、剪贴板等信息。
4开源透明
项目完全开源,代码可自行查看与审计,不集成任何第三方统计、广告或数据采集 SDK,不存在后台上传逻辑。
二、同步能力
1双向同步
本地新建 / 修改会自动推送到服务器,服务器上的变更也会自动拉取,多设备之间保持一致。
2智能地址识别,告别「填错地址」
只填服务器域名也能自动定位日历——应用会按标准 .well-known/caldav 自动发现端点,并在常见路径中智能尝试(Nextcloud / Radicale / Baïkal 等)。若填的是「分享链接」或 DAV 根,会当场用人话提示正确填法,而不是只报一个状态码。
3多账号 · 多日历本
可同时添加多个 CalDAV 账号,每个账号下的多个日历本统一管理,并可与手机系统日历混合展示,互不干扰。
4完整重复规则与提醒
支持完整的 RRULE 重复规则(每日 / 每周 / 每月 / 每年、按周几、按第几个工作日等),新建时可设定结束条件——永不结束、重复到某天(含当天)或共重复几次;编辑已有重复日程时会自动回显并允许修改。还支持多选提前提醒(5 / 10 / 15 / 30 / 60 分钟、1 天等)。
5重复日程按范围修改
修改或删除重复日程时会先让你选范围:仅这一次 / 此次及以后 / 全部(与主流日历一致)。改动以标准 iCalendar 方式写回服务器(EXDATE 排除单次、RECURRENCE-ID 覆盖单次、RRULE 截断或拆分系列),与其它客户端互通、不产生重复条目。
6只读与静音
可把某个日历本标记为只读(其中日程只能查看、不再可新建,适用于他人共享给你或服务器侧不允许改动的日历本);也可把分享来的日历本静音,其中所有日程不再弹提醒,避免被打扰。
7后台自动同步
应用在前台时按设定间隔自动同步;开启「后台自动同步」后,退到后台也会由系统定时唤起同步(系统最短约 2 小时一次)。此外,回到前台或网络恢复时会立即补同步一次,确保你打开日历时看到的总是最新数据。
8数据修复与重建
若遇到提醒丢失、日程显示异常等情况,可执行「重建日程数据」,让下次同步重新拉取完整数据,把本地状态与服务器对齐。
9日程地点搜索补全
新增或编辑日程时,在「地点」栏输入几个字即可按关键词列出匹配地点,点一下即填入完整地址;也可点旁边的「地图」直接进入系统地图界面搜索、拖动图钉选点。该功能不申请任何定位权限、不使用你的实时位置,不用也无妨——手动输入地点同样可以正常保存。
10镜像到系统日历(可选)
开启后,把你选中的 CalDAV 日历本写入系统日历中本应用创建的独立账户,使小艺、桌面日历卡片、手表与负一屏等系统入口都能看到你的日程(此前这些入口只认系统日历,看不到本应用的日程)。每个日历本保持各自颜色,支持一键全选 / 全不选;写入系统日历的账户名称还可选择三种显示格式(仅本名 / 带账号 / 带「同步日历」前缀),便于和系统自带日历区分。该功能默认关闭,可随时关闭并一键清除已镜像内容。
11系统日历改动回读
开启镜像后,你在系统日历中做的新建、修改、删除,也能在下次同步时回读并写回你的 CalDAV 服务器,形成双向闭环(可开关)。
12本地日程备份到 CalDAV
可把手机本地日历中的日程备份到指定的 CalDAV 日历本,换机或重装后日程不丢失。
三、视图与交互
1三种视图,默认视图可设
首页顶部可切换月视图、周视图、列表视图三种排布(周视图内左右滑动可按天切换),并可在设置中指定打开应用时的默认视图。
2两种日程展示方式:时间轴 / 列表
在「设置 → 日程显示方式」里提供同一天的两种读法,可随时切换,主界面与桌面卡片会一起生效:
- 时间轴(默认):按 0–23 点刻度把日程铺成竖向色块,时长、冲突、当前进度一眼可见,适合安排一天的节奏。
- 列表:同一天的日程按行逐条排列,不再受时间刻度约束,长标题不容易被挤成「…」,适合快速扫读;此方式下不绘制当前时间红线,「进行中」改用文字标记。
两种方式共用同一套数据与操作(点按看详情、新建、编辑、手势切换都不受影响),切换只改变呈现,不会改动任何日程。
3时间轴色块,冲突一眼可见
(时间轴方式)日程不再是「一行一条」,而是按真实时间比例绘制成竖向时间轴上的色块:色块颜色取自所属日历本的默认色;时间重叠的日程左右并排(自动等分宽度)而不是互相遮盖;全天与跨天日程单独画在时间轴上方。
4当前时间红线
(时间轴方式)「今天」的时间轴上有一条红色当前时间线,随实际时间自动下移,一眼看出「现在进行到哪里、下一件事还有多久」。
5快速新建与详情弹层
点「+」即可新建日程(日历本、起止时间、重复、提醒、地址一屏填完)。点任意日程都会弹出详情;有地址时可直接发起导航,可写日程还能就地进入编辑。
6农历显示
日期区域同时显示农历与星期,便于对照传统节令安排。
7深色模式与沉浸式全屏
完整适配系统深色模式,界面配色随系统切换;采用系统栏全透明的沉浸式布局,各页面背景延伸到状态栏与导航条区域。
8大屏 / 折叠屏自适应
在平板与折叠屏展开态等大屏设备上,月视图自动切换为左月历 / 右当日日程的双栏布局;普通长屏手机横屏时同样展开双栏,接近 1:1 的屏幕横竖屏布局保持一致,页面切换为柔和的淡入淡出动效。
四、提醒
- 走系统本地通知:不依赖厂商云推送,无需注册任何推送服务。
- 多档提前量:同一条日程可同时设置多个提醒时间点。
- 自动降级:当系统代理提醒配额不可用时,自动改用应用内通知,尽量不漏提醒。
- 权限可检测:设置页可检测通知权限状态,未开启时一键前往系统设置开启。
五、桌面服务卡片
提供四种尺寸的服务卡片,添加到桌面后不打开应用也能看到今天的安排:
| 卡片 | 名称 | 能看什么 |
|---|---|---|
| 2×2 | 今日速览 | 日期、星期与农历、今日日程条数;右上角「+」可直接新建日程。 |
| 2×4 | 正在进行 | 左侧今日概览,右侧列出接下来最近的两条日程(含起止时间)。 |
| 4×4 | 今日时间轴 | 桌面上的迷你时间轴:全天日程色块 + 按小时铺开的日程色块 + 当前时间红线,支持前后翻页。 |
| 6×4 | 全天时间轴 | 尺寸更大、信息更全,可上下滑动查看完整一天,并支持前后翻页与直接新建。 |
其中 4×4 与 6×4 两张卡片与主界面共用「日程显示方式」设置:选时间轴,卡片里就是按小时铺开的迷你时间轴;选列表,卡片改为逐条罗列,一屏能多看几条。点击卡片任意位置,会打开卡片当前显示的那一天——卡片上用「‹ ›」翻到别处后,点进去看到的也是那一天,不会每次都跳回今天。
六、地点与导航
- 地点搜索补全:新增或编辑日程时,在「地点」栏输入几个字即可列出匹配地点(由华为地图服务提供),点一下填入省市区 + 街道门牌的完整地址;也可点「地图」进入系统地图界面搜索、拖动图钉选点。补全候选以悬浮列表形式从输入框上方弹出,不会挤动页面内容。该功能不申请定位权限,也可完全不用——手动输入地点一样能正常保存。
- 一键导航:日程填写了地址后,在详情中即可发起导航,自动唤起高德地图;未安装高德时回退到网页版搜索结果。
- 系统地理编码:借助系统地理编码能力把地点名称转换为坐标,无需自行申请地图 Key。
- 不申请定位权限:把地点换算成坐标由系统地理编码服务完成,用的是你填写的地址文本,不读取设备实时位置;地址仅在设备本地瞬时处理,不记录、不上传,也不会在后台获取。
七、适用场景
| 你的情况 | 为什么合适 |
|---|---|
| 已有自己的 CalDAV 服务器 (群晖、Nextcloud、Radicale、坚果云等) | 凡是支持标准 CalDAV 的服务都能用,数据留在自己手里,多设备保持一致。 |
| 在意隐私,不接受把日程托管给云端平台 | 开发者不保存任何日程与账号数据,账号凭据本地加密且密钥不可导出。 |
| 希望系统日历与 CalDAV 日程一起看 | 支持混合显示系统日历(在「设置 → 混合显示系统日历」开启并授权后生效),也支持把系统本地日程备份到 CalDAV 日历本。 |
| 经常需要从日程地点出发去某个地方 | 详情页一键唤起地图导航,省去复制粘贴地址。 |
| 不想每次都打开应用才知道今天有什么 | 四张不同尺寸的服务卡片,桌面直接显示今日安排与进行中的日程。 |
| 日程标题长,想一行行快速扫读 | 把「日程显示方式」切成列表,每条独占一行、长标题不被挤压;需要看冲突和进度时再切回时间轴。 |