【XIUNOX插件】每日签到 v1.0.4 [复制链接]

一级用户组

每日签到 wajxy_checkin

每日签到领积分插件:连续签到递增奖励、周期额外奖励、可配置补签规则,首页右侧栏显示签到按钮与本月签到日历。

  • 版本:1.0.4

  • 适配核心:Xiuno X 1.1.x(bbs_version: "1.1"

  • 作者:金小颖论坛

一、安装

  1. 解压 wajxy_checkin_v1.0.4.zip,把内层文件夹 wajxy_checkin 上传到站点 plugin/ 目录下(最终路径 plugin/wajxy_checkin/)。

  2. 后台 → 插件 → 找到「每日签到」→ 安装 → 启用。

  3. 删除 tmp/ 目录下的编译缓存(安装/启用后钩子与模板需要重新编译)。

  4. 后台 → 插件 → 每日签到 → 设置,按需调整参数。

二、功能

签到与奖励

  • 第 N 天奖励 = 基础值 + 递增 ×(N−1),可设单日上限封顶。

  • 基础值可固定也可随机:「基础奖励下限」~「基础奖励上限」,上限大于下限时每次在区间内随机;上限为 0 或 ≤ 下限则为固定值。

  • 连续签到满「奖励周期」的整数倍时叠加一次额外奖励(默认满 7 天 +20)。

  • 奖励类型可选积分 credits 或金币 golds;积分模式下还可每日额外发金币。

  • 断签是否重置连续天数可开关。

补签

  • 可设单次消耗、可回溯天数、每日补签次数上限。

  • 补签先扣费再写记录;写入失败自动退回已扣的费用。

  • 「补签报回连续」开启后会从明细倒推重新接上连续链。

前台展示

  • 首页右侧栏(站点信息卡下方)显示签到卡:连续天数徽章、签到按钮、今日可得提示、本月日历、可补签日期胶囊按钮。

  • 日历中蓝色=正常签到,黄色=补签,今日带高亮描边。

  • 纯原生 JS + fetch,不依赖 jQuery / Alpine,自动跟随主题色与深色模式。

后台设置页

5 个分组页签:基础设置 / 奖励规则 / 补签规则 / 展示与范围 / 数据维护。含 Hero 头部、环境统计卡、开关行、胶囊输入、粘性保存栏与居中版权栏。

三、数据结构

说明

pre_wajxy_checkin_log

签到明细,UNIQUE KEY uid_date (uid, checkin_date) 保证一天一条

pre_wajxy_checkin_user

用户汇总:连续天数、最大连续、累计天数、累计积分、补签次数

设置项存于 settingwajxy_checkin 键,卸载时随表一并清理。

四、并发与安全

  • 每次签到/补签用 GET_LOCK('wajxy_checkin_<uid>', 5) 按用户串行化,finally 释放。

  • 明细写入走 INSERT IGNORE + 唯一索引兜底,重复请求返回「今天已经签过了」而非重复发奖。

  • 发奖调用核心 CreditsService::add() 并检查返回值,失败即回滚明细;多步发放部分失败时只回滚已入账部分,回滚失败写 error_log

  • 路由层按 uid + IP 限频(60 秒 10 次),非 GET 请求由核心统一校验 CSRF。

  • 后台保存时服务端重做数值钳制、枚举白名单与用户组 ID 归一化,不信任前端 min/max

  • gid 为 1/2 可进入设置页。



每日签到 截图



版本:v1.0.4
适用版本:1.1
开发者:jinqike1026

请登录后查看此内容
最新回复

请先登录后再回复 登录