FIT2CLOUD
Afdian Plus 的图标

Afdian Plus

422
82

爱发电数据集成插件,支持赞助者、订单、方案、电铺商品、作品集的一键拉取与持久化,提供仪表盘统计、Webhook 回调通知、双域名容灾及 afdianPlusFinder 主题模板 API,可用于在关于页面展示赞助者墙、方案卡片和弹窗支付,也可作为自建商城支付解决方案。

Afdian Plus — 爱发电增强插件

适用于 Halo 2.25+ 的爱发电数据集成插件,提供赞助者、订单、方案、电铺商品、作品集的完整管理与主题展示能力,可以作为自建商城的支付解决方案。

功能概览

数据管理

  • 一键拉取爱发电全部数据(赞助者、订单、方案、电铺商品、作品集),自动翻页
  • 数据持久化到 ConfigMap,重启不丢失
  • 内存缓存机制,可配置缓存时长(默认 30 分钟)
  • 双域名容灾:自动在 afdian.comifdian.net 之间切换,主域名不可用时自动回退到备用域名

后台仪表盘

  • 赞助者总数、订单总数、累计金额、方案/商品数量统计卡片
  • 近 6 个月订单趋势柱状图
  • 赞助者金额排行榜
  • 最近订单时间线

数据面板

  • 赞助者列表(头像、昵称、累计金额、最后支付时间、当前方案)
  • 订单列表(订单号、标题、金额、状态、类型、时间)
  • 方案卡片(名称、价格、类型标签、描述,点击可弹窗下单)
  • 电铺商品卡片(图片、名称、价格、在售状态,点击可弹窗下单)
  • 作品集卡片(封面、标题、状态、篇数)
  • Webhook 日志查看(摘要、原始 JSON 展开)

Webhook 回调

  • 接收爱发电支付回调通知
  • 自动保存 Webhook 日志
  • 收到回调后自动清除缓存并重新拉取全部数据
  • 通过 Halo 通知系统向管理员发送新订单站内通知和邮件

主题集成

插件注册 afdianPlusFinder 到 Thymeleaf 上下文,主题模板可直接调用:

方法 说明
afdianPlusFinder.listAllSponsor() 获取全部赞助者
afdianPlusFinder.listAllOrder() 获取全部订单
afdianPlusFinder.listAllPlan() 获取所有方案
afdianPlusFinder.listAllProduct() 获取电铺全部商品
afdianPlusFinder.listAllAlbum() 获取全部作品集
afdianPlusFinder.parseTime(timestamp) 秒级时间戳转 yyyy-MM-dd

弹窗支付

使用 window.open() 弹出 520×700 居中小窗口打开爱发电支付页面(爱发电设置了 X-Frame-Options,无法使用 iframe)。

配置说明

在插件后台「API 配置」页面设置:

配置项 说明
用户 ID (user_id) 爱发电创作者管理 → 开发者设置中获取
API Token 爱发电创作者管理 → 开发者设置中获取
缓存时长 数据缓存分钟数,默认 30,最大 1440
方案 ID 列表 需要在主题中展示的方案 ID,可添加多个

Webhook 配置

在爱发电后台设置 Webhook 地址:

https://你的域名/apis/console.api.afdian.aobp.cn/v1alpha1/afdian/-/webhook

主题集成

详见 THEME-INTEGRATION.md,包含赞助者列表、方案卡片、电铺商品、弹窗支付的完整 Thymeleaf 模板示例。

Serenity 主题(Hue / Ordinary)已内置集成,在主题设置 → 关于页面中开启爱发电即可。

交流

欢迎加入交流群了解更新、反馈问题和交流主题集成。

交流群

项目信息

二次开发与借鉴说明

如果你基于本项目进行二次开发、功能移植或实现思路借鉴,请主动告知开发者。这有助于了解项目的实际使用情况、协调兼容性,并减少重复开发。

上述告知属于社区协作倡议,不限制 GPL-3.0 已授予的复制、修改和再分发权利。发布或分发衍生作品时,仍需遵守 GPL-3.0 的源代码提供、许可证保留和版权声明要求。


讨论(0)

这是一个开源应用,我们推荐优先在开源仓库中提交 issue,以便开发者更好地接收和跟进问题。

去提交 issue