更新记录
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(获取统计数据)
- 功能:获取指定项目的统计数据
- 参数:
- 返回:包含连续天数、总天数、打卡率的统计数据
4.1.3 getTargets(获取打卡项目列表)
- 功能:获取用户的所有打卡项目
- 参数:无
- 返回:打卡项目列表
4.1.4 getRecords(获取打卡记录)
- 功能:获取打卡记录
- 参数:
target_id:打卡项目ID
start_date:开始日期(可选)
end_date:结束日期(可选)
- 返回:打卡记录列表
4.1.5 addTarget(添加打卡项目)
4.1.6 deleteTarget(删除打卡项目)
4.1.7 updateTarget(更新打卡项目)
- 功能:更新打卡项目信息
- 参数:
target_id:项目ID
target_name:新的项目名称
status:状态(0:禁用,1:启用)
- 返回:更新结果
4.1.8 syncData(数据同步)
4.2 鉴权机制
所有云函数都通过 uni-id 的 checkToken 进行鉴权,确保只有登录用户才能访问。
5. 核心业务逻辑
5.1 打卡逻辑
- 获取当前日期
- 查询当日是否已打卡
- 未打卡 → 写入 records 表
- 已打卡 → 按钮禁用
- 自动计算连续天数
5.2 连续天数计算
- 从最新打卡向前遍历
- 连续自然日 + 1
- 断签归零
5.3 云同步
- 本地缓存 + 云端存储
- 打开 APP 自动同步
- 跨设备通用
5.4 推送提醒
- uniPush 2.0
- 定时推送打卡提醒
- 支持震动和声音提醒
6. 国际化支持
应用支持中文和英文切换,通过 utils/i18n.js 实现:
- 语言配置:在
i18n.js 中定义中文和英文的翻译文本
- 语言切换:在设置页面选择语言
- 动态更新:语言切换后自动更新所有界面文本
- 底部 tabBar:语言切换后自动更新 tabBar 文本
- 导航栏标题:语言切换后自动更新导航栏标题
7. 常见问题
7.1 打卡数据丢失怎么办?
- 开启自动同步功能,数据会自动备份到云端
- 定期手动触发同步,确保数据及时备份
- 在数据云同步页面进行数据恢复
7.2 如何添加自定义打卡目标?
- 进入"我的项目"页面
- 点击"添加项目"按钮
- 选择"自定义目标"
- 输入目标名称并保存
7.3 如何修改打卡提醒时间?
- 进入"设置"页面
- 点击"消息提醒设置"
- 关闭"提醒开关"
- 设置新的提醒时间
- 重新开启"提醒开关"
7.4 如何切换语言?
- 进入"设置"页面
- 点击"语言"选项
- 选择"简体中文"或"English"
- 应用会自动切换语言
8. 开发说明
8.1 本地开发
- 克隆项目代码
- 安装依赖:
npm install
- 运行开发服务器:
npm run dev:mp-weixin
- 在微信开发者工具中导入项目
8.2 云函数部署
- 登录 uniCloud 控制台
- 关联云服务空间
- 部署云函数:在 HBuilderX 中右键点击云函数目录,选择"上传部署"
8.3 数据库初始化
- 在 uniCloud 控制台创建数据库表
- 导入数据库 schema 文件
9. 版本信息
- 版本号:1.0.0
- 更新日期:2026-03-13
- 更新内容:
- 初始版本发布
- 支持多目标打卡
- 实现云同步功能
- 添加多语言支持
- 优化用户界面
10. 联系我们
- 官方邮箱:2816301852@qq.com
- 用户反馈:在"关于我们"页面点击"意见反馈"
朝夕签 - 让坚持成为习惯,让自律成就未来!