Java微信公众号开发之初步认识微信公众平台

一、 初步认识微信公众平台

1、微信公众号是什么?

官网的介绍:再小的个体也有品牌。

 

 2、微信公众平台就是我们平时所说的“公众号”,在我刚接触微信开发时,微信公众平台的开发已经是稳定的阶段了,

微信公众平台地址:https://mp.weixin.qq.com/

微信公众平台公分4大板块:订阅号、服务号、小程序、企业号。

 

3、 公众号的类型

公众号的类型分为三种,分别是服务号和订阅号,还有一个大家比较陌生的企业号。订阅号和服务号均为传统意义的“公众号”,具有消息群发能力,前两种大家相对来说熟悉一些,第三种比较陌生。且99%以上的微信公众号都是服务号和订阅号,因此我们主要讨论这两类 。

      详细区别见腾讯官方说明 :http://kf.qq.com/faq/120911VrYVrA130805byM32u.html

     也可参考知乎上的说明      :https://www.zhihu.com/question/21289814

    

微信公众号的帐号类型分为以下几种:

  1. 服务号——为提供服务的

  2. 订阅号——以发布信息为主

  3. 小程序——新出的产品

  4. 企业微信——企业管理使用,不对外公开

    注:用户可以根据需求选择适合自己的帐号类型去注册账号,订阅号每天可以发文(每天限一条),服务号每周才能发文一次(每月限4条)

 

4、服务号和订阅号的区别

三:微信公众平台的通讯过程

    1. 当我们在微信app上,给公众号发送一条内容的时候,实际会发送到微信的服务器上,此时微信的服务器就会对内容进行封装成某种格式的数据比如xml格式,再转发到我们配置好的URL上,然后网站服务器返回这个请求的结果,再由微信服务器发送到微信app所互动的公众号上,所以该URL实际就是我们处理数据的一个请求路径。所以该URL必须是能暴露给外界访问的一个公网地址,不能使用内网地址,生产环境可以申请腾讯云,阿里云服务器等,但是在开发环境中可以暂时利用一些软件来完成内网穿透,便于修改和测试,如NATAPP,花生壳, ngrok 等软件,使用起来也很方便,在本地安装对应的软件,配置运行后,直接使用软件分配的临时域名来访问本地应用即可(下面两张图都详细的讲解了消息交互的过程)

       图一:

   

        图二 
这里写图片描述 
上述5个步骤中,作为开发者我们主要精力都集中在步骤3上,这个步骤主实际上要有3项任务:

1.接收来自2的XML信息 
2.服务器内部逻辑执行 
3.组织并返回用于4的XML信息 
上述三项任务我会在后面做详细说明,并提供一整套简单、高效的处理方法。

三:解析微信服务器传来的xml消息

因为微信服务器发送过来的是xml格式的消息,所以我们可以采用 开源框架dom4j去解析xml 。

        <dependency>
            <groupId>dom4j</groupId>
            <artifactId>dom4j</artifactId>
            <version>1.6.1</version>
        </dependency>

四:将响应消息转换成xml返回给微信服务器

如何将响应消息转换成xml返回的问题,这里我们将 采用开源框架xstream来实现Java类到xml的转换

        <!-- 采用开源框架xstream来实现Java类到xml的转换 -->
        <dependency>
            <groupId>com.thoughtworks.xstream</groupId>
            <artifactId>xstream</artifactId>
            <version>1.4.10</version>
        </dependency>

 

五:关于微信开发,最后我们来看一张结构图

 

 

 

Thinkingcao CSDN认证博客专家 Java Spring Boot 微服务
CSDN2019年度博客之星、博客专家,专注架构、Java、Spring、SpringBoot、SpringCloud、微服务、数据库、分布式、中间件、源码分析、JVM性能调优、K8S等领域
微信搜索公众号:「Thinking曹」,一个执着于架构的JAVA基层码农,每天带你学习新知识。
相关推荐
©️2020 CSDN 皮肤主题: 程序猿惹谁了 设计师:白松林 返回首页
实付 19.90元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值