Documentation
¶
Overview ¶
Weixin MP SDK (Golang)
Index ¶
- Constants
- func Int64Assert(val interface{}) int64
- func ParseCreateTime(createTime interface{}) time.Time
- func SetLogger(aLogger *log.FactorLog)
- type Article
- type Button
- type Group
- type HandlerFunc
- type Menu
- type MessageHeader
- type Music
- type Request
- type ResponseWriter
- type SceneParams
- type ScenesMap
- type Subscribers
- type TicketReply
- type User
- type Weixin
- func (wx *Weixin) ChangeGroupName(group *Group) error
- func (wx *Weixin) ChangeUserGroup(openId string, groupId uint64) error
- func (wx *Weixin) CreateGroup(name string) (group *Group, err error)
- func (wx *Weixin) CreateMenu(menu *Menu) error
- func (wx *Weixin) CreateQrcode(sceneId uint64) (ticketReply *TicketReply, err error)
- func (wx *Weixin) CreateTempQrcode(sceneId uint64, expireSeconds uint) (ticketReply *TicketReply, err error)
- func (wx *Weixin) DeleteMenu() error
- func (wx *Weixin) DownloadMedia(mediaId string, writer io.Writer) error
- func (wx *Weixin) DownloadMediaToFile(mediaId string, fp string) error
- func (wx *Weixin) GetGroups() (groups []Group, err error)
- func (wx *Weixin) GetQrcodeImage(sceneId uint64) ([]byte, http.Header, int, error)
- func (wx *Weixin) GetSubscribers(nextOpenId string) (subscribers *Subscribers, err error)
- func (wx *Weixin) GetTempQrcodeImage(sceneId uint64, expireSeconds uint) ([]byte, http.Header, int, error)
- func (wx *Weixin) GetUser(openId string, lang string) (user *User, err error)
- func (wx *Weixin) GetUserGroup(openId string) (group *Group, err error)
- func (wx *Weixin) HandleFunc(pattern string, handler HandlerFunc)
- func (wx *Weixin) PostImage(touser string, mediaId string) error
- func (wx *Weixin) PostMusic(touser string, music *Music) error
- func (wx *Weixin) PostNews(touser string, articles []Article) error
- func (wx *Weixin) PostText(touser string, text string) error
- func (wx *Weixin) PostVideo(touser string, m string, t string, d string) error
- func (wx *Weixin) PostVoice(touser string, mediaId string) error
- func (wx *Weixin) ServeHTTP(w http.ResponseWriter, r *http.Request)
- func (wx *Weixin) SetDb(db *pg.DB)
- func (wx *Weixin) UploadMedia(mediaType string, filename string, reader io.Reader) (string, error)
- func (wx *Weixin) UploadMediaFromFile(mediaType string, fp string) (string, error)
Constants ¶
View Source
const ( QR_SCENE = "QR_SCENE" QR_LIMIT_SCENE = "QR_LIMIT_SCENE" EventSubscribe = "subscribe" EventUnsubscribe = "unsubscribe" EventScan = "SCAN" EventClick = "CLICK" // Message type MsgTypeDefault = ".*" MsgTypeText = "text" MsgTypeImage = "image" MsgTypeVoice = "voice" MsgTypeVideo = "video" MsgTypeLocation = "location" MsgTypeLink = "link" MsgTypeEvent = msgEvent + ".*" MsgTypeEventSubscribe = msgEvent + "\\." + EventSubscribe MsgTypeEventUnsubscribe = msgEvent + "\\." + EventUnsubscribe MsgTypeEventScan = msgEvent + "\\." + EventScan MsgTypeEventClick = msgEvent + "\\." + EventClick // Media type MediaTypeImage = "image" MediaTypeVoice = "voice" MediaTypeVideo = "video" MediaTypeThumb = "thumb" )
Variables ¶
This section is empty.
Functions ¶
func Int64Assert ¶
func Int64Assert(val interface{}) int64
func ParseCreateTime ¶
Types ¶
type Article ¶
type Article struct {
Title string `json:"title"`
Description string `json:"description"`
PicUrl string `json:"picurl"`
Url string `json:"url"`
}
Use to reply news message
type MessageHeader ¶
Common message header
type Music ¶
type Music struct {
Title string `json:"title"`
Description string `json:"description"`
MusicUrl string `json:"musicurl"`
HQMusicUrl string `json:"hqmusicurl"`
ThumbMediaId string `json:"thumb_media_id"`
}
Use to reply music message
type Request ¶
type Request struct {
MessageHeader
MsgId int64
Content string
PicUrl string
MediaId string
Format string
ThumbMediaId string
LocationX float32 `xml:"Location_X"`
LocationY float32 `xml:"Location_Y"`
Scale float32
Label string
Title string
Description string
Url string
Event string
EventKey string
Ticket string
Latitude float32
Longitude float32
Precision float32
Recognition string
FormValues url.Values
}
Weixin request
type ResponseWriter ¶
type ResponseWriter interface {
// Reply message
ReplyText(text string)
ReplyImage(mediaId string)
ReplyVoice(mediaId string)
ReplyVideo(mediaId string, title string, description string)
ReplyMusic(music *Music)
ReplyNews(articles []Article)
// Post message
PostText(text string) error
PostImage(mediaId string) error
PostVoice(mediaId string) error
PostVideo(mediaId string, title string, description string) error
PostMusic(music *Music) error
PostNews(articles []Article) error
// Media operator
UploadMediaFromFile(mediaType string, filepath string) (string, error)
DownloadMediaToFile(mediaId string, filepath string) error
UploadMedia(mediaType string, filename string, reader io.Reader) (string, error)
DownloadMedia(mediaId string, writer io.Writer) error
// Group operator
CreateGroup(name string) (*Group, error)
GetGroups() ([]Group, error)
GetUserGroup(openId string) (*Group, error)
ChangeGroupName(group *Group) error
ChangeUserGroup(openId string, groupId uint64) error
// User operator
GetUser(openId string, lang string) (*User, error)
GetSubscribers(nextOpenId string) (*Subscribers, error)
GetSubscribersWithInfo(nextOpenId string) (*Subscribers, []*User, error)
// Menu operator
CreateMenu(menu *Menu) error
DeleteMenu() error
// Orcode operator
CreateQrcode(sceneId uint64) (*TicketReply, error)
CreateTempQrcode(sceneId uint64, expireSeconds uint) (*TicketReply, error)
ShowQrcode(sceneId uint64) error
ShowTempQrcode(sceneId uint64, expireSeconds uint) error
// Helper
PgDB() *pg.DB
App() string
Wx() *Weixin
}
Use to output reply
type SceneParams ¶
type Subscribers ¶
type TicketReply ¶
type User ¶
type User struct {
Subscribe uint8 `json:"subscribe"`
OpenId string `json:"openid"`
Nick string `json:"nickname"`
Sex uint8 `json:"sex"`
City string `json:"city"`
Country string `json:"country"`
Province string `json:"province"`
Language string `json:"language"`
HeadImgUrl string `json:"headimgurl"`
SubscribeTime uint64 `json:"subscribe_time"`
UnsubscribeTime uint64 `json:"unsubscribe_time"`
GroupId uint64 `json:"groupid"`
}
type Weixin ¶
type Weixin struct {
// contains filtered or unexported fields
}
func (*Weixin) ChangeGroupName ¶
Change Group Name
func (*Weixin) ChangeUserGroup ¶
Change User Group
func (*Weixin) CreateGroup ¶
Create Group
func (*Weixin) CreateQrcode ¶
func (wx *Weixin) CreateQrcode(sceneId uint64) (ticketReply *TicketReply, err error)
Create Permenent Qrcode
func (*Weixin) CreateTempQrcode ¶
func (wx *Weixin) CreateTempQrcode(sceneId uint64, expireSeconds uint) (ticketReply *TicketReply, err error)
Create Temperary Qrcode
func (*Weixin) DownloadMedia ¶
Download media with media
func (*Weixin) DownloadMediaToFile ¶
Download media and save to local file
func (*Weixin) GetQrcodeImage ¶
Get Qrcode Image
func (*Weixin) GetSubscribers ¶
func (wx *Weixin) GetSubscribers(nextOpenId string) (subscribers *Subscribers, err error)
Get Subscribers
func (*Weixin) GetTempQrcodeImage ¶
func (wx *Weixin) GetTempQrcodeImage(sceneId uint64, expireSeconds uint) ([]byte, http.Header, int, error)
Get Temperary Qrcode Image
func (*Weixin) GetUserGroup ¶
Get User Group
func (*Weixin) HandleFunc ¶
func (wx *Weixin) HandleFunc(pattern string, handler HandlerFunc)
Register request callback.
func (*Weixin) ServeHTTP ¶
func (wx *Weixin) ServeHTTP(w http.ResponseWriter, r *http.Request)
Process weixin request and send response.
func (*Weixin) UploadMedia ¶
Upload media with media
Source Files
¶
Click to show internal directories.
Click to hide internal directories.

