aa
This commit is contained in:
@@ -12,6 +12,7 @@ const (
|
||||
MaterialTypeVideo = "video"
|
||||
MaterialTypeVoice = "voice"
|
||||
MaterialTypeNews = "news"
|
||||
MaterialTypeThumb = "thumb"
|
||||
)
|
||||
|
||||
type CBUserInfo struct {
|
||||
@@ -163,9 +164,61 @@ func (a *API) CBBatchgetMaterial(mediaType string, offset, count int) (ticketInf
|
||||
|
||||
//上传图片
|
||||
func (a *API) CBUploadImg(data []byte, fileName, contentType string) (url string, err error) {
|
||||
result, err := a.AccessAPIUpload(data, fileName, contentType)
|
||||
result, err := a.AccessAPIUpload("cgi-bin/media/uploadimg", data, fileName, contentType, "")
|
||||
if err == nil {
|
||||
return result["url"].(string), err
|
||||
}
|
||||
return url, err
|
||||
}
|
||||
|
||||
//上传图片素材
|
||||
func (a *API) CBUploadThumb(data []byte, fileName, contentType string) (mediaID, url string, err error) {
|
||||
result, err := a.AccessAPIUpload("cgi-bin/material/add_material", data, fileName, contentType, MaterialTypeThumb)
|
||||
if err == nil {
|
||||
return result["media_id"].(string), result["url"].(string), err
|
||||
}
|
||||
return mediaID, url, err
|
||||
}
|
||||
|
||||
type CBAddNewsParamF struct {
|
||||
Articles []*CBAddNewsParam `json:"articles"`
|
||||
}
|
||||
|
||||
type CBAddNewsParam struct {
|
||||
Title string `json:"title"` //是 标题
|
||||
ThumbMediaID string `json:"thumb_media_id"` //是 图文消息的封面图片素材id(必须是永久mediaID)
|
||||
Author string `json:"author"` //否 作者
|
||||
Digest string `json:"digest"` //否 图文消息的摘要,仅有单图文消息才有摘要,多图文此处为空。如果本字段为没有填写,则默认抓取正文前54个字。
|
||||
ShowCoverPic int `json:"show_cover_pic"` //是 是否显示封面,0为false,即不显示,1为true,即显示
|
||||
Content string `json:"content"` //是 图文消息的具体内容,支持HTML标签,必须少于2万字符,小于1M,且此处会去除JS,涉及图片url必须来源 "上传图文消息内的图片获取URL"接口获取。外部图片url将被过滤。
|
||||
ContentSourceUrl string `json:"content_source_url"` //是 图文消息的原文地址,即点击“阅读原文”后的URL
|
||||
NeedOpenComment int `json:"need_open_comment"` //否 Uint32 是否打开评论,0不打开,1打开
|
||||
OnlyFansCanComment int `json:"only_fans_can_comment"` //否 Uint32 是否粉丝才可评论,0所有人可评论,1粉丝才可评论
|
||||
}
|
||||
|
||||
//新增永久图文素材
|
||||
func (a *API) CBAddNews(cbAddNewsParam *CBAddNewsParam) (mediaID string, err error) {
|
||||
params := &CBAddNewsParamF{
|
||||
Articles: []*CBAddNewsParam{},
|
||||
}
|
||||
params.Articles = append(params.Articles, cbAddNewsParam)
|
||||
bodyJson := utils.Struct2FlatMap(params)
|
||||
result, err := a.AccessAPI("cgi-bin/material/add_news", nil, string(utils.MustMarshal(bodyJson)))
|
||||
if err == nil {
|
||||
return result["media_id"].(string), err
|
||||
}
|
||||
return mediaID, err
|
||||
}
|
||||
|
||||
//根据OpenID列表群发【订阅号不可用,服务号认证后可用】
|
||||
func (a *API) CBMassSend(openIDs []string, mediaID string) (err error) {
|
||||
bodyJson := map[string]interface{}{
|
||||
"touser": openIDs,
|
||||
"mpnews": map[string]interface{}{
|
||||
"media_id": mediaID,
|
||||
},
|
||||
"msgtype": "mpnews",
|
||||
}
|
||||
_, err = a.AccessAPI("cgi-bin/message/mass/send", nil, string(utils.MustMarshal(bodyJson)))
|
||||
return err
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user