个人秋招总结
网关项目推荐
C端项目
视频讲解
首先你需要先注册 视频公众号一个你的微信公众号
微信公众号平台
然后打开下面的自动回复功能


之后进入到你的开发者中心
开发者中心基本配置

然后生成你的开发者密码,开发者id,以及设置你的IP白名单。
这里的IP白名单中的IP必须是一个公网IP,因为微信官方会把他们的请求发送到公网上,然后你接受到请求之后需要给这个请求做一个响应才能实现消息互通的功能。

之后开始配置你的服务器信息

首先是URL,这里的URL需要填写的是
http://ip:80/path(这里的path满足请求路径的格式即可)
或者是
https://ip:443/path

之后你的SpringBoot项目中就需要用到这些配置了
我们首先对pom文件进行配置,因为微信的数据格式为xml,
所以我们需要引入能解析xml和转换xml的依赖,如下
这里我的springboot版本为2.7.7,但是这个影响应该不大,如果出现一些问题可以尝试换一下依赖版本
之后在项目中配置你的这些微信官方给你的信息即可

然后我刚才说过,微信会向公网上你刚才输入的地址发送请求,是一个get请求,并且会携带上一些参数,我们要做的就是解析这些参数,代码如下
下面是Controller层的代码
下面是TokenCheckUtil工具包的代码
上面两个完成之后,只要你点击测试,微信就会向这个接口发送一个Get请求,并且其请求参数如上代码,需要对这些参数进行校验对比之后返回一个echostr,代码只需要直接按照上面的照抄即可。
然后继续看controller层的代码,有一个post请求,微信官方会将接收到的用户消息发送到这个post请求上,你只需要把get请求改为post,路径不变即可。
其请求数据在请求体中,因此需要使用的是@RequestBody注解
这里我们先简单的做一个测试,把项目使用maven进行打包,然后部署到你的云服务器上面去
微信公众号测试号管理
这里由于只是先做了一个测试,所以使用的是测试号管理,这里就不需要端口一定设定为80了,但是等真的变成上线了,那么就需要使用80端口,不过,你可以进行一下代理,比如使用nginx

之后你就可以点击提交,然后如果说按照上面的步骤的话,是
没有问题的,就会出现如下情况

上面的URL配置成功之后,就可以让你的朋友去扫你的测试号二维码然后让他们关注后给你发消息了。

当他们给你发消息之后,你会接收到如下的消息,其格式为XML
首先你会收到一个订阅公众号的消息,可以看到有一个Event标签,然后当用户给你发送消息的时候,你还会收到一个Content标签,其中的内容就是用户给你发送的内容

那么此时你需要做的就是去解析XML并且获得你需要的数据
Java实体类,用于接受请求并且封装
XML工具包
然后我们使用测试方法来测试一下这段解析代码是否有效
视频公众号

那么按照上面的逻辑,我们就已经大概知道微信给我们发送的到底是什么样子的数据了,那么我们只要按照微信官方定义的,在post方法里面把请求返回回去即可,我们先来看一下官方文档
官方文档

这里需要主要,此时的ToUserName和FromUserName就得改变了。
因为上面的xml中,ToUserName就是我们自己,FromUserName就是用户,而此时我们要做的是给用户返回数据,所以此时ToUserName是用户,FromUserName是我们自己。
所以先修改一下代码

然后我们来使用一个main函数来做一下测试
最终的格式如下

既然可以了,那么我们开始修改post里面的代码
所以post请求体中的代码修改如下
最终结果如下

视频公众号
对了,特别注意,如果你的消息回复的时间会超过5s,那么这次的自动回复会失败,所以如果说你的消息查询特别久,那么就需要用客服回复,之后我会继续完成这个功能的。
上面的测试功能已经成功了,那么我们把项目的端口换为80,然后在试一下
记住项目要放到云服务器上哦





