签到插件

签到插件

每日签到,获取积分奖励

插件 v1.0.3 贰先生 积分 付费 10 金币

xnx_checkin 签到插件

功能

  • 每日签到:用户每日可签到一次,按随机奖励区间 reward_base_min ~ reward_base_max 发放积分

  • 连续签到奖励:第 3/7/15/30 天额外奖励(独立配置金额)

  • 满勤奖励:周满勤 reward_weekly_full / 月满勤 reward_monthly_full

  • 每日前三名:当日最早签到的 3 名用户额外奖励 reward_top1/2/3,并标记 is_top3 / top3_rank

  • 心情记录:签到时可选择心情(happy/calm/tired/sad/excited),存入 xnx_checkin_mood 表,提供今日心情统计

  • 日历视图:当月签到日历(已签到日期高亮,支持切换年月)

  • 排行榜:累计签到天数榜 / 连续签到天数榜,缓存 300 秒

  • 后台管理:12 项奖励参数配置、发现页入口配置、签到记录查询(按 uid/日期范围筛选 + 分页)、补签(manualCheckin 指定 uid + 日期)

  • API 接口:xnx_checkin_api 提供 do(POST 签到)/ status(GET 查询状态)/ 日历等 JSON 接口

  • 前台路由:xnx_checkin(签到主页)、xnx_checkin_calendar(日历页)、xnx_checkin_rank(排行榜页)

  • 首页注入:index_site_brief_post_after.htm 显示签到按钮(未登录跳登录 / 已签到跳签到页 / 未签到跳签到页),状态缓存 60 秒

  • 性能优化:getCheckinStatus 通过一次批量查当月记录 + 一次查上月末记录消除 N+1(原 N+4 次查询降为 3 次)

  • 完整缓存:状态 60 秒 / 今日统计 60 秒 / 排行榜 300 秒 / 防刷锁 5 秒,通过 CacheHelper::registerKeys('checkin', ...) 注册

文件结构

plugin/xnx_checkin/
├── conf.json
├── install.php / uninstall.php / upgrade.php
├── setting.php     (后台配置 + 记录查询 + 补签)
├── index.php       (签到主页)
├── api.php         (JSON 接口:do/status/...)
├── calendar.php    (日历页)
├── rank.php        (排行榜页)
├── admin.php       (后台入口,转发到 setting.php)
├── update.md
├── model/CheckinService.php
├── lang/
│   ├── zh-cn.php
│   ├── zh-tw.php
│   └── en-us.php
├── hook/
│   ├── index_site_brief_post_after.htm   (首页签到按钮)
│   ├── index_site_brief_stats_after.htm
│   ├── index_route_case_end.php
│   ├── admin_index_route_case_end.php
│   ├── lang_zh_cn_bbs.php
│   ├── lang_zh_tw_bbs.php
│   └── lang_en_us_bbs.php
├── view/
│   ├── css/checkin.css
│   └── htm/
│       ├── checkin_index.htm
│       ├── checkin_calendar.htm
│       ├── checkin_rank.htm
│       ├── checkin_modal.htm
│       └── checkin_admin.htm

配置流程

  1. 后台启用插件(自动建 xnx_checkin_log 日志表 + xnx_checkin_mood 心情表,写入 12 项默认奖励参数)

  2. 进入「插件设置」配置积分类型、基础奖励区间、连续奖励 3/7/15/30、周/月满勤、前三名奖励

  3. 切换到「签到记录」标签可按 uid/日期范围筛选并补签

  4. 测试:用户访问 ?xnx_checkin → 点击签到 → 获得随机积分 + 连续奖励 + 前三名奖励(若有);首页显示「已签到 / 签到」按钮;日历页查看历史签到;排行榜页查看 Top 用户

扩展说明

  • 事件 hookxnx_checkin_do_checkin_end.php

    • 触发位置:CheckinService::doCheckin() 签到成功后(事务提交、积分发放、缓存清理完毕之后)触发

    • 可用变量:$uid(用户 ID)、$totalReward(总奖励积分)、$newContinuous(连续天数)、$newTotal(累计天数)、$isTop3(是否前三)、$top3Rank(前三名次)、$creditsType(积分类型)、$today(日期)、$mood(心情)

    • 监听方在自身 hook/ 目录放置 xnx_checkin_do_checkin_end.php 即可注入逻辑(如 xnx_feeds 监听此 hook 将签到动作写入动态流)


截图 3
v1.0.3 2026-07-25
修复签到记录404的问题
v1.0.3 2026-07-25
适配1.1.4版本
v1.0.2 2026-07-22
修复新安装时签到失败的问题
v1.0.1 2026-07-22
作者信息
贰先生
贰先生 贰先生
XIUNOX开发者
21
应用
300
安装
2026-06
加入
应用详情
应用分类 插件
版本 v1.0.3
适用版本 1.1
开发者 贰先生
下载量 21
浏览 166
更新时间 2026-07-30
发布时间 2026-07-22
最新回复 12
查看全部
查看全部评论 / 发表评论
完整评论功能在讨论帖中,点击前往