Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 

Repository files navigation

RECAY / EasterEgg — 彩蛋收集活动

面向 XenForo 2 的限时彩蛋收集插件:按规则在主题帖、资源页、列表页、用户空间等位置嵌入可点击彩蛋;用户访问时即时生成,集齐后发送可配置的站内通知。

当前版本:1.1.0 · Addon ID:RECAY/EasterEgg · 许可:MIT


功能概览

  • 访问时生成:命中规则的页面按概率即时生成点位,不预埋全站
  • 文本内嵌:彩蛋嵌入正文/列表文本(非飘浮层)
  • 投放范围:主题帖、资源详情、列表页(版块 / 最新等)、用户个人空间,以及自定义路径
  • 密度控制:始终命中,或按主题/资源/用户 ID 取模(ID % N == R
  • 单页上限:可限制当前页面最多出现几枚彩蛋
  • 收集器 UI:可选展示进度;支持多活动同显;移动端自适应
  • 游客策略:完全隐藏,或可见点击后跳转登录/自定义链接
  • 参与限制:注册时间、用户组包含/排除、排除指定用户等
  • 完成通知:自定义标题与正文(支持 {username}{campaign}),可选「查看详情」超链接
  • 运营统计:参与人数、完成人数、各彩蛋收集数;英文逗号分隔名单(整活动 + 分彩蛋);CSV 导出已完成用户
  • 规则重算:改规则后可保留 / 重算未领取 / 重算全部实例
  • 状态自动同步:已排期 / 进行中 / 已结束按时间自动切换(定时任务约每 5 分钟;打开活动列表或编辑页也会立即同步)

管理端入口仅限超级管理员


环境要求

项目 要求
XenForo 2.1.0+XF2010070
PHP 与所装 XenForo 版本一致
第三方插件 无依赖

可选:若使用 XenForo Resource Manager,可启用「资源详情页」投放。


安装

方式一:ACP 上传归档(推荐)

  1. Releases 下载 RECAY-EasterEgg-x.y.z.zip
  2. 后台 → 插件安装 / 从归档升级
  3. 上传 ZIP,按向导完成安装或升级
  4. 确认插件状态为已启用

归档内路径结构:

upload/src/addons/RECAY/EasterEgg/...

方式二:手动上传

  1. src/addons/RECAY/EasterEgg 上传到论坛根目录对应位置
    (即 src/addons/RECAY/EasterEgg/
  2. 后台 → 插件 → 找到「彩蛋收集活动」→ 安装 / 升级

升级时若提示文件哈希校验警告,请确认已完整覆盖全部文件后再继续。


快速开始

  1. 后台导航 → 彩蛋活动
  2. 创建活动:设置时间窗、完成通知标题/正文,可选填写完成通知超链接与活动公告链接
  3. 添加彩蛋:为每种可收集目标设置 egg_key、标题、图标 URL(可选)
  4. 添加规则
    • 勾选出现页面类型;需要时用「额外路径」精确指定(如 //whats-new/
    • 配置命中方式(始终 / ID 取模)与各彩蛋出现概率
    • 设置单页最大彩蛋数
  5. 将活动设为 进行中(或设为已排期等待开始时间)
  6. 前台访问命中页面,确认彩蛋与收集器显示正常
  7. 活动结束后在 活动统计 查看名单,或 导出已完成用户 CSV

通知占位符

占位符 含义
{username} 完成用户的用户名
{campaign} 活动名称

仓库结构

src/addons/RECAY/EasterEgg/   # 插件本体(安装目标)
  _data/                      # 短语、模板、路由、权限等
  Admin/                      # 管理端控制器与视图
  Pub/                        # 前台 API(context / claim)
  Service/                    # 生成、领取、完成通知
  Entity/ Repository/         # 数据模型
  js/easteregg/core.js        # 前端收集器与嵌入逻辑
  styles/easteregg.css
  Setup.php                   # 安装 / 升级
  addon.json
RECAY-EasterEgg-1.1.0.zip     # 可安装发布包(若随仓库附带)

开发时以 src/addons/RECAY/EasterEgg 为准;发布前请重新生成 hashes.json 与 ZIP。


权限与安全

  • 全部活动配置、统计与导出仅 超级管理员 可访问
  • 前台领取接口校验登录态、投放实例有效性与活动时间窗
  • 完成通知超链接仅接受 http / https URL

升级说明

  1. 备份数据库与现有插件目录(建议)
  2. 用新版 ZIP 在 ACP 升级,或覆盖文件后在插件列表执行升级
  3. 确认版本号已变为目标版本(如 1.1.0
  4. 抽查:活动编辑、规则页、统计名单、完成通知与可选超链接

从较早版本升级时,安装程序会按 Setup.php 中的步骤依次执行(含表结构变更与无 schema 标记步骤)。


常见问题

彩蛋不出现?
检查活动是否「进行中」、规则是否启用、页面类型/额外路径是否匹配、概率与 ID 取模条件、单页上限,以及当前用户是否已被限制排除。改规则后可按需执行「规则重算」。

游客看不到?
若游客策略为「完全不渲染」,游客端不会出现彩蛋与收集器。

完成了但没有通知?
确认通知标题与正文均非空;用户需真正达成完成条件(默认集齐全部计入完成的彩蛋)。可在用户账户通知中查看;统计页「已完成名单」可核对完成记录。

统计名单为空?
尚无完成用户或尚无该彩蛋的领取记录时,对应文本框为空属正常。


兼容性说明

  • 设计目标为不依赖第三方插件;资源详情投放在已安装 RM 的站点上可用
  • 前端样式尽量贴合默认主题;深度定制主题可能需少量 CSS 调整
  • 多活动同时进行时,可通过活动级开关控制同页是否同显收集器

更新日志(摘要)

1.1.0

  • 正式发布包:完成通知可选超链接、统计页逗号分隔名单(整活动 + 分彩蛋)
  • 活动状态自动同步、导出与收集器体验完善
  • 投放范围支持用户个人空间与自定义路径;文本内嵌投放

更细的迭代记录见各版本 Setup.php 升级步骤与 Git 历史。


许可

本项目采用 MIT License:可自由使用、修改、分发与商用,需保留许可证与版权声明;软件按「原样」提供,不附带任何担保。

问题反馈请通过本仓库 Issues 提交(建议附上 XenForo 版本、PHP 版本与复现步骤)。

About

面向 XenForo 2 的限时彩蛋收集插件:按规则在主题帖、资源页、列表页、用户空间等位置嵌入可点击彩蛋;用户访问时即时生成,集齐后发送可配置的站内通知。

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages