golang+json-iterator(微信ウィジェットプッシュ通知例)
2039 ワード
構造体は次のとおりです.
実際のコードは次のとおりです.
結果を返します.
その後、微信ウィジェットapiアドレスを要求します!
type WxPushContent struct {
Push_record_id int `json:"push_record_id"`
Template_id string `json:"template_id"`
Page string `json:"page"`
Data Data `json:"data"`
Emphasis_keyword string `json:"emphasis_keyword"`
}
type Data struct {
Keyword1 WxKeyword `json:"keyword1"`
Keyword2 WxKeyword `json:"keyword2"`
Keyword3 WxKeyword `json:"keyword3"`
}
type WxKeyword struct {
Value string `json:"value"`
}
実際のコードは次のとおりです.
func ExecutePush_WX(ctx *gin.Context) {
var json_iterator = jsoniter.ConfigCompatibleWithStandardLibrary
jsonWxPushContent, _ := json_iterator.Marshal(models.WxPushContent{
Push_record_id: note.Id,
Template_id: setting.MINITemplateId,
Page: "/pages/detail?isShare=true&isFromPush=" + strconv.Itoa(note.Id) + "&id=" + strconv.FormatInt(note.NewsId, 10),
Data: models.Data{
Keyword1:models.WxKeyword{Value: " "},
Keyword2:models.WxKeyword{Value: news.Title},
Keyword3:models.WxKeyword{Value: tt[0].Summary},
},
Emphasis_keyword: "keyword1.DATA"})
}
log.Println(" - : ", string(jsonWxPushContent))
結果を返します.
{
"push_record_id":33,
"template_id":"3OviTbpRI-7t8GJxlaoKtyQM6SuOXnROVk-jwj-T-GI",
"page":"/pages/detail?isShare=true&isFromPush=33&id=63688",
"data":{
"keyword1":{
"value":" "
},
"keyword2":{
"value":" ?"
},
"keyword3":{
"value":" , , , "
}
}
"emphasis_keyword":"keyword1.DATA"
}
その後、微信ウィジェットapiアドレスを要求します!