Go開發(fā)微信小程序SDK推薦
本文已收錄編程學(xué)習(xí)筆記。涵蓋PHP、JavaScript、Linux、Golang、MySQL、Redis和開源工具等等相關(guān)內(nèi)容。
最近準(zhǔn)備用Go語言開發(fā)微信小程序,發(fā)現(xiàn)會(huì)調(diào)用很多微信小程序的服務(wù)端接口,并且還需要自己封裝。于是想著去GitHub上看看,是否有第三方現(xiàn)成的SDK直接拿來使用,結(jié)果發(fā)現(xiàn)兩個(gè)非常不錯(cuò)的第三方庫,這里分享給大家。
SDK標(biāo)準(zhǔn)
這里羅列幾點(diǎn),個(gè)人在使用第三方開源庫的一些標(biāo)準(zhǔn)版,供大家參考:
功能穩(wěn)定,有上生產(chǎn)環(huán)境的案例。避免出現(xiàn)SDK問題,需要開發(fā)者自己解決。
開發(fā)團(tuán)隊(duì)穩(wěn)定,持續(xù)更新。避免出現(xiàn)bug后期無人修復(fù),出現(xiàn)一種類似KPI的開源項(xiàng)目。
功能足夠強(qiáng)大。畢竟是使用開源SDK,就是為了減少自己去開發(fā)一些額外的功能,把精力更多的用在實(shí)現(xiàn)業(yè)務(wù)上。
完善的文檔。一個(gè)再好的開源項(xiàng)目,如果沒有一個(gè)完善的文檔,這無疑給使用者增加了一個(gè)門檻,同時(shí)也降低了開發(fā)效率,達(dá)不到直接使用第三方SDK的目的。
easywechat
用PHP開發(fā)過微信生態(tài)的產(chǎn)品,估計(jì)都知道easywechat是一個(gè)開源的、非官方的第三方SDK。功能強(qiáng)大、安裝和使用非常簡單,因?yàn)樗且粋€(gè)標(biāo)準(zhǔn)的 Composer 包,這意味著任何滿足下列安裝條件的 PHP 項(xiàng)目支持 Composer 都可以使用它。直接使用下面的命令,安裝就可以正常使用了。
composer?require?overtrue/wechat
powerwechat
PowerWeChat是一款簡單易用的WeChat SDK for Golang目前已經(jīng)覆蓋微信公眾號(hào)、微信小程序、微信支付、企業(yè)微信。功能非常的強(qiáng)大,幾乎是把微信生態(tài)的產(chǎn)品都包含在內(nèi)。在選擇它主要基于下面幾個(gè)目的:
功能強(qiáng)大,完整的微信生態(tài)覆蓋。涵蓋了微信公眾號(hào)、微信小程序、微信企業(yè)號(hào)和微信支付。基本我們接觸的微信開發(fā),也都是這幾個(gè)類目。所以足夠我們使用了。
開發(fā)團(tuán)隊(duì)穩(wěn)定。PowerWechat由Artisan Cloud團(tuán)隊(duì)潛心研發(fā)并且也在持續(xù)更新和完善當(dāng)中。
完善的文檔。PowerWechat有屬于自己的官網(wǎng),不管是微信公眾號(hào)、微信小程序、微信企業(yè)號(hào)和微信支付都有獨(dú)立的模塊介紹如何使用,同時(shí)也有完整的示例代碼。如下微信企業(yè)號(hào)開發(fā),如何配置每一個(gè)參數(shù)定義都有很好的說明。
package?main
import?(
??"log"
)
func?main()?{
??WeComApp,?err?:=?work.NewWork(&work.UserConfig{
????CorpID:??"app_id",???????//?企業(yè)微信的app id,所有企業(yè)微信共用一個(gè)。
????AgentID:?100001,?????????//?內(nèi)部應(yīng)用的app?id
????Secret:??"wecom_secret",?//?內(nèi)部應(yīng)用的app?secret
????OAuth:?work.OAuth{
??????Callback:?"https://wecom.artisan-cloud.com/callback",
??????Scopes:???nil,
????},
????HttpDebug:?true,
??})
??if?err?!=?nil?{
????panic(err)
??}
??response?:=?WeComApp.Base.GetCallbackIp()
??log.Println(response)
}
go-wechat-miniapp-sdk
go-wechat-miniapp-sdk基于微信小程序相關(guān)接口封裝,使用golang語言封裝的一套微信小程序官方接口SDK。支持如下功能:
- 登錄|用戶信息
- 訂閱消息
- 客服消息
- 統(tǒng)一服務(wù)消息
- 獲取小程序碼
- ...
該SDK同樣的,使用起來很簡單,也能很快的上手。
下面是該SDK安裝方法。
go?get?github.com/dgb8901/go-wechat-miniapp-sdk
下面是基礎(chǔ)信息配置。
package?helper
import?(
????"github.com/dgb8901/go-wechat-miniapp-sdk/config"
????"github.com/dgb8901/go-wechat-miniapp-sdk/service"
)
type?wxaHelper?struct?{
????wxaService?*service.WxaService
}
var?helper?=?&wxaHelper{}
func?Init()?{
????cfg?:=?&config.Cfg{
????????AppId:?????????"AppId",
????????Secret:????????"Secret",
????????Token:?????????"Token",
????????AesKey:????????"AesKey",
????????MsgDataFormat:?"DataFormat",
????}
????//?wxaConfig?:=?config.NewInRedis(cfg,"127.0.0.1:6379","123456")
????//?wxaService?:=?service.NewInRedis(redisConfig)
????wxaConfig?:=?config.NewInMemory(cfg)
????wxaService?:=?service.NewService(wxaConfig)
????helper.wxaService?=?wxaService
}
func?GetWxaService()?*service.WxaService?{
????return?wxaHelper.wxaService
}
通過GitHub提交的記錄,可以看出這個(gè)SDK應(yīng)該是屬于個(gè)人開發(fā)。沒有完整的文檔,并且更新時(shí)間也很久了。不推薦用于生產(chǎn)環(huán)境,如果你是一個(gè)想自己學(xué)習(xí)如何去封裝,或者想在這個(gè)基礎(chǔ)上去實(shí)現(xiàn)一個(gè)自己的SDK,可以借鑒一下該SDK。
