用Golang写了个简单易用的微信SDK

silenceper · · 6374 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

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...


有疑问加站长微信联系(非本文作者)

本文来自:Segmentfault

感谢作者:silenceper

查看原文:用Golang写了个简单易用的微信SDK

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

6374 次点击  
加入收藏 微博
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传