跳到主要内容

项目介绍

AntTodo 是一款面向团队的待办应用。Web、macOS 与 iOS 共用同一套 React 源码,Electron 仅作为轻量且安全的外壳。各客户端直接访问 Supabase;后端提供身份认证、 Postgres、行级安全(RLS)、实时能力、Vault、Edge Functions 以及连接器定时任务。

核心能力​

认证与团队空间​

  • 手机号验证码登录
  • 支持多个团队空间,以及成员邀请
  • 角色包含 owner、admin、member
  • 支持钉钉企业单点登录;可选接入钉钉工作通知

智能视图​

  • 所有:查看可见范围内的全部任务
  • 今天:聚焦当日到期或安排的任务
  • 指派给我:只看与自己相关的待办
  • 我关注的:只看自己作为参与者的待办
  • 收集箱:无标签任务的归宿(收集箱本身不是标签)

任务管理​

任务支持标题、描述、状态、日期、优先级、负责人、参与者、子任务,以及活动记录,方便团队跟踪从创建到完成的全过程。

通知​

  • 按场景配置系统通知与钉钉通知(默认全部开启)
  • 覆盖指派、到期提醒、评论、笔记提及、参与者相关变更等
  • 产品内通知中心可查看与标记已读

标签与权限​

  • 树形标签结构,子标签默认继承权限,也可明确解除继承
  • 多标签任务采用严格的权限交集
  • 团队空间的所有者和管理员可以管理该空间内的所有团队标签;个人标签仅创建者可见

离线可用​

查询结果会缓存到 IndexedDB。断网时仍可阅读最近 24 小时内的已缓存内容; 所有写操作直接提交到服务端,并且必须在网络可用时执行,不会在本地排队等待同步。

连接器同步​

  • 提供 Mock 连接器,用于验证增量拉取、回写、重试与冲突处理
  • 支持增量同步状态、出站队列与运行日志
  • 双向同步产生冲突时会明确记录,由用户选择保留本地或远端版本,禁止静默覆盖

桌面端​

macOS 客户端基于安全的 Electron 壳(沙箱、禁用 Node 集成),可打包为未签名的 DMG / ZIP 安装包。

技术栈​

  • 前端:React 19、TypeScript、Vite、Tailwind CSS、Radix UI、TanStack Query
  • 后端:Supabase(Postgres / Auth / Realtime / Vault / Cron / Edge Functions)
  • 桌面:Electron、electron-builder
  • 测试:Vitest、Playwright、pgTAP