关于go:Go开发微信小程序第三方SDK推荐

2次阅读

共计 2207 个字符,预计需要花费 6 分钟才能阅读完成。

本文已收录编程学习笔记。涵盖 PHP、JavaScript、Linux、Golang、MySQL、Redis 和开源工具等等相干内容。

最近筹备用 Go 语言开发微信小程序,发现会调用很多微信小程序的服务端接口,并且还须要本人封装。于是想着去 GitHub 上看看,是否有第三方现成的 SDK 间接拿来应用,后果发现两个十分不错的第三方库,这里分享给大家。

SDK 规范

这里列举几点,集体在应用第三方开源库的一些标准版,供大家参考:

  1. 性能稳固,有上生产环境的案例。避免出现 SDK 问题,须要开发者本人解决。
  2. 开发团队稳固,继续更新。避免出现 bug 前期无人修复,呈现一种相似 KPI 的开源我的项目。
  3. 性能足够弱小。毕竟是应用开源 SDK,就是为了缩小本人去开发一些额定的性能,把尽力更多的用在实现业务上。
  4. 欠缺的文档。一个再好的开源我的项目,如果没有一个欠缺的文档,这无疑给使用者减少了一个门槛,同时也升高了开发效率,达不到间接应用第三方 SDK 的目标。

easywechat

用 PHP 开发过微信生态的产品,预计都晓得 easywechat 是一个开源的、非官方的第三方 SDK。功能强大、装置和应用非常简单,因为它是一个规范的 Composer 包,这意味着任何满足下列装置条件的 PHP 我的项目反对 Composer 都能够应用它。间接应用上面的命令,装置就能够失常应用了。

composer require overtrue/wechat

powerwechat

PowerWeChat 是一款简略易用的 WeChat SDK for Golang 目前曾经笼罩微信公众号、微信小程序、微信领取、企业微信。性能十分的弱小,简直是把微信生态的产品都蕴含在内。在抉择它次要基于上面几个目标:

  1. 功能强大,残缺的微信生态笼罩。涵盖了微信公众号、微信小程序、微信企业号和微信领取。根本咱们接触的微信开发,也都是这几个类目。所以足够咱们应用了。
  2. 开发团队稳固。PowerWechat 由 Artisan Cloud 团队潜心研发并且也在继续更新和欠缺当中。
  3. 欠缺的文档。PowerWechat 有属于本人的官网,不论是微信公众号、微信小程序、微信企业号和微信领取都有独立的模块介绍如何应用,同时也有残缺的示例代码。如下微信企业号开发,如何配置每一个参数定义都有很好的阐明。

    package main
    
    import ("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. 获取小程序码

该 SDK 同样的,应用起来很简略,也能很快的上手。

上面是该 SDK 装置办法。

go get github.com/dgb8901/go-wechat-miniapp-sdk

上面是根底信息配置。

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 提交的记录,能够看出这个 SDK 应该是属于集体开发。没有残缺的文档,并且更新工夫也很久了。不举荐用于生产环境,如果你是一个想本人学习如何去封装,或者想在这个根底下来实现一个本人的 SDK,能够借鉴一下该 SDK。

正文完
 0