更新记录

1.0.1(2026-03-16) 下载此版本

首次发布版本1.0.1


平台兼容性

uni-app(4.87)

Vue2 Vue3 Chrome Safari app-vue app-nvue Android iOS 鸿蒙
× - - - 10.0 - -
微信小程序 支付宝小程序 抖音小程序 百度小程序 快手小程序 京东小程序 鸿蒙元服务 QQ小程序 飞书小程序 小红书小程序 快应用-华为 快应用-联盟
- - - - - - - - - - - -

其他

多语言 暗黑模式 宽屏模式
× ×

朝夕签 - 使用说明

1. 项目架构

1.1 技术栈

  • 前端:uni-app(Vue3)
  • 后端:uniCloud(阿里云 / 腾讯云)
  • 登录认证:uni-id(官方统一身份体系)
  • 存储:uniCloud 云数据库 + 本地缓存
  • 推送:uniPush 2.0
  • UI:uni-ui 极简风格

1.2 项目结构

朝夕签/
├── pages/                # 页面目录
│   ├── splash/           # 启动页
│   ├── index/            # 首页(今日打卡)
│   ├── stat/             # 统计页面
│   ├── me/               # 个人中心
│   ├── target-detail/    # 项目详情页
│   ├── target-manage/    # 项目管理页
│   ├── target-select/    # 目标选择页
│   ├── calendar/         # 打卡日历页
│   ├── reminder/         # 消息提醒设置页
│   ├── settings/         # 设置页
│   ├── sync/             # 数据同步页
│   ├── about/            # 关于我们页
│   └── bind-info/        # 绑定信息页
├── uni_modules/          # uni-app 模块
│   └── uni-id-pages/     # 登录相关页面
├── uniCloud-aliyun/      # 云函数和数据库
│   ├── cloudfunctions/   # 云函数
│   └── database/         # 数据库 schema
├── utils/                # 工具函数
│   ├── api.js            # API 调用
│   └── i18n.js           # 国际化
├── static/               # 静态资源
├── unpackage/            # 打包输出
├── App.vue               # 应用入口
├── main.js               # 主文件
├── manifest.json         # 应用配置
└── pages.json            # 页面配置

2. 文件路径说明

2.1 核心页面

页面路径 功能说明
pages/index/index.vue 首页,显示今日打卡项目和打卡状态
pages/stat/stat.vue 统计页面,显示总体和项目统计数据
pages/me/me.vue 个人中心,显示用户信息和功能入口
pages/target-detail/target-detail.vue 项目详情页,显示单个项目的详细统计和日历
pages/target-manage/target-manage.vue 项目管理页,管理打卡项目的增删改查
pages/reminder/reminder.vue 消息提醒设置页,设置打卡提醒
pages/settings/settings.vue 设置页,包含语言、主题等设置

2.2 工具文件

文件路径 功能说明
utils/api.js API 调用封装,包含所有云函数调用
utils/i18n.js 国际化处理,支持中文和英文切换

2.3 云函数

云函数路径 功能说明
uniCloud-aliyun/cloudfunctions/addTarget 添加打卡项目
uniCloud-aliyun/cloudfunctions/deleteTarget 删除打卡项目
uniCloud-aliyun/cloudfunctions/doSign 执行打卡
uniCloud-aliyun/cloudfunctions/getRecords 获取打卡记录
uniCloud-aliyun/cloudfunctions/getStat 获取统计数据
uniCloud-aliyun/cloudfunctions/getTargets 获取打卡项目列表
uniCloud-aliyun/cloudfunctions/getUserInfo 获取用户信息
uniCloud-aliyun/cloudfunctions/syncData 数据同步
uniCloud-aliyun/cloudfunctions/updateSetting 更新设置
uniCloud-aliyun/cloudfunctions/updateTarget 更新打卡项目

3. 数据库说明

3.1 数据库表结构

3.1.1 用户表(uni-id-users)

系统自带,无需自建,存储用户基本信息。

字段名 类型 说明
_id String 用户唯一ID
nickname String 用户昵称
avatar String 头像URL
mobile String 手机号
password String 密码(加密)
token String 登录令牌
register_time Date 注册时间

3.1.2 打卡项目表(targets)

字段名 类型 说明
_id String 项目唯一ID
user_id String 用户ID(关联uni-id-users)
target_name String 项目名称
create_time Date 创建时间
status Number 状态(0:禁用,1:启用)

3.1.3 打卡记录表(records)

字段名 类型 说明
_id String 记录唯一ID
user_id String 用户ID(关联uni-id-users)
target_id String 项目ID(关联targets)
date String 打卡日期(格式:YYYY-MM-DD)
create_time Date 创建时间

3.1.4 用户配置表(setting)

字段名 类型 说明
_id String 配置唯一ID
user_id String 用户ID(关联uni-id-users)
remind_time String 提醒时间(格式:HH:MM)
remind_switch Boolean 提醒开关
theme String 主题(light/dark)
language String 语言(zh-CN/en)

4. 云函数说明

4.1 核心云函数

4.1.1 doSign(执行打卡)

  • 功能:执行打卡操作,记录打卡数据
  • 参数
    • target_id:打卡项目ID
    • date:打卡日期(格式:YYYY-MM-DD)
  • 返回:打卡结果

4.1.2 getStat(获取统计数据)

  • 功能:获取指定项目的统计数据
  • 参数
    • target_id:打卡项目ID
  • 返回:包含连续天数、总天数、打卡率的统计数据

4.1.3 getTargets(获取打卡项目列表)

  • 功能:获取用户的所有打卡项目
  • 参数:无
  • 返回:打卡项目列表

4.1.4 getRecords(获取打卡记录)

  • 功能:获取打卡记录
  • 参数
    • target_id:打卡项目ID
    • start_date:开始日期(可选)
    • end_date:结束日期(可选)
  • 返回:打卡记录列表

4.1.5 addTarget(添加打卡项目)

  • 功能:添加新的打卡项目
  • 参数
    • target_name:项目名称
  • 返回:添加结果

4.1.6 deleteTarget(删除打卡项目)

  • 功能:删除打卡项目
  • 参数
    • target_id:项目ID
  • 返回:删除结果

4.1.7 updateTarget(更新打卡项目)

  • 功能:更新打卡项目信息
  • 参数
    • target_id:项目ID
    • target_name:新的项目名称
    • status:状态(0:禁用,1:启用)
  • 返回:更新结果

4.1.8 syncData(数据同步)

  • 功能:同步数据到云端
  • 参数
    • data:要同步的数据
  • 返回:同步结果

4.2 鉴权机制

所有云函数都通过 uni-id 的 checkToken 进行鉴权,确保只有登录用户才能访问。

5. 核心业务逻辑

5.1 打卡逻辑

  1. 获取当前日期
  2. 查询当日是否已打卡
  3. 未打卡 → 写入 records 表
  4. 已打卡 → 按钮禁用
  5. 自动计算连续天数

5.2 连续天数计算

  1. 从最新打卡向前遍历
  2. 连续自然日 + 1
  3. 断签归零

5.3 云同步

  1. 本地缓存 + 云端存储
  2. 打开 APP 自动同步
  3. 跨设备通用

5.4 推送提醒

  1. uniPush 2.0
  2. 定时推送打卡提醒
  3. 支持震动和声音提醒

6. 国际化支持

应用支持中文和英文切换,通过 utils/i18n.js 实现:

  1. 语言配置:在 i18n.js 中定义中文和英文的翻译文本
  2. 语言切换:在设置页面选择语言
  3. 动态更新:语言切换后自动更新所有界面文本
  4. 底部 tabBar:语言切换后自动更新 tabBar 文本
  5. 导航栏标题:语言切换后自动更新导航栏标题

7. 常见问题

7.1 打卡数据丢失怎么办?

  • 开启自动同步功能,数据会自动备份到云端
  • 定期手动触发同步,确保数据及时备份
  • 在数据云同步页面进行数据恢复

7.2 如何添加自定义打卡目标?

  • 进入"我的项目"页面
  • 点击"添加项目"按钮
  • 选择"自定义目标"
  • 输入目标名称并保存

7.3 如何修改打卡提醒时间?

  • 进入"设置"页面
  • 点击"消息提醒设置"
  • 关闭"提醒开关"
  • 设置新的提醒时间
  • 重新开启"提醒开关"

7.4 如何切换语言?

  • 进入"设置"页面
  • 点击"语言"选项
  • 选择"简体中文"或"English"
  • 应用会自动切换语言

8. 开发说明

8.1 本地开发

  1. 克隆项目代码
  2. 安装依赖:npm install
  3. 运行开发服务器:npm run dev:mp-weixin
  4. 在微信开发者工具中导入项目

8.2 云函数部署

  1. 登录 uniCloud 控制台
  2. 关联云服务空间
  3. 部署云函数:在 HBuilderX 中右键点击云函数目录,选择"上传部署"

8.3 数据库初始化

  1. 在 uniCloud 控制台创建数据库表
  2. 导入数据库 schema 文件

9. 版本信息

  • 版本号:1.0.0
  • 更新日期:2026-03-13
  • 更新内容
    • 初始版本发布
    • 支持多目标打卡
    • 实现云同步功能
    • 添加多语言支持
    • 优化用户界面

10. 联系我们

  • 官方邮箱:2816301852@qq.com
  • 用户反馈:在"关于我们"页面点击"意见反馈"

朝夕签 - 让坚持成为习惯,让自律成就未来!

隐私、权限声明

1. 本插件需要申请的系统权限列表:

2. 本插件采集的数据、发送的服务器地址、以及数据用途说明:

3. 本插件是否包含广告,如包含需详细说明广告表达方式、展示频率:

许可协议

MIT协议

暂无用户评论。