Maison  >  Article  >  Applet WeChat  >  Partager des exemples de code pour le développement de WeChat afin de répondre aux messages des utilisateurs

Partager des exemples de code pour le développement de WeChat afin de répondre aux messages des utilisateurs

黄舟
黄舟original
2017-04-18 10:10:491419parcourir

Le WeChat de l'entreprise a été développé il y a quelque temps

Voici une synthèse de partage de connaissances et d'expériences, dans l'espoir d'apprendre ensemble. . . . .

Je pense qu'il serait préférable d'écrire une série plus tard. . . .

Besoins de l'entreprise :

Envoyer un message à l'utilisateur d'entreprise désigné Envoyer un message  : tels que les informations de présence, les notifications d'entreprise, les informations personnelles, etc.,

/// </summary>
        /// <param name="UserID">要发送的人ID</param>
        /// <param name="StrMessg">消息</param>
        private void SendMessage(string UserID, string StrMessg)
        {
            Como.LogUtil.WriteLog("回复用户" + UserID + "消息");
            string Access_Token = Como.GetAccessToken.GetAccess_token();
            if (Access_Token == "")
                Como.LogUtil.WriteException("SendMessage 未能成功加载Access_Token");
            string Text = @"{
   ""touser"":";
            Text += &#39;"&#39; + UserID + &#39;"&#39;;
            Text += "," + &#39;"&#39; + @"msgtype"": ""text"", 
           ""agentid"": ""5"", 
            ""text"": {
           ""content"":";
            Text += &#39;"&#39; + StrMessg + &#39;"&#39;;
            Text += @"}, 
    ""safe"": ""0""
}";
            ;
            string url = String.Format("https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token={0}", Access_Token);
            string strResult = Como.Tools.GetPage(url, Text);

            JArray ja = (JArray)JsonConvert.DeserializeObject("[" + strResult + "]");
            string Error = "";
            try
            {
                if (strResult.Contains("errcode"))
                {
                    Error = ja[0]["errcode"].ToString();
                }
            }
            catch (Exception ex)
            {
                Como.LogUtil.WriteException("获取strResult,未获取到错误信息" + ex.Message.ToString());
            }
            string errcode = ja[0]["errcode"].ToString();
            string errmsg = ja[0]["errmsg"].ToString();
            if (errcode == "0" && errmsg == "ok")
            {
                Como.LogUtil.WriteLog("回复成功!");
            }
            else
            {
                Como.LogUtil.WriteLog("回复失败!");
                Como.LogUtil.WriteException("回复失败:SendMessage:" + strResult); 
            }
        }
/// <summary>
        /// 根据请求地址 和数据返回请求结果
        /// </summary>
        /// <param name="posturl"></param>
        /// <param name="postData"></param>
        /// <returns></returns>
        public static string GetPage(string posturl, string postData)
        {

            Stream outstream = null;

            Stream instream = null;

            StreamReader sr = null;

            HttpWebResponse response = null;

            HttpWebRequest request = null;

            Encoding encoding = Encoding.UTF8;

            byte[] data = encoding.GetBytes(postData);

            // 准备请求...

            try
            {

                // 设置参数

                request = WebRequest.Create(posturl) as HttpWebRequest;

                CookieContainer cookieContainer = new CookieContainer();

                request.CookieContainer = cookieContainer;

                request.AllowAutoRedirect = true;

                request.Method = "POST";

                request.ContentType = "application/x-www-form-urlencoded";

                request.ContentLength = data.Length;

                outstream = request.GetRequestStream();

                outstream.Write(data, 0, data.Length);

                outstream.Close();

                //发送请求并获取相应回应数据

                response = request.GetResponse() as HttpWebResponse;

                //直到request.GetResponse()程序才开始向目标网页发送Post请求

                instream = response.GetResponseStream();

                sr = new StreamReader(instream, encoding);

                //返回结果网页(html)代码

                string content = sr.ReadToEnd();

                string err = string.Empty;

                return content;

            }

            catch (Exception ex)
            {

                string err = ex.Message;
                Como.LogUtil.WriteException("Tools GetPage 异常为:"+err.ToString());
                return string.Empty;

            }

        }

Paramètre Référence Explication détaillée :

1. Como.GetAccessToken.GetAccess_token() / /Get Access_token

2.GetPage //Retour à la page Demande d'informations Résultat

Sur la base de ce qui précède, envoyez le code clé :

Ce qui suit est : après le succès Exemple d'image :

Partager des exemples de code pour le développement de WeChat afin de répondre aux messages des utilisateurs

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