接入微信小程序消息推送服务,可以3种方式选择其一:

1、开发者服务器接收消息推送
2、云函数接收消息推送
3、微信云托管服务接收消息推送

开发者服务器接收消息推送,开发者需要按照如下步骤完成:

1、填写服务器配置
2、验证服务器地址的有效性
3、据接口文档实现业务逻辑,接收消息和事件

1、引入 WxJava 依赖

<!-- web支持 -->
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!-- 微信小程序开发 -->
<dependency><groupId>com.github.binarywang</groupId><artifactId>wx-java-miniapp-spring-boot-starter</artifactId><version>4.2.0</version>
</dependency>

2、申请微信小程序

https://mp.weixin.qq.com/

使用邮箱注册一个微信小程序账号,一个邮箱仅能注册一个微信小程序账号

3、微信小程序配置信息

登录微信小程序后,在:开发–》开发管理 找到小程序的基本信息:

将 AppID,AppSecret 配置在项目配置文件中

# 微信开发配置
wx:# 微信小程序开发miniapp:appid: xxxxxxxxxxsecret: xxxxxxxxxx# 配置消息推送需要token: aesKey: msgDataFormat: # 存储类型config-storage:type: redistemplate

配置了 config-storage.type 决定我们获取的 AccessToken 存放的位置,默认存放在本地缓存中,可选存在 redis 中,我们可以存放在 redis 中进行可视化管理。

4、消息推送配置

在开发管理页面往下滑,找到 “消息推送” 模块,启用 “消息推送”

这里我已经启用了,我们点击修改,重新配置我们的消息推送配置

  • 1、URL,即微信推送消息的时候,调用你的 api 接口地址
  • 2、Token,这个为自定义 token,做参数校验使用的
  • 3、EncodingAESKey,消息加密密钥,我们可以选择随机生成
  • 4、消息加密方式,我们为了数据安全,选择 “安全模式”
  • 5、数据格式,我们选择 JSON 或 XML 都行

对应的后台配置文件配置为:

# 微信开发配置
wx:# 微信小程序开发miniapp:appid: xxxxxxxxxxsecret: xxxxxxxxxx# 配置消息推送需要token: asurplus_tokenaesKey: PeQ3KmxFbhko0FdR5WG6Hn8wOuKuhQfr6ZNl7ykRGaMmsgDataFormat: JSON# 存储类型config-storage:type: redistemplate

5、接收消息推送的 API

import cn.binarywang.wx.miniapp.api.WxMaService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;/*** 微信小程序消息推送*/
@Slf4j
@RestController
@RequestMapping("wx/ma/welcome")
public class WxMaMsgController {@Autowiredprivate WxMaService wxMaService;/*** 消息校验,确定是微信发送的消息** @param signature* @param timestamp* @param nonce* @param echostr* @return* @throws Exception*/@GetMappingpublic String doGet(String signature, String timestamp, String nonce, String echostr) {// 消息合法if (wxMaService.checkSignature(timestamp, nonce, signature)) {log.info("-------------微信小程序消息验证通过");return echostr;}// 消息签名不正确,说明不是公众平台发过来的消息return null;}
}

第四步配置的 URL 应为:

http://lizhou.4kb.cn/wx/ma/welcome

其中,lizhou.4kb.cn 为你的域名,没有域名的参考文章:【微信公众号】1、使用内网穿透工具Ngrok代理本地服务

6、消息推送测试

启动本地服务,在第四步的页面,点击 “确定”,得到如下结果:

表示,消息推送配置成功,看后台日志:

微信服务器推送的消息,通过了校验,表示确实是微信服务器发送的消息

如您在阅读中发现不足,欢迎留言!!!

【微信小程序】1、SpringBoot整合WxJava开启消息推送相关推荐

  1. 微信小程序 - 云开发轮询实现定时推送订阅消息

    前言 受众:已有小程序和云开发经验(没有的话照着流程和官方文档也应该可以实现) 关于小程序的消息推送,我了解到的有以下几种实现方式 1.模板消息,已于2020 年 1 月 10 日下线 2.通过服务端 ...

  2. springboot整合websocket进行消息推送

    什么是websocket? WebSocket 是 HTML5 开始提供的一种在单个 TCP 连接上进行全双工通讯的协议,使得客户端和服务器之间的数据交换变得更加简单,允许服务端主动向客户端推送数据. ...

  3. springboot整合websocket实现消息推送

    springboot整合websocket 1.WebSocket介绍与原理 介绍:WebSocket是HTML5一种新的协议.它实现了浏览器与服务器全双工通信.一开始的握手需要借助HTTP请求完成. ...

  4. springboot定时发送短信_springboot 整合websocket实现消息推送(主动推送,具体用户推送,群发,定时推送)...

    websocket springboot 整合websocket实现消息推送(主动推送,具体用户推送,群发,定时推送) 使用WebSocket构建交互式Web应用程序 本指南将引导您完成创建" ...

  5. 微信小程序结合SpringBoot实现WebSocket长链接

    微信小程序结合SpringBoot实现WebSocket长链接 引入 WebSocket 微信小程序部分实现 js部分 页面部分 后端SpringBoot实现 WebSocketConfig.java ...

  6. 基于微信小程序的springboot客运汽车票购票系统源码和论文

    在客运公司工作 7 年之余,对客运管理的难度深有感触.特别是在春运期 间购票难依旧是长途汽车订票的一大难题.长途汽车和火车的订票管理虽然有 差异,但大体上是相同的.长途汽车在售票的过程中需要对旅客的起 ...

  7. 微信小程序以SpringBoot作为后端开发遇到的问题及解决思路总结

    背景 关键字:微信小程序.SpringBoot 项目.腾讯云服务器.SSL.HTTPS.Tomcat 注:本文记录了一个菜鸟解决问题的思路,觉得啰嗦可以略过,解决方案在文末.技术不精,文章有错误烦请指 ...

  8. docker + nginx +微信小程序后台 (springboot)

    1.资源环境 阿里云ecs服务器.centos8 系统 . docker 2.0 .nginx .微信小程序. springboot jar包 .ssl证书. 已备案的域名 www.dan-huang ...

  9. 基于微信小程序+VUE+Springboot+Mysql的中小学生作业管理系统

    基于微信小程序+VUE+Springboot+Mysql的中小学生作业管理系统 ✌全网粉丝20W+,csdn特邀作者.博客专家.CSDN新星计划导师.java领域优质创作者,博客之星.掘金/华为云/阿 ...

最新文章

  1. VoVNet:实时目标检测的新backbone网络
  2. 你想象中的实习是什么样的?
  3. smp架构与numa架构_NUMA架构和Java
  4. Java 并发编程之 ThreadLocal 线程局部变量
  5. 2.10 m 个样本的梯度下降
  6. arduino读取水位传感器的数据显示在基于i2c的1602a上_构建Arduino的LoRa远程智能空气质量监测系统...
  7. springmvc源码 - handlerAdapter是如何初始化的
  8. 好看的php表格样式,HTML5制作表格样式
  9. 将.npy文件转.txt文件
  10. 安全管家安卓_网速管家安卓5.4版本全面上线
  11. while在Java用法_Java中while循环用法
  12. 清除html宏病毒,手动清除EXCEL宏病毒的方法
  13. 法线贴图Shader
  14. 安装爱剪辑计算机丢失,爱剪辑没保存的视频怎么恢复?
  15. 数据结构算法Day01
  16. my ReadBook_guanlixinxixitong / 02382 / MIS / mis / 20130112 PM
  17. 设计模式-业务代表模式-个人思考
  18. matlab计算下列极限,MATLAB微积分计算极限,又快又好
  19. 边缘计算(二)——边缘计算的类型与用途
  20. 克隆远程仓库#180804

热门文章

  1. NumPy与ndarray简介
  2. 面试最后我一般会问面试官什么问题
  3. 什么是restful,什么是rest风格
  4. [8]Deep Learning Software-深度学习软件
  5. Springboot 国际化语言(浏览器切换)
  6. 【替代XShell】WindTerm 工具 【免费】【开源】
  7. 基于MATLAB的图像分割系统
  8. OsWorkFlow工作流简介
  9. 《Microduino实战》——3.3 点灯——迈入物理世界
  10. 1.51单片机开发环境配置