WeChat SDK for Go

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

项目地址:https://github.com/silenceper/wechat

文档地址:DOCS

快速开始

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

//配置微信参数
config := &wechat.Config{
    AppID:          "xxxx",
    AppSecret:      "xxxx",
    Token:          "xxxx",
    EncodingAESKey: "xxxx",
    Cache:          memCache
}
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()

完整代码:examples/http/http.go

和主流框架配合使用

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

  • Beego: ./examples/beego/beego.go

  • Gin Framework: ./examples/gin/gin.go

基本配置

memcache := cache.NewMemcache("127.0.0.1:11211")

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

Cache 设置

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

基本API使用

  • 消息管理

    • 接收普通消息

    • 接收事件推送

    • 被动回复消息

      • 回复文本消息

      • 回复图片消息

      • 回复视频消息

      • 回复音乐消息

      • 回复图文消息

  • 自定义菜单

    • 自定义菜单创建接口

    • 自定义菜单查询接口

    • 自定义菜单删除接口

    • 自定义菜单事件推送

    • 个性化菜单接口

      • 添加个性化菜单

      • 删除个性化菜单

      • 测试个性化菜单匹配结果

    • 获取公众号菜单配置

  • 微信网页开发

    • Oauth2 授权

      • 发起授权

      • 通过code换取access_token

      • 拉取用户信息

      • 刷新access_token

      • 检验access_token是否有效

    • 获取js-sdk配置

  • 素材管理

更多API使用请参考文档:
https://github.com/silenceper…