一、业务背景
随着全民健身与自律习惯养成热潮兴起,训练打卡成为大众日常高频需求。当前市场主流打卡产品多以独立 APP 形态存在,普遍存在功能膨胀问题:在基础打卡功能之外叠加社区社交、电商带货、付费课程等大量冗余模块,逐渐偏离工具属性,导致轻度用户面临信息过载、操作繁琐的困扰,市场对轻量化、无干扰的纯打卡工具需求持续上升。
同时,独立 APP 使用门槛较高,用户需经历搜索、下载、安装、注册等完整流程,对于仅需记录训练组数、追踪每日进度的用户而言,使用成本与收益不匹配,大量潜在用户因下载负担直接流失。微信小程序具备 “无需安装、随用随走” 的天然优势,与训练打卡 “短频快” 的使用场景高度契合,但当前赛道内缺少聚焦训练场景、界面极致简洁的垂直类小程序产品,存在明显市场空白。
二、立项原因
本项目以微信小程序为载体开发极简训练打卡工具,核心立项原因如下:
一,是降低用户使用门槛,省去下载安装步骤,用户通过微信搜索、分享即可快速使用,大幅缩短转化路径,覆盖更多不愿下载独立 APP 的轻度训练用户。
二,是回归工具本质,做极致功能减法,仅保留今日待完成、已完成统计、进度追踪、打卡操作核心功能,剔除所有冗余模块,搭配清爽简洁的界面设计,让用户专注训练本身,获得无干扰的沉浸式打卡体验。
三,是精准匹配垂直需求,聚焦训练计划与每日组数打卡场景,适配各类重复性训练计划,相比通用打卡工具更贴合训练使用习惯,相比重型健身 APP 更轻量纯粹,满足偏爱极简风格的用户需求。
四,是依托微信生态提升留存,借助微信高频使用属性,用户可在日常使用间隙快速完成打卡,降低遗忘概率,助力用户持续养成训练习惯。
## 亮眼功能
### 1. 组数级精细化打卡(核心亮点)
- 每个计划可添加多个动作(如俯卧撑、深蹲),每个动作设置 次数 × 组数
- 打卡时 逐个标记完成的组 ,圆点变绿打勾,不可撤销
- 强制按顺序打卡 :前一组未完成,后一组不可点击(灰显锁定)
- 实时迷你进度条跟随组数完成度变化
- 未全部完成时打卡,弹窗列出未完成动作(如"俯卧撑 ×2/4组")
### 2. 双进度条可视化
- 每条计划卡片展示 两条进度条 :
- 今日进度 (绿色):今日组数完成百分比
- 总进度 (蓝色):打卡天数 / 总周期天数
- 小字标签区分,一目了然
### 3. 实时全局任务统计
- 首页顶部实时显示所有进行中计划的**「待完成」/「已完成」**计划数
- 从详情页打卡返回首页,数字立即更新
- 自动排除已归档的历史计划
### 4. 智能补签机制
- 支持过去3天内补签, 每个计划每月3次上限 ,互不影响
- 补签前弹出 居中确认框 (取消/确认双按钮)
- 补签后日历标记与正常打卡一致(蓝色圆点)
### 5. 计划自动归档
- 计划打卡天数达到总天数 或 结束日期已过 → 自动从「打卡」页移入「历史」页
- 历史计划可查看完整打卡日历和统计,不可再操作
### 6. 离线打卡 + 数据不丢失
- 断网时打卡数据暂存本地队列
- 联网后自动同步,不丢数据
- 异常退出保留所有记录
### 7. 深色模式
- 支持 跟随系统 / 浅色 / 深色 三选一
- 全局 CSS 变量方案,所有页面适配
阶段 具体任务 1,需求分析 梳理34项需求(P0/P1/P2分级),输出需求规格说明书 2,产品设计 页面原型设计、交互流程设计、数据结构设计 3,UI/UX设计 极简风格视觉规范、组件库、深色模式适配 4,前端开发 5个页面(首页/创建/详情/历史/我的)+ 工具类封装 5,后端开发 云函数开发(login)、数据模型设计、存储方案 6,数据存储 本地存储 + 云开发/数据库双层架构、离线同步 7,测试调试 功能测试、边界测试、兼容性测试、Bug修复 8,性能优化 包体积控制(≤2M)、冷启动优化(≤1.5s)
## 技术栈
### 前端
- 框架 :微信小程序原生框架(WXML + WXSS + JavaScript)
- 核心API :`wx.request` 、`wx.storage` 、`wx.cloud` 、`wx.getUserProfile` 、`wx.requestSubscribeMessage`
- UI方案 :原生组件 + 自定义 CSS 变量(深色模式)+ rpx 响应式
### 后端 / 数据层
- 云函数 :Node.js(微信云开发 Cloud Functions)
- 数据库 :微信云开发数据库(MongoDB 风格)/ 可切换 Supabase(PostgreSQL)
- 存储 :本地存储(wx.storage)+ 云数据库双写同步
### 工具与工程
- 开发工具 :微信开发者工具
- 日期处理 :自定义 date.js(日期格式化、进度计算、连续天数)
- 存储封装 :自定义 storage.js(CRUD 封装、离线队列、数据迁移)
- 云开发封装 :自定义 cloud.js(初始化、openid 获取、数据隐私隔离)
声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!

下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态
评论