base

package
v0.0.0-...-fb94b6f Latest Latest
Warning

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

Go to latest
Published: Aug 5, 2015 License: MIT Imports: 10 Imported by: 2

Documentation

Index

Constants

View Source
const (
	ErrCodeOk                = 0
	ErrCodeTokenInvalid      = 40001
	ErrCodeTokenTimeout      = 42001
	ErrCodeSuiteTokenTimeout = 42004
	ErrCodeSuiteTokenInvalid = 42009
	ErrCodeSuiteTokenFailure = 48003
)

错误返回码

Variables

This section is empty.

Functions

func GenerateNonce

func GenerateNonce() string

GenerateNonce 方法生成随机数

func GenerateTimestamp

func GenerateTimestamp() int

GenerateTimestamp 方法生成时间戳

Types

type CDATAText

type CDATAText struct {
	Text string `xml:",innerxml"`
}

CDATAText 用于在 xml 解析时避免转义

func StringToCDATA

func StringToCDATA(text string) CDATAText

StringToCDATA 方法用于将普通文本变换为 CDATAText 类型

type Client

type Client struct {
	// contains filtered or unexported fields
}

Client 封装了公共的请求方法

func NewClient

func NewClient(api interface{}) *Client

NewClient 方法用于创建 Client 实例

func (*Client) GetJSON

func (c *Client) GetJSON(url string) ([]byte, error)

GetJSON 方法用于发起 JSON GET 请求

func (*Client) GetMedia

func (c *Client) GetMedia(url string) (*http.Response, error)

GetMedia 方法专用于从微信服务器获取媒体文件

func (*Client) PostJSON

func (c *Client) PostJSON(url string, data []byte) ([]byte, error)

PostJSON 方法用于发起 JSON POST 请求

func (*Client) PostMultipart

func (c *Client) PostMultipart(url, fieldname, filename string, dataReader io.Reader) ([]byte, error)

PostMultipart 方法用于发起 multipart/form-data POST 请求

type Error

type Error struct {
	ErrCode int    `json:"errcode"`
	ErrMsg  string `json:"errmsg"`
}

Error 为 API 调用失败的响应内容

func (*Error) Error

func (e *Error) Error() string

type RecvHTTPReqBody

type RecvHTTPReqBody struct {
	ToUserName string
	AgentID    string
	Encrypt    string
}

RecvHTTPReqBody 为回调数据

type RecvHTTPRespBody

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

RecvHTTPRespBody 为被动响应给微信的数据

type RecvHandler

type RecvHandler interface {
	Parse(body []byte, signature, timestamp, nonce string) (interface{}, error)
	Response(message []byte) ([]byte, error)
}

RecvHandler 为微信消息回调模式需要实现的接口

type Retrier

type Retrier interface {
	Retriable(url string, body []byte) (retriable bool, newURL string, err error)
}

Retrier 是带有重试机制 api 需要实现的接口

type TokenFetcher

type TokenFetcher interface {
	FetchToken() (token string, expiresIn int64, err error)
}

TokenFetcher 包含向 API 服务器获取令牌信息的操作

type Tokener

type Tokener struct {
	// contains filtered or unexported fields
}

Tokener 用于管理应用套件或企业号的令牌信息

func NewTokener

func NewTokener(tokenFetcher TokenFetcher) *Tokener

NewTokener 方法用于创建 Tokener 实例

func (*Tokener) RefreshToken

func (t *Tokener) RefreshToken() error

RefreshToken 方法用于刷新令牌信息

func (*Tokener) Token

func (t *Tokener) Token() (token string, err error)

Token 方法用于获取应用套件令牌

Jump to

Keyboard shortcuts

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