1. 首页
  2. >
  3. 技术专题
  4. >
  5. 微信支付

微信公众号基本开发

一 、申请公众号

此步骤略过,请参考官方说明申请和认证

文档地址https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1472017492_58YV5

二 配置服务器和 token

此步骤使用的是非数据库,实际开发请结合数据库

2.1 服务器

使用 springboot 搭建

2.1.1 pom 文件

微信公众号基本开发

微信公众号基本开发

微信公众号基本开发

2.1.2 controller

微信公众号基本开发

2.1.2 SignUtil

微信公众号基本开发

微信公众号基本开发

2.1.3 App类(Springboot 入口类)

微信公众号基本开发

2.1.4 发布项目到远程服务器

注意此处的服务器需要外网可以访问,比如阿里云等,需要80端口或者443端口(https),没有的可以使用花生壳的二级域名映射到本地(映射步骤请自行百度)

将项目使用 maven 的 package 指令打包 ,发布到远程服务器,发布成功后访问前面的地址,可以访问代表成功

2.1.4.1 springboot 项目打包为 war 的方式

微信公众号基本开发

三 、配置微信后台

微信公众号基本开发

微信公众号基本开发

参数说明:

url 服务器地址,用于微信进行验证的,填写我们刚才编写的具体的请求地址

Token :令牌, 需和我们的 SignUtil工具类中的 token 保持一致

密钥: 随机生成

填写完对应的资料后,点击提交保存即可,如果提示 TOKEN 校验失败,请检查服务端地址 url 是否正确,以及内部的代码是否判断正确,特别是两边的 token 是否一致,提示成功后,代表我们的程序和微信已经握手成功

四、 收发消息

收发消息的原理其实就是我们将消息发送到微信,微信帮我们转到我们自己的服务器地址,这个地址仍旧是我们上面配置的地址,但是请求方式会变成 post,握手的时候是 GET 方式,所以我们需要做判断,如果是在 post 请求的方式下代表用户和我们进行消息传递

4.1 消息类型

具体消息的收发内容请参考微信文档https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421140453

  1. 文本消息
  2. 图片消息
  3. 语音消息
  4. 视频消息
  5. 小视频消息
  6. 地图位置消息
  7. 链接消息

4.2 收发文本消息

本案例以文本消息为例

实现简单功能,根据用户发送的内容来决定返回的内容

4.2.1 接收消息的内容格式

微信将用户传递的内容以 xml 的方式传递到我们服务端,会携带用户的信息等数据,因此我们需要对数据进行解析

微信公众号基本开发

4.2.2 返回消息格式

我们返回给微信的内容也是一个 xml 格式,因此我们只需要将数据进行拼接返回即可

微信公众号基本开发

4.3 controller

微信公众号基本开发

微信公众号基本开发

微信公众号基本开发

4.4 MessageUtil

微信公众号基本开发

微信公众号基本开发

4.5 重新部署项目

重新部署项目后,即可和服务器聊天了