feat: support displaying title & content in template message (close #74)

This commit is contained in:
JustSong
2023-05-08 18:58:29 +08:00
parent 7e2d7aae97
commit 030c5e0f8f
2 changed files with 16 additions and 6 deletions
+12 -3
View File
@@ -74,14 +74,19 @@ func (i *WeChatTestAccountTokenStoreItem) Refresh() {
common.SysLog("access token refreshed") common.SysLog("access token refreshed")
} }
type wechatTestAccountRequestValue struct {
Value string `json:"value"`
}
type wechatTestMessageRequest struct { type wechatTestMessageRequest struct {
ToUser string `json:"touser"` ToUser string `json:"touser"`
TemplateId string `json:"template_id"` TemplateId string `json:"template_id"`
URL string `json:"url"` URL string `json:"url"`
Data struct { Data struct {
Text struct { Text wechatTestAccountRequestValue `json:"text"` // alias for description, for compatibility
Value string `json:"value"` Title wechatTestAccountRequestValue `json:"title"`
} `json:"text"` Description wechatTestAccountRequestValue `json:"description"`
Content wechatTestAccountRequestValue `json:"content"`
} `json:"data"` } `json:"data"`
} }
@@ -91,6 +96,7 @@ type wechatTestMessageResponse struct {
} }
func SendWeChatTestMessage(message *model.Message, user *model.User, channel_ *model.Channel) error { func SendWeChatTestMessage(message *model.Message, user *model.User, channel_ *model.Channel) error {
// https://developers.weixin.qq.com/doc/offiaccount/Message_Management/Template_Message_Interface.html
values := wechatTestMessageRequest{ values := wechatTestMessageRequest{
ToUser: channel_.AccountId, ToUser: channel_.AccountId,
TemplateId: channel_.Other, TemplateId: channel_.Other,
@@ -100,6 +106,9 @@ func SendWeChatTestMessage(message *model.Message, user *model.User, channel_ *m
values.ToUser = message.To values.ToUser = message.To
} }
values.Data.Text.Value = message.Description values.Data.Text.Value = message.Description
values.Data.Title.Value = message.Title
values.Data.Description.Value = message.Description
values.Data.Content.Value = message.Content
values.URL = message.URL values.URL = message.URL
jsonData, err := json.Marshal(values) jsonData, err := json.Marshal(values)
if err != nil { if err != nil {
+4 -3
View File
@@ -152,9 +152,10 @@ const EditChannel = () => {
</a> </a>
<br /> <br />
<br /> 需要新增测试模板模板标题推荐填写为消息推送模板内容填写为
需要新增测试模板模板标题推荐填写为消息推送模板内容必须填写为 <br/>标题{' {{'}title.DATA{'}}'}
{' {{'}text.DATA{'}}'} <br/>描述{' {{'}description.DATA{'}}'}
<br/>内容{' {{'}content.DATA{'}}'}
</Message> </Message>
<Form.Group widths={3}> <Form.Group widths={3}>
<Form.Input <Form.Input