开发日志索引:edgeone-webhook-pusher(目录页)

2026年1月25日
2 分钟阅读
作者:ixNieStudio

开发日志索引:edgeone-webhook-pusher

这个系列写给两类人:

  • 想要 0 成本自建推送的人:希望“复制粘贴 + 一键部署”就能跑起来。
  • 想看工程取舍的人:关心为什么这样拆、哪些坑最容易踩、哪些模式值得复用到你的项目里。

项目目标很简单:把“微信推送”变成一个你的私有能力——像调用 webhook 一样调用它,而不是把数据交给第三方。

一张图先建立直觉

你可以把系统理解成一个“边缘上的三层结构”:

flowchart TB U["你的脚本/系统
NAS/CI/HomeAssistant"] -->|"HTTP GET/POST"| SEND["Node Functions
/send/appKey"] UI["Web UI
管理后台"] -->|"HTTP"| API["Node Functions
管理 API"] SEND --> PUSH["Push Service
编排推送"] API --> SVC["Domain Services
Channel/App/OpenID/Message"] PUSH -->|"WeChat API"| WX["微信/企业微信"] SEND -->|"HTTP 调用"| KVAPI["Edge Functions
/api/kv/*"] API -->|"HTTP 调用"| KVAPI KVAPI <--> KV[("EdgeOne KV
5 个命名空间")]

读完整个系列,你应该能回答:

  • 为什么 Node Functions 不能直接读 KV,以及这对你的架构意味着什么。
  • 为什么推送入口要做成“弱认证 AppKey”,风险在哪里、怎么兜底。
  • 为什么“绑定用户”是整个系统里最容易写崩的部分(以及如何让它幂等)。

推荐阅读路线(按“问题驱动”组织)

1) 先知道它是什么、能解决什么

  1. 专题首页(总览)
  2. 架构与边界

2) 再理解最关键的外部接口(你会怎么调用它)

  1. 推送入口(send 路由)
  2. 微信消息回调

3) 最后补齐“后台为什么能跑得稳”

  1. 管理端 API 与鉴权
  2. Channel 领域
  3. App 领域
  4. OpenID & BindCode
  5. Push & Message
  6. 部署与配置
  7. 多渠道重构规划(Bridge/Strategy/Template Method)
  8. 企业微信渠道规划(WeCom)

读这个系列的方式

  • 如果你只想用:优先读 send部署配置 两篇。
  • 如果你要二开:优先读 架构绑定流程push 编排