golang微信sdk,支持微信公众号,微信小程序,微信支付
go get github.com/zhyc9de/go-wechat
- 模板消息
- 发送
- 消息管理
- 接受普通消息
- 接受事件推送
- 客服消息
- 发送文本
- 发送图片
- 发送小程序卡片
- 网页开发
- OAuth 网页授权
- JS-SDK
- 自定义菜单
- 创建自定义菜单
- 新增个性化菜单
- 测试用户是否匹配
- 删除个性化菜单
- 素材管理
- 临时素材上传
- 获取临时素材
- 用户管理
- 获取用户信息
- 获取标签
- 新增标签
- 批量标记标签
- 批量取消标记标签
- 二维码
- 临时二维码
- 永久二维码
- 数据分析
- 模板消息
- 发送
- 消息管理
- 接受普通消息
- 接受事件推送
- 客服消息
- 发送文本
- 发送图片
- 二维码
- 临时小程序码
- 永久小程序码
- 素材管理
- 临时素材上传
- 获取临时素材
- 解码用户信息
- 用户信息
- 分享信息
- 手机号
- 内容安全
- 图片
- 文本
- 动态消息
- 新建
- 更新
- 数据分析
- 统一下单
- 二维码支付
- 小程序支付
- 公众号网页支付
- 支付回调
- 退款
- 退款回调
- 付款到零钱
公众号和小程序有部分一样的请求,比如获取access token,主动发送客服消息,上传临时媒体文件等。
所以sdk在专门为小程序和公众号服务的client上,有一个weUtil.CommonClient接口,这么设计是为了某些在小程序和公众号有相同处理逻辑的部分,封装成一个函数,传入这个接口即可。weUtil.Client实现了weUtil.CommonClient接口
// 支持两种方式存储access token
// 1. 使用atomic.Value,直接存储在内存中
tokenMgr := weUtil.NewWxTokenMgr(appId, appSecret)
// 2. 存储在redis中, redisClient使用`github.com/go-redis/redis`
tokenMgr := weUtil.NewRTokenMgr(appId, appSecret, redisClient)
// 新建一个weUtil.CommonClient
// 最后参数用于记录sdk内部的日志,weUtil.Logger接口
weClient := weUtil.NewClient(tokenMgr, log)
// 新建一个公众号专用的client
mpClient := mp.NewClient(weClient)
// 新建一个小程序专用的client
wxaClient := wxa.NewClient(weClient)
// debug时,可以手动设置access token
weClient.Set(weUtil.KeyToken, token, expires)TODO 接收客服消息 && 被动回复消息 && 主动回复消息
- test
- benchmark