AtomCode 实战:使用 AI 编程助手从零开发习惯打卡工具
AtomCode 实战使用 AI 编程助手从零开发习惯打卡工具本文以实际项目代码为依据介绍如何借助 AtomCode 生成并完善一个习惯打卡应用。项目使用 Vue 3 和 Vite习惯数据保存在浏览器localStorage中不包含后端服务或账号同步。https://atomgit.com/gcw_haCxsCKx/habit-tracker.git一、项目效果与功能习惯打卡工具把日常目标整理成可管理的列表。用户可以创建、编辑和删除习惯记录当天是否完成并查看今日进度、连续打卡天数和累计打卡次数。列表支持按完成状态筛选也可以搜索习惯名称和备注。项目的主要交互包括新增/编辑表单、打卡按钮、列表筛选和删除确认。删除时会展示确认对话框没有习惯数据时提供创建入口搜索或筛选没有匹配项时显示单独的无结果提示。二、使用 AtomCode 创建项目在 AtomCode 中打开一个空项目目录提交本项目对应的需求提示。提示应先说明技术栈和运行方式再描述首页、习惯字段、增删改、每日打卡、搜索筛选、表单校验、本地持久化和窄屏布局。让工具先分析并规划结构再生成代码最后安装依赖并执行构建。代码生成后不应只根据提示词判断功能是否完成。还需要检查实际文件和交互需求中写了什么不代表项目一定实现了什么。本文后面的实现说明以仓库源代码和本次构建命令为准。三、技术栈与项目结构项目依赖 Vue 3、Vite 和vitejs/plugin-vue页面样式使用原生 CSS没有引入额外 UI 框架。应用从src/main.js挂载src/App.vue根组件组合统计、筛选、列表、表单、空状态和确认对话框。src/ ├── App.vue ├── main.js ├── style.css ├── components/ │ ├── ConfirmDialog.vue │ ├── EmptyState.vue │ ├── HabitFilter.vue │ ├── HabitForm.vue │ ├── HabitItem.vue │ ├── HabitList.vue │ └── HabitStats.vue ├── store/useHabits.js └── utils/date.jssrc/store/useHabits.js管理习惯响应式数据、派生统计、筛选搜索与数据操作src/utils/date.js统一生成和处理本地日期键src/style.css定义整体布局、表单、弹窗和移动断点样式。拆分组件后App.vue负责连接子组件事件与数据操作具体展示和表单逻辑留在各自组件中。四、习惯新增、编辑与删除HabitForm.vue根据传入的习惯对象区分新增和编辑模式。表单字段为名称、分类、目标频率和备注保存时把数据提交给App.vue再由useHabits()中的saveHabit()创建新记录或更新已有记录。名称会去除首尾空格必填且最多 50 个字符分类和备注分别限制为 20 和 200 个字符。删除按钮不会立即移除记录。App.vue先保存待删除习惯并打开ConfirmDialog.vue确认后才调用deleteHabit()。取消或点击遮罩层则关闭确认框不执行删除。五、每日打卡与统计每条习惯记录包含checkedDates其中保存已完成打卡的日期字符串。点击习惯项的打卡按钮会调用toggleCheck()把今天的日期加入或移出该数组因此可以打卡也可以撤销当天打卡。todayProgress统计全部习惯中的今日完成数和完成百分比overallTotal汇总所有习惯的累计打卡次数。每条习惯的连续天数由calcStreak()计算如果今天已经完成则从今天往前连续检查如果今天尚未完成则从昨天开始直到遇到未打卡日期为止。日期键按浏览器本地时区生成为YYYY-MM-DD。六、搜索、筛选与空状态HabitFilter.vue提供关键词输入和“全部 / 已完成 / 未完成”筛选。useHabits()使用计算属性生成可见列表名称和备注会进行不区分大小写的包含匹配筛选与搜索组合生效不会删除或改写原始习惯。EmptyState.vue根据状态展示两种提示尚无习惯时提供新增入口已有习惯但搜索或筛选没有匹配项时提示调整关键词或筛选状态。七、本地数据保存习惯数据存储在浏览器localStorage的habit-tracker:data键中。应用启动时由loadInitial()尝试读取并解析数组新增、编辑、删除和打卡操作完成后persist()会把当前数组序列化保存。关闭或刷新页面后数据仍保留在当前浏览器的本地存储中。这是一种纯前端持久化方式数据不会自动同步到其他浏览器或设备也没有用户账户或服务端备份。清除浏览器站点数据会删除这些本地记录。八、本地运行与构建验证在包含package.json的项目目录打开终端执行npmcinpmrun dev开发服务器启动后使用终端打印的本地地址打开浏览器。若默认端口被占用Vite 会选择其他可用端口。生产构建命令为npmrun build本次在项目目录安装锁文件依赖后生产构建使用 Vite 5.4.21 成功完成共转换 19 个模块。构建产物dist/index.html为 0.57 kBCSS 为 9.44 kBgzip 2.54 kBJavaScript 为 81.06 kBgzip 32.18 kB构建输出未显示警告。九、限制与待验证事项本次构建证明项目能够打包但没有对所有交互执行自动化或手工浏览器测试因此上文涉及的交互截图均需按标注实际操作后采集。CSS 中存在窄屏媒体查询说明布局考虑了移动尺寸但实际设备显示仍应手工检查。代码中分类超长时validate()会阻止表单提交并设置errors.category但模板没有渲染这个错误字段用户因此看不到分类长度错误提示。项目也没有后端同步、账号体系或跨设备数据备份。依赖审计发现 2 项漏洞1 项 moderate、1 项 high涉及 Vite/esbuild 依赖链建议的强制修复会升级到 Vite 8 并可能造成不兼容本次没有执行npm audit fix --force。

相关新闻

时间戳到底是什么时间?用华为云码道开发 Unix 时间戳转换工具

时间戳到底是什么时间?用华为云码道开发 Unix 时间戳转换工具

时间戳到底是什么时间?用华为云码道开发 Unix 时间戳转换工具 华为云码道CodeArts代码智能体_下载安装_免费体验-华为云 Security Verification 深圳技术大学 - 开源代码托管,代码协作 - AtomGit unix-timestamp-converter:一个基于 HTML、CSS、JavaScript 开发…

2026/10/18 16:59:40 阅读更多 →
2026.10.14总结

2026.10.14总结

工作日精进:今天上班时间,刷了一道科目一的题目,只找到了17个bug,勉强合格。再找bug的过程中,思路是混乱的,不知道先测那部分,后测哪部分,才能最大限度的覆盖所有bug. 跟一个社招的…

2026/10/17 18:51:51 阅读更多 →
WorkBuddy 占用 C 盘缓存?教你将 Workbuddy 缓存目录安全迁移到其他盘

WorkBuddy 占用 C 盘缓存?教你将 Workbuddy 缓存目录安全迁移到其他盘

一、整体步骤WorkBuddy 等 AI 编程工具会在用户目录下创建 .workbuddy-ai 配置与缓存目录,随着使用时间增长,该目录可能占用大量 C 盘空间。本文将介绍如何将该缓存目录安全迁移到其他磁盘,释放 C 盘空间。把 .workbuddy-ai 缓存目录迁移到其…

2026/10/18 20:44:38 阅读更多 →

最新新闻

Agent 系统线上监控指标设计:Token 消耗速率、幻觉拦截率与工具调用延迟

Agent 系统线上监控指标设计:Token 消耗速率、幻觉拦截率与工具调用延迟

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/18 21:11:40 阅读更多 →
Layui2.5.6 + ThinkPHP6.0.2 权限管理后台搭建实战与避坑指南

Layui2.5.6 + ThinkPHP6.0.2 权限管理后台搭建实战与避坑指南

简介:这是一套基于 layui2.5.6 前端组件库与 ThinkPHP6.0.2 后端框架搭建的权限管理后台源码,面向需要快速构建企业级管理系统的 PHP 开发者,也适合初学者理解前后端协同开发流程。资源包共 1098 个文件,约 6.1MB,以 4…

2026/10/18 21:11:40 阅读更多 →
IntelliJ IDEA插件开发:文件、类、包选择器实战详解

IntelliJ IDEA插件开发:文件、类、包选择器实战详解

1. 项目概述与整体设计思路做插件做到 UI 这一层,大家遇到的第一道坎往往是“让用户选东西”。文件选择器、类选择器、包选择器,这三个东西光听名字就知道是干嘛的:弹一个原生对话框,让用户挑一个文件、挑一个 Java 类、挑一个包&…

2026/10/18 21:11:40 阅读更多 →
Claude Code knowledge-work-plugins 安装配置与实战指南

Claude Code knowledge-work-plugins 安装配置与实战指南

1. 从零认识 knowledge-work-plugins:它到底解决什么问题第一次看到knowledge-work-plugins这个仓库名,很多人会下意识以为它又是一个“插件市场”或者“扩展合集”。但真正翻过它的目录结构、跑过几个 slash commands 之后,你会发现它的定位…

2026/10/18 21:11:40 阅读更多 →
knowledge-work-plugins 插件体系:Claude Code 知识工作自动化实战

knowledge-work-plugins 插件体系:Claude Code 知识工作自动化实战

1. 从零认识 knowledge-work-plugins:它到底解决什么问题第一次看到knowledge-work-plugins这个仓库名,很多人会以为它又是一个“插件合集”,点进去才发现它其实是一套围绕知识工作场景设计的扩展体系。简单说,它把日常重复性的知…

2026/10/18 21:11:40 阅读更多 →
knowledge-work-plugins 实战:Claude Code 插件安装配置与知识工作自动化

knowledge-work-plugins 实战:Claude Code 插件安装配置与知识工作自动化

1. 从零认识 knowledge-work-plugins:它到底解决什么问题第一次看到knowledge-work-plugins这个仓库名,很多人会以为它又是一个“插件合集”,点进去才发现它其实是一套围绕知识工作场景设计的扩展体系。简单说,它把日常重复性的知…

2026/10/18 21:10:39 阅读更多 →

日新闻

基于GMM的语音识别系统原理与MATLAB实现详解

基于GMM的语音识别系统原理与MATLAB实现详解

说到基于高斯混合模型(GMM)的语音识别系统,很多人第一反应就是一堆数学公式,觉得门槛很高。但如果你真的在MATLAB里把它落地跑通,会发现核心其实就是三件事:把声音变成特征向量,用GMM给每个类别…

2026/10/18 0:00:55 阅读更多 →
数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理这四个字听起来挺唬人,但落到具体操作上,无非就是让计算机按你的想法“摆弄”像素。我在一个模拟项目X里用了一套特别经典的基础处理流程:对图像做反白、改调色板、彩色转灰度,最后把像素数据导出成txt文件。单看每一…

2026/10/18 0:00:55 阅读更多 →
机器人大脑技术盘点:具身智能的感知、决策与数据闭环

机器人大脑技术盘点:具身智能的感知、决策与数据闭环

如果你的信息流最近也天天刷到“机器人大脑”这个词,你会发现一个很有意思的现象:每个人说的“大脑”根本不是同一个东西。有人指的是大语言模型,有人指的是运动控制系统,还有人指的是能理解物理世界的端到端模型。在2026年这个时…

2026/10/18 0:00:55 阅读更多 →

周新闻

基于GMM的语音识别系统原理与MATLAB实现详解

基于GMM的语音识别系统原理与MATLAB实现详解

说到基于高斯混合模型(GMM)的语音识别系统,很多人第一反应就是一堆数学公式,觉得门槛很高。但如果你真的在MATLAB里把它落地跑通,会发现核心其实就是三件事:把声音变成特征向量,用GMM给每个类别…

2026/10/18 0:00:55 阅读更多 →
数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理这四个字听起来挺唬人,但落到具体操作上,无非就是让计算机按你的想法“摆弄”像素。我在一个模拟项目X里用了一套特别经典的基础处理流程:对图像做反白、改调色板、彩色转灰度,最后把像素数据导出成txt文件。单看每一…

2026/10/18 0:00:55 阅读更多 →
机器人大脑技术盘点:具身智能的感知、决策与数据闭环

机器人大脑技术盘点:具身智能的感知、决策与数据闭环

如果你的信息流最近也天天刷到“机器人大脑”这个词,你会发现一个很有意思的现象:每个人说的“大脑”根本不是同一个东西。有人指的是大语言模型,有人指的是运动控制系统,还有人指的是能理解物理世界的端到端模型。在2026年这个时…

2026/10/18 0:00:55 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/18 0:55:02 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/17 17:22:31 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/18 12:16:16 阅读更多 →