Skip to content
zhyc9dePublic

About

wechat sdk for goalng, support mp, wxapp, mch

Resources

Stars

4 stars

Watchers

1 watching

Forks

Repository files navigation

go-wechat

golang微信sdk,支持微信公众号,微信小程序,微信支付

go get github.com/zhyc9de/go-wechat

功能模块

公众号

  • 模板消息
    • 发送
  • 消息管理
    • 接受普通消息
    • 接受事件推送
  • 客服消息
    • 发送文本
    • 发送图片
    • 发送小程序卡片
  • 网页开发
    • OAuth 网页授权
    • JS-SDK
  • 自定义菜单
    • 创建自定义菜单
    • 新增个性化菜单
    • 测试用户是否匹配
    • 删除个性化菜单
  • 素材管理
    • 临时素材上传
    • 获取临时素材
  • 用户管理
    • 获取用户信息
    • 获取标签
    • 新增标签
    • 批量标记标签
    • 批量取消标记标签
  • 二维码
    • 临时二维码
    • 永久二维码
  • 数据分析

小程序

  • 模板消息
    • 发送
  • 消息管理
    • 接受普通消息
    • 接受事件推送
  • 客服消息
    • 发送文本
    • 发送图片
  • 二维码
    • 临时小程序码
    • 永久小程序码
  • 素材管理
    • 临时素材上传
    • 获取临时素材
  • 解码用户信息
    • 用户信息
    • 分享信息
    • 手机号
  • 内容安全
    • 图片
    • 文本
  • 动态消息
    • 新建
    • 更新
  • 数据分析

商户平台

  • 统一下单
    • 二维码支付
    • 小程序支付
    • 公众号网页支付
  • 支付回调
  • 退款
  • 退款回调
  • 付款到零钱

文档

pakcage name

公众号和小程序初始化

公众号和小程序有部分一样的请求,比如获取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 接收客服消息 && 被动回复消息 && 主动回复消息

TODO

  • test
  • benchmark

About

wechat sdk for goalng, support mp, wxapp, mch

Resources

Stars

4 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages