wechat

package module
v1.1.2 Latest Latest
Warning

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

Go to latest
Published: Jan 14, 2020 License: Apache-2.0 Imports: 17 Imported by: 0

README

微信SDK

此工程为 https://github.com/silenceper/wechat的二开版本

主场开发场景是多第三方平台为起点控制多小程序包含支付全套流程中间件

因此本工程开发线路也是围绕着主场工程线路展开,有坑排坑,有缺补缺

快速开始

sdk实例获取


// memcache := cache.NewMemcache("127.0.0.1:11211")
memcache := chache.NewMemory()

wcConfig := &wechat.Config{
	AppID:          cfg.AppID,
	AppSecret:      cfg.AppSecret,
	Token:          cfg.Token,
	EncodingAESKey: cfg.EncodingAESKey,//消息加解密时用到
	Cache:          memcache,
}

微信通知接收


//配置微信参数
config := &wechat.Config{
	AppID:          "xxxx",
	AppSecret:      "xxxx",
	Token:          "xxxx",
	EncodingAESKey: "xxxx",
	Cache:          cache.NewMemory(), // 使用memory保存access_token,也可选择redis或自定义cache
}
wc := wechat.NewWechat(config)

// 传入request和responseWriter
server := wc.GetServer(request, responseWriter)
server.SetMessageHandler(func(msg message.MixMessage) *message.Reply {

	//回复消息:演示回复用户发送的消息
	text := message.NewText(msg.Content)
	return &message.Reply{message.MsgTypeText, text}
})

server.Serve()
server.Send()

和主流框架配合使用

主要是request和responseWriter在不同框架中获取方式可能不一样:

Cache 设置

Cache主要用来保存全局access_token以及js-sdk中的ticket: 默认采用memcache存储。当然也可以直接实现cache/cache.go中的接口

缓存字典

key 备注
qy_access_token_${小程序APPID} 小程序token
authorizer_access_token_${小程序APPID} 代小程序accesstoken
component_access_token_${平台APPID} 代小程序accesstoken
component_verify_ticket_${平台APPID} 第三方平台票据

更多API使用请参考 godoc : https://godoc.org/gitee.com/zhimiao/wechat-sdk

License

Apache License, Version 2.0

Third Party Softwares

This software uses the following third party open source components.
The third party licensors of these components may provide additional license rights,
terms and conditions and/or require certain notices as described below.

Documentation

Overview

Package wechat provide wechat sdk for go

使用Golang开发的微信SDK,简单、易用。

以下是一个处理消息接收以及回复的例子:

//配置微信参数
config := &wechat.Config{
	AppID:          "xxxx",
	AppSecret:      "xxxx",
	Token:          "xxxx",
	EncodingAESKey: "xxxx",
}
wc := wechat.NewWechat(config)

// 传入request和responseWriter
server := wc.GetServer(request, responseWriter)
server.SetMessageHandler(func(msg message.MixMessage) *message.Reply {

	//回复消息:演示回复用户发送的消息
	text := message.NewText(msg.Content)
	return &message.Reply{message.MsgText, text}
})

server.Serve()
server.Send()

更多信息:https://gitee.com/zhimiao/wechat-sdk

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Config

type Config struct {
	AppID          string // 小程序/平台 appid
	AppSecret      string // 小程序/平台secret
	Token          string // 消息校验token
	EncodingAESKey string // 消息加解密key

	PayMchID     string // 支付 - 商户 ID
	PayNotifyURL string // 支付 - 接受微信支付结果通知的接口地址
	PayKey       string // 支付 - 商户后台设置的支付 key
	P12          []byte // 支付 - 商户证书文件

	Cache cache.Cache
}

Config for user

type Wechat

type Wechat struct {
	Context *context.Context
}

Wechat struct

func NewWechat

func NewWechat(cfg *Config) *Wechat

NewWechat init

func (*Wechat) GetAccessToken

func (wc *Wechat) GetAccessToken() (string, error)

GetAccessToken 获取access_token

func (*Wechat) GetDevice

func (wc *Wechat) GetDevice() *device.Device

GetDevice 获取智能设备的实例

func (*Wechat) GetJs

func (wc *Wechat) GetJs() *js.Js

GetJs js-sdk配置

func (*Wechat) GetMaterial

func (wc *Wechat) GetMaterial() *material.Material

GetMaterial 素材管理

func (*Wechat) GetMenu

func (wc *Wechat) GetMenu() *menu.Menu

GetMenu 菜单管理接口

func (*Wechat) GetMiniProgram

func (wc *Wechat) GetMiniProgram() *miniprogram.MiniProgram

GetMiniProgram 获取小程序的实例

func (*Wechat) GetOauth

func (wc *Wechat) GetOauth() *oauth.Oauth

GetOauth oauth2网页授权

func (*Wechat) GetOpen

func (wc *Wechat) GetOpen() *open.Open

GetOpen 微信开放平台

func (*Wechat) GetPay

func (wc *Wechat) GetPay() *pay.Pay

GetPay 返回支付消息的实例

func (*Wechat) GetQR

func (wc *Wechat) GetQR() *qr.QR

GetQR 返回二维码的实例

func (*Wechat) GetServer

func (wc *Wechat) GetServer(req *http.Request, writer http.ResponseWriter) *server.Server

GetServer 消息管理

func (*Wechat) GetTcb added in v1.1.0

func (wc *Wechat) GetTcb() *tcb.Tcb

GetTcb 获取小程序-云开发的实例

func (*Wechat) GetTemplate

func (wc *Wechat) GetTemplate() *message.Template

GetTemplate 模板消息接口

func (*Wechat) GetUser

func (wc *Wechat) GetUser() *user.User

GetUser 用户管理接口

Directories

Path Synopsis
examples
gin

Jump to

Keyboard shortcuts

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