SuperAPI AI 工具集

bootstrap-events

通用与其它

查看项目

更新于 10-15 19:52

技能介绍

用途:在 Phoenix 1.8 应用中搭建完整的事件驱动通知系统。资料显示其包含事件结构体与基于 PubSub 的事件总线、数据库存储的事件订阅(email、SMS、webhook 渠道)、负责编排投递的 Listener GenServer、用于邮件/短信/Webhook/站内投递的 PgFlow 任务、通知投递日志、Webhook 签名(Standard Webhooks 规范)、LiveView 实时集成和多租户账户隔离。

前置条件:Phoenix 1.8+ 应用并使用 PostgreSQL 与 binary_id 主键;已配置 PgFlow(bootstrap-phoenix Phase 7 / /pgflow bootstrap);已配置 Swoosh 邮件;存在 binary_id 主键的 accounts 表;users 表含 email 及可选 phone;Phoenix.PubSub 已在监督树中。

使用方式按阶段推进:先检测已有 PubSub、PgFlow、Swoosh、通知模块及 accounts/users 表,并确认应用模块前缀、PubSub 名、Mailer 模块、事件类型与租户字段(通常为 account_id,可选 organization_id、team_id、buyer_id 等次级范围)。随后用 mix ecto.gen.migration 创建 event_subscriptions 与 notification_logs 迁移并执行 mix ecto.migrate;再依次创建 Event 结构体、EventSubscription、NotificationLog 及 WebhookSigner 等模块。代码中需替换 :my_app 为实际应用原子、按业务域替换 @event_types。

限制:订阅的 destination 与 user_id 互斥;Webhook 必须使用 https(开发/测试允许 http://localhost);事件类型需在允许列表内且至少一项;channel 仅限 email、sms、webhook。其他如具体事件类型、租户范围字段需自行确认,资料未提供默认值之外的信息。