From 030c5e0f8ff291db80f7bcee2d77e8f02a3b01b9 Mon Sep 17 00:00:00 2001 From: JustSong Date: Mon, 8 May 2023 18:58:29 +0800 Subject: [PATCH] feat: support displaying title & content in template message (close #74) --- channel/wechat-test-account.go | 15 ++++++++++++--- web/src/pages/Channel/EditChannel.js | 7 ++++--- 2 files changed, 16 insertions(+), 6 deletions(-) diff --git a/channel/wechat-test-account.go b/channel/wechat-test-account.go index 2bdd59a..31b86ca 100644 --- a/channel/wechat-test-account.go +++ b/channel/wechat-test-account.go @@ -74,14 +74,19 @@ func (i *WeChatTestAccountTokenStoreItem) Refresh() { common.SysLog("access token refreshed") } +type wechatTestAccountRequestValue struct { + Value string `json:"value"` +} + type wechatTestMessageRequest struct { ToUser string `json:"touser"` TemplateId string `json:"template_id"` URL string `json:"url"` Data struct { - Text struct { - Value string `json:"value"` - } `json:"text"` + Text wechatTestAccountRequestValue `json:"text"` // alias for description, for compatibility + Title wechatTestAccountRequestValue `json:"title"` + Description wechatTestAccountRequestValue `json:"description"` + Content wechatTestAccountRequestValue `json:"content"` } `json:"data"` } @@ -91,6 +96,7 @@ type wechatTestMessageResponse struct { } 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{ ToUser: channel_.AccountId, TemplateId: channel_.Other, @@ -100,6 +106,9 @@ func SendWeChatTestMessage(message *model.Message, user *model.User, channel_ *m values.ToUser = message.To } 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 jsonData, err := json.Marshal(values) if err != nil { diff --git a/web/src/pages/Channel/EditChannel.js b/web/src/pages/Channel/EditChannel.js index 7f54142..79ddb1b 100644 --- a/web/src/pages/Channel/EditChannel.js +++ b/web/src/pages/Channel/EditChannel.js @@ -152,9 +152,10 @@ const EditChannel = () => { 。
-
- 需要新增测试模板,模板标题推荐填写为「消息推送」,模板内容必须填写为 - {' {{'}text.DATA{'}}'}。 + 需要新增测试模板,模板标题推荐填写为「消息推送」,模板内容填写为: +
标题:{' {{'}title.DATA{'}}'} +
描述:{' {{'}description.DATA{'}}'} +
内容:{' {{'}content.DATA{'}}'}