Afdian Plus — 爱发电增强插件
适用于 Halo 2.25+ 的爱发电数据集成插件,提供赞助者、订单、方案、电铺商品、作品集的完整管理与主题展示能力,可以作为自建商城的支付解决方案。
功能概览
数据管理
- 一键拉取爱发电全部数据(赞助者、订单、方案、电铺商品、作品集),自动翻页
- 数据持久化到 ConfigMap,重启不丢失
- 内存缓存机制,可配置缓存时长(默认 30 分钟)
- 双域名容灾:自动在
afdian.com和ifdian.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)已内置集成,在主题设置 → 关于页面中开启爱发电即可。
交流
欢迎加入交流群了解更新、反馈问题和交流主题集成。

项目信息
- 作者:Serenity
- 主页:https://www.aobp.cn
- 仓库:https://github.com/atangccc/Afdian-plus
- 许可证:GPL-3.0
二次开发与借鉴说明
如果你基于本项目进行二次开发、功能移植或实现思路借鉴,请主动告知开发者。这有助于了解项目的实际使用情况、协调兼容性,并减少重复开发。
- 开发者:Serenity
- 项目主页:https://www.aobp.cn
- GitHub:https://github.com/atangccc
上述告知属于社区协作倡议,不限制 GPL-3.0 已授予的复制、修改和再分发权利。发布或分发衍生作品时,仍需遵守 GPL-3.0 的源代码提供、许可证保留和版权声明要求。
