C#开发微信门户及以(2)–微信消息的处理以及报

By admin in 亚洲必赢app在哪下载 on 2018年9月29日

微信下如火如荼,很多小卖部还期待增加上信息快车,这个是一个商机,也是一个艺之可行性,因此,有空切磋下、学习下微信的系支出,也就是成为计划之布置事情之一了。本系列文章要于一个循序渐进的角度达,全面介绍微信的系支出进程与有关经验总结,希望被大家探听一下连锁的开发过程。本篇随笔主要依据上等同篇《C#出微信门户及利用(1)–开始应用微信接口》的基础及展开深刻的介绍,介绍微信信息之处理和应的进程。

1、微信的音应交互

咱俩了解,微信的服务器架自了客户手机与开发者服务器的一个桥梁,通过信息之传递及响应,实现了和用户之竞相操作,下面是其的消息流程图。

亚洲必赢app在哪下载 1

微信向开发者服务器请求的音讯包含了多种类型,不过基本来说,分为了文本消息处理、事件信息处理、语音信息的分辨,以及成为开发者之前的不可开交消息证实操作基本分类,下面是自家绘制的一个信分类图,其中介绍了及时几乎种关系,以及分级的音细化分类。

亚洲必赢app在哪下载 2

对此这些信的请求,我们于支付服务器端,需要编制相关的逻辑进行针对性承诺受的处理,然后被微信服务器平台回复消息即可。

于面前同一篇之随笔里面我贴过代码,介绍微信信息处理的输入操作,代码如下所示。

        public void ProcessRequest(HttpContext context)
        {
            //WHC.Framework.Commons.LogTextHelper.Info("测试记录");

            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();
            }
        }

里的Execute(postString);就是本着信息的处理函数,它实现了针对性两样消息之散发处理过程。‘

        /// <summary>
        /// 处理各种请求信息并应答(通过POST的请求)
        /// </summary>
        /// <param name="postStr">POST方式提交的数据</param>
        private void Execute(string postStr)
        {
            WeixinApiDispatch dispatch = new WeixinApiDispatch();
            string responseContent = dispatch.Execute(postStr);

            HttpContext.Current.Response.ContentEncoding = Encoding.UTF8;
            HttpContext.Current.Response.Write(responseContent);
        }

其间的WeixinApiDispatch就是一个分发的管理类,它取请求消息之情节,并构建不同门类的音信参数,传递给不同之响应函数进行拍卖,然后返回封装好之XML内容,作为响应。

实际的代码处理逻辑如下图所示。

亚洲必赢app在哪下载 3

此消息处理接口,其实就算是概念好同一多级的对准要消息之处理操作,参数是见仁见智让的音讯对象,具体的代码定义如下所示(由于篇幅由,省略有接口,具体可以参照达图)。

    /// <summary>
    /// 客户端请求的数据接口
    /// </summary>
    public interface IWeixinAction
    {
        /// <summary>
        /// 对文本请求信息进行处理
        /// </summary>
        /// <param name="info">文本信息实体</param>
        /// <returns></returns>
        string HandleText(RequestText info);

        /// <summary>
        /// 对图片请求信息进行处理
        /// </summary>
        /// <param name="info">图片信息实体</param>
        /// <returns></returns>
        string HandleImage(RequestImage info);

...........................


        /// <summary>
        /// 对订阅请求事件进行处理
        /// </summary>
        /// <param name="info">订阅请求事件信息实体</param>
        /// <returns></returns>
        string HandleEventSubscribe(RequestEventSubscribe info);

        /// <summary>
        /// 对菜单单击请求事件进行处理
        /// </summary>
        /// <param name="info">菜单单击请求事件信息实体</param>
        /// <returns></returns>
        string HandleEventClick(RequestEventClick info);

..............................
    }

打地方的代码可以看到,不同的消息,到处理函数这里,就为不同的信实体类的不二法门传送过来了(留意:实体类是自家冲程序支付需要协调定义之,非微信本身的实体类),这样很好我们处理操作,否则每次用分析不同之信内容,很容易出现问题,这样强类型的数据类型,提高了咱们出微信下之强壮型和高效性。这些实体类的靶子有肯定的累关系之,他们之持续关系如下所示。

亚洲必赢app在哪下载 4

2、微信的管住接口

地方的信息分类是微信服务器向开发者服务器发送的信请求操作,还有雷同栽信息,是我们开发者服务器向微信服务器进行的音讯请求或响应,这种这里权且称之为微信的军事管制接口,它标志了咱们好透过这些接口进行连锁的音信回复或者数管理操作。它的归类图如下所示。

亚洲必赢app在哪下载 5

微信的过来消息处理,它也同方面小节的音相同,它呢是延续自BaseMessage实体类的(平,下图的实体类及其继承关系啊是于定义的,方便程序开发),它的涉及如下所示

亚洲必赢app在哪下载 6

过来的消息,一般用底无比多之是文件消息及图文信息。

文本消息之法力如下所示。

亚洲必赢app在哪下载 7

图文信息,可以长图,还足以长详细的链接页面,是甚尴尬的一模一样栽意义,对于一些内容比较多,希望表现更好职能的,一般以这种,效果如下所示。

亚洲必赢app在哪下载 8

 

C#出微信门户及以(25)-微信企业号的客户端管住功能

C#付出微信门户及采取(24)-微信小店货架信息保管

C#出微信门户及应用(23)-微信小店商品管理接口的包和测试

C#支出微信门户及用(22)-微信小店的付出与应用

C#出微信门户及下(21)-微信企业号的音和事件的收纳处理及解密 

C#付出微信门户及利用(20)-微信企业号的菜谱管理

C#开微信门户及以(19)-微信企业号的音信发送(文本、图片、文件、语音、视频、图文信息等)

C#出微信门户及应用(18)-微信企业号的通讯录管理支付的成员管理

C#支出微信门户及以(17)-微信企业号的通讯录管理支付之部门管理

C#开微信门户及采取(16)-微信企业号的安排与动

C#付出微信门户及利用(15)-微信菜单增加扫一扫、发图、发地理位置功能

 C#支付微信门户及动(14)-在微信菜单中使重定向获用户数量

C#开发微信门户及应用(13)-使用地理位置扩展相关应用

C#支付微信门户及用(12)-使用语音处理

C#付出微信门户及动(11)–微信菜单的又呈现方法介绍

C#支付微信门户及使用(10)–在治本网受同微信用户分组信息

C#开发微信门户及运用(9)-微信门户菜单管理暨交至微信服务器

C#支付微信门户及动(8)-微信门户应用管理网机能介绍

C#付出微信门户及使用(7)-微信多客服功能及开销并

C#开微信门户及利用(6)–微信门户亚洲必赢app在哪下载菜单的管理操作

C#支出微信门户及以(5)–用户分组信息保管

C#出微信门户及下(4)–关注用户列表及详细信息管理

C#支付微信门户及应用(3)–文本信息以及图文信息的应

C#开发微信门户及用(2)–微信信息之处理同对

C#支付微信门户及下(1)–开始采用微信接口

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图
Copyright @ 2010-2018 亚洲必赢app官方下载 版权所有