最近单位要求开发一个微信公众号,由于微信提供的页面模板无法满足我们的需求,所以需要采用微信公众号的开发者模式。正好我也记录一下这个开发的步骤,以备日后再次需要。步骤如下:

1、首先需要申请一个微信公众号。具体如何申请,请登录微信公众号平台申请即可。

2、准备一个外网映射工具。由于开发者模式中需要填写一个服务器,这个服务器的地址必须以“http”或“https”开头的,这就要求这个url地址必须能够在公网上访问。除此之外,端口只支持80端口。

     关于外网映射工具有很多,这里我们推荐一款好用的工具——ngrok。(有可能被墙,无法使用)

     方法:(1)下载ngrok的可执行程序,下载下来是一个ngrok.exe文件。

              cmd打开win命令窗口,然后进入ngrok.exe文件所在的文件目录;然后输入ngrok 8080,回车即可;【这里注意8080是你本地TOMCAT配置的端口】

     方法:(2)由于ngrok是国外的一个服务器,网速很慢。而且ngrok所产生的是一个随机的网址号。这里推荐另一个工具——tunnel,这个部署在国内,Tunnel是基于ngrok的网络服务

              cmd打开win命令窗口,然后进入ngrok.cfg文件所在的文件目录;然后输入命令:ngrok -config ngrok.cfg -subdomain ××× 8080,回车即可;【8080是TOMCAT端口;×××是你自定义的域名前缀】

              例如:ngrok -config ngrok.cfg -subdomain ex 8080,那么回车之后映射成的网址是:http://jyj.tunnel.qydev.com

      方法:(3)去https://www.ngrok.cc/user.html这个网址注册一个账号→开通隧道→选择一个免费的服务器。(缺点在于网速不是很快)

java微信公众号开发步骤_第1张图片

          方法:(4)还有一个natapp也不错,可以登录natapp官网,注册一个账号,然后开通一个免费的隧道。我采用的就是natapp的方式。

3、要搭建一个javaEE的后端平台,这里我使用的是Springboot框架。关于Springboot项目的搭建可参考我的51cto博客前面的文章。

4、javaEE后台需要提供一个get方式的方法作为微信公众号的进入服务端的入口。

例如:http://xxxx/vx/index

(1)后台架构如下:

java微信公众号开发步骤_第2张图片

(2)在WeiXincontroller类里定义这个入口方法:这个方法用于验证服务端与微信服务端是否链接成功。(自定义一个CheckUtil.java类和SecuritySHA1Utils类。代码文件下载:https://pan.baidu.com/s/1_CHTrKoBhH1MDUAFXAs5ZQ)

java微信公众号开发步骤_第3张图片

5、登录微信公众号平台,进入开发者模式,配置服务器地址url。url就是3步提供的那个方法路径。

对于初学者,可采用明文模式就可以。

java微信公众号开发步骤_第4张图片

6、配置好这些信息之后,点击提交,如果提示提交成功,那么就表示本地的服务器与微信服务器建立了链接,我们就可以调用微信给提供的一些方法接口了。

7、接下来就可以进行开发了。按照微信公众号开发者文档提示进行。

这里我们需要定义另一个同名(与get入口方法名称相同)的post方法:

java微信公众号开发步骤_第5张图片