戒色签到打卡系统源码

戒色签到打卡系统源码

  • 全站源码免费
  • 日/微信/10次解锁
  • 日/IP/100次解锁
资源下载
免费资源
立即下载

源码系统概览

文章正文

戒色签到打卡系统源码是一套用 PHP 和 SQLite 写的轻量自律打卡工具,主题围绕戒色与个人习惯养成。
整个程序只有一个数据库文件 database.sqlite,不需要安装 MySQL 这类独立数据库,上传到支持 PHP 的虚拟主机就能跑。
前端用 Tailwind CSS 加原生 JavaScript 实现,界面带登录面板、打卡主面板、30 天日历和排行榜,移动端也适配。
核心功能由 api.php 提供:sign 接口写入签到成功记录,fail 接口记录破戒,两个动作都会更新 users 表里的连续天数和经验值。
连续天数统计由 calculateStreak() 函数逐日回溯 records 表得出,历史最长和总打卡次数一起展示在主面板的统计卡片上。
系统还设计了经验等级和四档勋章成就,longest_streak 达到 3 天、7 天、30 天、100 天分别对应不同勋章,并用进度条展示升级进度。
打卡时可以选择当天心情、填写备注,还能一键随机填充成功或失败语录,增加坚持的动力。
view.php 提供一个数据中心页面,展示连续天数排行榜和当前用户最近 20 条打卡日志,方便回顾与对比。
为了保护隐私,首页带一个伪装层,点击锁形按钮会切换成”学习笔记”界面,旁边还有暗黑模式开关。
忘记打卡时支持补签昨天,连续记录不会被轻易打断。
整体代码结构简单清晰,没有复杂依赖,适合作为打卡类、习惯养成类小工具的二次开发起点。
部署上只需访问 init_db.php 一步建库,门槛很低,对想快速搭一个私有打卡本的人很友好。
如果你打算把它做成公开社区,记得补上用户登录鉴权和输入校验,源码默认是免登录的轻量形态。

源码简介

戒色签到打卡系统源码是一套面向个人自律管理的 PHP 打卡小工具,纯文件部署、无需数据库服务器,打开即用。
程序基于 PHP 与 SQLite 构建,前端采用 Tailwind CSS 加原生 JavaScript,核心接口集中在 api.php,数据落在 database.sqlite 的 records 和 users 两张表。
它把”戒色/习惯养成”做成游戏化的打卡体验:签到、破戒、连续天数、经验等级、勋章、排行榜一应俱全,并带隐私伪装和暗黑模式。
适合想自己搭一个轻量自律记录本,或在此基础上二次开发打卡类应用的开发者下载研究。

适用场景

  • 个人自律与戒色打卡记录,追踪当前连续天数与历史最长
  • 戒色社区或互助小组用公开排行榜做正向激励
  • 二次开发成通用习惯养成、打卡类小工具

功能亮点

  • 每日签到与破戒记录:api.php 的 sign、fail 接口向 records 表写入 status 为 success 或 fail 的记录(证据 api.php:86、134)
  • 连续天数与历史最长统计:calculateStreak() 函数逐日回溯 records 表计算连续天数,并更新 users 表 longest_streak(证据 api.php:37、118)
  • 经验等级与四档勋章:users 表 xp/level 字段配合 calculateLevel(),前端 updateBadges() 按连续天数发放四档勋章(证据 api.php:54、index.php:205)
  • 30 天打卡日历:calendar 接口返回近 30 天记录,index.php 的 loadCalendar() 用彩色格子渲染成功与破戒(证据 api.php:161、index.php:219)
  • 连续天数排行榜:leaderboard 接口按 longest_streak 取前 10,view.php 数据中心展示(证据 api.php:156、view.php:50)
  • 心情、备注与随机语录:records 表 mood/remark/quote 字段,get_random_quote 接口随机填充激励语录(证据 api.php:80、25)

技术架构与部署指南

维度 本套源码 同类通用方案
技术栈 前端:Tailwind CSS(CDN 引入)、原生 JavaScript,用户名存于浏览器 localStorage 依具体方案选型,需自行搭建与维护
部署方式 准备支持 PHP 7.0 及以上、且开启 PDO_SQLite 扩展的运行环境
将源码整目录上传到网站根目录
浏览器访问
多托管于第三方平台或订阅云服务
功能侧重 每日签到与破戒记录:api.php 的 sign、fail 接口向 records 表写入 status 为 succe 功能通用,定制深度有限
数据归属 数据自持,部署在自有服务器,不出站 数据通常留存于服务商侧
成本模式 获取后自主部署,无持续授权费用 通常按订阅或调用量计费

技术栈与运行环境

前端:Tailwind CSS(CDN 引入)、原生 JavaScript,用户名存于浏览器 localStorage
后端:PHP(测试环境 PHP 7.0),通过 PDO 操作数据库
数据库:SQLite 文件数据库 database.sqlite,含 records、users 两张表
运行环境:支持 PHP 7.0 及以上、并已开启 PDO_SQLite 扩展的虚拟主机或服务器
其他依赖:无 Composer/Node 依赖,Tailwind 经 CDN 加载,需联网渲染样式

安装与部署提示

  1. 准备支持 PHP 7.0 及以上、且开启 PDO_SQLite 扩展的运行环境
  2. 将源码整目录上传到网站根目录
  3. 浏览器访问 你的域名/init_db.php,自动创建 database.sqlite 及 records、users 表
  4. 访问 index.php,输入任意用户名即可进入打卡(用户名存于浏览器 localStorage,无需密码)
  5. 部署完成后建议删除或限制 init_db.php 访问,避免 database.sqlite 被误删后自动重建导致数据清空

截图与演示说明

源码可见的具体页面与模块如下:

  • 首页 index.php:登录面板、主面板(用户名与等级、经验进度条、勋章、统计卡片、30 天打卡日历、心情选择、备注输入、签到/破戒按钮)
  • 数据中心 view.php:连续天数排行榜、当前用户最近 20 条打卡日志
  • 后端接口 api.php:签到、破戒、用户信息、日历、排行榜、日志、随机语录等 JSON 接口
  • 数据库初始化 init_db.php:创建 records 与 users 表

戒色签到打卡系统源码

常见问题

  • 问:没有数据库服务器能运行吗? 答:可以,源码使用 SQLite 文件数据库 database.sqlite,无需独立数据库服务,但需 PHP 开启 PDO_SQLite 扩展。
  • 问:多人使用会串数据吗? 答:所有打卡记录按 user_name 隔离存储,不同用户名互不干扰;但因无密码校验,任何人输入同名即可查看或操作该用户记录,正式公开部署需自行补登录鉴权。

安全风险提示

特别提示:本源码未检测安全风险文件,下载后请务必进行安全审计,删除恶意代码后再部署使用!

  • 路径/类型/证据/建议:api.php 的 remark、mood 经 GET 参数传入并直接写入 records 表,view.php 日志以 innerHTML 渲染 remark 未做转义,存在存储型 XSS 风险,建议部署前对 remark 等输出做 htmlspecialchars 转义。
  • 路径/类型/证据/建议:用户身份仅以 localStorage 中的 user_name 标识、无密码校验,存在身份冒用风险,公开部署前需补充登录鉴权。
  • 路径/类型/证据/建议:init_db.php 部署后仍可直接访问,若 database.sqlite 被删除会被重新建库导致数据丢失,建议上线后移除该文件或加访问限制。

下载说明

源码仅供学习研究、测试部署和二次开发参考,商用前请自行确认授权、版权和安全风险。

资源下载
下载价格免费
本文章资源https://www.aosen.cc/mianfei3544.html来源于互联网,如存在侵权,请联系我们立马删除!
0
显示验证码