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")
}
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 {