首页 > PHP资讯 > 工具库 > 微信公众平台开发教程(三)基础框架搭建

微信公众平台开发教程(三)基础框架搭建

工具库
微信公众平台开发教程(三) 基础框架搭建

上一章,我们已经初步讲解了微信公众账号开发的基本原理,今天我们来探索设计实现。

首先我们设计了模块层次图,当然图中只是给出一种实现方式,不局限于此。具体见下图。

主要功能介绍如下:

1)请求接口层。处理HTTP请求,及响应

2)分发层。由接口层传入请求,然后具体分析请求类型,分发至不同的处理器

3)业务逻辑层。这里是我们的具体业务逻辑了,根据请求,实现具体的业务逻辑。

4)数据层。我们在实现某个应用时可能需要访问数据,可以是数据库或者是文件。如果是简单应用,可能没有这一层。

其实,具体的应用可以在这个结构上去扩展,可以扩展消息对象层、业务对象层、数据访问层、功能管理层等。这里只是提供一种思路,不局限于此。

根据流程图,我们能够清晰的了解整个流程,消息处理的具体实现步骤。

下面我们针对每个流程进行代码实现。

一、接收HTTP请求

我们需要一个HttpHandler或者一个网页,来处理微信服务端HTTP请求。

这里我们使用了HttpHandler。因为其灵活性高,性能好。

具体实现如下。

    public class WeiXinHttpHandler:IHttpHandler    {        ///         ///         ///         public bool IsReusable        {            get { return true; }        }        ///         /// 处理请求        ///         /// 
        public EventHandler(string requestXml)        {            this.RequestXml = requestXml;        }        ///         /// 处理请求        ///         ///         public string HandleRequest()        {            string response = string.Empty;            EventMessage em = EventMessage.LoadFromXml(RequestXml);            if (em.Event == EventType.Subscribe)            {                //注册用户                User user = new User();                user.OpenID = em.FromUserName;                UserManager.Regester(user);                //回复欢迎消息                TextMessage tm = new TextMessage();                tm.ToUserName = em.FromUserName;                tm.FromUserName = em.ToUserName;                tm.CreateTime = Common.GetNowTime();                tm.Content = "欢迎您关注xxx,我是小微。有什么我能帮助您的吗?";                response = tm.GenerateContent();            }            return response;        }    }

四、HTTP响应

最后将处理结果返回至最初HttpHandler,响应给微信服务器,直接Response处理。这也是在最开始设计的HttpHandler中实现的。

下面是代码片段,具体可见一、Http请求

            context.Response.Clear();            context.Response.Charset = "UTF-8";            context.Response.Write(responseMsg);            context.Response.End();


更多微信公众平台开发教程(三) 基础框架搭建 相关文章请关注PHP中文网!

工具库

本文由欣才IT学院整理发布,未经许可,禁止转载。
支持16不支持0