首次提交

This commit is contained in:
zeronline
2026-06-25 08:39:47 +08:00
parent 20a93c703a
commit c5cccd346b
169 changed files with 24720 additions and 0 deletions
@@ -0,0 +1,713 @@
# 寸进(InchStep)综合成长打卡平台 — 详细需求说明书
> 文档版本:v1.0
> 更新日期:2026-06-17
> 状态:初稿
---
## 目录
1. 文档概述
2. 产品背景与定位
3. 目标用户画像
4. 产品全局说明
5. 功能需求详述
6. 非功能需求
7. 数据模型概要
8. 优先级矩阵
9. 验收标准
10. 商业模式与盈利点
10. 附录
---
## 1. 文档概述
### 1.1 文档目的
本文档旨在将《寸进(InchStep)综合成长打卡平台 简易需求文档》中的要点展开为一份结构化的详细需求说明,作为后续设计、开发、测试的统一参考。
### 1.2 适用范围
本文档覆盖寸进平台 v1.0 版本的全部功能范围,不含企业考勤、公司签到、员工管理、薪资绩效打卡相关功能。
### 1.3 关键词定义
| 术语 | 说明 |
|------|------|
| 打卡项 | 用户创建的单个打卡项目,如"每天背单词""每晚冥想" |
| 打卡记录 | 用户在某个打卡项下某日的一次完成记录 |
| 成长积分 | 平台通用积分,用于激励用户持续打卡 |
| 成就徽章 | 满足特定条件后解锁的虚拟徽章 |
| 打卡小组 | 用户自行创建或加入的多人打卡团体 |
| 动态广场 | 用户分享打卡成果的社交 Feed 流 |
---
## 2. 产品背景与定位
### 2.1 背景
在自我提升与习惯养成领域,现有工具普遍存在几个痛点:
- **功能割裂**:阅读打卡用一个 App,健身打卡用另一个,数据无法互通;
- **缺乏社交激励**:单机打卡容易放弃,缺少同伴监督和竞争氛围;
- **成长不可见**:很多工具只记录"打了没打",缺少有温度的可视化反馈和阶段性总结;
- **仪式感不足**:用户需要"被看见"和"被认可",但现有产品在个人主页展示、成就系统上较弱。
### 2.2 产品定位
**寸进(InchStep)** 是一款面向个人的全场景成长打卡平台,覆盖学习、健康、习惯、兴趣、目标五大领域,融合数据可视化与社交比拼机制,帮助用户发现并量化自己的点滴进步。
### 2.3 产品 slogan
- 中文:**寸进,日日皆有成长**
- 英文:**InchStep, Every inch counts.**
### 2.4 差异化要点
- 全品类覆盖,一个 App 管理所有成长打卡
- 强社交比拼:好友 PK、小组竞赛、排行榜
- 可视化成长闭环:数据图表 + 月度回顾报告
- 存在感设计:个人主页、动态广场、成就徽章
---
## 3. 目标用户画像
### 3.1 核心用户:自我提升爱好者(小 A)
- **年龄**1835 岁
- **特征**:有明确的自律或成长目标,尝试过多种打卡工具,需要一个统一阵地
- **痛点**:用多个工具切换麻烦,缺少外部监督容易放弃
- **使用场景**:每天早起/睡前花 5 分钟完成打卡,周末查看数据趋势
### 3.2 次级用户:社交驱动型用户(小 B)
- **特征**:喜欢和朋友较量,看到排行榜会更有动力
- **痛点**:纯单机工具坚持不下来,想要竞争和观众
- **使用场景**:创建小组拉朋友进来打卡,关注周榜排名
### 3.3 边缘用户:轻度记录者(小 C)
- **特征**:偶尔记录生活点滴,没有严格的坚持目标
- **痛点**:不想被推送压力,需求简单
- **使用场景**:偶尔点进来记录一次,发条动态
---
## 4. 产品全局说明
### 4.1 平台
- **前端三端同步**:Web 端(PC/移动端自适应)、移动端 App(iOS / Android)、微信小程序,三端功能对齐、同步上线
- **技术选型建议**
- Web 端:React / Next.js,响应式布局适配 PC 和移动浏览器
- 移动端 AppReact Native(与 Web 端共享业务逻辑层)
- 微信小程序:原生小程序开发,或 Taro / uni-app 跨端编译
- **后端管理系统**:独立 Web 管理后台,供运营和管理员使用,与用户前端分离部署
### 4.2 设计风格
整体设计语言借鉴 Apple 人机交互指南(HIG),追求**简约、通透、有质感**的视觉体验。
#### 4.2.1 设计哲学
- **内容优先**:减少装饰性元素,让打卡数据和用户内容成为页面主角
- **留白呼吸**:使用充足的空间间距替代分割线来区分内容区块
- **层级清晰**:通过字体大小、粗细、颜色深浅建立清晰的视觉层级,而非靠边框和底色堆砌
- **一致性**:全局统一的圆角半径、间距系统、图标风格和交互范式
- **年轻活力**:色彩明快有活力,融入微渐变和微动效,不沉闷不寡淡,贴合18-35岁用户的审美偏好
#### 4.2.2 色彩系统
| 角色 | 色值 | 用途 |
|------|------|------|
| 品牌主色 | #FF6B35(活力橙) | 核心操作按钮、选中态、品牌标识 |
| 品牌渐变 | #FF6B35 -> #FF4D6D(橙粉渐变) | 品牌背景、引导页、成就特效 |
| 品牌辅色 | #7209B7(亮紫) | 次要强调、徽章稀有度标识、数据图表点缀 |
| 背景色 | #F5F5F7(浅灰) | 页面背景,类似iOS设置页质感 |
| 卡片色 | #FFFFFF | 卡片、表单、弹窗背景 |
| 主文字 | #1D1D1F | 标题、正文关键信息 |
| 次要文字 | #86868B | 辅助说明、时间戳、占位符 |
| 分割线 | #E5E5EA | 极细分割线,1px或0.5pt |
| 成功 | #34C759(iOS绿) | 打卡完成、成就达成 |
| 警示 | #FF9500(iOS橙) | 断签提醒、待打卡 |
| 错误 | #FF3B30iOS红) | 删除、错误提示 |
| 图表色板 | #FF6B35 #4CC9F0 #7209B7 #06D6A0 #F72585 | 数据可视化图表配色,明快可区分 |
> 年轻化不等于花哨。品牌主色+品牌渐变+亮紫点缀+图表色板,四层体系足够丰富但不杂乱。
#### 4.2.3 字体排版
- **中文字体**PingFang SC(苹方),系统原生字体,无须额外加载
- **西文字体**SF Pro,Apple系统字体,与iOS系统文字一致
- **字号层级**
- 大标题:34pt / Bold
- 页面标题:28pt / Semibold
- 卡片标题:17pt / Semibold
- 正文:15pt / Regular
- 辅助文字:13pt / Regular
- 角标/标签:11pt / Medium
- **行高**:正文行高1.4倍,标题行高1.2倍
#### 4.2.4 间距与栅格
- **基准间距**:8pt,所有间距以此倍数递增(8、16、24、32、40、64
- **安全边距**:左右各16pt(iOS标准),顶部44pt(避开状态栏)
- **卡片圆角**:12pt(统一圆角,与iOS系统卡片保持一致)
- **图标尺寸**24pt x 24pt(导航栏)、28pt x 28pt(打卡项图标)
- **按钮高度**48pt(主要CTA按钮),38pt(次要按钮)
#### 4.2.5 图标与动效
- **图标风格**SF Symbols风格线性图标,2pt描边,圆角端点;辅以少量面性图标用于高亮态
- **动效原则**
- 打卡成功:微缩放+淡入+品牌色绽放粒子动效(0.4s spring),伴随Haptic Feedback
- 页面切换:iOS原生导航推入动画(左侧滑入)
- 弹窗出现:从底部上滑(Action Sheet风格)或居中淡入(Alert风格)
- 数据图表:加载时序列动画,数据点逐一出现(0.3s stagger
- 排行榜:用户排名变化时数字滚动动画
- 成就解锁:全屏庆祝动效(Lightshow风格),配合触感反馈
- **禁用动效**:尊重系统减少动态效果无障碍设置
#### 4.2.6 组件视觉规范
| 组件 | 外观说明 |
|------|----------|
| 导航栏 | 半透明毛玻璃效果(Blur),标题居左或居中,与iOS系统导航栏一致 |
| 选项卡 | 底部Tab BarSF Symbols图标+文字,选中态品牌色渐变填充 |
| 打卡按钮 | 圆形按钮,直径48pt,品牌渐变填充,打卡后变为勾选态,带微动效 |
| 日历视图 | 圆角网格,打卡日显示品牌色圆点,连续打卡显示火焰图标,补卡日特殊标记 |
| 卡片 | 白色背景、12pt圆角、极轻微阴影 |
| 列表 | 圆角分组列表(Inset Grouped样式),与iOS设置页风格一致 |
| 排行列表 | 前三名以金银铜色突出显示,数据条带品牌渐变进度条 |
| 成就徽章 | 稀有度视觉:铜#CD7F32/银#C0C0C0/金#FFD700,金质徽章带流光动效 |
#### 4.2.7 深色模式(Dark Mode
- 跟随系统设置自动切换,也支持App内手动切换
- 深色配色方案:
- 背景色:#000000(纯黑)或#1C1C1EiOS系统灰)
- 卡片色:#2C2C2E
- 主文字:#FFFFFF
- 次要文字:#8E8E93
- 分割线:#38383A
- 品牌色和品牌渐变在深色模式下饱和度适当降低,避免刺眼
- 深色模式下毛玻璃效果透明度调整,确保文字可读性
#### 4.2.8 设计参考
- **直接参考**:iOS系统自带App(健康、健身、日历)、Apple设计模板
- **年轻化参考**Notion、GoodNotes、Lose It、Strava——简约但色彩有记忆点
- **风格对标**:简约、不堆叠、不花哨,一屏只做好一件事,但色彩敢于表达
- **不采纳风格**:拟物化、大面积渐变盖满全屏、卡片套卡片、暗黑背景加高饱和渐变
### 4.3 语言
- 中文简体(首发),后续支持繁体中文和英文
---
## 5. 功能需求详述
### 5.1 用户模块
#### 5.1.1 注册与登录
- **手机号注册**:短信验证码登录/注册
- **第三方登录**:微信、Apple ID
- **自动登录**:Token 持久化,7 天内免密
- **注销账号**:提供账户注销入口,含确认流程
#### 5.1.2 个人主页
| 功能 | 说明 |
|------|------|
| 头像 | 支持自定义上传或默认头像 |
| 个性签名 | 最多 50 字 |
| 个人目标简介 | 一句话介绍正在坚持的事,最多 100 字 |
| 展示数据 | 累计打卡天数、连续打卡天数、获得徽章数、总积分 |
| 隐私开关 | 可控制主页是否对非好友可见 |
#### 5.1.3 成长档案
- **累计打卡记录**:按时间线展示所有打卡项的历史记录
- **连续天数**:各打卡项各自的连续天数,以及全局最高连续天数
- **成就徽章墙**:已获得的徽章以网格展示,未获得的显示为锁定占位
---
### 5.2 打卡核心模块
#### 5.2.1 打卡项管理
**创建打卡项**
| 字段 | 说明 | 必填 |
|------|------|------|
| 名称 | 打卡项名称,如"每天背单词" | 是 |
| 图标 | 从系统图标库选择,或自定义 emoji | 是 |
| 分类 | 学习/健康/习惯/兴趣/目标 | 是 |
| 每日目标 | 文字描述,如"背 50 个单词" | 否 |
| 提醒时间 | 每日定时推送,支持多时段 | 否 |
| 打卡周期 | 每日/每周(可指定周几)/隔日/自定义间隔 | 是 |
| 隐私设置 | 公开/仅好友可见/仅自己可见 | 是 |
| 目标期限 | 选填,如"2026-09-01 前通过考试" | 否 |
**打卡项操作**:编辑、暂停(冻结)、归档、删除(软删除,保留历史数据)
#### 5.2.2 每日打卡
**一键打卡流程**
1. 首页展示今日待打卡项列表
2. 点击打卡项旁的打卡按钮 → 完成打卡
3. 打卡成功后:
- 按钮状态变为"已打卡",显示打卡时间
- 弹出轻提示,可选添加文字/图片/视频备注
- 获得成长积分 +1
4. 支持批量打卡(连续点按多个项)
**打卡备注**
- 支持纯文字(最多 500 字)
- 支持上传图片(最多 9 张)
- 支持上传短视频(≤30 秒)
- 备注可在打卡详情页查看和编辑
#### 5.2.3 补卡与断签提醒
**补卡**
- 允许补签最近 7 天的缺失记录
- 每月免费补卡 3 次,超出可消耗成长积分兑换(5 积分/次)
- 补卡后该日记录标注"已补卡"
**断签提醒**
- 当某个打卡项即将断签(当日 20:00 仍未打卡),推送提醒
- 连续提醒间隔:20:00、21:00、22:00(用户可关闭)
- 断签后,该打卡项的连续天数归零
#### 5.2.4 定时推送打卡提醒
- 按用户设定的提醒时间推送系统通知
- 通知内容示例:"📚 该背单词啦,今天还没打卡哦"
- 用户可在设置中统一关闭推送
---
### 5.3 数据可视化模块
#### 5.3.1 日历打卡视图
- 按月切换,每个打卡项对应一个日历
- 打卡日显示为实心圆点(颜色对应分类色)
- 点击某日可查看当天的打卡详情
- 支持日历分项筛选(只看学习/只看健康等)
#### 5.3.2 统计总览
| 指标 | 展示范围 | 展示形式 |
|------|----------|----------|
| 连续打卡天数 | 全局 / 单项 | 大数字 + 火焰图标 |
| 本月完成率 | 单项 | 环形进度条 |
| 年度完成率 | 全局 | 进度条 |
| 累计完成次数 | 单项 | 数字 + 同比上月变化 |
| 完成趋势 | 近 7 天 / 30 天 | 折线图 |
| 坚持时长 | 单项 | 从首次打卡至今的天数 |
#### 5.3.3 数据导出
- 支持导出个人打卡数据为 CSV/Excel
- 导出内容:打卡项、打卡日期、备注、连续天数
---
### 5.4 社交与比拼模块
#### 5.4.1 好友系统
- **添加好友**:搜索用户名/手机号、扫二维码、通讯录匹配
- **好友列表**:按最近互动排序
- **好友主页**:可查看好友公开的成长档案和动态
#### 5.4.2 动态广场
- 用户打卡时可选择"同步到动态广场"
- 动态内容:打卡项名称 + 备注文字/图片/视频
- 互动:点赞、评论(支持回复评论)
- 动态排序:默认按时间倒序,支持切换为"热门"
- 动态列表支持按分类筛选
#### 5.4.3 排行榜
| 排行类型 | 更新频率 | 范围 | 排名依据 |
|----------|----------|------|----------|
| 周榜 | 每周一 00:00 更新 | 好友 / 全平台 | 本周打卡完成率 |
| 月榜 | 每月 1 日 00:00 更新 | 好友 / 全平台 | 本月完成率 + 连续天数加权 |
| 小组榜 | 实时 | 小组内 | 个人对小组目标的贡献度 |
**展示**:Top 10 显示排名头像和昵称,其他显示所在百分位
#### 5.4.4 打卡小组
**创建小组**
| 字段 | 说明 | 必填 |
|------|------|------|
| 小组名称 | 原名称,最多 20 字 | 是 |
| 小组封面 | 自定义图片 | 是 |
| 小组简介 | 最多 200 字 | 是 |
| 小组类型 | 公开(任何人可加入)/ 私密(需审核) | 是 |
| 共同目标 | 可设定一个或多个打卡项作为小组目标 | 否 |
| 人数上限 | 默认 50 人,可扩容 | 否 |
**小组功能**
- 成员管理:申请审核、移出、退出
- 小组打卡看板:展示每个成员今日打卡进度
- 小组 PK:两个小组可发起为期 7 天的打卡完成率对战
- 小组动态:小组成员动态聚合为一个独立 tab
#### 5.4.5 好友对战
- **发起**:选择好友 → 选择一个或多个打卡项 → 设定对战时长(7/14/30 天)
- **对战规则**:比拼指定项在周期内的打卡完成率
- **实时展示**:双方进度条对比,每日更新
- **结果**:周期结束后自动出结果,全平台推送
---
### 5.5 激励体系
#### 5.5.1 成就徽章
| 徽章名称 | 解锁条件 |
|----------|----------|
| 初露锋芒 | 完成第 1 次打卡 |
| 七日坚持 | 任意打卡项连续 7 天 |
| 半月之约 | 任意打卡项连续 15 天 |
| 月满则盈 | 任意打卡项连续 30 天 |
| 百日筑基 | 任意打卡项连续 100 天 |
| 全面开花 | 同时有 5 个打卡项保持活跃 |
| 社交达人 | 获得 50 个点赞 |
| 小组之星 | 在小组内连续打卡满 30 天 |
| 神补刀 | 使用补卡功能 10 次 |
| 年度坚持王 | 全年打卡完成率 ≥ 80% |
- 徽章解锁时发送系统通知
- 徽章有稀有度标识(铜/银/金)
#### 5.5.2 成长积分
**获取途径**
| 行为 | 积分 |
|------|------|
| 每日打卡一次 | +1 |
| 连续打卡第 7 天 | +5(额外) |
| 连续打卡第 30 天 | +20(额外) |
| 完成一项打卡目标 | +10 |
| 分享动态 | +2(每日上限 3 次) |
| 评论他人动态 | +1(每日上限 5 次) |
| 邀请新用户注册 | +15(每月上限 5 人) |
**消耗途径**
- 补卡:5 积分/次
- 兑换徽章装饰特效
- 兑换个性化主题皮肤(规划中)
#### 5.5.3 阶段总结报告
- **月度成长报告**:每月 1 日自动生成
- 本月打卡完成率对比上月
- 本月最佳坚持项
- 本月获得徽章
- 本月积分增减
- 一句话激励文案
- **季度/年度报告**:内容更丰富,含趋势图和社交维度数据
---
### 5.6 辅助工具模块
#### 5.6.1 待办清单与打卡联动
- 用户可创建简单的每日待办清单
- 待办项与打卡项绑定:完成待办后自动完成对应打卡
- 示例:待办"背 30 个单词"→ 绑定"背单词"打卡项,勾选待办即打卡
#### 5.6.2 打卡周期自定义
- 每日:最基础,每天检查
- 每周:指定周几打卡(如周一、三、五)
- 隔日:打卡一天休息一天
- 自定义:按 N 天为周期(如每 3 天打卡一次)
#### 5.6.3 隐私设置体系
| 隐私层级 | 适用范围 | 说明 |
|----------|----------|------|
| 公开 | 打卡项 / 主页 / 动态 | 所有人可见 |
| 仅好友可见 | 同上 | 仅双向好友可见 |
| 仅自己可见 | 同上 | 完全私密 |
| 隐藏动态 | 单条动态 | 发布后从广场移除但数据保留 |
- 隐私设置支持批量修改
- 创建打卡项时默认隐私为"仅自己可见"
---
### 5.7 消息与通知
| 通知类型 | 触发条件 | 推送方式 |
|----------|----------|----------|
| 打卡提醒 | 用户设定的提醒时间 | 通知栏 |
| 断签预警 | 当日 20:00 未打卡 | 通知栏 |
| 点赞/评论 | 他人互动 | 通知中心 |
| 好友请求 | 收到好友申请 | 通知栏 + 通知中心 |
| 成就解锁 | 获得徽章 | 弹窗 |
| 对战邀请 | 好友发起对战 | 通知栏 |
| 排行榜刷新 | 周榜/月榜更新 | 通知中心 |
---
## 6. 非功能需求
### 6.1 性能要求
- 首页加载:冷启动 ≤ 2 秒,热启动 ≤ 1 秒
- 打卡操作:点击到反馈 ≤ 500ms
- 动态广场加载:首屏 ≤ 1.5 秒,滑动加载新内容 ≤ 1 秒
- 日历视图切换:≤ 800ms
- 排行榜数据:≤ 2 秒
### 6.2 并发与规模
- 支撑初期 1 万 DAU,日打卡记录 50 万条
- 动态广场 Feed 支持 1000 QPS
### 6.3 数据安全
- 用户密码加密存储(bcrypt 或等同强度)
- 隐私数据(个人主页、私密打卡项)严格控制服务端查询权限
- 图片/视频上传需做安全审核(后续接入自动审核服务)
- 数据备份:每日全量备份,每 6 小时增量备份
### 6.4 兼容性
- iOS 14+Android 8+
- 微信小程序基础库 2.20+
- **Web 端**Chrome 90+、Safari 15+、Edge 90+,响应式布局适配 375px-1920px 视口
- **管理后台**Chrome 90+、Edge 90+(优先 Chromium 内核),最低分辨率 1280x720
### 6.5 其他
- 支持离线打卡:断网时本地缓存打卡记录,联网后同步
- 推送到达率 ≥ 95%(接入厂商通道)
---
## 7. 数据模型概要
### 7.1 核心实体关系
```
User (用户)
├── CheckInItem (打卡项) → CheckInRecord (打卡记录)
├── Achievement (成就徽章) → UserAchievement (用户已获得)
├── PointsLog (积分流水)
├── Friend (好友关系) → 双向关联
├── Post (动态) → Comment / Like
├── Group (打卡小组) → GroupMember
├── Battle (好友对战) → BattleParticipant
└── Report (成长报告)
```
### 7.2 主要字段概要
**User**
- id, phone, nickname, avatar, bio, motto, privacy_level, total_days, max_streak, points, created_at
**CheckInItem**
- id, user_id, name, icon, category, daily_goal, cycle_type, cycle_config, remind_time, privacy_level, status (active/paused/archived), deadline, target_goal, created_at
**CheckInRecord**
- id, item_id, user_id, check_date, status (normal/makeup), note_type (text/image/video), note_content, created_at
**Achievement**
- id, name, description, icon, rarity (bronze/silver/gold), condition_type, condition_value
**Group**
- id, name, cover, intro, type (public/private), max_members, target_items, created_by, created_at
**Battle**
- id, creator_id, opponent_id, item_ids, start_date, end_date, status (pending/active/completed), winner_id
**Post**
- id, user_id, item_id, content_type, content, images, video_url, privacy, likes_count, comments_count, created_at
---
## 8. 优先级矩阵
### 8.1 分级标准
- **P0**:核心功能,无此功能产品无法交付
- **P1**:重要功能,支撑产品核心体验
- **P2**:增强功能,提升体验但非必须
- **P3**:远期规划,v1.0 之后考虑
### 8.2 功能优先级
| 模块 | 功能 | 优先级 | 说明 |
|------|------|--------|------|
| 用户 | 注册登录 | P0 | 基础入口 |
| 用户 | 个人主页与成长档案 | P1 | 存在感核心 |
| 打卡 | 创建打卡项 | P0 | 产品基石 |
| 打卡 | 每日打卡操作 | P0 | 产品基石 |
| 打卡 | 打卡备注(文字/图文) | P1 | 完整体验 |
| 打卡 | 打卡备注(视频) | P2 | 后续完善 |
| 打卡 | 定时推送提醒 | P1 | 留存关键 |
| 打卡 | 补卡功能 | P1 | 容错机制 |
| 打卡 | 断签提醒 | P1 | 防流失 |
| 打卡 | 多周期支持 | P1 | 灵活性 |
| 可视化 | 日历打卡视图 | P0 | 核心体验 |
| 可视化 | 统计总览与图表 | P1 | 体现进步 |
| 可视化 | 数据导出 | P2 | 增强 |
| 社交 | 好友系统 | P1 | 社交基础 |
| 社交 | 动态广场 | P1 | 社交核心 |
| 社交 | 排行榜 | P1 | 竞争驱动 |
| 社交 | 打卡小组 | P2 | 深度社交 |
| 社交 | 好友对战 | P2 | 深度社交 |
| 激励 | 成就徽章 | P1 | 持续动力 |
| 激励 | 成长积分 | P1 | 持续动力 |
| 激励 | 月度/年度报告 | P1 | 阶段性闭环 |
| 辅助 | 待办清单绑定 | P2 | 效率增强 |
| 辅助 | 隐私设置 | P1 | 安全感 |
| 辅助 | 离线打卡 | P2 | 体验优化 |
---
## 9. 验收标准
10. 商业模式与盈利点
### 11.1 用户管理
- [x] 用户可成功注册并登录,Token 有效期内无需重复登录
- [x] 个人主页正确展示用户信息和打卡统计数据
- [x] 隐私设置生效:仅自己可见的内容在广场和非好友主页不展示
### 11.2 打卡功能
- [x] 用户可完整创建→查看→编辑→暂停→归档→删除一个打卡项
- [x] 每日打卡完成时积分 +1,连续天数更新
- [x] 补卡不突破连续天数且记录标注"已补卡"
- [x] 推送提醒在设定时间准时发送
- [x] 不同打卡周期(每日/每周/隔日)正确计算待打卡日
### 11.3 数据可视化
- [x] 日历视图准确标记打卡日与缺失日
- [x] 月度/年度完成率百分比计算正确
- [x] 折线图趋势数据与打卡记录一致
### 10.4 社交
- [x] 好友添加流程完整,双向好友关系正确
- [x] 动态广场发布→展示→互动(点赞评论)功能正常
- [x] 排行榜数据按规则正确排序
- [x] 小组创建→加入→打卡→查看成员进度功能正常
- [x] 对战发起→进行→结算流程完整
### 10.5 激励体系
- [x] 所有徽章解锁条件可达成,解锁时正确通知
- [x] 积分获取和消耗记录准确
- [x] 月度报告数据与打卡记录一致
---
## 10. 商业模式与盈利点
### 11.1 总体策略
寸进的核心商业逻辑是 **Freemium + 虚拟增值 + 社交激励付费**。基础打卡功能完全免费,以保证用户增长和留存;盈利点集中在虚荣心、效率提升、深度社交三个方向上,不靠广告骚扰破坏产品调性。
### 11.2 会员订阅(寸进 Pro
| 层级 | 价格参考 | 核心权益 |
|------|----------|----------|
| 免费版 | ¥0 | 创建 ≤ 5 个打卡项、基础统计、每日提醒、标准徽章 |
| Pro 月卡 | ¥12/月 | 无限打卡项、高级图表(趋势对比/多维度交叉分析)、无限补卡、自定义主题皮肤 |
| Pro 季卡 | ¥30/季 | 月卡全部权益 + 月度报告 PDF 导出、专属徽章边框特效 |
| Pro 年卡 | ¥88/年 | 季卡全部权益 + 年度深度报告、早鸟体验新功能、会员专属标识 |
**定价参考依据**:对标同类习惯类 App(小日常年卡 ¥68–¥98,潮汐年卡 ¥108),寸进 Pro 年卡 ¥88 定位中等偏低,降低付费门槛。
### 11.3 虚拟商品商城
#### 9.3.1 个性装扮
| 商品类型 | 定价 | 说明 |
|----------|------|------|
| 打卡项主题图标包 | ¥6/包 | 解锁一套精美手绘图标,如"国风""简约""手账风" |
| 个人主页皮肤 | ¥12/套 | VIP 定制主页背景,含动效 |
| 徽章装饰框 | ¥3/个 | 为已获得的徽章添加金框、流光特效等 |
| 动态卡片模板 | ¥6/包 | 打卡分享到广场时使用精美排版模板 |
#### 9.3.2 成长积分兑换(积分也可直接购买)
| 商品 | 积分价格 | 备注 |
|------|----------|------|
| 额外补卡次数(1 次) | 5 积分 | 月免费额度用完后消耗 |
| 补卡月卡(无限补卡) | 200 积分 | 性价比选择 |
| 限定徽章 | 500 积分 | 特殊设计,非 Pro 也可通过活跃获得 |
| 皮肤体验卡(7 天) | 100 积分 | 限时体验 |
### 10.4 小组/战队增值服务
| 功能 | 免费版限制 | Pro/付费解锁 |
|------|------------|--------------|
| 创建小组数量 | 最多 1 个 | Pro 无限 |
| 小组人数上限 | 50 人 | Pro 可扩容至 200 人(¥6/次扩容) |
| 小组数据分析 | 基础统计 | 小组内成员排名趋势、完成率热力图 |
| 同时发起对战数量 | 1 场 | Pro 最多同时 5 场 |
### 10.5 深度数据报告
免费用户可查看月度报告的简版预览。完整版(含相比上月的变化分析、下月建议、PDF/图片一键分享)需 Pro 订阅或单次付费 ¥3。
### 10.6 广告(克制模式)
寸进在 MVP 阶段不做广告。进入增长期后考虑在以下位置放置原生广告,不破坏体验:
| 广告位 | 形式 | 定价参考(CPM) | 说明 |
|--------|------|-----------------|------|
| 动态广场信息流(每 10 条插 1 条) | 图片/视频卡片 | ¥15–¥25 | 仅限教育/图书/运动类品牌,风格与动态卡片一致 |
| 打卡完成弹窗底部 | 小横幅 | ¥8–¥15 | 打卡成功后展示,非侵入式 |
| 排行榜赞助商冠名 | 品牌露出 | ¥3,000–¥8,000/月 | "本周榜由 XXX 冠名" |
**可选策略**:提供"去广告永久包"¥18,付费后永不看到广告,兼顾体验敏感用户的诉求。
### 10.7 知识付费 / 内容导流
#### 9.7.1 打卡挑战营
- 平台联合 KOL 发起付费打卡营(如"21 天阅读挑战"¥9.9
- 用户付费报名,完成打卡退还报名费(或瓜分未完成者的报名费)
- 寸进抽成 20%
#### 9.7.2 精选推荐
- 根据用户打卡品类,推荐关联书籍、课程、工具
- 按 CPS(按成交付费)结算,导流至合作方
### 10.8 实体衍生品(品牌周边)
| 商品 | 定价 | 说明 |
|------|------|------|
| 寸进年度打卡手账本 | ¥49 | 实体纸版配合 App 使用,含 365 天打卡内页 |
| "Every inch counts." 帆布包 / 贴纸 | ¥39 / ¥9.9 | 品牌周边 |
| 月度打卡海报(可打印 PDF) | ¥6 | 设计精美的月度打卡追踪 PDF |
### 10.9 收入预估模型
假设 DAU 10,000MAU 约 40,000
| 收入来源 | 付费转化率 | 客单价(月均) | 月收入估算 |
|----------|------------|----------------|------------|
| Pro 订阅 | 5% 付费率 | ¥7.3(年卡均摊) | ¥14,600 |
| 虚拟商品 | 3% 月活购买 | ¥6 | ¥7,200 |
| 小组增值 | 0.5% 月活 | ¥8 | ¥1,600 |
| 广告收入 | — | — | ¥2,000–¥5,000 |
| 挑战营抽成 | 2% 月活参与 | ¥2(抽成后) | ¥1,600 |
| 实体周边 | 1% 月活购买(季度) | ¥25(均摊月) | ¥3,333 |
| **合计** | | | **¥30,333–¥33,333/月** |
> 以上为保守估算。随着用户规模增长,订阅和广告收入有明显边际效应;当 DAU 达到 50,000–100,000 时,月收入预计可达 ¥15–30 万。
### 10.10 商业化原则
| 原则 | 说明 |
|------|------|
| 基础打卡永远免费 | 打卡这个最核心的行为不能收费,否则用户流失 |
| 付费不能让用户变强 | 只能买皮肤、买便利、买深度数据,不能用钱买连续天数或排行榜排名 |
| 尊重隐私 | 付费功能不涉及查看他人隐私数据 |
| 先价值后付费 | 用户先充分体验产品价值,再被自然引导到付费点,不做强制付费门 |
---
## 11. 附录
### 11.1 参考竞品
- 小日常(习惯打卡类)— UI 参考
- 番茄 ToDo(待办+专注)— 提醒机制参考
- Grow(成长社区)— 社区氛围参考
- Forest / 专注森林 — 社交比拼参考
### 11.2 风险与应对
| 风险 | 影响 | 应对方案 |
|------|------|----------|
| 用户社交活跃度低 | 社交模块形同虚设 | 初始种子用户运营,排行榜推送激励 |
| 用户离线打卡导致数据冲突 | 数据不一致 | 以客户端时间 + 服务端校验,冲突时保留多条 |
| 打卡项过多用户疲劳 | 流失 | 引导聚焦 3–5 个核心打卡项,减少推送频次 |
| 隐私数据泄露 | 法律风险 | 最小权限原则 + 隐私数据加密 + 审计日志 |
### 11.3 版本规划建议
| 版本 | 目标 | 核心交付 |
|------|------|----------|
| v1.0 MVP | 三端同步上线 | 注册登录、打卡 CRUD、日历视图、推送提醒、基础统计(Web + App + 小程序 + 管理后台) |
| v1.1 | 社交启动 | 好友系统、动态广场、排行榜 |
| v1.2 | 深度社交 | 打卡小组、好友对战 |
| v1.3 | 激励闭环 | 成就徽章、积分体系、月度报告 |
| v2.0+ | 体验增强 | 待办联动、离线打卡、数据导出、视频备注、主题换肤 |