用Golang寫了個簡單易用的微信SDK

silenceper發表於2016-09-18

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…

相關文章