Maison  >  Article  >  développement back-end  >  Comment utiliser Golang pour mettre en œuvre le développement de comptes publics WeChat pour les applications Web

Comment utiliser Golang pour mettre en œuvre le développement de comptes publics WeChat pour les applications Web

WBOY
WBOYoriginal
2023-06-24 08:46:202181parcourir

Avec la popularisation des appareils mobiles et l'essor des médias sociaux, les comptes officiels WeChat sont devenus un outil efficace de publicité et de promotion pour de nombreuses entreprises et particuliers. L'intégration des comptes officiels WeChat dans les applications Web peut nous aider efficacement à répondre à divers besoins tels que la promotion commerciale et les services aux utilisateurs. Utiliser Golang pour mettre en œuvre le développement de comptes publics WeChat pour les applications Web peut nous fournir une solution plus efficace et plus stable.

Cet article expliquera comment utiliser Golang pour écrire des applications Web et intégrer les services de compte public WeChat.

1. Mettre en place un environnement de développement

Tout d'abord, nous devons configurer un environnement de développement Golang. Nous pouvons télécharger le package d'installation Golang adapté à notre propre système d'exploitation sur le site officiel (https://golang.org). /) et installez-le.

2. Installez les dépendances nécessaires

Dans le processus d'écriture d'applications Web à l'aide de Golang, nous devons utiliser certaines bibliothèques dépendantes pour le développement. Parmi eux, Gin est actuellement un framework Web populaire et Go-Wechat est le framework de développement WeChat de Golang. Nous pouvons installer des dépendances via la commande suivante :

go get -u github.com/gin-gonic/gin
go get -u github.com/silenceper/wechat/v2

3. Créer une application Web

Avec l'exemple de code suivant, nous pouvons créer une application Web simple :

package main

import "github.com/gin-gonic/gin"

func main() {
    r := gin.Default()

    r.GET("/", func(c *gin.Context) {
        c.String(200, "Hello World")
    })

    r.Run(":8080")
}

Exécutez le code pour démarrer l'application Web, parcourez lorsque le serveur accède à http://localhost:8080, vous pouvez voir le résultat de sortie "Hello World".

4. Intégrer le service de compte public WeChat

4.1. Enregistrez le compte public WeChat

Avant de commencer à intégrer le service de compte public WeChat, vous devez enregistrer un compte public WeChat et obtenir l'AppID et l'AppSecret du compte public WeChat. Vous pouvez vous rendre sur le [site officiel de la plateforme publique WeChat](https://mp.weixin.qq.com/cgi-bin/registermidpage?action=index) pour vous inscrire.

4.2. Configurer les informations du compte public WeChat

Lorsque nous intégrons le service de compte public WeChat, nous devons effectuer les configurations pertinentes dans la bibliothèque Go-Wechat.

package main

import (
    "github.com/gin-gonic/gin"
    "github.com/silenceper/wechat/v2/cache"
    "github.com/silenceper/wechat/v2/config"
    "github.com/silenceper/wechat/v2/officialaccount"
)

func main() {
    r := gin.Default()

    // 配置微信公众号信息
    cfg := &config.Config{
        AppID:     "your app id",
        AppSecret: "your app secret",
        Token:     "your token",
        AESKey:    "your aes key",
        Cache:     cache.NewMemory(),
    }

    // 初始化Wechat实例
    oa := officialaccount.NewOfficialAccount(cfg)

    r.GET("/", func(c *gin.Context) {
        c.String(200, "Welcome to my Wechat Public Platform")
    })

    // 微信公众号接入验证
    r.GET("/wechat", func(c *gin.Context) {
        if err := oa.Server.VerifySignature(c.Writer, c.Request); err != nil {
            c.String(200, "Not a valid request")
            return
        }

        c.String(200, c.Query("echostr"))
    })

    r.Run(":8080")
}

Parmi eux, cfg sont les informations de configuration du compte officiel WeChat, et vous devez remplir votre propre AppID, AppSecret, Token, AESKey et d'autres informations. Le cache est une instance de cache. Nous utilisons ici le cache mémoire, mais vous pouvez également utiliser d'autres méthodes de cache telles que Redis. oa est une instance Wechat, qui peut envoyer des requêtes au serveur WeChat et obtenir des réponses grâce aux fonctions qu'il fournit.

4.3. Traitement des événements et des messages du compte public WeChat

Après avoir reçu des messages ou des événements des utilisateurs, nous devons les traiter en conséquence. Ceci peut être réalisé grâce à l'exemple de code suivant :

package main

import (
    "github.com/gin-gonic/gin"
    "github.com/silenceper/wechat/v2/cache"
    "github.com/silenceper/wechat/v2/config"
    "github.com/silenceper/wechat/v2/officialaccount"
)

func main() {
    r := gin.Default()

    // 配置微信公众号信息
    cfg := &config.Config{
        AppID:     "your app id",
        AppSecret: "your app secret",
        Token:     "your token",
        AESKey:    "your aes key",
        Cache:     cache.NewMemory(),
    }

    // 初始化Wechat实例
    oa := officialaccount.NewOfficialAccount(cfg)

    r.GET("/", func(c *gin.Context) {
        c.String(200, "Welcome to my Wechat Public Platform")
    })

    // 微信公众号接入验证
    r.GET("/wechat", func(c *gin.Context) {
        if err := oa.Server.VerifySignature(c.Writer, c.Request); err != nil {
            c.String(200, "Not a valid request")
            return
        }

        c.String(200, c.Query("echostr"))
    })

    // 处理微信公众号事件和消息
    r.POST("/wechat", func(c *gin.Context) {
        server := oa.Server
        msg, err := server.ParseRequest(c.Request)
        if err != nil {
            c.String(200, "Parsing request error")
            return
        }

        switch msg.Event {
        case "subscribe":
            resp := server.GetInviteFollowersResp("欢迎关注我的公众号!")
            c.String(200, resp)

        case "text":
            reqMsg := msg.(*request.Text)
            resp := server.GetMaterialTextResp(reqMsg.Content)
            c.String(200, resp)
        }
    })

    r.Run(":8080")
}

Dans l'exemple de code ci-dessus, nous avons envoyé une demande au serveur du compte officiel WeChat et avons répondu via la fonction de rappel du service du compte officiel WeChat. Lors du traitement des demandes, nous effectuons différentes opérations de traitement en fonction de différents types d'événements et de messages.

5. Conclusion

Grâce à l'introduction de cet article, nous pouvons apprendre à utiliser Golang pour implémenter le développement de comptes publics WeChat pour les applications Web. Parmi eux, nous avons utilisé Gin comme framework Web et Go-Wechat comme framework de développement WeChat, et avons présenté comment enregistrer les comptes publics WeChat, configurer les informations du compte public WeChat et traiter les événements et les messages du compte public WeChat. Grâce aux étapes ci-dessus, nous pouvons développer rapidement un service de compte public WeChat efficace et stable.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn