- 添加FastAPI应用基础结构,包括主入口、路由和模型定义
- 实现Webhook接收端点(/webhook/{namespace})和健康检查(/health)
- 添加管理后台路由和模板,支持端点、目标、渠道和模板管理
- 包含SQLite数据库模型定义和初始化逻辑
- 添加日志记录和统计服务
- 包含Dockerfile和配置示例文件
- 添加项目文档,包括设计、流程图和验收标准
1.8 KiB
1.8 KiB
Webhook中继系统 - Admin后台升级计划
1. 核心变更:数据库驱动配置
- 引入 SQLite + SQLAlchemy 替代静态
config.yml。 - 存储模型:
Target:转发目标Webhook(名称、URL、超时)。RemarkRule:remark值到目标列表的映射(imcgcd03 -> [Target A, Target B])。EventTemplate:事件模板(event_define_no -> 模板文本)。NotificationChannel:通知渠道(类型feishu/wecom、Webhook URL、名称)。EventChannelBinding:事件到渠道的绑定(pay.ali_scaned -> [Channel A, Channel B])。
2. Admin后台界面
- 基于 FastAPI + Jinja2 + Bootstrap 提供简易管理UI。
- 功能页面:
- 目标管理:增删改查转发目标。
- 路由规则:配置
remark对应的目标列表。 - 通知模板:编辑不同事件的通知文案。
- 通知渠道:添加飞书/企业微信机器人链接。
- 通知绑定:将事件与通知渠道关联。
3. 系统架构调整
app/db.py:数据库连接与模型定义。app/admin.py:管理后台路由与CRUD逻辑。app/config.py:改为混合模式,优先从DB加载动态配置,保留文件配置作为默认值/种子数据。app/services/relay.py¬ify.py:适配新的DB驱动配置查询。
4. 实施步骤
- 依赖更新:添加
sqlalchemy、jinja2、python-multipart。 - 数据层实现:定义ORM模型与初始化脚本(支持从现有yaml导入种子数据)。
- 后台UI实现:创建HTML模板与FastAPI路由。
- 配置适配:改造
load_config逻辑,支持热重载或每次请求查询DB。 - 构建与部署:更新Dockerfile,重新构建并运行,验证后台配置生效。