微信SDK golang版本发布

Publish date: 2019-12-05

微信SDK golang版本发布

此工程为 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中的接口

comments powered by Disqus