习惯与待办提醒 APK 需求文档

蛋蛋 2026年10月09日 10 0

图片预览:
【桌面小组件】

【打卡日志记录】

【智能识别时间】

参看软件:https://dida365.com/features

习惯与待办提醒 APK 需求文档

1. 项目概述

1.1 项目名称

习惯与待办提醒 App

1.2 项目类型

Android APK,支持 Android 手机端使用,并支持 Android 桌面小组件。

1.3 项目目的

帮助用户记录、管理和追踪日常习惯及待办事项,通过提醒、打卡、日历、统计和桌面小组件等功能,帮助用户按计划完成任务,形成良好的生活和工作习惯。

1.4 目标用户

  • 普通个人用户;
  • 学生;
  • 上班族;
  • 需要管理生活、健康、学习或工作的用户。

1.5 第一版建设范围

第一版至少包含以下功能:

  • 用户注册和登录;
  • 习惯管理;
  • 待办管理;
  • 系统日历读取;
  • 提醒功能;
  • 日历查看;
  • 统计图表;
  • 连续打卡;
  • 历史记录修改;
  • 不限次数、不限时间范围的补签;
  • 喝水记录;
  • 排便情况记录;
  • 习惯完成及未完成日志;
  • Android 桌面小组件;
  • 账号注销;
  • 数据导出;
  • 数据删除。

1.6 重要限制

本软件所有页面均不支持图片上传或图片附件功能,包括但不限于:

  • 习惯打卡图片;
  • 待办图片附件;
  • 排便记录图片;
  • 补签图片;
  • 用户头像图片;
  • 数据导出中的图片;
  • 打卡成功页面图片。

所有备注均采用文字形式保存。


2. 用户角色

2.1 普通用户

普通用户可以:

  • 注册和登录;
  • 创建、编辑、删除习惯;
  • 创建、编辑、删除待办;
  • 设置和管理提醒;
  • 进行习惯打卡;
  • 记录喝水情况;
  • 记录排便情况;
  • 修改历史记录;
  • 补签任意历史日期;
  • 查看日历、统计和连续打卡;
  • 读取并查看系统日历记录;
  • 使用桌面小组件;
  • 导出个人数据;
  • 删除个人数据;
  • 注销账号。

2.2 超级管理员

超级管理员用于系统管理和用户数据处理,可以:

  • 查看用户账号基本信息;
  • 协助处理账号注销;
  • 协助用户进行数据导出;
  • 删除用户数据;
  • 停用异常账号;
  • 查看系统运行状态;
  • 管理系统基础配置;
  • 查看管理员操作日志。

超级管理员默认不应查看用户的隐私记录,包括但不限于:

  • 习惯记录;
  • 喝水记录;
  • 排便记录;
  • 健康相关备注。

如因业务需要查看用户数据,应遵循最小权限原则,并记录管理员的操作日志。


3. 账号与登录

3.1 登录功能

软件需要支持用户登录。

登录方式可根据实际开发方案确定,建议支持以下任一种或多种方式:

  • 手机号+验证码;
  • 手机号+密码;
  • 邮箱+密码;
  • 第三方账号登录。

第一版建议支持手机号或邮箱登录。

3.2 注册功能

用户可以注册新账号,注册时至少需要填写:

  • 手机号或邮箱;
  • 登录密码,若采用密码登录;
  • 验证码;
  • 用户协议确认;
  • 隐私政策确认。

3.3 登录状态

系统应支持:

  • 记住登录状态;
  • 用户主动退出登录;
  • 登录过期后重新登录;
  • 多设备登录;
  • 更换手机后恢复数据;
  • 修改密码;
  • 找回密码。

3.4 账号注销

用户可以提交账号注销申请。

注销前应明确提示:

  • 账号注销后是否可以恢复;
  • 习惯数据是否删除;
  • 待办数据是否删除;
  • 历史记录是否删除;
  • 系统日历数据是否删除。
    系统日历数据属于外部数据,应用本身不删除系统日历内容;
  • 云端同步数据是否删除;
  • 本地数据是否删除。

账号注销后,应按照隐私政策删除或匿名化处理用户相关数据。


4. 数据存储与同步

4.1 本地存储

应用应支持将以下数据保存到手机本地:

  • 账号登录状态;
  • 习惯信息;
  • 待办信息;
  • 提醒信息;
  • 习惯打卡记录;
  • 习惯未完成记录;
  • 喝水记录;
  • 排便记录;
  • 统计数据;
  • 小组件配置;
  • 系统日历读取配置。

在无网络情况下,用户仍可以使用核心功能。

4.2 云端同步

应用建议支持登录账号后的云端同步,用于:

  • 更换手机后恢复数据;
  • 多设备之间同步;
  • 防止本地数据丢失;
  • 保存用户历史记录。

建议同步以下数据:

  • 习惯配置;
  • 待办事项;
  • 习惯完成记录;
  • 习惯未完成记录;
  • 喝水记录;
  • 排便记录;
  • 提醒配置;
  • 小组件配置;
  • 统计数据;
  • 文字备注。

系统日历数据默认属于手机系统数据,应用只读取和展示,不建议上传至应用服务器。

如果第一版云端同步实现复杂,可以暂不实现完整同步,但应:

  • 保留账号体系;
  • 保留本地数据导出功能;
  • 设计可扩展的数据结构;
  • 为后续同步接口预留方案;
  • 在设置页面明确显示当前同步状态。

4.3 数据冲突处理

如果同一个账号在多个设备上修改数据,系统应考虑数据冲突处理。

建议规则:

  • 普通配置以最后一次修改时间为准;
  • 历史记录应避免重复创建;
  • 重要操作保留操作时间;
  • 同步失败时保留本地数据;
  • 同步失败时提示用户;
  • 不得因同步失败覆盖本地有效数据。

5. 首页

首页用于展示用户当天的整体安排,统一展示习惯、待办和系统日历记录。

5.1 习惯和待办的模块关系

习惯与待办采用两个独立功能模块。

习惯模块

用于管理需要长期、周期性重复执行的事项,例如:

  • 每天喝水;
  • 每天阅读;
  • 每周运动;
  • 记录排便;
  • 早起;
  • 吃药。

习惯具有以下特点:

  • 有执行周期;
  • 有目标;
  • 有连续打卡;
  • 有完成率;
  • 有历史记录;
  • 可以进行补签。

待办模块

用于管理一次性或周期性需要完成的任务,例如:

  • 明天缴费;
  • 周五提交报告;
  • 购买生活用品;
  • 下周预约体检。

待办具有以下特点:

  • 有截止日期;
  • 有截止时间;
  • 有优先级;
  • 有完成状态;
  • 可以设置提醒;
  • 可以设置重复规则。

系统日历模块

系统日历记录来自 Android 系统日历,应用只负责读取和展示。

系统日历记录与应用内部习惯、待办相互独立,不应直接转换为应用内部待办。

5.2 首页展示内容

首页至少包含:

  • 当前日期;
  • 今日习惯;
  • 今日待办;
  • 今日系统日历;
  • 已完成数量;
  • 未完成数量;
  • 逾期待办;
  • 今日喝水进度;
  • 连续打卡信息;
  • 快速新增入口;
  • 快速打卡入口;
  • 日历入口;
  • 统计入口;
  • 设置入口。

5.3 首页快速操作

用户可以在首页进行:

  • 快速新增习惯;
  • 快速新增待办;
  • 快速完成待办;
  • 快速取消完成;
  • 快速进行习惯打卡;
  • 快速增加喝水次数;
  • 快速记录排便;
  • 延后提醒;
  • 撤销最近一次操作。

6. 习惯管理

6.1 习惯分类

系统支持对习惯进行分类,建议包含:

  • 生活;
  • 健康;
  • 学习;
  • 工作;
  • 运动;
  • 睡眠;
  • 饮食;
  • 其他。

用户可以自定义分类。

6.2 新增习惯

用户可以创建习惯,至少支持填写:

  • 习惯名称;
  • 习惯类型;
  • 习惯描述;
  • 分类;
  • 图标;
  • 颜色;
  • 执行周期;
  • 目标次数或目标数量;
  • 数量单位;
  • 提醒时间;
  • 是否开启提醒;
  • 是否允许补签;
  • 文字备注。

不支持上传图片或设置图片附件。

6.3 执行周期

习惯支持以下执行周期。

每天

每天执行一次或多次。

例如:

  • 每天阅读;
  • 每天喝水;
  • 每天记录排便。

每周

指定每周的某几天执行。

例如:

  • 每周一、三、五跑步;
  • 每周日整理房间。

自定义周期

支持自定义执行规则,例如:

  • 每隔 N 天执行一次;
  • 每月指定日期执行;
  • 每周指定次数;
  • 指定星期组合;
  • 指定开始日期;
  • 指定结束日期。

6.4 习惯类型

习惯至少支持以下三种类型:

  1. 普通打卡型;
  2. 次数记录型;
  3. 情况记录型。

7. 普通打卡型习惯

普通打卡型习惯适用于只需要记录完成或未完成的事项。

例如:

  • 早起;
  • 阅读;
  • 运动;
  • 洗澡;
  • 整理房间;
  • 每天学习。

7.1 功能要求

用户可以:

  • 点击一次完成当天打卡;
  • 再次点击取消当天打卡;
  • 查看当天完成状态;
  • 修改历史完成状态;
  • 对任意历史日期进行补签;
  • 标记某天未完成;
  • 添加文字备注;
  • 查看连续打卡天数;
  • 查看完成率;
  • 查看完成日志和未完成日志。

7.2 状态

普通打卡型习惯支持以下状态:

  • 未开始;
  • 已完成;
  • 未完成;
  • 补签完成;
  • 非执行日。

8. 次数记录型习惯

次数记录型习惯适用于需要记录一天内完成次数或数量的习惯。

例如:

  • 喝水;
  • 吃药;
  • 俯卧撑;
  • 拉伸;
  • 阅读时长。

8.1 喝水记录

系统需要支持记录喝水习惯。

用户可以:

  • 创建喝水习惯;
  • 设置每日目标杯数;
  • 设置每次默认增加的杯数;
  • 点击按钮增加一次喝水记录;
  • 一天内多次点击;
  • 查看当天已喝杯数;
  • 查看目标完成进度;
  • 撤销最近一次记录;
  • 修改某次记录;
  • 删除某次记录;
  • 查看每次喝水时间;
  • 查看每日、每周和每月喝水统计。

8.2 喝水记录示例

用户设置每日目标为 8 杯。

操作时间 增加数量 当日进度
09:00 1 杯 1/8
10:30 1 杯 2/8
12:00 2 杯 4/8
15:00 1 杯 5/8

达到 8 杯后,系统显示:

今日目标已完成

8.3 次数型习惯状态

次数型习惯支持:

  • 未开始;
  • 部分完成;
  • 已完成;
  • 未完成;
  • 超额完成;
  • 补签完成。

例如:

  • 目标 8 杯,当前 0 杯:未开始;
  • 目标 8 杯,当前 5 杯:部分完成;
  • 目标 8 杯,当前 8 杯:已完成;
  • 目标 8 杯,当前 10 杯:超额完成。

8.4 次数记录字段

每次记录至少包含:

  • 习惯 ID;
  • 执行日期;
  • 记录时间;
  • 增加数量;
  • 数量单位;
  • 记录来源;
  • 是否补签;
  • 文字备注;
  • 创建时间;
  • 修改时间。

9. 情况记录型习惯

情况记录型习惯用于记录一天内可能出现多次,且每次情况可能不同的事项。

例如:

  • 排便;
  • 情绪;
  • 睡眠质量;
  • 身体症状;
  • 饮食情况。

9.1 排便记录

系统需要支持记录排便情况。

每次记录时,用户可以选择类型:

  • 正常;
  • 拉稀;
  • 其他。

后续可扩展:

  • 偏硬;
  • 便秘;
  • 颜色异常;
  • 带血;
  • 其他自定义状态。

9.2 多次记录

一天内允许创建多条排便记录。

同一天内允许出现不同情况,例如:

日期 时间 类型
10 月 9 日 08:30 正常
10 月 9 日 14:20 拉稀
10 月 9 日 20:10 正常

系统不能只使用“完成/未完成”表示排便情况,而应保存每一条记录的类型和时间。

9.3 排便统计

系统支持:

  • 查看每日排便总次数;
  • 查看正常次数;
  • 查看拉稀次数;
  • 查看其他类型次数;
  • 按周统计;
  • 按月统计;
  • 查看时间趋势;
  • 修改单条记录;
  • 删除单条记录;
  • 添加文字备注。

9.4 敏感数据保护

排便等健康信息属于敏感数据,系统应:

  • 仅展示给当前用户;
  • 不在公共页面展示;
  • 不默认在桌面小组件中展示详细内容;
  • 数据导出时明确包含相关记录;
  • 用户删除数据时支持一并删除;
  • 管理员访问需要权限控制;
  • 管理员访问需要记录操作日志。

10. 习惯完成与未完成日志

系统需要完整记录习惯的执行情况,包括完成、未完成、部分完成和补签记录。

10.1 完成日志

完成日志至少包含:

  • 习惯名称;
  • 习惯 ID;
  • 计划执行日期;
  • 实际完成时间;
  • 完成类型;
  • 完成次数或数量;
  • 是否补签;
  • 是否提前完成;
  • 文字备注;
  • 创建时间;
  • 修改时间。

不包含图片字段。

10.2 次数型完成日志

对于喝水等次数型习惯,需要保存每次完成行为。

例如:

  • 09:00,喝水 1 杯;
  • 10:30,喝水 1 杯;
  • 12:00,喝水 2 杯。

系统应计算:

  • 当日累计数量;
  • 当日目标数量;
  • 完成比例;
  • 是否达到目标。

10.3 未完成日志

系统支持记录习惯未完成情况,至少包含:

  • 习惯名称;
  • 计划执行日期;
  • 未完成状态;
  • 未完成原因;
  • 用户文字备注;
  • 是否由用户主动标记;
  • 是否由系统自动判定;
  • 创建时间;
  • 修改时间。

未完成原因可以包括:

  • 忘记;
  • 时间不足;
  • 身体原因;
  • 临时有事;
  • 不想执行;
  • 其他。

10.4 自动生成未完成记录

对于有明确执行日期的习惯,如果当天结束时用户未完成,系统可以根据用户设置自动生成未完成记录。

该功能应允许用户在设置中开启或关闭。

10.5 历史记录修改

用户可以:

  • 修改历史完成记录;
  • 修改历史未完成记录;
  • 修改完成时间;
  • 修改完成数量;
  • 修改记录类型;
  • 删除错误记录;
  • 添加或修改文字备注。

11. 补签功能

11.1 补签规则

习惯补签不做任何次数和时间范围限制。

用户可以对符合条件的任意历史日期进行补签,不限制:

  • 补签时间范围;
  • 每月补签次数;
  • 总补签次数;
  • 连续补签次数;
  • 补签日期间隔。

11.2 补签操作

用户可以:

  • 选择任意历史日期;
  • 对普通打卡型习惯进行补签;
  • 对次数型习惯补充完成数量;
  • 对情况记录型习惯补充具体记录;
  • 修改补签时间;
  • 添加文字备注;
  • 修改已有补签记录;
  • 删除补签记录;
  • 将补签记录改回未完成状态。

11.3 补签标识

所有通过补签产生的记录必须标识为“补签”。

建议同时记录:

  • 原计划日期;
  • 补签操作时间;
  • 补签前状态;
  • 补签后状态;
  • 操作类型;
  • 修改时间。

11.4 补签与统计

补签记录可以参与以下统计:

  • 完成次数;
  • 完成率;
  • 日历完成状态;
  • 周统计;
  • 月统计;
  • 习惯完成趋势。

建议规则:

  • 补签计入完成率;
  • 补签计入历史完成次数;
  • 补签记录应保留补签标识;
  • 补签对连续打卡天数的影响需要统一计算规则;
  • 补签后应重新计算相关统计数据。

11.5 补签页面

补签页面支持:

  • 选择历史日期;
  • 查看该日期的计划;
  • 查看当日已有记录;
  • 新增完成记录;
  • 设置完成数量;
  • 设置记录类型;
  • 填写文字备注;
  • 提交补签;
  • 修改补签记录;
  • 删除补签记录。

补签页面不支持图片上传。


12. 打卡成功页面

完成习惯打卡后,可以展示打卡成功页面。

12.1 页面内容

页面可以包含:

  • 打卡成功提示;
  • 习惯名称;
  • 打卡日期;
  • 当前连续打卡天数;
  • 本周完成次数;
  • 当日完成数量;
  • 文字备注输入框;
  • 完成按钮;
  • 关闭按钮。

12.2 快速打卡

用户只进行快速打卡时,应支持:

  • 点击一次直接完成;
  • 不强制填写备注;
  • 不需要上传图片;
  • 可以直接返回首页;
  • 后续可以修改文字备注。

13. 待办管理

13.1 新增待办

用户可以创建待办事项,至少包含:

  • 待办标题;
  • 待办描述;
  • 分类;
  • 标签;
  • 截止日期;
  • 截止时间;
  • 优先级;
  • 是否重复;
  • 提醒时间;
  • 文字备注。

不支持图片附件。

13.2 待办优先级

待办至少支持:

  • 低;
  • 普通;
  • 高;
  • 紧急。

不同优先级可以使用不同颜色或图标展示。

13.3 待办状态

待办支持以下状态:

  • 未开始;
  • 进行中;
  • 已完成;
  • 已逾期;
  • 已取消;
  • 已归档。

第一版可以简化为:

  • 未完成;
  • 已完成;
  • 已逾期。

13.4 待办操作

用户可以:

  • 新增待办;
  • 编辑待办;
  • 删除待办;
  • 标记完成;
  • 取消完成;
  • 设置截止时间;
  • 修改优先级;
  • 设置提醒;
  • 延后待办;
  • 设置重复规则;
  • 查看待办历史记录。

13.5 重复待办

待办支持:

  • 每天重复;
  • 每周重复;
  • 每月重复;
  • 按指定星期重复;
  • 自定义重复规则;
  • 设置结束日期;
  • 设置重复次数。

14. 系统日历读取

14.1 功能说明

应用支持读取 Android 系统日历中的日程记录,并在应用内展示,便于用户统一查看:

  • 系统日历;
  • 应用习惯;
  • 应用待办。

应用默认只读取和展示系统日历内容,不修改、不删除系统日历中的记录。

14.2 日历权限

首次使用系统日历功能时,应用需要申请系统日历读取权限。

申请权限时应明确提示:

  • 应用需要读取系统日历中的日程;
  • 读取目的为在应用内统一展示日程;
  • 应用不会未经用户允许修改或删除系统日历记录;
  • 用户可以拒绝授权;
  • 用户可以在系统设置中随时关闭权限。

如果用户拒绝授权,应用仍可以正常使用:

  • 习惯;
  • 待办;
  • 提醒;
  • 统计;
  • 打卡;
  • 小组件。

14.3 读取内容

应用可以读取系统日历中的:

  • 日程标题;
  • 开始日期;
  • 开始时间;
  • 结束日期;
  • 结束时间;
  • 全天事件;
  • 日程所属日历;
  • 重复规则;
  • 日程备注,具体以系统权限和兼容性为准。

14.4 应用内展示

系统日历记录可以展示在:

  • 首页;
  • 日历页面;
  • 日视图;
  • 周视图;
  • 时间安排页面;
  • 桌面小组件,可选。

建议使用不同颜色或图标区分:

类型 展示方式
系统日历 日历图标或独立颜色
习惯 习惯图标
待办 待办图标
逾期事项 红色标记
已完成事项 勾选或弱化显示

14.5 系统日历筛选

用户可以:

  • 开启或关闭系统日历读取;
  • 选择需要读取的系统日历;
  • 选择展示全部日历;
  • 选择展示指定日历;
  • 设置是否在首页展示;
  • 设置是否在应用日历中展示;
  • 设置是否在桌面小组件中展示。

14.6 数据刷新

系统日历数据支持:

  • 进入页面时刷新;
  • 手动刷新;
  • 从后台返回时刷新;
  • 系统日历发生变化后刷新;
  • 用户重新授权后刷新。

读取失败时,应提示用户检查系统日历权限。

14.7 系统日历与提醒

第一版默认只读取和展示系统日历记录,不为系统日历记录重复创建应用提醒。

系统日历原有提醒由系统日历应用负责。


15. 提醒功能

提醒是本软件的核心功能之一。

15.1 提醒类型

系统支持:

  • 习惯提醒;
  • 待办提醒;
  • 待办截止时间提醒;
  • 喝水提醒;
  • 连续未完成提醒;
  • 逾期提醒;
  • 自定义提醒。

15.2 提醒规则

支持:

  • 单次提醒;
  • 每天重复;
  • 每周重复;
  • 每月重复;
  • 自定义重复;
  • 提前提醒;
  • 多次提醒;
  • 完成后自动取消提醒。

15.3 延后提醒

用户收到提醒后可以选择:

  • 延后 5 分钟;
  • 延后 10 分钟;
  • 延后 30 分钟;
  • 延后 1 小时;
  • 延后到今晚;
  • 自定义延后时间;
  • 直接完成;
  • 忽略提醒。

延后后的提醒应生成新的提醒时间,避免无限重复生成提醒。

15.4 铃声设置

提醒支持:

  • 使用系统默认通知音;
  • 使用应用内置铃声;
  • 静音;
  • 仅振动;
  • 跟随系统音量;
  • 单独设置习惯提醒铃声;
  • 单独设置待办提醒铃声。

15.5 通知权限

首次使用提醒功能时,应引导用户开启:

  • 通知权限;
  • 闹钟或定时提醒权限;
  • 后台运行权限;
  • 电池优化白名单权限,可选;
  • 自启动权限,可选。

如果用户未开启相关权限,系统应提示提醒可能无法正常触发。


16. 后台、息屏与手机重启适配

系统需要适配以下场景:

  • 应用进入后台;
  • 手机息屏;
  • 手机锁屏;
  • 应用被系统清理;
  • 手机重启;
  • 系统省电模式;
  • 用户关闭应用;
  • 网络断开;
  • 通知权限关闭。

16.1 手机重启恢复

手机重启后,应用应:

  • 恢复待办提醒;
  • 恢复习惯提醒;
  • 恢复重复提醒;
  • 恢复桌面小组件;
  • 避免重复触发已处理的提醒;
  • 根据当前时间重新计算提醒状态。

16.2 省电限制

应用应尽量适配不同 Android 厂商的后台管理策略。

当系统限制后台运行时,应在应用内提示用户:

  • 允许后台运行;
  • 关闭电池优化;
  • 开启自启动;
  • 允许通知;
  • 允许精确闹钟。

17. 日历功能

日历页面用于统一查看:

  • 系统日历;
  • 应用习惯;
  • 应用待办;
  • 完成日志;
  • 未完成日志;
  • 喝水记录;
  • 排便记录。

17.1 日历视图

支持:

  • 日视图;
  • 周视图;
  • 月视图;
  • 查看指定日期;
  • 查看当天习惯;
  • 查看当天待办;
  • 查看系统日历;
  • 查看完成、未完成和逾期状态;
  • 查看喝水记录;
  • 查看排便记录;
  • 进行历史修改;
  • 进行补签。

17.2 日历状态标识

日期可以显示:

  • 当天全部完成;
  • 部分完成;
  • 存在未完成;
  • 存在逾期;
  • 存在补签;
  • 存在系统日历事件;
  • 存在健康记录;
  • 非执行日。

17.3 数据区分

日历页面应明显区分以下内容:

  • 系统日历事件;
  • 应用待办;
  • 应用习惯;
  • 健康记录。

系统日历事件不得直接显示为应用待办。


18. 统计与图表

系统需要提供统计页面。

18.1 习惯统计

支持统计:

  • 完成次数;
  • 完成率;
  • 未完成次数;
  • 补签次数;
  • 连续打卡天数;
  • 历史最长连续打卡天数;
  • 每日趋势;
  • 每周趋势;
  • 每月趋势;
  • 分类统计。

18.2 待办统计

支持统计:

  • 待办总数;
  • 已完成数量;
  • 未完成数量;
  • 逾期数量;
  • 各优先级数量;
  • 每日完成趋势;
  • 每周完成趋势;
  • 每月完成趋势。

18.3 喝水统计

支持统计:

  • 每日喝水量;
  • 每日目标完成率;
  • 每周平均喝水量;
  • 每月平均喝水量;
  • 达标天数;
  • 未达标天数;
  • 喝水时间分布。

18.4 排便统计

支持统计:

  • 每日排便次数;
  • 正常次数;
  • 拉稀次数;
  • 其他类型次数;
  • 每周趋势;
  • 每月趋势;
  • 类型占比。

排便统计仅用于个人记录和趋势查看,不应在应用中直接替代医疗诊断。


19. 连续打卡

系统需要支持连续打卡功能。

19.1 连续打卡规则

默认规则:

  • 按习惯的实际执行周期计算;
  • 每个执行日完成后,连续天数增加;
  • 非执行日不打断连续记录;
  • 未完成执行日会中断连续记录;
  • 对次数型习惯,以达到目标数量作为完成依据;
  • 补签记录应保留补签标识;
  • 补签后重新计算相关统计结果。

19.2 展示内容

支持展示:

  • 当前连续打卡天数;
  • 历史最长连续打卡天数;
  • 本周完成次数;
  • 本月完成次数;
  • 距离下一个连续打卡目标的天数。

20. 桌面小组件

应用需要支持 Android 桌面小组件。

第一版至少支持以下两类小组件:

  1. 周待办及习惯小组件;
  2. 习惯周进度小组件。

20.1 周待办及习惯小组件

用于展示一周内的待办事项和习惯安排。

展示内容

  • 当前周;
  • 周一至周日;
  • 每天需要执行的习惯;
  • 每天的待办事项;
  • 已完成状态;
  • 未完成状态;
  • 逾期状态;
  • 今日重点事项;
  • 系统日历事件,可选;
  • 今日喝水进度,可选。

快速操作

支持:

  • 点击习惯快速打卡;
  • 点击待办快速标记完成;
  • 点击待办进入详情页;
  • 点击日期进入当天列表;
  • 快速添加待办;
  • 点击小组件进入 App 首页。

快速添加待办

至少支持输入:

  • 待办名称。

建议同时支持:

  • 日期;
  • 截止时间;
  • 优先级;
  • 提醒时间;
  • 分类。

如果 Android 系统或桌面环境限制小组件内直接输入,点击“添加待办”后跳转至 App 内新增待办页面。

20.2 习惯周进度小组件

用于展示一个或多个习惯在一周内的执行情况。

展示内容

  • 习惯名称;
  • 习惯图标;
  • 周一至周日;
  • 每日完成状态;
  • 每日未完成状态;
  • 部分完成状态;
  • 补签状态;
  • 本周完成次数;
  • 本周目标次数;
  • 连续打卡天数。

快速操作

支持:

  • 点击某一天进行打卡;
  • 点击次数型习惯增加一次记录;
  • 点击进入习惯详情;
  • 撤销最近一次记录,可选;
  • 选择需要展示的习惯;
  • 添加多个习惯小组件。

20.3 次数型习惯展示

对于喝水等次数型习惯,小组件应显示:

  • 当日已完成数量;
  • 当日目标数量;
  • 完成进度,例如 5/8 杯;
  • 当前状态;
  • 点击后快速增加一次记录。

20.4 小组件同步

小组件与应用内数据应保持同步:

  • App 内打卡后,小组件更新;
  • 小组件打卡后,App 内更新;
  • App 内修改习惯后,小组件更新;
  • 删除、暂停或归档习惯后,小组件更新;
  • 修改待办后,小组件更新;
  • 手机重启后小组件恢复;
  • 数据变化后尽快刷新;
  • 无网络时显示本地最新数据。

20.5 隐私设置

用户可以设置是否在小组件中显示:

  • 习惯名称;
  • 待办标题;
  • 系统日历标题;
  • 喝水记录;
  • 排便记录;
  • 其他敏感信息。

排便等敏感健康记录默认不在桌面小组件中展示详细内容。


21. 设置功能

设置页面至少包含:

  • 账号信息;
  • 修改密码;
  • 通知设置;
  • 铃声设置;
  • 振动设置;
  • 默认提醒设置;
  • 默认延后时间;
  • 系统日历设置;
  • 深色模式;
  • 数据同步;
  • 数据导出;
  • 数据删除;
  • 账号注销;
  • 隐私政策;
  • 用户协议;
  • 关于应用;
  • 当前版本号。

21.1 通知设置

支持:

  • 开启或关闭习惯提醒;
  • 开启或关闭待办提醒;
  • 开启或关闭逾期提醒;
  • 开启或关闭喝水提醒;
  • 开启或关闭连续打卡提醒;
  • 开启或关闭振动;
  • 选择默认铃声;
  • 设置免打扰时间。

21.2 系统日历设置

支持:

  • 开启或关闭读取系统日历;
  • 申请或重新申请系统日历权限;
  • 选择需要显示的系统日历;
  • 设置是否显示在首页;
  • 设置是否显示在应用日历;
  • 设置是否显示在桌面小组件;
  • 手动刷新系统日历数据。

22. 数据导出与删除

22.1 数据导出

用户或超级管理员可以导出用户数据。

建议支持以下格式:

  • JSON;
  • CSV;
  • Excel;
  • PDF,可选。

导出内容包括:

  • 用户基本信息;
  • 习惯列表;
  • 待办列表;
  • 习惯完成日志;
  • 习惯未完成日志;
  • 补签记录;
  • 喝水记录;
  • 排便记录;
  • 提醒配置;
  • 统计数据;
  • 文字备注。

导出内容不包含任何图片。

系统日历记录默认不作为应用数据导出,除非用户明确选择导出读取到的系统日历信息。

22.2 数据删除

用户可以删除:

  • 单个习惯;
  • 单个待办;
  • 单条打卡记录;
  • 单条喝水记录;
  • 单条排便记录;
  • 全部本地数据;
  • 云端个人数据;
  • 整个账号。

删除前需要二次确认。

对于习惯和待办,建议同时提供“归档”功能,避免用户误删历史统计数据。

22.3 系统日历数据删除规则

应用不应未经用户允许删除或修改 Android 系统日历中的事件。

关闭系统日历读取时:

  • 停止读取新的系统日历数据;
  • 可以清除应用缓存的系统日历数据;
  • 不影响手机系统日历本身的数据;
  • 不影响系统日历应用的提醒。

23. 页面清单

页面 主要功能
启动页 Logo、加载状态
登录页 登录、注册、找回密码
首页 今日习惯、待办、系统日历
习惯列表页 查看、搜索、筛选习惯
新增习惯页 创建习惯和设置周期
习惯详情页 打卡、统计、历史记录
喝水记录页 喝水次数和进度
排便记录页 类型、次数和文字备注
待办列表页 全部、未完成、已完成、逾期
新增待办页 标题、时间、优先级、提醒
待办详情页 查看和编辑待办
日历页 系统日历、习惯、待办
补签页面 任意历史日期补签
统计页 习惯、待办、喝水、排便统计
打卡成功页 成功提示、文字备注
通知设置页 提醒、铃声、振动
系统日历设置页 权限、日历筛选和同步
数据管理页 同步、导出、删除
设置页 账号、主题、隐私和系统设置
关于页 版本、协议、联系方式

所有页面不包含图片上传入口。


24. 核心数据结构

24.1 用户表

字段 说明
user_id 用户唯一 ID
account 手机号或邮箱
nickname 用户昵称
status 账号状态
created_at 创建时间
updated_at 修改时间
last_login_at 最后登录时间

24.2 习惯表

字段 说明
habit_id 习惯 ID
user_id 所属用户
name 习惯名称
description 习惯描述
category 分类
habit_type 普通、次数、情况记录
icon 图标
color 颜色
cycle_type 每天、每周、自定义
cycle_rule 执行规则
target_value 目标数量
unit 单位
reminder_enabled 是否提醒
status 进行中、暂停、归档
allow_makeup 是否允许补签
created_at 创建时间
updated_at 更新时间

allow_makeup 如果保留,默认应为允许补签,且不设置次数和时间范围限制。

24.3 习惯执行记录表

字段 说明
record_id 记录 ID
habit_id 习惯 ID
user_id 用户 ID
plan_date 计划日期
record_time 实际记录时间
status 未开始、部分完成、已完成、未完成
value 完成数量
unit 数量单位
record_type 正常、补签、提前完成等
note 文字备注
is_makeup 是否补签
created_at 创建时间
updated_at 更新时间

不包含图片字段。

24.4 习惯明细记录表

用于保存喝水、排便等一天内的多条记录。

字段 说明
detail_id 明细 ID
habit_id 习惯 ID
user_id 用户 ID
record_date 记录日期
record_time 记录时间
detail_type 正常、拉稀等
value 数量
unit 单位
note 文字备注
is_makeup 是否补签
created_at 创建时间
updated_at 更新时间

24.5 待办表

字段 说明
todo_id 待办 ID
user_id 用户 ID
title 待办标题
description 待办描述
category 分类
tags 标签
priority 优先级
due_date 截止日期
due_time 截止时间
repeat_rule 重复规则
reminder_enabled 是否提醒
status 未完成、已完成、已逾期
note 文字备注
created_at 创建时间
completed_at 完成时间
updated_at 更新时间

不包含图片附件字段。

24.6 提醒表

字段 说明
reminder_id 提醒 ID
user_id 用户 ID
target_type 习惯或待办
target_id 目标 ID
reminder_time 提醒时间
repeat_rule 重复规则
sound_type 铃声类型
vibration_enabled 是否振动
snooze_minutes 延后时间
enabled 是否启用
created_at 创建时间
updated_at 更新时间

24.7 系统日历记录表

如果需要缓存读取到的系统日历数据,可建立系统日历记录表。

字段 说明
calendar_event_id 系统日历事件 ID
calendar_id 系统日历 ID
calendar_name 系统日历名称
title 日程标题
description 日程描述
start_time 开始时间
end_time 结束时间
all_day 是否全天事件
repeat_rule 重复规则
last_sync_time 最后同步时间

系统日历记录应标识为外部数据,不得与应用内部待办混淆。

24.8 操作日志表

字段 说明
log_id 日志 ID
user_id 用户 ID
operator_id 操作人 ID
operation_type 操作类型
target_type 操作对象类型
target_id 操作对象 ID
operation_content 操作内容
created_at 操作时间

25. 非功能需求

25.1 平台要求

  • 支持 Android 手机;
  • 明确最低 Android 版本;
  • 适配不同屏幕尺寸;
  • 支持主流 Android 厂商;
  • 支持桌面小组件;
  • 适配横竖屏规则;
  • 适配系统通知权限;
  • 适配系统日历权限。

25.2 性能要求

  • 首页打开速度应较快;
  • 常用操作应及时响应;
  • 小组件刷新不应明显卡顿;
  • 本地数据查询应支持较大数量的历史记录;
  • 统计页面加载时应显示加载状态;
  • 网络异常时不能导致应用崩溃;
  • 系统日历读取不能明显影响应用启动速度。

25.3 稳定性要求

  • 提醒功能不能因应用进入后台而失效;
  • 手机重启后能够恢复提醒;
  • 应用被系统清理后应尽可能恢复提醒;
  • 数据保存失败时提示用户;
  • 同步失败时不能覆盖本地有效数据;
  • 应用异常退出后数据不能丢失;
  • 系统日历权限变化后应用不能崩溃。

25.4 隐私与安全

  • 用户数据需要进行权限隔离;
  • 密码不能明文保存;
  • 通信过程应使用加密连接;
  • 健康记录属于敏感数据,应加强保护;
  • 管理员操作需要记录日志;
  • 用户可以删除自己的数据;
  • 用户可以注销账号;
  • 隐私政策中需说明数据收集和使用范围;
  • 应用不得未经授权修改或删除系统日历记录;
  • 应用不得在未授权的情况下上传系统日历数据。

25.5 离线能力

在无网络环境下,至少支持:

  • 查看已有数据;
  • 新增习惯;
  • 新增待办;
  • 习惯打卡;
  • 喝水记录;
  • 排便记录;
  • 查看日历;
  • 查看已读取的系统日历缓存;
  • 接收本地提醒;
  • 使用桌面小组件。

网络恢复后再进行数据同步。


26. 第一版功能优先级

26.1 P0:必须实现

  • 用户注册和登录;
  • 首页;
  • 习惯新增、编辑、删除;
  • 每天、每周、自定义周期;
  • 普通习惯打卡;
  • 喝水次数记录;
  • 排便类型及次数记录;
  • 待办新增、编辑、删除;
  • 待办截止时间;
  • 待办优先级;
  • 单次和重复提醒;
  • 延后提醒;
  • 系统铃声或应用内铃声;
  • 应用日历;
  • 读取系统日历记录;
  • 系统日历权限管理;
  • 基础统计;
  • 连续打卡;
  • 历史记录修改;
  • 不限次数、不限时间范围的补签;
  • 完成和未完成日志;
  • 周待办及习惯小组件;
  • 习惯周进度小组件;
  • 手机重启、息屏和后台提醒适配;
  • 账号注销;
  • 数据导出;
  • 数据删除;
  • 所有页面不上传图片。

26.2 P1:建议实现

  • 云端同步;
  • 多设备同步;
  • 自定义分类;
  • 自定义提醒铃声;
  • 多个提醒时间;
  • 桌面小组件自定义;
  • 数据导入;
  • 深色模式;
  • 免打扰时间;
  • 待办子任务;
  • 系统日历小组件展示;
  • 系统日历选择性筛选。

26.3 P2:后续扩展

  • 语音新增待办;
  • 智能生成习惯;
  • AI 统计分析;
  • 成就和奖励;
  • 社交分享;
  • 多人协作;
  • Wear OS 或其他设备同步;
  • iOS 版本;
  • 医疗或健康平台数据对接。

27. 关键业务规则

  1. 习惯和待办是两个独立模块。
  2. 系统日历属于外部数据,与习惯和待办独立。
  3. 首页、日历和统计页面可以统一展示习惯、待办和系统日历。
  4. 普通习惯以完成或未完成为主要状态。
  5. 次数型习惯支持一天内多次记录。
  6. 喝水习惯支持设置每日目标,并通过点击增加完成次数。
  7. 排便习惯支持一天内多次记录,且每次可以选择不同类型。
  8. 同一天可以同时记录正常、拉稀等不同排便情况。
  9. 习惯完成和未完成都需要记录日志。
  10. 补签不限制次数。
  11. 补签不限制历史时间范围。
  12. 补签记录必须标识为补签。
  13. 历史记录允许修改,并保存修改时间。
  14. 待办支持截止日期、截止时间和优先级。
  15. 提醒支持重复提醒和延后提醒。
  16. 完成习惯或待办后,相关提醒应自动取消。
  17. 手机重启后应恢复有效提醒。
  18. 小组件与 App 内数据需要保持同步。
  19. 系统日历只读取和展示,不未经授权修改或删除。
  20. 排便等敏感信息默认不在桌面小组件中展示详细内容。
  21. 删除数据前需要二次确认。
  22. 账号注销后,应按照隐私政策处理本地和云端数据。
  23. 所有页面不支持图片上传。
  24. 所有备注均使用文字形式保存。
  25. 第一版优先保证核心功能稳定,云端同步可根据开发复杂度分阶段实现。

28. 验收标准

28.1 登录验收

  • 用户可以注册账号;
  • 用户可以登录和退出;
  • 登录状态可以保持;
  • 错误账号或密码时有明确提示;
  • 用户可以找回密码;
  • 用户可以注销账号。

28.2 习惯验收

  • 可以创建每天、每周和自定义周期习惯;
  • 可以完成普通习惯打卡;
  • 可以记录喝水数量;
  • 可以同一天记录多次喝水;
  • 可以记录排便类型和次数;
  • 同一天可以存在正常和拉稀等不同记录;
  • 可以修改、删除历史记录;
  • 可以补签任意历史日期;
  • 补签不限制次数;
  • 补签记录有明确标识;
  • 完成和未完成状态均有日志;
  • 所有记录不支持图片上传。

28.3 待办验收

  • 可以新增待办;
  • 可以编辑和删除待办;
  • 可以设置截止日期;
  • 可以设置截止时间;
  • 可以设置优先级;
  • 可以标记完成;
  • 可以取消完成;
  • 可以查看逾期待办;
  • 支持重复待办;
  • 支持文字备注;
  • 不支持图片附件。

28.4 系统日历验收

  • 用户可以授权应用读取系统日历;
  • 用户拒绝权限后,应用核心功能仍可正常使用;
  • 应用可以读取系统日历事件;
  • 应用可以展示系统日历中的标题、日期和时间;
  • 全天事件可以正常展示;
  • 系统日历记录与应用内部待办能够区分;
  • 用户可以开启或关闭系统日历展示;
  • 用户可以选择需要展示的系统日历;
  • 系统日历权限关闭后,应用能够提示用户;
  • 应用不会未经用户允许修改或删除系统日历内容。

28.5 提醒验收

  • 单次提醒能够正常触发;
  • 重复提醒能够按规则触发;
  • 用户可以延后提醒;
  • 用户可以设置铃声或跟随系统音;
  • 手机息屏时能够提醒;
  • 应用后台运行时能够提醒;
  • 手机重启后能够恢复提醒;
  • 完成事项后对应提醒能够取消;
  • 权限关闭时能够向用户提示。

28.6 日历和统计验收

  • 可以按日、周、月查看记录;
  • 可以查看系统日历事件;
  • 可以查看习惯和待办;
  • 可以查看完成和未完成状态;
  • 可以查看补签记录;
  • 可以查看习惯完成率;
  • 可以查看连续打卡天数;
  • 可以查看喝水统计;
  • 可以查看排便统计;
  • 排便数据可以按类型统计。

28.7 小组件验收

  • 可以添加周待办及习惯小组件;
  • 可以查看本周待办和习惯;
  • 可以快速添加待办;
  • 可以快速完成待办;
  • 可以快速打卡习惯;
  • 可以添加习惯周进度小组件;
  • 可以查看周一至周日的习惯进度;
  • 喝水习惯可以显示类似 5/8 杯 的进度;
  • 小组件操作后 App 内数据同步更新;
  • App 内操作后小组件同步更新;
  • 手机重启后小组件可以恢复;
  • 敏感健康数据默认不显示详细内容。

28.8 数据验收

  • 数据可以保存到本地;
  • 无网络时核心功能可用;
  • 支持数据导出;
  • 支持数据删除;
  • 数据删除前有确认提示;
  • 更换手机时,若启用云同步,能够恢复数据;
  • 同步失败时不会导致本地数据丢失;
  • 导出数据不包含图片;
  • 数据库不保存图片地址或图片文件。
Last Updated: 2026/10/09 18:31:18
三年级数学:小学一、二年级基础检测