【Code With SOLO】一个零依赖的本地优先待办清单应用

:herb: 极简待办 — 一个零依赖的本地优先待办清单应用

一句话简介:纯 HTML/CSS/JS 单文件实现,毛玻璃质感双主题界面,数据完全本地存储,打开即用、无需注册、不收集任何信息——属于你自己的私人效率工具。


:open_book: 作品概述

在信息过载的时代,我们的待办事项工具变得越来越重:需要注册账号、上传数据到云端、忍受广告推送、被各种"智能推荐"打扰。我们似乎忘记了——待办清单的本质,只是帮自己记住要做的事。

极简待办 回归工具的本质:一个 HTML 文件,双击打开就能用。没有后端服务器,没有用户追踪,没有数据上传。你的所有待办事项安静地躺在浏览器的 localStorage 里,只属于你一个人。

但它并不简陋——优先级管理、分类标签、到期提醒、拖拽排序、深色模式、数据导入导出……一个成熟待办应用该有的功能,它都有。

:bullseye: 解决的问题

痛点 极简待办的方案
需要注册登录才能使用 零门槛,打开即用
隐私担忧——数据存储在第三方服务器 数据 100% 本地存储,绝不上传
功能臃肿、广告干扰 纯净无广告,界面克制优雅
多设备同步需求过度设计 单文件轻量,U盘/网盘随身携带
深色模式成为刚需却常被忽视 原生双主题,跟随系统或手动切换

:sparkles: 功能特性

核心功能

  • :memo: 添加待办 — 输入任务内容,可选设置优先级(高/中/低)、分类标签(工作/学习/生活/健康/购物)、到期日期

  • :white_check_mark: 标记完成 — 点击圆形复选框,带流畅动画过渡,已完成事项自动划线淡化

  • :wastebasket: 删除待办 — 滑出动画删除,5 秒内可通过 Toast 通知一键撤销

  • :pencil: 行内编辑 — 双击文本进入编辑模式,Enter 保存 / Esc 取消,无需弹窗打断思路

效率功能

  • :magnifying_glass_tilted_left: 实时搜索 — 200ms 防抖搜索,快速定位目标事项

  • :label: 状态筛选 — 全部 / 进行中 / 已完成 / 已过期,四种视图一键切换

  • :open_file_folder: 分类筛选 — 动态生成分类标签,按类别快速过滤

  • :up_down_arrow: 拖拽排序 — 桌面端原生 Drag & Drop + 移动端长按拖拽,自由排列优先级

  • :bar_chart: 进度统计 — 渐变进度条实时展示完成率,给你持续的正向反馈

数据安全

  • :floppy_disk: 本地持久化 — 所有数据存储在浏览器 localStorage,关闭页面不丢失

  • :outbox_tray: 导出备份 — 一键导出 JSON 文件,支持外部备份

  • :inbox_tray: 导入恢复 — 导入 JSON 自动去重合并,换设备也能无缝迁移

  • :broom: 清除已完成 — 批量清理 + 撤销机制,误操作也能找回

体验细节

  • :last_quarter_moon: 深色模式 — 暖棕色调深色主题,夜间使用不刺眼,偏好自动持久化

  • :keyboard: 键盘快捷键Ctrl+K 聚焦搜索 / Ctrl+N 新建待办

  • :mobile_phone: 响应式设计 — 移动优先,手机、平板、桌面完美适配

  • :bullseye: 智能日期 — 到期日自动显示"今天到期"“明天到期”"已过期 N 天"等友好文案

  • :wheelchair_symbol: 无障碍支持 — ARIA 标签、键盘导航、prefers-reduced-motion 适配

  • 导出内容如下:

    image


:hammer_and_wrench: 技术实现

架构设计

todo.html(单文件)
├── <style>   — CSS 变量驱动的主题系统 + 毛玻璃视觉效果
├── <body>    — 语义化 HTML 结构(header/main/footer/role/aria)
└── <script>  — 状态驱动的渲染架构
    ├── 数据层:localStorage CRUD + 数据模型
    ├── 渲染层:事件驱动的 UI 更新
    └── 交互层:拖拽/编辑/撤销/导入导出

技术亮点
1. CSS 变量驱动的主题系统

通过 [data-theme="light"] / [data-theme="dark"] 选择器 + CSS 自定义属性,实现双主题无缝切换。所有颜色、阴影、边框均由变量控制,切换时只需修改 data-theme 属性,无需重新加载页面。

[data-theme="light"] {
  --glass-bg: rgba(255, 255, 255, 0.45);
  --accent: #c4704b;
  /* ... */
}
[data-theme="dark"] {
  --glass-bg: rgba(40, 34, 26, 0.6);
  --accent: #d4845f;
  /* ... */
}


2. 毛玻璃(Glassmorphism)视觉体系

采用 backdrop-filter: blur(20px) + 半透明背景 + 柔和边框的组合,配合多层径向渐变背景(radial-gradient)和缓慢浮动动画(meshFloat),营造出有呼吸感的视觉层次。浅色主题为暖奶油色调,深色主题为深棕色调,避免了千篇一律的蓝紫配色。

3. 状态驱动的渲染架构

采用集中式 state 对象管理应用状态(待办列表、筛选条件、搜索词、主题),所有操作通过修改 state → 调用 renderAll() 的方式更新 UI。这种单向数据流保证了界面与数据的一致性,避免了 DOM 操作的混乱。

4. 零依赖、零构建

整个应用是一个纯 HTML 文件,不依赖任何框架(React/Vue)、库(jQuery)、构建工具(Webpack/Vite)或包管理器(npm)。用原生 JavaScript 实现了组件化思维、事件委托、模板渲染等现代前端模式。

5. 移动端拖拽适配

桌面端使用 HTML5 原生 Drag & Drop API,移动端通过 Touch 事件模拟拖拽行为(300ms 长按触发),并加入触觉反馈(navigator.vibrate),确保两种设备上都有流畅的排序体验。

🎨 设计理念
"克制的美学"
设计灵感来源于 Things 3 和 Todoist 的精致感,但走了一条更克制的路线:

色彩:弃用泛滥的蓝紫渐变,选择暖棕色系(terracotta/amber),传达温暖、专注、不焦虑的情绪
排版:标题使用衬线体(Playfair Display)增添人文气质,正文使用无衬线体(DM Sans)保证可读性
空间:大量留白 + 圆角卡片,让信息有呼吸感
动效:仅在有意义的交互时刻添加动画(添加滑入、删除滑出、主题切换),不为了动效而动效
"工具的谦逊"
好的效率工具应该安静地待在角落,需要时立刻响应,不需要时不打扰。因此:

没有启动引导页,打开就能用
没有推送通知,不主动打断
没有社交分享按钮,你的待办不需要别人知道
没有付费墙和功能限制,所有功能完全开放
💡 创新点与实用价值
创新点
单文件架构 — 一个 HTML 文件包含所有代码,可通过 U盘、网盘、邮件附件随身携带,任何设备的浏览器都能打开使用,真正实现"你的待办跟你走"
隐私优先设计 — 从架构层面杜绝数据泄露可能,没有后端就没有数据传输,没有账号就没有身份关联
渐进式复杂度 — 界面极简,但展开选项后功能丰富(优先级、分类、日期),新手不会被吓到,高级用户不会觉得不够用
实用价值
职场人士:快速记录工作任务,按优先级排列,到期提醒不遗漏
学生群体:管理课程作业、考试安排,分类清晰一目了然
隐私敏感用户:不信任云端服务的人群,数据完全自主可控
轻量需求场景:不想为一个小功能安装 App、注册账号的人
🤖 AI 协作说明
本作品使用 SOLO(AI 编程助手) 辅助完成开发,充分体现了 AI 与人类协作的效率:

环节	人类角色	AI 角色
需求定义	明确功能范围、视觉风格偏好	—
方案设计	确认技术选型(单文件/纯前端)	提供架构建议和任务分解
代码实现	审查方向、提出修改意见	生成 HTML/CSS/JS 代码
视觉调优	提出毛玻璃质感、暖色调等审美方向	实现精细的 CSS 样式和动效
功能验证	验证核心交互流程	自动化测试和问题排查
AI 协作让从想法到成品的周期大幅缩短,但产品的灵魂——"为什么做"和"做成什么样"——始终由人类主导。

📸 效果展示
浅色模式
📷 [此处插入浅色模式截图]

深色模式
📷 [此处插入深色模式截图]

移动端适配
📷 [此处插入手机端截图]

功能演示
📷 [此处插入添加/编辑/拖拽/搜索等功能截图或 GIF]

🔧 技术参数
项目	说明
文件格式	单 HTML 文件
代码行数	~1500 行(HTML + CSS + JS)
外部依赖	仅引用 Google Fonts 字体(可选)
浏览器兼容	Chrome / Firefox / Safari / Edge 现代版本
数据存储	localStorage(浏览器本地)
网络需求	首次加载字体需联网,之后完全离线可用
文件大小	< 50 KB
🚀 未来展望
PWA 支持:添加 Service Worker 和 manifest,支持安装到桌面/主屏幕
自定义分类:允许用户创建和管理自己的分类标签
子任务支持:待办事项下可展开子任务清单
数据加密:可选的 AES 加密存储,进一步保护隐私
主题定制:支持用户自定义强调色和背景
📝 总结
极简待办证明了:好的工具不需要复杂的技术栈,不需要海量的功能堆砌,不需要用户的隐私作为代价。一个精心设计的单 HTML 文件,就能提供媲美原生应用的待办管理体验。

在 AI 赋能的时代,我们用更少的代码、更短的时间,做出了更纯粹的产品。这或许就是技术进步最美好的样子——让简单的事情保持简单,让重要的事情得到专注。

使用 SOLO AI 编程助手辅助开发 | 纯前端实现 | 零依赖零构建
1 个赞

投稿位置错了,然后的话,你这个似乎不完整,也没有展示图呢

2 个赞

谢谢 :grinning_face: :growing_heart:

1 个赞