feat(通知模板): 支持缺字段按空值渲染与空行省略
Motivation: 统一 crypto-strategy 与 trade-signal 两类交易信号的模板字段,使同一套通知模板可复用;字段缺失或为空时不再导致渲染报错或输出空行,通知内容更整洁。 Changes: * 渲染器缺失字段改为按空值处理,新增 line 函数实现空值整行省略 * crypto-strategy 信号补充止盈价、止损价、平均价、收益额等模板字段 * trade-signal 信号保留原始报文中的额外字段以适配统一模板 * 修复结构化日志将 error 作为值直接输出导致的格式问题
This commit is contained in:
@@ -299,13 +299,22 @@ Body 同创建。成功:`{"ok": true}`
|
||||
前缀:`/api/v1/templates`
|
||||
**鉴权:** Admin Key
|
||||
|
||||
模板语法为 Go `text/template`,变量来自解析后的 data。
|
||||
模板语法为 Go `text/template`,变量来自解析后的 data。缺字段不再报错,按空值处理。
|
||||
|
||||
可用 `line` 把前缀和值包在一起:值为空则整行不输出(含前缀和换行)。
|
||||
|
||||
```
|
||||
### {{.symbol}} {{.action}}
|
||||
{{line "币种" .symbol}}{{line "周期" .period}}{{line "方向" .side}}{{line "价格" .price}}{{line "平均价" .totalAvgPx}}{{line "止盈价" .takeProfitPrice}}{{line "止损价" .stopLossPrice}}
|
||||
```
|
||||
|
||||
等价写法:`{{with .totalAvgPx}}平均价:{{.}}{{end}}`
|
||||
|
||||
示例:
|
||||
|
||||
```
|
||||
### {{.symbol}} 开仓
|
||||
价格: {{.price}}
|
||||
{{line "价格" .price}}
|
||||
```
|
||||
|
||||
Text 模式示例:`{{.Body}}`
|
||||
|
||||
Reference in New Issue
Block a user