楠南NanNan 发布于
1.0.0
最新>=2.27.0
打赏插件 1.0.0
为 Halo 站点提供独立打赏页:访客扫码打赏后提交记录,站长确认后展示「赞助者墙」。可选对接爱发电,订单自动同步入库。
插件不参与资金流转,不接入支付网关,不代收、不结算、不抽成。
主要功能
- 独立页面
/reward,自动套用主题页头页脚(Halo 2.26+ 的layout契约) - 支持微信、支付宝收款码与爱发电入口
- 打赏表单以模态框呈现,支持昵称、金额、留言、交易单号、头像与图形验证码
- 赞助者墙只展示已确认记录,金额显示可单独关闭
- 后台记录管理:搜索、状态筛选、确认 / 拒绝、批量操作、CSV 导出
- 爱发电:Webhook 自动入库、后台手动同步历史订单(最多最近 250 条)、打赏者昵称头像反查
- 权限分两层:
打赏记录查看仅能浏览,打赏记录管理才能新增、编辑、确认、删除、同步与导出 - 主题集成:覆盖
reward.html、引用提交模态框、或通过rewardFinder自建页面
安装
- 后台「插件 → 安装」,上传
plugin-reward-1.0.0.jar - 启用插件,在插件设置中完成基础、收款、记录、爱发电与通知配置
- 在站点菜单或文章中添加入口,指向
/reward
应用市场上架后,也可在「插件 → 应用商店」搜索「打赏插件」安装。
兼容性
- Halo >= 2.27.0
- 前台页面依赖 Halo 2.26.0 起提供的
layout页面布局契约
数据与隐私
- 记录保存在站点自身的 Halo 数据库(自定义模型
RewardRecord),插件不额外备份、不外传 - 联系方式与交易单号仅后台可见,任何匿名接口都不返回
- 不采集访客 IP:限流只在内存中按来源 IP 做短时计数,不落库、不写日志
- 不含遥测、访问统计上报、崩溃上报、广告或 AI 数据分析
- 仅在启用爱发电后访问
afdian.com(备用ifdian.net),传输内容为开发者身份标识、请求签名、分页参数与订单号 - 所有外部请求均有 15 秒超时与重试上限,失败降级,不阻塞站点访问
已知边界
- 静态收款码无法自动确认到账,访客提交的记录默认「待确认」,需站长对照收款通知人工确认
- 爱发电 Webhook 没有签名机制,插件通过反查订单确认真实性;查不到时不会入库,需后台点「同步爱发电」补齐
- 关闭「启用打赏页面」只影响页面、配置读取、验证码与提交入口;赞助者墙与统计接口仍可匿名读取(便于主题在其它页面展示)
GET /public/stats的累计金额没有独立关闭开关,「在赞助者墙显示金额」只控制墙面- 限流与验证码为单实例内存实现,重启后失效;多实例部署时各实例独立计数
- 站点在 CDN / WAF 之后时,需确认代理透传
X-Forwarded-For,否则所有访客会共享同一份限流配额
校验
- 文件:
plugin-reward-1.0.0.jar - 大小:135 KB
- SHA-256:
b603093688da6edc4f1fd043cea649c8332f0f397eebc765c03fdfe343fe832d
开发说明
本版本开发过程中使用了 AI 辅助编码,全部代码经人工审查,并在 Halo 2.27 环境完成安装升级、前台提交、后台确认、爱发电手动同步的人工测试。
爱发电 Webhook 回调因官方测试功能维护中,尚未完成端到端验证;,接入后建议先使用后台「同步爱发电」拉取订单
资源下载
- plugin-reward-1.0.0.jar
