Skip to content

NotificationTemplate 框架文档

模块路径: FQBase.Core.notification_template源码: [notification_template.py](file:///Users/A.D.189/FQuant/FQuant.Server/FQBase/FQBase/Core/notification_template.py)


一、概述

1.1 什么是通知模板

NotificationTemplate 是 FQBase 框架的通知消息模板模块,提供标准化的消息格式化方案。

解决的问题

  • 消息格式不统一,导致用户阅读困难
  • 通知内容随意,缺乏一致性
  • 跨渠道消息格式难以管理

核心价值

  • 统一格式:所有通知遵循相同的结构化格式
  • 变量驱动:消息内容由数据动态渲染,避免字符串拼接
  • 渠道兼容:同一模板可适配不同通知渠道

1.2 模板与通知的关系

┌─────────────────────────────────────────────────────────────────┐
│                      应用层代码                                   │
│   NotificationTemplate.render('trade_signal', code='000001')    │
└─────────────────────────────────────────────────────────────────┘


┌─────────────────────────────────────────────────────────────────┐
│              NotificationTemplate (模板渲染)                      │
│   1. 根据模板名称查找预设/自定义模板                              │
│   2. 使用传入的变量渲染模板                                      │
│   3. 返回格式化的消息字符串或结构化字典                          │
└─────────────────────────────────────────────────────────────────┘


┌─────────────────────────────────────────────────────────────────┐
│              Notification (通知发送)                              │
│   sendWechat(message, channel='DEFAULT')                        │
│   manager.send(message, channel='HIGH')                         │
└─────────────────────────────────────────────────────────────────┘

使用场景

  • 推荐:使用 NotificationTemplate.render() 渲染消息 → 发送给用户
  • 直接发送:简单消息可直接调用 sendWechat("纯文本内容")

1.3 何时使用模板

场景推荐方式原因
交易信号通知模板固定格式,包含多个变量
系统告警模板需要统一格式,便于解析
简单成功/失败提示直接发送格式简单,无需模板
定时心跳通知模板格式固定,定期发送

二、核心特性

特性说明
预设模板内置多种常用通知模板
模板注册支持自定义模板注册和注销
渲染机制支持变量替换和格式化输出
字典输出支持渲染为结构化字典
全局单例模块级注册表单例
快捷访问NotificationTemplate 快捷类

三、预设模板类型

模板名称说明级别
trade_signal交易信号info
risk_alert风险预警warning
system_error系统异常error
order_update订单更新info
position_update持仓更新info
account_update账户更新info
backtest_complete回测完成info
data_alert数据警告warning