- 添加FastAPI应用基础结构,包括主入口、路由和模型定义
- 实现Webhook接收端点(/webhook/{namespace})和健康检查(/health)
- 添加管理后台路由和模板,支持端点、目标、渠道和模板管理
- 包含SQLite数据库模型定义和初始化逻辑
- 添加日志记录和统计服务
- 包含Dockerfile和配置示例文件
- 添加项目文档,包括设计、流程图和验收标准
33 lines
1.8 KiB
Markdown
33 lines
1.8 KiB
Markdown
# 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` & `notify.py`:适配新的DB驱动配置查询。
|
||
|
||
## 4. 实施步骤
|
||
1. **依赖更新**:添加 `sqlalchemy`、`jinja2`、`python-multipart`。
|
||
2. **数据层实现**:定义ORM模型与初始化脚本(支持从现有yaml导入种子数据)。
|
||
3. **后台UI实现**:创建HTML模板与FastAPI路由。
|
||
4. **配置适配**:改造 `load_config` 逻辑,支持热重载或每次请求查询DB。
|
||
5. **构建与部署**:更新Dockerfile,重新构建并运行,验证后台配置生效。
|