Go开发微信小程序第三方SDK推荐

本文已收录编程学习笔记。涵盖PHP、JavaScript、Linux、Golang、MySQL、Redis和开源工具等等相关内容。
最近准备用Go语言开发微信小程序,发现会调用很多微信小程序的服务端接口,并且还需要自己封装。于是想着去GitHub上看看,是否有第三方现成的SDK直接拿来使用,结果发现两个非常不错的第三方库,这里分享给大家。
SDK标准 【Go开发微信小程序第三方SDK推荐】这里罗列几点,个人在使用第三方开源库的一些标准版,供大家参考:
  1. 功能稳定,有上生产环境的案例。避免出现SDK问题,需要开发者自己解决。
  2. 开发团队稳定,持续更新。避免出现bug后期无人修复,出现一种类似KPI的开源项目。
  3. 功能足够强大。毕竟是使用开源SDK,就是为了减少自己去开发一些额外的功能,把尽力更多的用在实现业务上。
  4. 完善的文档。一个再好的开源项目,如果没有一个完善的文档,这无疑给使用者增加了一个门槛,同时也降低了开发效率,达不到直接使用第三方SDK的目的。
easywechat 用PHP开发过微信生态的产品,估计都知道easywechat是一个开源的、非官方的第三方SDK。功能强大、安装和使用非常简单,因为它是一个标准的 Composer 包,这意味着任何满足下列安装条件的 PHP 项目支持 Composer 都可以使用它。直接使用下面的命令,安装就可以正常使用了。
Go开发微信小程序第三方SDK推荐
文章图片

composer require overtrue/wechat

powerwechat PowerWeChat是一款简单易用的WeChat SDK for Golang目前已经覆盖微信公众号、微信小程序、微信支付、企业微信。功能非常的强大,几乎是把微信生态的产品都包含在内。在选择它主要基于下面几个目的:
Go开发微信小程序第三方SDK推荐
文章图片

  1. 功能强大,完整的微信生态覆盖。涵盖了微信公众号、微信小程序、微信企业号和微信支付。基本我们接触的微信开发,也都是这几个类目。所以足够我们使用了。
  2. 开发团队稳定。PowerWechat由Artisan Cloud团队潜心研发并且也在持续更新和完善当中。
  3. 完善的文档。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) }

go-wechat-miniapp-sdk go-wechat-miniapp-sdk基于微信小程序相关接口封装,使用golang语言封装的一套微信小程序官方接口SDK。支持如下功能:
  1. 登录|用户信息
  2. 订阅消息
  3. 客服消息
  4. 统一服务消息
  5. 获取小程序码
  6. ...
该SDK同样的,使用起来很简单,也能很快的上手。
下面是该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。

    推荐阅读