微信SDK
此工程为 https://github.com/silenceper/wechat的二开版本
主场开发场景是多第三方平台为起点控制多小程序包含支付全套流程中间件
因此本工程开发线路也是围绕着主场工程线路展开,有坑排坑,有缺补缺
主场工程已开源
https://github.com/zhi-miao/wechat
快速开始
sdk实例获取
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(),
}
wc := wechat.NewWechat(config)
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/github.com/zhi-miao/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.