|
- //analyze xml message
- package main
-
- import (
- "encoding/xml"
- )
-
- //EncryptedMsg encrypted message from Wechat
- type EncryptedMsg struct {
- ToUserName string
- Encrypt string
- }
-
- //all xml message has these headers
- type CommonHeader struct {
- ToUserName string
- FromUserName string
- CreateTime int64
- MsgType string
- }
-
- //text message
- type TextMsg struct {
- Content string
- MsgId int64
- }
-
- //picture
- type PicMsg struct {
- PicUrl string
- MediaId string
- MsgId int64
- }
-
- //voice
- type VoiceMsg struct {
- MediaId string
- Format string
- MsgId int64
- Recognition string
- }
-
- //video
- type VideoMsg struct {
- MediaId string
- ThumbMediaId string
- MsgId int64
- }
-
- //short video
- type ShortVideoMsg struct {
- MediaId string
- ThumbMediaId string
- MsgId int64
- }
-
- //Location Info
- type LocationMsg struct {
- Location_X float64
- Location_Y float64
- Scale int
- Label string
- MsgId int64
- }
-
- type LinkMsg struct {
- Title string
- Description string
- Url string
- MsgId int64
- }
-
- //ReadCommonHeader parse xml of common field of wechat post message
- func ReadCommonHeader(s string) CommonHeader {
- var r = CommonHeader{}
- xml.Unmarshal([]byte(s), &r)
- return r
- }
-
- //ReadTextMsg extract text message
- func ReadTextMsg(s string) TextMsg {
- var r = TextMsg{}
- xml.Unmarshal([]byte(s), &r)
- return r
- }
-
- //ReadPicMsg extract text message
- func ReadPicMsg(s string) PicMsg {
- var r = PicMsg{}
- xml.Unmarshal([]byte(s), &r)
- return r
- }
-
- //ReadVoiceMsg extract text message
- func ReadVoiceMsg(s string) VoiceMsg {
- var r = VoiceMsg{}
- xml.Unmarshal([]byte(s), &r)
- return r
- }
-
- //ReadVideoMsg extract text message
- func ReadVideoMsg(s string) VideoMsg {
- var r = VideoMsg{}
- xml.Unmarshal([]byte(s), &r)
- return r
- }
-
- //ReadShortVideoMsg extract text message
- func ReadShortVideoMsg(s string) ShortVideoMsg {
- var r = ShortVideoMsg{}
- xml.Unmarshal([]byte(s), &r)
- return r
- }
-
- //ReadLocationMsg extract text message
- func ReadLocationMsg(s string) LocationMsg {
- var r = LocationMsg{}
- xml.Unmarshal([]byte(s), &r)
- return r
- }
-
- //ReadLinkMsg extract text message
- func ReadLinkMsg(s string) LinkMsg {
- var r = LinkMsg{}
- xml.Unmarshal([]byte(s), &r)
- return r
- }
-
- //ReadEncryptedMsg get Encrypted Msg
- func ReadEncryptedMsg(s string) EncryptedMsg {
- var r = EncryptedMsg{}
- xml.Unmarshal([]byte(s), &r)
- return r
- }
|