mp

package
v0.0.0-...-125b544 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 21, 2015 License: Apache-2.0 Imports: 12 Imported by: 0

Documentation

Overview

Package mp provides accesstoken fetch functions for wechat mp dev

Package mp provides encrpytmsg and decrpytmsg for mp wechat message.

Package mp provides menu create opertations.

Package mp provides functions for handling the received messages.

Index

Constants

View Source
const (
	// Msg type
	TextMsg       = "text"
	ImageMsg      = "image"
	VoiceMsg      = "voice"
	VideoMsg      = "video"
	ShortVideoMsg = "shortvideo"
	LocationMsg   = "location"
	LinkMsg       = "link"
	EventMsg      = "event"

	// Event type
	SubscribeEvent   = "subscribe"
	UnsubscribeEvent = "unsubscribe"
	LocationEvent    = "LOCATION"
	MenuClickEvent   = "CLICK"
	MenuViewEvent    = "VIEW"
	ScanEvent        = "SCAN"
)

Variables

This section is empty.

Functions

func CreateMenu

func CreateMenu(menuLayout []byte, accessToken, agentID string) error

func DecryptMsg

func DecryptMsg(cipherText, encodingAESKey string) ([]byte, int, string, error)

DecryptMsg is used to decrpyt msg_encrypt in wechat mp request. it returns msg, msgLen, corpid, error. msg_encrypt = Base64_Encode( AES_Encrypt[random(16B) + msg_len(4B) + msg + $appID]).

func EncryptMsg

func EncryptMsg(msg []byte, appID string, encodingAESKey string) (string, error)

EncryptMsg is used to encrpyt msg in wechat mp response or custom message. it returns msg_encrypt. msg_encrypt = Base64_Encode( AES_Encrypt[random(16B) + msg_len(4B) + msg + $appID]).

func FetchAccessToken

func FetchAccessToken(appID, appSecret string) (string, float64, error)

FetchAccessToken could be used to fetch access token for wechat qy dev.

func NewRecvHandler

func NewRecvHandler(appID, token, encodingAESKey string) pb.RecvHandler

NewRecvHandler creates an instance of recvHandler which implements pb.RecvHandler interface.

func SendMsg

func SendMsg(accessToken string, pkg interface{}) error

func ValidateSignature

func ValidateSignature(signature, token, timestamp, nonce string) bool

ValidateSignature is used to validate the signature in request to figure out whether the http request come from wechat mp platform.

Types

type RecvHTTPEncryptReqBody

type RecvHTTPEncryptReqBody struct {
	ToUserName string
	Encrypt    string
}

RecvHTTPEncryptReqBody is a unmarshall result for below xml data: <xml>

<ToUserName><![CDATA[toUser]]</ToUserName>
<Encrypt><![CDATA[msg_encrypt]]</Encrypt>

</xml>

type RecvHTTPEncryptRespBody

type RecvHTTPEncryptRespBody struct {
	XMLName      xml.Name `xml:"xml"`
	Encrypt      pb.CDATAText
	MsgSignature pb.CDATAText
	TimeStamp    int
	Nonce        pb.CDATAText
}

RecvHTTPEncryptResqBody is a source for marshalling below xml data: <xml>

<Encrypt><![CDATA[msg_encrypt]]></Encrypt>
<MsgSignature><![CDATA[msg_signature]]></MsgSignature>
<TimeStamp>timestamp</TimeStamp>
<Nonce><![CDATA[nonce]]></Nonce>

</xml>

type RecvImageDataPkg

type RecvImageDataPkg struct {
	pb.RecvBaseDataPkg
	PicURL  string
	MediaID string
	MsgID   uint64 `xml:"MsgId"`
}

RecvImageDataPkg is a Image Message received from wechat platform.

type RecvLinkDataPkg

type RecvLinkDataPkg struct {
	pb.RecvBaseDataPkg
	Title       string
	Description string
	URL         string `xml:"Url"`
	MsgID       uint64 `xml:"MsgId"`
}

RecvLinkDataPkg is a Link Message received from wechat platform.

type RecvLocationDataPkg

type RecvLocationDataPkg struct {
	pb.RecvBaseDataPkg
	LocX  float64 `xml:"Location_X"`
	LocY  float64 `xml:"Location_Y"`
	Scale int
	Label string
	MsgID uint64 `xml:"MsgId"`
}

RecvLocationDataPkg is a Location Message received from wechat platform.

type RecvLocationEventDataPkg

type RecvLocationEventDataPkg struct {
	pb.RecvBaseDataPkg
	Event     string
	Latitude  float64
	Longitude float64
	Precision float64
}

RecvLocationEventDataPkg is a Location event Message received from wechat platform.

type RecvMenuEventDataPkg

type RecvMenuEventDataPkg struct {
	pb.RecvBaseDataPkg
	Event    string
	EventKey string
}

RecvMenuEventDataPkg is a Menu Click event Message received from wechat platform.

type RecvScanEventDataPkg

type RecvScanEventDataPkg struct {
	pb.RecvBaseDataPkg
	Event    string
	EventKey string
	Ticket   string
}

RecvScanDataPkg is a scan event from subscribed user from wechat platform.

type RecvShortVideoDataPkg

type RecvShortVideoDataPkg struct {
	pb.RecvBaseDataPkg
	MediaID      string
	ThumbMediaID string
	MsgID        uint64 `xml:"MsgId"`
}

RecvShortVideoDataPkg is a short video Message received from wechat platform.

type RecvSubscribeEventDataPkg

type RecvSubscribeEventDataPkg struct {
	pb.RecvBaseDataPkg
	Event string
}

RecvSubscribeEventDataPkg is a Subscribe/Unsubscribe event Message received from wechat platform.

type RecvTextDataPkg

type RecvTextDataPkg struct {
	pb.RecvBaseDataPkg
	Content string
	MsgID   uint64 `xml:"MsgId"`
}

RecvTextDataPkg is a Text Message received from wechat platform.

type RecvUnsubscribeScanEventDataPkg

type RecvUnsubscribeScanEventDataPkg struct {
	pb.RecvBaseDataPkg
	Event    string
	EventKey string
	Ticket   string
}

RecvUnsubscribeScanDataPkg is a scan event from unsubscribe user from wechat platform.

type RecvVideoDataPkg

type RecvVideoDataPkg struct {
	pb.RecvBaseDataPkg
	MediaID      string
	ThumbMediaID string
	MsgID        uint64 `xml:"MsgId"`
}

RecvVideoDataPkg is a Video Message received from wechat platform.

type RecvVoiceDataPkg

type RecvVoiceDataPkg struct {
	pb.RecvBaseDataPkg
	MediaID string
	Format  string
	MsgID   uint64 `xml:"MsgId"`
}

RecvVoiceDataPkg is a Voice Message received from wechat platform.

type RecvVoiceRecognitionDataPkg

type RecvVoiceRecognitionDataPkg struct {
	pb.RecvBaseDataPkg
	MediaID     string `xml:"MediaId"`
	Format      string
	Recognition string
	MsgID       uint64 `xml:"MsgId"`
}

RecvVoiceRecognitionDataPkg is a Voice recognition Message received from wechat platform.

type WebAccessTokenResponse

type WebAccessTokenResponse struct {
	AccessToken  string  `json:"access_token"`
	ExpiresIn    float64 `json:"expires_in"`
	RefreshToken string  `json:"refresh_token"`
	OpenID       string  `json:"openid"`
	Scope        string  `json:"scope"`
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL