|
- package main
-
- import (
- "encoding/json"
- "fmt"
- )
-
- func getKfSendURL() (url string) {
- atk, _ := GetAccessToken()
- url = fmt.Sprintf("https://api.weixin.qq.com/cgi-bin/message/custom/send?access_token=%s", atk)
- return
- }
-
- type sendTxtMsg struct {
- ToUser string `json:"touser"`
- MsgType string `json:"msgtype"`
- Text struct {
- Content string `json:"content"`
- } `json:"text"`
- }
-
- func kfSendTxt(user, txt string) {
- u := getKfSendURL()
-
- s := sendTxtMsg{}
- s.MsgType = "text"
- s.Text.Content = txt
- s.ToUser = user
-
- j, _ := json.Marshal(s)
- postJSON(j, u)
- }
-
- type sendPicMsg struct {
- ToUser string `json:"touser"`
- MsgType string `json:"msgtype"`
- Image struct {
- MediaID string `json:"media_id"`
- } `json:"image"`
- }
-
- func kfSendPic(user, pic string) {
- mID := uploadImage(pic)
- kfSendPicByMediaID(user, mID)
- }
-
- func kfSendPicByMediaID(user, mediaID string) {
- u := getKfSendURL()
- s := sendPicMsg{}
- s.ToUser = user
- s.MsgType = "image"
- s.Image.MediaID = mediaID
-
- j, _ := json.Marshal(s)
- postJSON(j, u)
- }
-
- type sendVoiceMsg struct {
- ToUser string `json:"touser"`
- MsgType string `json:"msgtype"`
- Voice struct {
- MediaID string `json:"media_id"`
- } `json:"voice"`
- }
-
- func kfSendVoice(user, path string) {
- mID := uploadVoice(path)
- kfSendVoiceByMediaID(user, mID)
- }
-
- func kfSendVoiceByMediaID(user, mediaID string) {
- u := getKfSendURL()
- s := sendVoiceMsg{}
- s.ToUser = user
- s.MsgType = "voice"
- s.Voice.MediaID = mediaID
-
- j, _ := json.Marshal(s)
- postJSON(j, u)
- }
-
- type sendVideoMsg struct {
- ToUser string `json:"touser"`
- MsgType string `json:"msgtype"`
- Video struct {
- MediaID string `json:"media_id"`
- ThumbMediaID string `json:"thumb_media_id"`
- Title string `json:"title"`
- Description string `json:"description"`
- } `json:"video"`
- }
-
- func kfSendVideo(user, path, title, description, thumb string) {
- mID := uploadVideo(path)
- tID := uploadThumb(thumb)
- kfSendVideoByMediaID(user, mID, title, description, tID)
- }
-
- func kfSendVideoByMediaID(user, mediaID, title, description, tID string) {
- u := getKfSendURL()
- s := sendVideoMsg{}
- s.ToUser = user
- s.MsgType = "video"
- s.Video.MediaID = mediaID
- s.Video.Description = description
- s.Video.Title = title
- s.Video.ThumbMediaID = tID
-
- j, _ := json.Marshal(s)
- postJSON(j, u)
- }
|