Maison  >  Article  >  développement back-end  >  c# utilise l'interface WeChat pour développer l'application du portail WeChat

c# utilise l'interface WeChat pour développer l'application du portail WeChat

高洛峰
高洛峰original
2017-01-17 10:58:231259parcourir

Les applications WeChat battent leur plein et de nombreuses entreprises espèrent accéder à l'information express. Il s'agit d'une opportunité commerciale et d'une direction technique. Par conséquent, rechercher et apprendre le développement lié à WeChat lorsque vous en avez le temps est devenu l'un des objectifs. choses importantes dans les plans quotidiens. Cette série d'articles espère présenter de manière exhaustive le processus de développement pertinent et le résumé de l'expérience pertinente de WeChat dans une perspective étape par étape, dans l'espoir de donner à chacun une compréhension du processus de développement pertinent. Cet essai se concentre principalement sur la préparation préliminaire du processus de développement de WeChat et l'introduction de certains travaux initiaux.

Au cours de la semaine précédant la rédaction de cet article, j'ai principalement fait référence à quelques articles d'introduction et aux instructions d'interface associées de la plateforme publique WeChat, combinés au développement de code C#, pour trier l'interface du portail de mon entreprise et implémenter WeChat au fur et à mesure du travail progresse, de plus en plus de fonctions peuvent être ajoutées au travail préliminaire d'interaction utilisateur et d'affichage d'informations du compte professionnel, et j'espère étendre l'interface WeChat du point de vue de l'application, afin de réaliser mon exploration technique et ma compréhension de l'interface WeChat. .

1. Compte WeChat

Pour développer et utiliser l'API de la plateforme WeChat, vous devez vous inscrire sur la plateforme publique de WeChat (https://mp.weixin.qq.com/) et disposer d'un service. Le compte ou le compte d'abonnement. Le compte de service est principalement destiné aux entreprises et aux organisations. Le compte d'abonnement est principalement destiné aux organisations et aux particuliers. Vous pouvez demander le compte correspondant en fonction de différents besoins.

Pour utiliser certaines interfaces avancées, vous devrez peut-être disposer d'un compte de service et d'une authentification avancée. Lors du processus d'enregistrement du compte, vous devez télécharger un formulaire de demande, l'imprimer et le tamponner du sceau officiel. De plus, le demandeur doit prendre une photo avec sa carte d'identité (un peu bizarre, haha), puis ensuite. téléchargez-le sur le serveur pour examen. Généralement, l’approbation peut être obtenue rapidement.

J'ai demandé un compte de service au nom de l'entreprise. Une fois le compte enregistré, vos informations pertinentes seront affichées sur l'interface principale. De plus, un code QR sera appliqué pour vous. Le code QR pour accéder au compte de l'entreprise suit la boîte de dialogue de confirmation, ce qui est très pratique. Voici le code QR de mon compte d'entreprise après ma candidature, qui peut être scanné directement.

c# utilise linterface WeChat pour développer lapplication du portail WeChat

2. Définition du menu WeChat

WeChat a deux façons de définir le menu, l'une est le mode d'édition et l'autre est le mode de développement. Les deux interagissent. les uns avec les autres. Exclusion, c'est-à-dire qu'une fois qu'on adopte le mode développement, on ne peut plus utiliser le mode édition, et vice versa. Le menu en cours d'édition peut effectivement être géré, mais WeChat ne le prend pas en charge, ce qui me rend très mécontent.

Dans des circonstances normales, si nous venons de demander un numéro WeChat, nous pouvons utiliser le menu d'édition pour le tester et modifier certains menus selon les instructions. Bien que WeChat indique qu'il sera mis à jour dans les 24 heures, il est généralement mis à jour très rapidement, peut-être en une minute ou deux au plus rapidement, ce qui fait du bien.

Pour utiliser le mode développeur, vous devez placer un lien de page sur le serveur selon les exigences de WeChat. Si vous le développez en C#, vous pouvez utiliser la méthode de dénomination ***.ashx et utiliser le traitement général. programme d'Asp.NET Voilà, pas besoin d'utiliser une page normale.

Utilisez le menu du mode développement, c'est-à-dire que vous pouvez appeler l'API WeChat pour créer le menu. Pour appeler l'API WeChat (WeChat a de nombreuses API à appeler), nous devons connaître l'importance de plusieurs paramètres. Ainsi, lorsque le mode développement est activé, ces paramètres seront répertoriés pour vous, comme indiqué ci-dessous.

c# utilise linterface WeChat pour développer lapplication du portail WeChat

3. Traitement des liens pour accéder à WeChat

Comme mentionné ci-dessus, si vous postulez au mode développement pour effectuer des appels de menu ou d'autres API, vous devez réussir il a réussi Le test d'accès à WeChat signifie confirmer que le lien que vous avez rempli existe et peut réussir le test de rappel de WeChat. WeChat fournit un exemple de traitement de page PHP. Si nous le développons en C#, nous pouvons effectuer une recherche et nous obtiendrons la réponse. Ma méthode de traitement est la suivante.

Créez un programme de traitement général, puis ajoutez une logique de traitement à sa page de traitement. S'il s'agit d'un contenu non POST, cela signifie que le test Get effectué par WeChat doit ajouter une logique de traitement et lui donner. vers votre Transférez simplement le contenu. S'il est en mode POST, c'est l'opération de demande du serveur WeChat pour le message d'interface, qui sera présentée plus tard.

/// <summary>
    /// 微信接口。统一接收并处理信息的入口。
    /// </summary>
    public class wxapi : IHttpHandler
    {
        public void ProcessRequest(HttpContext context)
        {
            string postString = string.Empty;
            if (HttpContext.Current.Request.HttpMethod.ToUpper() == "POST")
            {
                using (Stream stream = HttpContext.Current.Request.InputStream)
                {
                    Byte[] postBytes = new Byte[stream.Length];
                    stream.Read(postBytes, 0, (Int32)stream.Length);
                    postString = Encoding.UTF8.GetString(postBytes);
                }

                if (!string.IsNullOrEmpty(postString))
                {
                    Execute(postString);
                }
            }
            else
            {
                Auth(); //微信接入的测试
            }
        }

De manière générale, dans la fonction Auth, les paramètres pertinents sont obtenus, puis traités et renvoyés au serveur WeChat.

string token = "****";//你申请的时候填写的Token
string echoString = HttpContext.Current.Request.QueryString["echoStr"];
string signature = HttpContext.Current.Request.QueryString["signature"];
string timestamp = HttpContext.Current.Request.QueryString["timestamp"];
string nonce = HttpContext.Current.Request.QueryString["nonce"];

Le code complet de la fonction Auteur est le suivant, dans lequel j'ai ensuite extrait la logique métier dans une nouvelle classe pour faciliter la gestion de la logique métier.

/// <summary>
        /// 成为开发者的第一步,验证并相应服务器的数据
        /// </summary>
        private void Auth()
        {
            string token = ConfigurationManager.AppSettings["WeixinToken"];//从配置文件获取Token
            if (string.IsNullOrEmpty(token))
            {
                LogTextHelper.Error(string.Format("WeixinToken 配置项没有配置!"));
            }
            string echoString = HttpContext.Current.Request.QueryString["echoStr"];
            string signature = HttpContext.Current.Request.QueryString["signature"];
            string timestamp = HttpContext.Current.Request.QueryString["timestamp"];
            string nonce = HttpContext.Current.Request.QueryString["nonce"];
            if (new BasicApi().CheckSignature(token, signature, timestamp, nonce))
            {
                if (!string.IsNullOrEmpty(echoString))
                {
                    HttpContext.Current.Response.Write(echoString);
                    HttpContext.Current.Response.End();
                }
            }
        }

Le code pour signer et renvoyer le paramètre WeChat CheckSignature est le suivant

/// <summary>
        /// 验证微信签名
        /// </summary>
        public bool CheckSignature(string token, string signature, string timestamp, string nonce)
        {
            string[] ArrTmp = { token, timestamp, nonce };
            Array.Sort(ArrTmp);
            string tmpStr = string.Join("", ArrTmp);
            tmpStr = FormsAuthentication.HashPasswordForStoringInConfigFile(tmpStr, "SHA1");
            tmpStr = tmpStr.ToLower();
            if (tmpStr == signature)
            {
                return true;
            }
            else
            {
                return false;
            }
        }

4 Utilisez la méthode de développement pour créer un menu


.

Une fois que vous aurez réussi l'authentification de WeChat, celui-ci vous permettra d'appeler son API en mode développement et de créer votre menu à volonté.

Pour créer un menu, vous pouvez accéder à son interface de traitement API via l'emplacement suivant.

c# utilise linterface WeChat pour développer lapplication du portail WeChat

Après être entré, vous constaterez que WeChat a divisé le traitement de nombreux messages en différentes catégories.

c# utilise linterface WeChat pour développer lapplication du portail WeChat

Pour plus d'articles liés à C# utilisant l'interface WeChat pour développer des applications de portail WeChat, veuillez faire attention au site Web PHP 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