【GitHub开源】一款极简跨平台 Todo 应用:微信小程序 + Windows 桌面挂件 + 实时同步

项目功能

写这个项目出发点是本人没有一款可以跨平台查看的todolist,想实现Windows和IPhone即时同步。苹果自带的待办事项在win上只能通过iCloud操作感觉有点麻烦,于是想做一个能满足自己需求的小玩具。

这是一个支持 Web、移动端、微信小程序及 Windows 桌面端多端实时同步的极简跨平台待办事项(Todo List)应用。A minimalist, cross-platform Todo List application featuring real-time synchronization across Web, mobile, WeChat Mini Programs, and Windows desktop environments.

项目地址: plumqm/Todolist-demo

欢迎一键三连、Star 支持!

核心特性

1. 真正的"全端制霸"

  • Windows 桌面端:支持以"透明挂件"的形式常驻桌面,像壁纸一样自然,不占用任务栏,随时记录灵感。

  • 微信小程序:依托微信生态,无需下载 App,下拉即可快速查看今日待办。

  • Web 与移动端:响应式极简 UI,无论是电脑浏览器还是手机 Safari,都能获得丝滑体验。

2. 毫秒级实时同步 (Real-time Sync)

告别手动刷新!应用底层接入了长连接实时同步机制。你在小程序里勾选完成一个任务,Windows 桌面挂件上的该任务会瞬间划掉,多设备协同如丝般顺滑。

3. 极简主义设计 (Minimalist UI)

没有复杂的番茄钟、没有繁琐的层级标签。专注于"记录"与"完成"本身,UI 风格克制,最大程度降低认知负担。

技术架构深度解析

要实现如此多端的兼容与实时响应,技术选型是重中之重。

  • 跨端前端方案: 为了兼容微信小程序和 Web/H5,项目采用了目前主流的跨端编译框架(如 Uni-app / Taro)。一套代码,多端编译,极大地降低了维护成本。

  • 桌面端封装: Windows 端借助了 Electron 。为了实现"桌面挂件"效果,对 BrowserWindow 进行了无边框 (frame: false) 和背景透明 (transparent: true) 处理。

  • 实时数据流: 后端抛弃了传统的 HTTP 轮询,采用了 WebSocket 或云原生的实时数据库(如 Supabase Realtime / 微信云开发实时数据推送),确保数据变化能主动推送到各个客户端。


核心代码片段分享

很多朋友好奇 Windows 桌面挂件 是如何做到既能置顶又半透明的?这里分享一段 Electron 的核心配置代码:

JavaScript

复制代码
// Electron 主进程中创建透明挂件窗口
function createWidgetWindow() {
  const win = new BrowserWindow({
    width: 320,
    height: 500,
    transparent: true,      // 开启透明
    frame: false,           // 隐藏系统原生标题栏
    alwaysOnTop: true,      // 强制置顶
    skipTaskbar: true,      // 不在任务栏显示图标,保持纯粹的挂件感
    webPreferences: {
      nodeIntegration: true,
      contextIsolation: false
    }
  });

  win.loadURL('你的跨端项目本地/线上地址');
}

快速运行指南

想在本地跑起来体验一下?非常简单:

  1. 克隆项目到本地

Bash

复制代码
git clone https://github.com/plumqm/Todolist-demo.git
  1. 安装依赖并启动

Bash

复制代码
cd Todolist-demo
npm install
npm run dev

(注:具体打包为小程序或 Electron 客户端的指令,请参考仓库 README 文档)

未来规划 & 邀请共建

目前项目已经跑通了核心的 CRUD 与多端实时同步,但依然有很多可以拓展的空间:

  • 引入离线缓存机制(Service Worker)。

  • 增加对 Markdown 语法的轻量支持。

  • 优化微信小程序的启动首屏加载速度。

这是一个由个人痛点驱动诞生的开源项目,个人的力量有限,非常欢迎前端、全栈领域的同学们提交 PR(Pull Request)或者提 Issue 交流思路!

👉 源码传送门: plumqm/Todolist-demo

如果你觉得这个项目思路对你有启发,别忘了点个赞或者去 GitHub 留个 Star!

相关推荐
Dovis(誓平步青云)1 天前
《C/C+++ Boost 轻量级搜索引擎实战:架构流程、技术栈与工程落地指南——HTML文件的清洗(上篇)》
开发语言·数据库·c++·搜索引擎·开源
字节跳动的猫1 天前
支持二次开发的开源商城系统推荐:LikeShop、ShopXO 等主流商城源码解析
开源
xurime1 天前
Excelize 开源十周年,发布 2.11.0 版本
golang·开源·github·excel·导出·导入·excelize·基础库
Jackson__1 天前
为了拯救我的腰椎和颈椎,我做了款浏览器插件!
前端·javascript·开源
衍生星球1 天前
SpringBoot3 + Vue3 + 微信小程序如何学习,以及学哪些技术,组件
sql·微信小程序·uni-app·vue·springboot
逛逛GitHub2 天前
自测会不会被 Claude Code 标记为中国用户,有人做了个网页。
github
逛逛GitHub2 天前
终于有个非 AI 相关的项目登上 GitHub 热榜,高低得推荐一下。
github
OpenCloudOS2 天前
OpenCloudOS 理事会更新 | 腾讯云、海光助力建设 AI Infra 开源开放底座
人工智能·开源·腾讯云
威视锐科技2 天前
从仿真走向真实空口:开源可复现无线科研平台的价值
开源·威视锐·无线科研
Lion092 天前
【04】50 行代码实现最小 Agent:不依赖任何框架
人工智能·github