1、消息转发地址填写,需要注意的是token和encodingaeskey要和项目中配置一致

2、URL要实现两个路由相同的方法但是一个需要时GET另一个是POST,如下,其中TOKEN参数需要与微信后台配置一致;

  @ResponseBody@RequestMapping(method=RequestMethod.GET,produces= "text/plain;charset=utf-8")public void authGet(@RequestParam(name = "signature", required = false) String signature,@RequestParam(name = "timestamp", required = false) String timestamp,@RequestParam(name = "nonce", required = false) String nonce,@RequestParam(name = "echostr", required = false) String echostr,HttpServletResponse response) throws Exception {this.logger.info("\n接收到来自微信服务器的认证消息:[{}, {}, {}, {}]", signature, timestamp, nonce, echostr);if (StringUtils.isAnyBlank(signature, timestamp, nonce, echostr)) {throw new IllegalArgumentException("请求参数非法,请核实!");}String[] str = { TOKEN, timestamp, nonce };Arrays.sort(str); // 字典序排序String bigStr = str[0] + str[1] + str[2];// SHA1加密SHA1 sha1= new SHA1();String digest =sha1.gen(str);// 确认请求来至微信if (digest.equals(signature)) {response.getWriter().print(echostr);}}
  /*** POST请求:* 接收客服消息; * 此处的value值也就是往微信公众平台要配置的请求的地址*/@ResponseBody@RequestMapping(method=RequestMethod.POST)public JSONObject doMessagePost(HttpServletRequest request,HttpServletResponse response) {try {ServletInputStream stream = request.getInputStream();BufferedReader reader = new BufferedReader(new InputStreamReader(stream));StringBuffer buffer = new StringBuffer();String line = new String("");  while((line = reader.readLine()) != null){buffer.append(line);}JSONObject jsonObject = JSONObject.fromObject(buffer.toString());String to=jsonObject.getString("ToUserName");String from=jsonObject.getString("FromUserName");String time=jsonObject.getString("CreateTime");String sessionFrom=jsonObject.getString("SessionFrom");String msgType=jsonObject.getString("MsgType");PrintWriter out=response.getWriter(); String msg="<xml>\r\n" + "     <ToUserName><![CDATA["+to+"]]></ToUserName>\r\n" + "     <FromUserName><![CDATA["+from+"]]></FromUserName>\r\n" + "     <CreateTime>"+time+"</CreateTime>\r\n" + "     <MsgType><![CDATA[transfer_customer_service]]></MsgType>\r\n" + " </xml>";out.print(msg);if("event".equals(msgType)&&"follow".equals(sessionFrom)) {pushService.setSendCustomerMsgLink(from);}} catch (Exception e) {e.printStackTrace();}return null;}

第一个方法用于验证,第二个方法用于接收消息转发和其他业务逻辑实现,方法二中也实现了接收到的客服消息转发给客服,关键点在于

<MsgType><![CDATA[transfer_customer_service]]></MsgType>

至此也就全部完成了。

微信小程序消息推送服务器接入相关推荐

  1. php微信小程序物流进度推送,微信小程序 消息推送php服务器验证实例详解

    微信小程序 消息推送php服务器验证实例详解 设置页面("设置">>"开发设置"): 1.设置服务器域名 注意http和https协议的不同. 2. ...

  2. nodejs android 推送,利用Nodejs怎么实现一个微信小程序消息推送功能

    利用Nodejs怎么实现一个微信小程序消息推送功能 发布时间:2021-01-20 13:55:29 来源:亿速云 阅读:92 作者:Leah 今天就跟大家聊聊有关利用Nodejs怎么实现一个微信小程 ...

  3. TP6 微信小程序消息推送配置Token校验失败200302

    ThinkPHP6 微信小程序消息推送配置时报错: {"ret":200302,"err_msg":"verify token fail"} ...

  4. 微信小程序消息推送(订阅消息原模板消息)开发流程

    注:模板消息没了. 正常开发肯定需要前后端配合,此处都在小程序里写了 参考文档:https://developers.weixin.qq.com/miniprogram/dev/framework/o ...

  5. 微信小程序消息推送,实现未完成计划的在微信内的定时提醒功能

    微信小程序消息提醒(微信内提醒) 提示:此处仅是小程序消息提醒的一个小例子,希望能够为大家抛砖引玉 目录 微信小程序消息提醒(微信内提醒) 需求及效果展示 一.实现思路 二.实现步骤 1.获取模板ID ...

  6. 小程序消息推送配置服务器修改,微信小程序——消息推送配置

    第一步:官网下载对应版本的cryptoDemophp 下载地址:https://wximg.gtimg.com/shake_tv/mpwiki/cryptoDemo.zipjson 第二步:建立检查文 ...

  7. 微信小程序消息推送自有服务器无法接收到信息,消息推送服务器配置次数用完的解决方式。

    问题描述:消息推送自有服务器无法接收到信息,消息推送服务器配置次数用完! 解决方向:自有服务器无法接收信息的排错,消息推送配置的次数用完的解决方式. 适合版本:微信所有版本(2020.4.16) 关于 ...

  8. 微信小程序——消息推送配置

    第一步:官网下载对应版本的cryptoDemo 下载地址:https://wximg.gtimg.com/shake_tv/mpwiki/cryptoDemo.zip 第二步:创建检查文件wxchec ...

  9. 微信小程序消息推送功能开发(java实现)

    先好好把官方文档看一看,链接https://developers.weixin.qq.com/miniprogram/dev/framework/server-ability/message-push ...

最新文章

  1. js如何实现扫描身份证识别_人脸识别是如何实现的
  2. spring-session源码解读 sesion
  3. 455. Assign Cookies - LeetCode
  4. c#a服务器上传文件b服务器,C#_c#批量上传图片到服务器示例分享,客户端代码: 复制代码 代码 - phpStudy...
  5. 再深入 HTTP Referer【转】
  6. 编程算法 - 篱笆修理(Fence Repair) 代码(C)
  7. 云图说 | 揭秘云硬盘高可靠性的秘密,速来围观
  8. 高并发推荐系统架构设计实践
  9. Word中调整编号和文字的间距
  10. PHP数组的访问方法有几种,PHP数组的几种遍历方法
  11. 计算机办公软件中级考试题怎么做,计算机办公软件考试试题
  12. GRE零基础50-60天出分随感--V159 Q170
  13. C语言———求”完数“
  14. 2022年全球市场木材干燥窑总体规模、主要生产商、主要地区、产品和应用细分研究报告
  15. Vue 视频音频播放
  16. 如何将EAN13码批量输出成PDF
  17. c语言编程排球队员站位问题,排球比赛的站位技巧介绍,在比赛过程中该如何与队友沟通呢?排球比赛常见的手势说明...
  18. FPGA学习杂记4——IP核简介、调用、复制和PLL IP核介绍
  19. 树莓派声音输出设置_树莓派3 之 音响配置
  20. 青梅竹马醉酒后背杀!他差点被……?!

热门文章

  1. 阿里云RDS,登录提示:指定的网络名不再可用,错误64
  2. 【毕业设计】基于SSM的教务管理系统
  3. 倍福NC轴编码器Enc parameters释义
  4. 中级软件设计师必考题及解题技巧
  5. MATLAB自带的自适应算法函数
  6. 语音聊天室系统技术方案
  7. 设置MATLAB中figure图的背景为白色
  8. 文档测试要测什么,怎么测?
  9. 计算机操作系统期末复习大纲
  10. 缺货笼罩供应链:智能手机“涨”声一片