比比主题论坛红包拓展

发布日期

26-10-10

类别

暂无评分18人浏览
¥0.00
费用详情

一款基于 bbPress 论坛、专为「比比主题」(BeeBeeWork)打造的论坛红包插件。支持积分 / 站内币双币种拼手气红包,可挂在新帖上随帖送出,带每日限额、过期自动退款、站内信通知与后台管理。


一、插件内容介绍

它能做什么

  • 双币种拼手气红包:发帖时可选择「积分」或「站内币」发放拼手气红包,金额随机分配,先抢先得。
  • 币种跟随主插件:红包里的「币」名称不再写死,而是自动读取比比主题后台设置的货币名(例如本站的「奶狗币」),换站换名无需改代码。
  • 挂在新帖上送出:红包与「发帖」绑定——只有发新帖(主帖)时才能附带红包,评论 / 回复不允许发红包,避免刷屏。
  • 领取条件可配置:可设置「需在本帖回复后才能领取」「仅会员可领」「会员等级门槛」,鼓励真实互动。
  • 每日限额 + 过期退款:每个用户每天发送次数有限额;已发出但未抢完的红包,超过设定天数(默认 7 天)自动把剩余金额退给发红包的人。
  • 站内信通知:抢到红包、红包过期退款等节点会触发站内信提醒。
  • 后台管理页:管理员可在后台查看红包数据、手动为某帖子补发红包、处理异常。
  • 广场列表红包徽章:论坛广场 / 版块 / 标签列表里,带红包的话题标题前会显示一个红包 SVG 徽章(红色胶囊 + 红包图标 + “红包 1/100” 之类文案),一眼可辨。

体验细节

  • 所有访客都看得到:未登录用户也能看到红包卡样式、列表徽章;点击「抢红包」会弹出引导登录的提示,而不是直接报错。
  • 纯 SVG 图标,无 emoji 依赖:红包图标用内联 SVG(红身 + 白圆 + ¥ 符),不依赖主题图标字体,换主题也不会变空白。
  • 小数金额智能折算:站内币红包支持拆到小数,整数部分入账为币,零头按「1 币 = 100 积分」自动折算成积分发放,避免小数币无法入账。

二、如何制作(技术实现)

整体架构

插件采用经典的 WordPress 插件结构,分三层:

层 文件 职责
入口 / 钩子注册 bee-redpacket.php 定义版本常量、注册 bbPress 钩子、加载类
核心逻辑 includes/class-redpacket.php 红包创建 / 分配 / 领取 / 退款 / 渲染 / 后台 metabox
前端 assets/bee-redpacket-1.0.0.js + .css 发红包弹窗、抢红包弹窗、列表徽章注入

记账与积分体系复用母主题 BeeBeeWork 的 Ledger(\BeebeeWork\Core\Ledger),缺失时回退到自带的积分日志写入,保证与主站经济系统一致。

关键设计点

1. 创建与发布解耦(pending 机制)
先通过 AJAX 把红包「全额冻结」(扣除)创建为 pending 状态并存进 transient,等帖子真正发布成功后再把红包挂上去。这样无论主题回复 / 发帖走标准提交还是自定义 AJAX,都不会因为表单字段透传失败而丢红包。

2. 拼手气分配算法
后端按「二倍均值法」在总额与人数间随机切分,保证每人至少能领到一点、且总和恰好等于红包总额(含小数精确处理,这也是早期版本弹窗金额显示 bug 的修复点)。

3. 领取条件校验
can_claim 会依次检查:是否已抢光、是否过期、是否是自己发的、是否满足「已回复 / 会员 / 等级」条件,任一不满足都返回对应提示。

4. 过期自动退款
注册了 bee_rp_expire 定时事件(cron),扫描过期且未领完的红包,把剩余金额退回发红包者并发送站内信。

5. 安全防护
所有 AJAX 接口走 wp_create_nonce('bee_rp') 校验;金额 / 人数 / 币种在前后端双重校验,防止超额或越权。

文件清单(核心)

bee-redpacket/
├── bee-redpacket.php              # 入口、钩子、版本常量
├── includes/class-redpacket.php   # 全部业务逻辑
└── assets/
    ├── bee-redpacket-1.0.0.js     # 前端交互
    └── bee-redpacket-1.0.0.css    # 样式

三、AI 在这次制作中做了哪些

本插件在开发 / 迭代过程中,大量环节由 AI 编程助手(CodeBuddy)协助完成,主要集中在细节打磨、Bug 修复与体验优化:

  1. 红包图标统一为 SVG:把列表徽章里的 🧧 emoji、以及服务端可能渲染不出的主题图标字体类,统一替换成你提供的红包内联 SVG,保证深色 / 新主题下也必定可见、两处图标一致。
  2. 修复弹窗金额显示 Bug:早期版本在金额带小数点时,弹窗只显示小数部分、丢掉整数与货币单位。AI 定位到红包分配与 amountLabel 生成逻辑并修正,金额现在完整显示(如 12.34 奶狗币)。
  3. 币名动态化:把写死的「比比币」改为读取母主题 bw_pub_manager_options['coingroup']['set']['name'],于是你的站点自动显示「奶狗币」,其他站点按其设置显示。
  4. 限制「仅发帖可发红包」:按要求把发红包能力从「发帖 + 评论」收窄为「仅主帖」。改了四处:前端发红包按钮在回复表单不注入、后端 save_post 只处理 topic、后台发卡面板只挂话题、并移除 bbp_new_reply 钩子。已挂在旧回复上的红包仍正常可抢,不受影响。
  5. 游客也能看到红包资源:修复了「未登录时整页不加载红包 JS/CSS」的问题:把「加载资源」与「发红包权限」解耦,所有访客(含游客)在话题页 / 列表页都能加载样式与抢红包弹窗;游客点击抢红包会友好提示登录并跳转。
  6. 版本与命名管理:协助完成版本号迭代(1.0.10 → 1.1.0 → 1.0.0)、插件改名(「比比工房论坛红包」→「比比主题论坛红包拓展」),并同步重命名资源文件名,避免 404。

简言之:核心业务骨架由人工设计,AI 负责把细节做对、做稳、做漂亮——图标一致性、金额精度、币名适配、权限边界、游客体验和版本发布,都在这个协作过程中被逐步打磨到位。

本文由 AI 协助整理生成,适用于在你的站点「文章」频道发布,向用户介绍这款论坛红包拓展。

相关内容
平台二创
Web网站测速程序
  • HTML
U盘引导盘制作工具 Rufus
  • 工具
「易支付测试福利」永久VIP激活码
积分抵用
  • 主题, 原创
平台原创
比比主题浏览器自动签到插件
  • 原创, 工具, 插件
额度下载测试
积分抵用 段位可减 VIP优惠
  • 原创
KeyStats - macOS/Windows 键鼠统计菜单栏应用
  • 工具