24
0
0

给 Halo 写了个打赏插件

2026-11-09
文章摘要
|

介绍

打赏插件是我的第三款开源作品,为使用 Halo 建站系统的个人站长提供独立打赏页面。站长配置自己的微信 / 支付宝收款码,访客扫码打赏后提交打赏记录,站长在后台确认后展示赞助者墙;同时支持对接爱发电,订单可自动同步入库并展示。

其诞生缘由是 Halo 应用生态还没有插件提供独立的打赏页面,主题的自定义页面也只能做收款二维码展示,站长收到打赏后还得自己去添加相关信息,刚好群友问主题的打赏页面能不能接入爱发电,索性直接做了一款插件出来。

此插件不参与资金流转。不接支付网关,不代收、不结算,也不抽成,微信、支付宝的钱直接进你自己的账户;爱发电那边插件也只是读订单,资金不经过插件。

不过插件有个麻烦的地方:个人静态收款码没有回调,谁付了谁没付,插件根本不知道,这属于无解的问题,因为个人无法申请动态收款码。所以这个插件从一开始就是给个人站长用的。访客提交的记录默认是「待确认」,需要站长对着收款通知点一下确认,打赏记录才会上墙。多一步操作,但总比墙上挂着没付钱的名字强。如果嫌麻烦设置里可以开「提交后自动通过」,风险自负哈。

前台页面

插件自带的页面可以参考:

打赏页面.png

插件安装后访问你站点的 /reward,打开即可使用,会自动套上主题的页头和页脚(前提是主题支持 Halo 2.26 起的 layout 契约,老主题可能套不上外壳)。左边是微信、支付宝的收款码,右边是赞助者墙。访客扫码打赏完成后点击下面的按钮提交打赏记录,表单以模态框样式呈现,不占页面地方。桌面端两栏显示,手机上自动变单栏。

插件默认的页面说实话算不上精致,想跟主题贴合,需要主题开发者做深度适配,具体可以参考插件文档。适配之后的效果就是本站这种https://www.nanzhiy.cn/reward:

主题适配参考.png

后台页面

前台访客进行打赏后,站长可在后台页面确认打赏记录:

image.png

访客提交之后记录会进到「内容 → 打赏」,站长只需对着收款通知确认一下就行。有新的待确认记录,页面顶上会亮一张卡片提醒「有 N 条待确认的打赏记录」。列表能按昵称或交易单号搜索,也能按状态筛选,勾选几条可以一次性确认、拒绝或删除。点某一个条目就能修改昵称、金额、留言和时间,比如金额填错了、想补一句备注,都可以在这里改。

之前已有的打赏记录想补录,时间填过去的时间就行,墙面会按这个时间排。需要对账的话,点一下导出 CSV 即可。

角色权限也分了两级,只想让某个角色只读,就给打赏记录查看权限,要动手的才给打赏记录管理。多人用后台的时候,给只负责看一眼的人开前者即可。

访客通过爱发电打赏后,爱发电会把订单推给插件,插件自动存成一条打赏记录直接上墙,不需要站长再确认,因为钱是平台收的,到没到账平台比我们清楚。想稳妥一点,也可以在设置里关掉「订单自动确认并展示」,让爱发电的订单也走人工确认。如果遇到爱发电推送漏掉的订单,在后台点「同步爱发电」可以补录最近 250 条。

不过爱发电的回调没有签名,谁都能伪造一个请求打过来。所以插件收到通知后不会直接采信,会拿订单号去 query-order 反查一次,单号对得上、订单确实存在、状态是支付成功才入库,其余直接丢掉。记录以订单号做唯一标识,平台重复推送也不会重复创建。

不过最近爱发电官方的 Webhook 回调功能在维护中,所以爱发电主动推送功能暂时不可用,安装插件后建议先使用后台「同步爱发电」拉取订单。

项目地址

Github:

https://github.com/AloneNanNan/Halo-Plugin-Reward

Halo 应用市场:

https://www.halo.run/store/apps/app-etgfmvxb

文档中心也已补充此插件文档:

https://docs.nanzhiy.cn/reward/index.html

写在最后

插件在 Halo 应用商店搜「打赏插件」即可一键安装,食用教程文章里也就不过多阐述了,请阅读相关文档,如果以后有更多的主题适配那就更好了。

如果用着有问题或者想要什么功能,可前往 Issue 中提交,也欢迎来到我们的 主题交流群 进行讨论,谢谢!祝大家晚安😘

支持与分享

如果这篇文章对你有帮助,欢迎分享给更多人或者给予支持!

给 Halo 写了个打赏插件
/archives/sAy8QKMV
作者
楠南NanNan
发布于
2026-11-09
许可协议
CC BY-NC-SA 4.0

评论

欢迎来到我的博客!