wechat

package module
v0.0.8 Latest Latest
Warning

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

Go to latest
Published: Jan 3, 2021 License: MIT Imports: 30 Imported by: 0

README

Wechat SDK

It is probably the best SDK in the world for developing WeChat App In Go.

Usage

Install
go get -u github.com/jony4/wechat
Examples
package main

import (
	"context"
	"fmt"
	"log"
	"time"

	"github.com/jony4/wechat"
)

func main() {
	logger := wechat.NewDefaultLogger()
	// init default client
	ctx, cancel := context.WithTimeout(context.Background(), 1*time.Second)
	defer cancel()
	opts := []wechat.ClientOptionFunc{
		wechat.SetInfoLog(logger),
		wechat.SetErrorLog(logger),
		wechat.SetTraceLog(logger),
		wechat.SetGzip(true),
	}
	client, err := wechat.NewClient(opts...)
	if err != nil {
		log.Fatal(err)
	}
	res, err := client.MiniProgramAuth().
		SetAppID("xxx").  // 填写小程序的 appid
		SetSecret("xxx"). // 填写小程序的 secret
		SetJscode("xxx"). // 填写前端传入的 jscode
		Do(ctx)
	if err != nil {
		log.Fatal(err)
	}
	fmt.Println(res)
}

Documentation

Index

Constants

View Source
const (
	// OfficeAccountBaseHost base uri
	OfficeAccountBaseHost = "api.weixin.qq.com"
	// MiniProgramBaseHost base uri
	MiniProgramBaseHost = "api.weixin.qq.com"
	// WorkBaseHost work base uri
	WorkBaseHost = "qyapi.weixin.qq.com"
)
View Source
const (
	DefaultInterval   time.Duration = 1 * time.Minute // min unit set to ms
	DefaultExpiration time.Duration = 0
	NoExpiration      time.Duration = -1
)

const of cache

View Source
const (
	// Version is the current version of wechat.
	Version = "0.0.3"

	// DefaultScheme is the default protocol scheme to use.
	DefaultScheme = "https"

	// DefaultSendGetBodyAs is the HTTP method to use when wechat is sending
	// a GET request with a body.
	DefaultSendGetBodyAs = "GET"

	// DefaultGzipEnabled specifies if gzip compression is enabled by default.
	DefaultGzipEnabled = false

	// DefaultCacheExpiration of access token
	DefaultCacheExpiration = 7200 * time.Second

	// DefaultCacheInterval cleanup cache
	DefaultCacheInterval = 240 * time.Minute
)
View Source
const (
	MiniProgramAppCodeGetEndpoint        = "wxa/getwxacode"
	MiniProgramAppCodeGetUnlimitEndpoint = "wxa/getwxacodeunlimit"
	MiniProgramAppCodeCreateEndpoint     = "cgi-bin/wxaapp/createwxaqrcode"
)

Endpoint

View Source
const (
	MiniProgramActivityMessageCreateEndpoint = "cgi-bin/message/wxopen/activityid/create"
	MiniProgramActivityMessageUpdateEndpoint = "cgi-bin/message/wxopen/updatablemsg/send"
)

Endpoint

View Source
const (
	// MPSubscribeMessageEndpoint https://developers.weixin.qq.com/miniprogram/dev/api-backend/open-api/subscribe-message/subscribeMessage.send.html
	MPSubscribeMessageEndpoint = "cgi-bin/message/subscribe/send"
)
View Source
const (
	// MiniProgramAccessTokenEndpoint Endpoint
	MiniProgramAccessTokenEndpoint = "cgi-bin/token"
)
View Source
const (
	// MiniProgramAuthEndpoint Endpoint
	MiniProgramAuthEndpoint = "sns/jscode2session"
)
View Source
const (
	// MiniProgramPaidEndpoint Endpoint
	MiniProgramPaidEndpoint = "wxa/getpaidunionid"
)
View Source
const (
	MiniProgramSecImgEndpoint = "wxa/img_sec_check"
)

Endpoint

View Source
const (
	MiniProgramSecMsgEndpoint = "wxa/msg_sec_check"
)

Endpoint

View Source
const (
	// MiniProgramUniformMessageEndpoint ..
	// 这个接口的初衷就是想大家在开发小程序的时候,如果要发送公众号消息直接使用这个接口就可以了,无需再去调用公众号的模板消息接口
	MiniProgramUniformMessageEndpoint = "cgi-bin/message/wxopen/template/uniform_send"
)
View Source
const (
	// OACustomMessageEndpoint https://developers.weixin.qq.com/doc/offiaccount/Message_Management/Service_Center_messages.html
	OACustomMessageEndpoint = "cgi-bin/message/custom/send"
)
View Source
const (
	// OfficeAccountAccessTokenEndpoint Endpoint
	OfficeAccountAccessTokenEndpoint = "cgi-bin/token"
)
View Source
const (
	// WorkAccessTokenEndpoint Endpoint
	WorkAccessTokenEndpoint = "cgi-bin/gettoken"
)
View Source
const (
	// WorkAppMessageEndpoint Endpoint
	WorkAppMessageEndpoint = "cgi-bin/message/send"
)

Variables

View Source
var (
	// ErrNoClient is raised when no Wechat node is available.
	ErrNoClient = errors.New("no Wechat node available")

	// ErrTimeout is raised when a request timed out, e.g. when WaitForStatus
	// didn't return in time.
	ErrTimeout = errors.New("timeout")

	// ErrNoBaseURI is raised when no base uri is available
	ErrNoBaseURI = errors.New("no base uri available")

	// ErrNoEndpoint is raised when no endpoint is available
	ErrNoEndpoint = errors.New("no endpoint available")
)
View Source
var (
	ErrAppIDNotMatch       = errors.New("app id not match")
	ErrInvalidBlockSize    = errors.New("invalid block size")
	ErrInvalidPKCS7Data    = errors.New("invalid PKCS7 data")
	ErrInvalidPKCS7Padding = errors.New("invalid padding on input")
)

err

View Source
var (
	ErrCacheKeyNotExist = errors.New("key not exist")
)

var of cache

View Source
var (
	// ErrResponseSize is raised if a response body exceeds the given max body size.
	ErrResponseSize = errors.New("wechat: response size too large")
)
View Source
var (
	ErrUserRefuseToAccept = errors.New("user refuse to accept the msg")
)

err

Functions

func AESDecryptMsg

func AESDecryptMsg(ciphertext []byte, aesKey []byte) (random, rawXMLMsg, appID []byte, err error)

AESDecryptMsg ciphertext = AES_Encrypt[random(16B) + msg_len(4B) + rawXMLMsg + appId]

func AESEncryptMsg

func AESEncryptMsg(random, rawXMLMsg []byte, appID string, aesKey []byte) (ciphertext []byte, err error)

AESEncryptMsg ciphertext = AES_Encrypt[random(16B) + msg_len(4B) + rawXMLMsg + appId]

func DecodeWithCommonError

func DecodeWithCommonError(apiName string, ce CommonError) (err error)

DecodeWithCommonError DecodeWithCommonError

func DecryptMsg

func DecryptMsg(appID, encryptedMsg, aesKey string) (random, rawMsgXMLBytes []byte, err error)

DecryptMsg DecryptMsg

func EncryptMsg

func EncryptMsg(random, rawXMLMsg []byte, appID, aesKey string) (encrtptMsg []byte, err error)

EncryptMsg EncryptMsg

func IsConflict

func IsConflict(err interface{}) bool

IsConflict returns true if the given error indicates that the wechat operation resulted in a version conflict. This can occur in operations like `update` or `index` with `op_type=create`. The err parameter can be of type *wechat.Error, wechat.Error, *http.Response or int (indicating the HTTP status code).

func IsConnErr

func IsConnErr(err error) bool

IsConnErr returns true if the error indicates that wechat could not find an wechat host to connect to.

func IsContextErr

func IsContextErr(err error) bool

IsContextErr returns true if the error is from a context that was canceled or deadline exceeded

func IsForbidden

func IsForbidden(err interface{}) bool

IsForbidden returns true if the given error indicates that wechat returned HTTP status 403. This happens e.g. due to a missing license. The err parameter can be of type *wechat.Error, wechat.Error, *http.Response or int (indicating the HTTP status code).

func IsNotFound

func IsNotFound(err interface{}) bool

IsNotFound returns true if the given error indicates that wechat returned HTTP status 404. The err parameter can be of type *wechat.Error, wechat.Error, *http.Response or int (indicating the HTTP status code).

func IsStatusCode

func IsStatusCode(err interface{}, code int) bool

IsStatusCode returns true if the given error indicates that the wechat operation returned the specified HTTP status code. The err parameter can be of type *http.Response, *Error, Error, or int (indicating the HTTP status code).

func IsTimeout

func IsTimeout(err interface{}) bool

IsTimeout returns true if the given error indicates that wechat returned HTTP status 408. The err parameter can be of type *wechat.Error, wechat.Error, *http.Response or int (indicating the HTTP status code).

func MD5Sum

func MD5Sum(txt string) (sum string)

MD5Sum 计算 32 位长度的 MD5 sum

func RandomStr

func RandomStr(length int) []byte

RandomStr random string

func Signature

func Signature(params ...string) string

Signature sha1签名

Types

type AccessToken

type AccessToken struct {
	AccessToken string `json:"access_token"`
	ExpiresIn   int64  `json:"expires_in"`
}

AccessToken AccessToken

type Article

type Article struct {
	Title       string `json:"title"`
	Description string `json:"description"`
	URL         string `json:"url"`
	Picurl      string `json:"picurl"`
}

Article Article

type BasicAccessToken

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

BasicAccessToken BasicAccessToken

func NewBasicAccessToken

func NewBasicAccessToken(c *Client, accessToken IAccessToken) *BasicAccessToken

NewBasicAccessToken NewBasicAccessToken

func (*BasicAccessToken) GetToken

func (bat *BasicAccessToken) GetToken(ctx context.Context, refresh bool) (accessToken string)

GetToken GetToken

func (*BasicAccessToken) RefreshToken

func (bat *BasicAccessToken) RefreshToken(ctx context.Context) string

RefreshToken RefreshToken

func (*BasicAccessToken) SetToken

func (bat *BasicAccessToken) SetToken(ctx context.Context, at *AccessToken) error

SetToken SetToken

type BasicMessage

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

BasicMessage 消息结构体,用于拼装消息、发送消息

func NewBasicMessage

func NewBasicMessage(c *Client, accessToken IAccessToken, message IBasicMessage) *BasicMessage

NewBasicMessage NewBasicMessage

func (*BasicMessage) Send

func (bm *BasicMessage) Send(ctx context.Context) error

Send 发送消息只需要调用该接口即可

type Cache

type Cache interface {
	Get(ctx context.Context, key string) (interface{}, error)
	Set(ctx context.Context, key string, value interface{}, expiration time.Duration) error
	Delete(ctx context.Context, key string) error
}

Cache interface for store access token.

type Client

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

Client is a common wechat client. Create one by calling NewClient.

func NewClient

func NewClient(options ...ClientOptionFunc) (*Client, error)

NewClient creates a new short-lived Client that can be used in use cases where you need e.g. one client per request.

func (*Client) BasicAccessToken

func (c *Client) BasicAccessToken(accessToken IAccessToken) *BasicAccessToken

BasicAccessToken BasicAccessToken

func (*Client) BasicMessage

func (c *Client) BasicMessage(accessToken IAccessToken, message IBasicMessage) *BasicMessage

BasicMessage BasicMessage

func (*Client) IsRunning

func (c *Client) IsRunning() bool

IsRunning returns true if the background processes of the client are running, false otherwise.

func (*Client) MiniProgramAccessToken

func (c *Client) MiniProgramAccessToken() *MiniProgramAccessToken

MiniProgramAccessToken Miniprogram Auth

func (*Client) MiniProgramActivityMessageCreate

func (c *Client) MiniProgramActivityMessageCreate() *MiniProgramActivityMessageCreate

MiniProgramActivityMessageCreate MiniProgramActivityMessageCreate

func (*Client) MiniProgramActivityMessageUpdate

func (c *Client) MiniProgramActivityMessageUpdate() *MiniProgramActivityMessageUpdate

MiniProgramActivityMessageUpdate MiniProgramActivityMessageUpdate

func (*Client) MiniProgramAppCodeCreate

func (c *Client) MiniProgramAppCodeCreate() *MiniProgramAppCodeCreate

MiniProgramAppCodeCreate MiniProgramAppCodeCreate

func (*Client) MiniProgramAppCodeGet

func (c *Client) MiniProgramAppCodeGet() *MiniProgramAppCodeGet

MiniProgramAppCodeGet MiniProgramAppCodeGet

func (*Client) MiniProgramAppCodeGetUnlimit

func (c *Client) MiniProgramAppCodeGetUnlimit() *MiniProgramAppCodeGetUnlimit

MiniProgramAppCodeGetUnlimit MiniProgramAppCodeGetUnlimit

func (*Client) MiniProgramAuth

func (c *Client) MiniProgramAuth() *MiniProgramAuth

MiniProgramAuth Miniprogram Auth

func (*Client) MiniProgramPaid

func (c *Client) MiniProgramPaid() *MiniProgramPaid

MiniProgramPaid Miniprogram Auth

func (*Client) MiniProgramSecImg

func (c *Client) MiniProgramSecImg() *MiniProgramSecImg

MiniProgramSecImg MiniProgramSecImg

func (*Client) MiniProgramSecMsg

func (c *Client) MiniProgramSecMsg() *MiniProgramSecMsg

MiniProgramSecMsg MiniProgramSecMsg

func (*Client) OfficeAccountAccessToken added in v0.0.6

func (c *Client) OfficeAccountAccessToken() *OfficeAccountAccessToken

MiniProgramAccessToken Miniprogram Auth

func (*Client) PerformFormRequest

func (c *Client) PerformFormRequest(ctx context.Context, opt PerformRequestOptions) (*Response, error)

PerformFormRequest does a HTTP request to wechat.

func (*Client) PerformRequest

func (c *Client) PerformRequest(ctx context.Context, opt PerformRequestOptions) (*Response, error)

PerformRequest does a HTTP request to wechat.

func (*Client) Start

func (c *Client) Start()

Start starts the background processes like periodic health checks. You don't need to run Start when creating a client with NewClient; the background processes are run by default.

If the background processes are already running, this is a no-op.

func (*Client) Stop

func (c *Client) Stop()

Stop stops the background processes that the client is running,

If the background processes are not running, this is a no-op.

func (*Client) WorkAccessToken

func (c *Client) WorkAccessToken() *WorkAccessToken

WorkAccessToken WorkAccessToken

type ClientOptionFunc

type ClientOptionFunc func(*Client) error

ClientOptionFunc is a function that configures a Client. It is used in NewClient.

func SetCacheBackend

func SetCacheBackend(cache Cache) ClientOptionFunc

SetCacheBackend SetCacheBackend which implentment Cache interface

func SetDecoder

func SetDecoder(decoder Decoder) ClientOptionFunc

SetDecoder sets the Decoder to use when decoding data from Wechat. DefaultDecoder is used by default.

func SetErrorLog

func SetErrorLog(logger Logger) ClientOptionFunc

SetErrorLog sets the logger for critical messages like nodes joining or leaving the cluster or failing requests. It is nil by default.

func SetGzip

func SetGzip(enabled bool) ClientOptionFunc

SetGzip enables or disables gzip compression (disabled by default).

func SetHTTPClient

func SetHTTPClient(httpClient *http.Client) ClientOptionFunc

SetHTTPClient can be used to specify the http.Client to use when making HTTP requests to wechat.

func SetHTTPClientInsecureSkipVerify

func SetHTTPClientInsecureSkipVerify() ClientOptionFunc

SetHTTPClientInsecureSkipVerify SetHTTPClientInsecureSkipVerify

func SetInfoLog

func SetInfoLog(logger Logger) ClientOptionFunc

SetInfoLog sets the logger for informational messages, e.g. requests and their response times. It is nil by default.

func SetScheme

func SetScheme(scheme string) ClientOptionFunc

SetScheme sets the HTTP scheme to look for when sniffing (http or https). This is http by default.

func SetSendGetBodyAs

func SetSendGetBodyAs(httpMethod string) ClientOptionFunc

SetSendGetBodyAs specifies the HTTP method to use when sending a GET request with a body. It is GET by default.

func SetTraceLog

func SetTraceLog(logger Logger) ClientOptionFunc

SetTraceLog specifies the log.Logger to use for output of HTTP requests and responses which is helpful during debugging. It is nil by default.

type CommonError

type CommonError struct {
	ErrCode int64  `json:"errcode"`
	ErrMsg  string `json:"errmsg"`
}

CommonError CommonError

type Decoder

type Decoder interface {
	Decode(data []byte, v interface{}) error
}

Decoder is used to decode responses from wechat. Users of wechat can implement their own marshaler for advanced purposes and set them per Client (see SetDecoder). If none is specified, DefaultDecoder is used.

type DefaultDecoder

type DefaultDecoder struct{}

DefaultDecoder uses json.Unmarshal from the Go standard library to decode JSON data.

func (*DefaultDecoder) Decode

func (u *DefaultDecoder) Decode(data []byte, v interface{}) error

Decode decodes with json.Unmarshal from the Go standard library.

type DefaultLogger

type DefaultLogger struct{}

DefaultLogger DefaultLogger

func NewDefaultLogger

func NewDefaultLogger() *DefaultLogger

NewDefaultLogger NewDefaultLogger

func (*DefaultLogger) Printf

func (l *DefaultLogger) Printf(format string, v ...interface{})

Printf Printf

type Error

type Error struct {
	Status  int           `json:"status"`
	Details *ErrorDetails `json:"error,omitempty"`
}

Error encapsulates error details as returned from wechat.

func (*Error) Error

func (e *Error) Error() string

Error returns a string representation of the error.

type ErrorDetails

type ErrorDetails struct {
	Type         string                   `json:"type"`
	Reason       string                   `json:"reason"`
	ResourceType string                   `json:"resource.type,omitempty"`
	ResourceID   string                   `json:"resource.id,omitempty"`
	Index        string                   `json:"index,omitempty"`
	Phase        string                   `json:"phase,omitempty"`
	Grouped      bool                     `json:"grouped,omitempty"`
	CausedBy     map[string]interface{}   `json:"caused_by,omitempty"`
	RootCause    []*ErrorDetails          `json:"root_cause,omitempty"`
	FailedShards []map[string]interface{} `json:"failed_shards,omitempty"`
}

ErrorDetails encapsulate error details from wechat. It is used in e.g. wechat.Error and wechat.BulkResponseItem.

type File

type File struct {
	MediaID string `json:"media_id"`
}

File File

type IAccessToken

type IAccessToken interface {
	Credentials(ctx context.Context) (*AccessToken, error)
	ToString() string
}

IAccessToken AccessToken接口,不同类型应用只需要实现该接口即可管理 accesstoken

type IBasicMessage

type IBasicMessage interface {
	Body() interface{}
	Validate() error
	BaseURI() string
	Endpoint() string
	Params() url.Values
}

IBasicMessage 发送消息的接口,不同消息只需要实现该接口即可

type Image

type Image struct {
	MediaID string `json:"media_id"`
}

Image Image

type Logger

type Logger interface {
	Printf(format string, v ...interface{})
}

Logger specifies the interface for all log operations.

type MPAMUpdateBodyParameterList

type MPAMUpdateBodyParameterList struct {
	Name  string `json:"name"`
	Value string `json:"value"`
}

MPAMUpdateBodyParameterList MPAMUpdateBodyParameterList

type MPAMUpdateBodyTemplateInfo

type MPAMUpdateBodyTemplateInfo struct {
	ParameterList []*MPAMUpdateBodyParameterList `json:"parameter_list"`
}

MPAMUpdateBodyTemplateInfo MPAMUpdateBodyTemplateInfo

type MPSubscribeMessage

type MPSubscribeMessage struct {
	MsgBody   *MPSubscribeMessageBody
	MsgParams url.Values
}

MPSubscribeMessage 实现 IBasicMessage 接口

func NewMPSubscribeMessage

func NewMPSubscribeMessage(sm *MPSubscribeMessage) *MPSubscribeMessage

NewMPSubscribeMessage 订阅消息

func (*MPSubscribeMessage) BaseURI

func (mpum *MPSubscribeMessage) BaseURI() string

BaseURI BaseURI

func (*MPSubscribeMessage) Body

func (mpum *MPSubscribeMessage) Body() interface{}

Body Body

func (*MPSubscribeMessage) Endpoint

func (mpum *MPSubscribeMessage) Endpoint() string

Endpoint Endpoint

func (*MPSubscribeMessage) Params

func (mpum *MPSubscribeMessage) Params() url.Values

Params Params

func (*MPSubscribeMessage) Validate

func (mpum *MPSubscribeMessage) Validate() error

Validate Validate

type MPSubscribeMessageBody

type MPSubscribeMessageBody struct {
	ToUser     string `json:"touser"`
	TemplateID string `json:"template_id"`
	Page       string `json:"page"`
	Data       map[string]struct {
		Value string `json:"value"`
	} `json:"data"`
	MiniprogramState string `json:"miniprogram_state"`
	Lang             string `json:"lang"`
}

MPSubscribeMessageBody 消息体

type Markdown

type Markdown struct {
	Content string `json:"content"`
}

Markdown Markdown

type MemCache

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

MemCache 默认走内存 cache,accesstoken 量不大,内存可以

func NewMemCache

func NewMemCache(options ...MemCacheOptFunc) (*MemCache, error)

NewMemCache NewMemCache

func (*MemCache) Delete

func (mc *MemCache) Delete(ctx context.Context, key string) error

Delete Delete

func (*MemCache) Get

func (mc *MemCache) Get(ctx context.Context, key string) (value interface{}, err error)

Get Get

func (*MemCache) Set

func (mc *MemCache) Set(ctx context.Context, key string, value interface{}, expiration time.Duration) error

Set Set

type MemCacheOptFunc

type MemCacheOptFunc func(*MemCache) error

MemCacheOptFunc MemCacheOptFunc

func SetDefaultExpiration

func SetDefaultExpiration(exp time.Duration) MemCacheOptFunc

SetDefaultExpiration SetDefaultExpiration

func SetDefaultInterval

func SetDefaultInterval(inter time.Duration) MemCacheOptFunc

SetDefaultInterval SetDefaultInterval

type MiniProgramAccessToken

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

MiniProgramAccessToken MiniProgramAccessToken

func NewMiniProgramAccessToken

func NewMiniProgramAccessToken(client *Client) *MiniProgramAccessToken

NewMiniProgramAccessToken return instance of MiniProgramAccessToken

func (*MiniProgramAccessToken) Credentials

func (mpat *MiniProgramAccessToken) Credentials(ctx context.Context) (*AccessToken, error)

Credentials Credentials

func (*MiniProgramAccessToken) Do

Do Do

func (*MiniProgramAccessToken) SetAppID

func (mpat *MiniProgramAccessToken) SetAppID(appid string) *MiniProgramAccessToken

SetAppID SetAppID

func (*MiniProgramAccessToken) SetGrantType

func (mpat *MiniProgramAccessToken) SetGrantType() *MiniProgramAccessToken

SetGrantType SetGrantType

func (*MiniProgramAccessToken) SetSecret

func (mpat *MiniProgramAccessToken) SetSecret(secret string) *MiniProgramAccessToken

SetSecret SetSecret

func (*MiniProgramAccessToken) ToString

func (mpat *MiniProgramAccessToken) ToString() string

ToString ToString

func (*MiniProgramAccessToken) Validate

func (mpat *MiniProgramAccessToken) Validate() error

Validate checks if the operation is valid.

type MiniProgramAccessTokenResponse

type MiniProgramAccessTokenResponse struct {
	CommonError
	AccessToken string `json:"access_token"`
	ExpiresIn   int64  `json:"expires_in"`
}

MiniProgramAccessTokenResponse MiniProgramAccessTokenResponse

type MiniProgramActivityMessageCreate

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

MiniProgramActivityMessageCreate MiniProgramActivityMessageCreateCreate

func NewMiniProgramActivityMessageCreate

func NewMiniProgramActivityMessageCreate(client *Client) *MiniProgramActivityMessageCreate

NewMiniProgramActivityMessageCreate return instance of mini program auth

func (*MiniProgramActivityMessageCreate) Do

Do Do

func (*MiniProgramActivityMessageCreate) SetAccessToken

SetAccessToken SetAccessToken

func (*MiniProgramActivityMessageCreate) Validate

func (mpam *MiniProgramActivityMessageCreate) Validate() error

Validate checks if the operation is valid.

type MiniProgramActivityMessageCreateResponse

type MiniProgramActivityMessageCreateResponse struct {
	CommonError
	ActivityID     string `json:"activity_id"`
	ExpirationTime string `json:"expiration_time"`
}

MiniProgramActivityMessageCreateResponse MiniProgramActivityMessageCreateResponse

type MiniProgramActivityMessageUpdate

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

MiniProgramActivityMessageUpdate MiniProgramActivityMessageUpdateCreate

func NewMiniProgramActivityMessageUpdate

func NewMiniProgramActivityMessageUpdate(client *Client) *MiniProgramActivityMessageUpdate

NewMiniProgramActivityMessageUpdate return instance of mini program auth

func (*MiniProgramActivityMessageUpdate) Do

Do Do

func (*MiniProgramActivityMessageUpdate) SetAccessToken

func (mpamu *MiniProgramActivityMessageUpdate) SetAccessToken(accessToken string) *MiniProgramActivityMessageUpdate

SetAccessToken SetAccessToken

func (*MiniProgramActivityMessageUpdate) SetBody

SetBody SetBody

func (*MiniProgramActivityMessageUpdate) Validate

func (mpamu *MiniProgramActivityMessageUpdate) Validate() error

Validate checks if the operation is valid.

type MiniProgramActivityMessageUpdateBody

type MiniProgramActivityMessageUpdateBody struct {
	ActivityID   string                      `json:"activity_id"`
	TargetState  int64                       `json:"target_state"`
	TemplateInfo *MPAMUpdateBodyTemplateInfo `json:"template_info"`
}

MiniProgramActivityMessageUpdateBody MiniProgramActivityMessageUpdateBody

func (*MiniProgramActivityMessageUpdateBody) Validate

func (mpamub *MiniProgramActivityMessageUpdateBody) Validate() error

Validate Validate

type MiniProgramActivityMessageUpdateResponse

type MiniProgramActivityMessageUpdateResponse struct {
	CommonError
}

MiniProgramActivityMessageUpdateResponse MiniProgramActivityMessageUpdateResponse

type MiniProgramAppCodeCreate

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

MiniProgramAppCodeCreate MiniProgramAppCodeCreate

func NewMiniProgramAppCodeCreate

func NewMiniProgramAppCodeCreate(client *Client) *MiniProgramAppCodeCreate

NewMiniProgramAppCodeCreate return instance of NewMiniProgramAppCodeCreate

func (*MiniProgramAppCodeCreate) Do

Do Do

func (*MiniProgramAppCodeCreate) SetAccessToken

func (mpb *MiniProgramAppCodeCreate) SetAccessToken(accessToken string) *MiniProgramAppCodeCreate

SetAccessToken SetAccessToken

func (*MiniProgramAppCodeCreate) SetMchID

SetMchID SetMchID

func (*MiniProgramAppCodeCreate) SetOpenID

SetOpenID SetOpenID

func (*MiniProgramAppCodeCreate) SetOutTradeNo

func (mpb *MiniProgramAppCodeCreate) SetOutTradeNo(outTradeNo string) *MiniProgramAppCodeCreate

SetOutTradeNo SetOutTradeNo

func (*MiniProgramAppCodeCreate) SetTransactionID

func (mpb *MiniProgramAppCodeCreate) SetTransactionID(transactionID string) *MiniProgramAppCodeCreate

SetTransactionID SetTransactionID

func (*MiniProgramAppCodeCreate) SetUsingTransID

func (mpb *MiniProgramAppCodeCreate) SetUsingTransID() *MiniProgramAppCodeCreate

SetUsingTransID SetUsingTransID

func (*MiniProgramAppCodeCreate) Validate

func (mpb *MiniProgramAppCodeCreate) Validate() error

Validate checks if the operation is valid.

type MiniProgramAppCodeCreateResponse

type MiniProgramAppCodeCreateResponse struct {
	CommonError
	UnionID string `json:"unionid"`
}

MiniProgramAppCodeCreateResponse MiniProgramAppCodeCreateResponse

type MiniProgramAppCodeGet

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

MiniProgramAppCodeGet MiniProgramAppCodeGet

func NewMiniProgramAppCodeGet

func NewMiniProgramAppCodeGet(client *Client) *MiniProgramAppCodeGet

NewMiniProgramAppCodeGet return instance of NewMiniProgramAppCodeGet

func (*MiniProgramAppCodeGet) Do

Do Do

func (*MiniProgramAppCodeGet) SetAccessToken

func (mpb *MiniProgramAppCodeGet) SetAccessToken(accessToken string) *MiniProgramAppCodeGet

SetAccessToken SetAccessToken

func (*MiniProgramAppCodeGet) SetMchID

func (mpb *MiniProgramAppCodeGet) SetMchID(mchID string) *MiniProgramAppCodeGet

SetMchID SetMchID

func (*MiniProgramAppCodeGet) SetOpenID

func (mpb *MiniProgramAppCodeGet) SetOpenID(openid string) *MiniProgramAppCodeGet

SetOpenID SetOpenID

func (*MiniProgramAppCodeGet) SetOutTradeNo

func (mpb *MiniProgramAppCodeGet) SetOutTradeNo(outTradeNo string) *MiniProgramAppCodeGet

SetOutTradeNo SetOutTradeNo

func (*MiniProgramAppCodeGet) SetTransactionID

func (mpb *MiniProgramAppCodeGet) SetTransactionID(transactionID string) *MiniProgramAppCodeGet

SetTransactionID SetTransactionID

func (*MiniProgramAppCodeGet) SetUsingTransID

func (mpb *MiniProgramAppCodeGet) SetUsingTransID() *MiniProgramAppCodeGet

SetUsingTransID SetUsingTransID

func (*MiniProgramAppCodeGet) Validate

func (mpb *MiniProgramAppCodeGet) Validate() error

Validate checks if the operation is valid.

type MiniProgramAppCodeGetResponse

type MiniProgramAppCodeGetResponse struct {
	CommonError
	UnionID string `json:"unionid"`
}

MiniProgramAppCodeGetResponse MiniProgramAppCodeGetResponse

type MiniProgramAppCodeGetUnlimit

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

MiniProgramAppCodeGetUnlimit MiniProgramAppCodeGetUnlimit

func NewMiniProgramAppCodeGetUnlimit

func NewMiniProgramAppCodeGetUnlimit(client *Client) *MiniProgramAppCodeGetUnlimit

NewMiniProgramAppCodeGetUnlimit return instance of NewMiniProgramAppCodeGetUnlimit

func (*MiniProgramAppCodeGetUnlimit) Do

Do Do

func (*MiniProgramAppCodeGetUnlimit) SetAccessToken

func (mpb *MiniProgramAppCodeGetUnlimit) SetAccessToken(accessToken string) *MiniProgramAppCodeGetUnlimit

SetAccessToken SetAccessToken

func (*MiniProgramAppCodeGetUnlimit) SetMchID

SetMchID SetMchID

func (*MiniProgramAppCodeGetUnlimit) SetOpenID

SetOpenID SetOpenID

func (*MiniProgramAppCodeGetUnlimit) SetOutTradeNo

func (mpb *MiniProgramAppCodeGetUnlimit) SetOutTradeNo(outTradeNo string) *MiniProgramAppCodeGetUnlimit

SetOutTradeNo SetOutTradeNo

func (*MiniProgramAppCodeGetUnlimit) SetTransactionID

func (mpb *MiniProgramAppCodeGetUnlimit) SetTransactionID(transactionID string) *MiniProgramAppCodeGetUnlimit

SetTransactionID SetTransactionID

func (*MiniProgramAppCodeGetUnlimit) SetUsingTransID

SetUsingTransID SetUsingTransID

func (*MiniProgramAppCodeGetUnlimit) Validate

func (mpb *MiniProgramAppCodeGetUnlimit) Validate() error

Validate checks if the operation is valid.

type MiniProgramAppCodeGetUnlimitResponse

type MiniProgramAppCodeGetUnlimitResponse struct {
	CommonError
	UnionID string `json:"unionid"`
}

MiniProgramAppCodeGetUnlimitResponse MiniProgramAppCodeGetUnlimitResponse

type MiniProgramAuth

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

MiniProgramAuth mini program auth.

func NewMiniProgramAuth

func NewMiniProgramAuth(client *Client) *MiniProgramAuth

NewMiniProgramAuth return instance of mini program auth

func (*MiniProgramAuth) Do

Do Do

func (*MiniProgramAuth) SetAppID

func (mpa *MiniProgramAuth) SetAppID(appid string) *MiniProgramAuth

SetAppID SetAppID

func (*MiniProgramAuth) SetGrantType

func (mpa *MiniProgramAuth) SetGrantType() *MiniProgramAuth

SetGrantType SetGrantType

func (*MiniProgramAuth) SetJscode

func (mpa *MiniProgramAuth) SetJscode(jscode string) *MiniProgramAuth

SetJscode SetJscode

func (*MiniProgramAuth) SetSecret

func (mpa *MiniProgramAuth) SetSecret(secret string) *MiniProgramAuth

SetSecret SetSecret

func (*MiniProgramAuth) Validate

func (mpa *MiniProgramAuth) Validate() error

Validate checks if the operation is valid.

type MiniProgramAuthResponse

type MiniProgramAuthResponse struct {
	CommonError
	AppID      string `json:"openid"`
	SessionKey string `json:"session_key"`
	UnionID    string `json:"unionid"`
}

MiniProgramAuthResponse MiniProgramAuthResponse

type MiniProgramPaid

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

MiniProgramPaid MiniProgramPaid

func NewMiniProgramPaid

func NewMiniProgramPaid(client *Client) *MiniProgramPaid

NewMiniProgramPaid return instance of NewMiniProgramPaid

func (*MiniProgramPaid) Do

Do Do

func (*MiniProgramPaid) SetAccessToken

func (mpb *MiniProgramPaid) SetAccessToken(accessToken string) *MiniProgramPaid

SetAccessToken SetAccessToken

func (*MiniProgramPaid) SetMchID

func (mpb *MiniProgramPaid) SetMchID(mchID string) *MiniProgramPaid

SetMchID SetMchID

func (*MiniProgramPaid) SetOpenID

func (mpb *MiniProgramPaid) SetOpenID(openid string) *MiniProgramPaid

SetOpenID SetOpenID

func (*MiniProgramPaid) SetOutTradeNo

func (mpb *MiniProgramPaid) SetOutTradeNo(outTradeNo string) *MiniProgramPaid

SetOutTradeNo SetOutTradeNo

func (*MiniProgramPaid) SetTransactionID

func (mpb *MiniProgramPaid) SetTransactionID(transactionID string) *MiniProgramPaid

SetTransactionID SetTransactionID

func (*MiniProgramPaid) SetUsingTransID

func (mpb *MiniProgramPaid) SetUsingTransID() *MiniProgramPaid

SetUsingTransID SetUsingTransID

func (*MiniProgramPaid) Validate

func (mpb *MiniProgramPaid) Validate() error

Validate checks if the operation is valid.

type MiniProgramPaidResponse

type MiniProgramPaidResponse struct {
	CommonError
	UnionID string `json:"unionid"`
}

MiniProgramPaidResponse MiniProgramPaidResponse

type MiniProgramSecImg

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

MiniProgramSecImg MiniProgramSecImg

func NewMiniProgramSecImg

func NewMiniProgramSecImg(client *Client) *MiniProgramSecImg

NewMiniProgramSecImg return instance of NewMiniProgramSecImg

func (*MiniProgramSecImg) Do

Do Do

func (*MiniProgramSecImg) SetAccessToken

func (mpb *MiniProgramSecImg) SetAccessToken(accessToken string) *MiniProgramSecImg

SetAccessToken SetAccessToken

func (*MiniProgramSecImg) SetMedia

func (mpb *MiniProgramSecImg) SetMedia(media []byte) *MiniProgramSecImg

SetMedia SetMedia

func (*MiniProgramSecImg) Validate

func (mpb *MiniProgramSecImg) Validate() error

Validate checks if the operation is valid.

type MiniProgramSecImgResponse

type MiniProgramSecImgResponse struct {
	CommonError
}

MiniProgramSecImgResponse MiniProgramSecImgResponse

type MiniProgramSecMsg

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

MiniProgramSecMsg MiniProgramSecMsg

func NewMiniProgramSecMsg

func NewMiniProgramSecMsg(client *Client) *MiniProgramSecMsg

NewMiniProgramSecMsg return instance of NewMiniProgramSecMsg

func (*MiniProgramSecMsg) Do

Do Do

func (*MiniProgramSecMsg) SetAccessToken

func (mpb *MiniProgramSecMsg) SetAccessToken(accessToken string) *MiniProgramSecMsg

SetAccessToken SetAccessToken

func (*MiniProgramSecMsg) SetMessage

func (mpb *MiniProgramSecMsg) SetMessage(message string) *MiniProgramSecMsg

SetMessage SetMessage

func (*MiniProgramSecMsg) Validate

func (mpb *MiniProgramSecMsg) Validate() error

Validate checks if the operation is valid.

type MiniProgramSecMsgResponse

type MiniProgramSecMsgResponse struct {
	CommonError
}

MiniProgramSecMsgResponse MiniProgramSecMsgResponse

type MiniProgramUniformMessage

type MiniProgramUniformMessage struct {
	MsgBody   *MiniProgramUniformMessageBody
	MsgParams url.Values
}

MiniProgramUniformMessage MiniProgramUniformMessage

func NewMiniProgramUniformMessage

func NewMiniProgramUniformMessage() *MiniProgramUniformMessage

NewMiniProgramUniformMessage NewMiniProgramUniformMessage

func (*MiniProgramUniformMessage) BaseURI

func (mpum *MiniProgramUniformMessage) BaseURI() string

BaseURI BaseURI

func (*MiniProgramUniformMessage) Body

func (mpum *MiniProgramUniformMessage) Body() interface{}

Body Body

func (*MiniProgramUniformMessage) Endpoint

func (mpum *MiniProgramUniformMessage) Endpoint() string

Endpoint Endpoint

func (*MiniProgramUniformMessage) Params

func (mpum *MiniProgramUniformMessage) Params() url.Values

Params Params

func (*MiniProgramUniformMessage) Validate

func (mpum *MiniProgramUniformMessage) Validate() error

Validate Validate

type MiniProgramUniformMessageBody

type MiniProgramUniformMessageBody struct {
	// 用户openid,可以是小程序的openid,也可以是mp_template_msg.appid对应的公众号的openid
	Touser           string           `json:"touser"`
	WeappTemplateMsg WeappTemplateMsg `json:"weapp_template_msg"` // 小程序模板消息相关的信息
	MpTemplateMsg    MpTemplateMsg    `json:"mp_template_msg"`    // 公众号模板消息相关的信息
}

MiniProgramUniformMessageBody MiniProgramUniformMessageBody

type MiniprogramContentItem

type MiniprogramContentItem struct {
	Key   string `json:"key"`
	Value string `json:"value"`
}

MiniprogramContentItem MiniprogramContentItem

type MiniprogramNotice

type MiniprogramNotice struct {
	Appid             string                   `json:"appid"`
	Page              string                   `json:"page"`
	Title             string                   `json:"title"`
	Description       string                   `json:"description"`
	EmphasisFirstItem bool                     `json:"emphasis_first_item"`
	ContentItem       []MiniprogramContentItem `json:"content_item"`
}

MiniprogramNotice MiniprogramNotice

type MpArticle

type MpArticle struct {
	Title            string `json:"title"`
	ThumbMediaID     string `json:"thumb_media_id"`
	Author           string `json:"author"`
	ContentSourceURL string `json:"content_source_url"`
	Content          string `json:"content"`
	Digest           string `json:"digest"`
}

MpArticle MpArticle

type MpTemplateMsg

type MpTemplateMsg struct {
	Appid       string `json:"appid"`
	TemplateID  string `json:"template_id"`
	URL         string `json:"url"`
	Miniprogram struct {
		Appid    string `json:"appid"`
		Pagepath string `json:"pagepath"`
	} `json:"miniprogram"`
	Data map[string]map[string]string `json:"data"`
}

MpTemplateMsg MpTemplateMsg

type Mpnews

type Mpnews struct {
	Articles []MpArticle `json:"articles"`
}

Mpnews Mpnews

type News

type News struct {
	Articles []Article `json:"articles"`
}

News News

type NumberDecoder

type NumberDecoder struct{}

NumberDecoder uses json.NewDecoder, with UseNumber() enabled, from the Go standard library to decode JSON data.

func (*NumberDecoder) Decode

func (u *NumberDecoder) Decode(data []byte, v interface{}) error

Decode decodes with json.Unmarshal from the Go standard library.

type OACustomImage added in v0.0.8

type OACustomImage struct {
	MediaID string `json:"media_id"`
}

type OACustomMessage added in v0.0.7

type OACustomMessage struct {
	MsgBody   *OACustomMessageBody
	MsgParams url.Values
}

OACustomMessage 实现 IBasicMessage 接口

func NewOACustomMessage added in v0.0.7

func NewOACustomMessage(sm *OACustomMessage) *OACustomMessage

NewOACustomMessage 订阅消息

func (*OACustomMessage) BaseURI added in v0.0.7

func (mpum *OACustomMessage) BaseURI() string

BaseURI BaseURI

func (*OACustomMessage) Body added in v0.0.7

func (mpum *OACustomMessage) Body() interface{}

Body Body

func (*OACustomMessage) Endpoint added in v0.0.7

func (mpum *OACustomMessage) Endpoint() string

Endpoint Endpoint

func (*OACustomMessage) Params added in v0.0.7

func (mpum *OACustomMessage) Params() url.Values

Params Params

func (*OACustomMessage) Validate added in v0.0.7

func (mpum *OACustomMessage) Validate() error

Validate Validate

type OACustomMessageBody added in v0.0.7

type OACustomMessageBody struct {
	Touser          string                   `json:"touser"`
	Msgtype         string                   `json:"msgtype"`
	Miniprogrampage *OACustomMiniprogrampage `json:"miniprogrampage,omitempty"`
	Text            *OACustomText            `json:"text,omitempty"`
	Customservice   *OACustomservice         `json:"customservice,omitempty"`
	Wxcard          *OACustomWXCard          `json:"wxcard,omitempty"`
	Msgmenu         *OACustomMsgmenu         `json:"msgmenu,omitempty"`
	Mpnews          *OACustomMpnews          `json:"mpnews,omitempty"`
	News            *OACustomNews            `json:"news,omitempty"`
	Music           *OACustomMusic           `json:"music,omitempty"`
	Voice           *OACustomVoice           `json:"voice,omitempty"`
	Video           *OACustomVideo           `json:"video,omitempty"`
	Image           *OACustomImage           `json:"image,omitempty"`
}

OACustomMessageBody 消息体

type OACustomMiniprogrampage added in v0.0.8

type OACustomMiniprogrampage struct {
	Title        string `json:"title"`
	Appid        string `json:"appid"`
	Pagepath     string `json:"pagepath"`
	ThumbMediaID string `json:"thumb_media_id"`
}

type OACustomMpnews added in v0.0.8

type OACustomMpnews struct {
	MediaID string `json:"media_id"`
}

type OACustomMsgmenu added in v0.0.8

type OACustomMsgmenu struct {
	HeadContent string `json:"head_content"`
	List        []struct {
		ID      string `json:"id"`
		Content string `json:"content"`
	} `json:"list,omitempty"`
	TailContent string `json:"tail_content"`
}

type OACustomMusic added in v0.0.8

type OACustomMusic struct {
	Title        string `json:"title"`
	Description  string `json:"description"`
	Musicurl     string `json:"musicurl"`
	Hqmusicurl   string `json:"hqmusicurl"`
	ThumbMediaID string `json:"thumb_media_id"`
}

type OACustomNews added in v0.0.8

type OACustomNews struct {
	Articles []struct {
		Title       string `json:"title"`
		Description string `json:"description"`
		URL         string `json:"url"`
		Picurl      string `json:"picurl"`
	} `json:"articles,omitempty"`
}

type OACustomText added in v0.0.8

type OACustomText struct {
	Content string `json:"content"`
}

type OACustomVideo added in v0.0.8

type OACustomVideo struct {
	MediaID      string `json:"media_id"`
	ThumbMediaID string `json:"thumb_media_id"`
	Title        string `json:"title"`
	Description  string `json:"description"`
}

type OACustomVoice added in v0.0.8

type OACustomVoice struct {
	MediaID string `json:"media_id"`
}

type OACustomWXCard added in v0.0.8

type OACustomWXCard struct {
	CardID string `json:"card_id"`
}

type OACustomservice added in v0.0.8

type OACustomservice struct {
	KfAccount string `json:"kf_account"`
}

type OfficeAccountAccessToken added in v0.0.5

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

OfficeAccountAccessToken OfficeAccountAccessToken

func NewOfficeAccountAccessToken added in v0.0.5

func NewOfficeAccountAccessToken(client *Client) *OfficeAccountAccessToken

NewOfficeAccountAccessToken return instance of OfficeAccountAccessToken

func (*OfficeAccountAccessToken) Credentials added in v0.0.5

func (mpat *OfficeAccountAccessToken) Credentials(ctx context.Context) (*AccessToken, error)

Credentials Credentials

func (*OfficeAccountAccessToken) Do added in v0.0.5

Do Do

func (*OfficeAccountAccessToken) SetAppID added in v0.0.5

SetAppID SetAppID

func (*OfficeAccountAccessToken) SetGrantType added in v0.0.5

func (mpat *OfficeAccountAccessToken) SetGrantType() *OfficeAccountAccessToken

SetGrantType SetGrantType

func (*OfficeAccountAccessToken) SetSecret added in v0.0.5

func (mpat *OfficeAccountAccessToken) SetSecret(secret string) *OfficeAccountAccessToken

SetSecret SetSecret

func (*OfficeAccountAccessToken) ToString added in v0.0.5

func (mpat *OfficeAccountAccessToken) ToString() string

ToString ToString

func (*OfficeAccountAccessToken) Validate added in v0.0.5

func (mpat *OfficeAccountAccessToken) Validate() error

Validate checks if the operation is valid.

type OfficeAccountAccessTokenResponse added in v0.0.5

type OfficeAccountAccessTokenResponse struct {
	CommonError
	AccessToken string `json:"access_token"`
	ExpiresIn   int64  `json:"expires_in"`
}

OfficeAccountAccessTokenResponse OfficeAccountAccessTokenResponse

type PerformRequestOptions

type PerformRequestOptions struct {
	Method          string
	Params          url.Values
	Body            interface{}
	FormValue       []byte
	FormFieldName   string
	FormFileName    string
	ContentType     string
	IgnoreErrors    []int
	Headers         http.Header
	MaxResponseSize int64
	BaseURI         string
	Endpoint        string
}

PerformRequestOptions must be passed into PerformRequest.

type Request

type Request http.Request

Request Wechat-specific HTTP request

func NewRequest

func NewRequest(method, url string, body io.Reader) (*Request, error)

NewRequest is a http.Request and adds features such as encoding the body.

func (*Request) SetBody

func (r *Request) SetBody(body interface{}, gzipCompress bool) error

SetBody encodes the body in the request. You may pass a flag to compress the request via gzip.

type Response

type Response struct {
	// StatusCode is the HTTP status code, e.g. 200.
	StatusCode int
	// Header is the HTTP header from the HTTP response.
	// Keys in the map are canonicalized (see http.CanonicalHeaderKey).
	Header http.Header
	// Body is the deserialized response body.
	Body json.RawMessage
}

Response represents a response from wechat.

type Taskcard

type Taskcard struct {
	Title       string        `json:"title"`
	Description string        `json:"description"`
	URL         string        `json:"url"`
	TaskID      string        `json:"task_id"`
	Btn         []TaskcardBtn `json:"btn"`
}

Taskcard Taskcard

type TaskcardBtn

type TaskcardBtn struct {
	Key         string `json:"key"`
	Name        string `json:"name"`
	ReplaceName string `json:"replace_name"`
	Color       string `json:"color,omitempty"`
	IsBold      bool   `json:"is_bold,omitempty"`
}

TaskcardBtn TaskcardBtn

type Text

type Text struct {
	Content string `json:"content"`
}

Text Text

type Textcard

type Textcard struct {
	Title       string `json:"title"`
	Description string `json:"description"`
	URL         string `json:"url"`
	Btntxt      string `json:"btntxt"`
}

Textcard Textcard

type Video

type Video struct {
	MediaID     string `json:"media_id"`
	Title       string `json:"title"`
	Description string `json:"description"`
}

Video Video

type Voice

type Voice struct {
	MediaID string `json:"media_id"`
}

Voice Voice

type WXBizDataCrypt

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

WXBizDataCrypt WXBizDataCrypt

func NewWXBizDataCrypt

func NewWXBizDataCrypt(appID, sessionKey string) *WXBizDataCrypt

NewWXBizDataCrypt NewWXBizDataCrypt

func (*WXBizDataCrypt) Decrypt

func (w *WXBizDataCrypt) Decrypt(encryptedData, iv string, data interface{}) error

Decrypt Decrypt

type WeappTemplateMsg

type WeappTemplateMsg struct {
	TemplateID string `json:"template_id"`
	Page       string `json:"page"`
	FormID     string `json:"form_id"`
	Data       map[string]struct {
		Value string `json:"value"`
	} `json:"data"`
	EmphasisKeyword string `json:"emphasis_keyword"`
}

WeappTemplateMsg WeappTemplateMsg

type WorkAccessToken

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

WorkAccessToken WorkAccessToken

func NewWorkAccessToken

func NewWorkAccessToken(client *Client) *WorkAccessToken

NewWorkAccessToken return instance of WorkAccessToken

func (*WorkAccessToken) Credentials

func (wat *WorkAccessToken) Credentials(ctx context.Context) (*AccessToken, error)

Credentials Credentials

func (*WorkAccessToken) Do

Do Do

func (*WorkAccessToken) SetAgentID

func (wat *WorkAccessToken) SetAgentID(agentid string) *WorkAccessToken

SetAgentID SetAgentID

func (*WorkAccessToken) SetAppID

func (wat *WorkAccessToken) SetAppID(corpid string) *WorkAccessToken

SetAppID SetAppID

func (*WorkAccessToken) SetSecret

func (wat *WorkAccessToken) SetSecret(corpsecret string) *WorkAccessToken

SetSecret SetSecret

func (*WorkAccessToken) ToString

func (wat *WorkAccessToken) ToString() string

ToString ToString

func (*WorkAccessToken) Validate

func (wat *WorkAccessToken) Validate() error

Validate checks if the operation is valid.

type WorkAccessTokenResponse

type WorkAccessTokenResponse struct {
	CommonError
	AccessToken string `json:"access_token"`
	ExpiresIn   int64  `json:"expires_in"`
}

WorkAccessTokenResponse WorkAccessTokenResponse

type WorkAppMessage

type WorkAppMessage struct {
	MsgBody   *WorkAppMessageBody
	MsgParams url.Values
}

WorkAppMessage WorkAppMessage

func NewWorkAppMessage

func NewWorkAppMessage() *WorkAppMessage

NewWorkAppMessage NewWorkAppMessage

func (*WorkAppMessage) BaseURI

func (wam *WorkAppMessage) BaseURI() string

BaseURI BaseURI

func (*WorkAppMessage) Body

func (wam *WorkAppMessage) Body() interface{}

Body Body

func (*WorkAppMessage) Endpoint

func (wam *WorkAppMessage) Endpoint() string

Endpoint Endpoint

func (*WorkAppMessage) Params

func (wam *WorkAppMessage) Params() url.Values

Params Params

func (*WorkAppMessage) Validate

func (wam *WorkAppMessage) Validate() error

Validate Validate

type WorkAppMessageBody

type WorkAppMessageBody struct {
	Touser  string `json:"touser"`
	Toparty string `json:"toparty"`
	Totag   string `json:"totag"`
	Msgtype string `json:"msgtype"`
	Agentid int    `json:"agentid"`
	Safe    int    `json:"safe,omitempty"`

	Textcard          *Textcard          `json:"textcard,omitempty"`
	Text              *Text              `json:"text,omitempty"`
	Image             *Image             `json:"image,omitempty"`
	Voice             *Voice             `json:"voice,omitempty"`
	Video             *Video             `json:"video,omitempty"`
	File              *File              `json:"file,omitempty"`
	News              *News              `json:"news,omitempty"`
	Mpnews            *Mpnews            `json:"mpnews,omitempty"`
	Markdown          *Markdown          `json:"markdown,omitempty"`
	MiniprogramNotice *MiniprogramNotice `json:"miniprogram_notice,omitempty"`
	Taskcard          *Taskcard          `json:"taskcard,omitempty"`
}

WorkAppMessageBody WorkAppMessageBody

type XMLDecoder

type XMLDecoder struct{}

XMLDecoder uses xml.NewDecoder from the Go standard library to decode XML data.

func (*XMLDecoder) Decode

func (u *XMLDecoder) Decode(data []byte, v interface{}) error

Decode decodes with json.Unmarshal from the Go standard library.

Jump to

Keyboard shortcuts

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