本文已收录编程学习笔记。涵盖PHP、JavaScript、Linux、Golang、MySQL、Redis和开源工具等等相关内容。最近准备用Go语言开发微信小程序,发现会调用很多微信小程序的服务端接口,并且还需要自己封装。于是想着去GitHub上看看,是否有第三方现成的SDK直接拿来使用,结果发现两个非常不错的第三方库,这里分享给大家。
SDK标准 【Go开发微信小程序第三方SDK推荐】这里罗列几点,个人在使用第三方开源库的一些标准版,供大家参考:
- 功能稳定,有上生产环境的案例。避免出现SDK问题,需要开发者自己解决。
- 开发团队稳定,持续更新。避免出现bug后期无人修复,出现一种类似KPI的开源项目。
- 功能足够强大。毕竟是使用开源SDK,就是为了减少自己去开发一些额外的功能,把尽力更多的用在实现业务上。
- 完善的文档。一个再好的开源项目,如果没有一个完善的文档,这无疑给使用者增加了一个门槛,同时也降低了开发效率,达不到直接使用第三方SDK的目的。
文章图片
composer require overtrue/wechat
powerwechat PowerWeChat是一款简单易用的WeChat SDK for Golang目前已经覆盖微信公众号、微信小程序、微信支付、企业微信。功能非常的强大,几乎是把微信生态的产品都包含在内。在选择它主要基于下面几个目的:
文章图片
- 功能强大,完整的微信生态覆盖。涵盖了微信公众号、微信小程序、微信企业号和微信支付。基本我们接触的微信开发,也都是这几个类目。所以足够我们使用了。
- 开发团队稳定。PowerWechat由Artisan Cloud团队潜心研发并且也在持续更新和完善当中。
- 完善的文档。PowerWechat有属于自己的官网,不管是微信公众号、微信小程序、微信企业号和微信支付都有独立的模块介绍如何使用,同时也有完整的示例代码。如下微信企业号开发,如何配置每一个参数定义都有很好的说明。
package mainimport ( "log" )func main() { WeComApp, err := work.NewWork(&work.UserConfig{ CorpID:"app_id",// 企业微信的app id,所有企业微信共用一个。 AgentID: 100001,// 内部应用的app id Secret:"wecom_secret", // 内部应用的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) }
- 登录|用户信息
- 订阅消息
- 客服消息
- 统一服务消息
- 获取小程序码
- ...
下面是该SDK安装方法。
go get github.com/dgb8901/go-wechat-miniapp-sdk
下面是基础信息配置。
package helperimport (
"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提交的记录,可以看出这个SDK应该是属于个人开发。没有完整的文档,并且更新时间也很久了。不推荐用于生产环境,如果你是一个想自己学习如何去封装,或者想在这个基础上去实现一个自己的SDK,可以借鉴一下该SDK。