zoukankan      html  css  js  c++  java
  • 微信公众平台开发教程(四)_点击事件处理

    在我们配置了微信公众号的基本配置之后

    用户每次触发点击事件之后,腾讯都会回调到我们的这个URL,然后我们再处理对应逻辑,返回给腾讯。

    下面以我暴露出来/wechat.do来进行举例:@RequestMapping(value="/wechat.do",method = RequestMethod.POST, produces = { "application/xml;charset=UTF-8" })

    public @ResponseBody String processWxMessage(
                @RequestBody String requestBody,
                @RequestParam(value = "signature", required = false) String signature,
                @RequestParam(value = "timestamp", required = false) String timestamp,
                @RequestParam(value = "nonce", required = false) String nonce,
                @RequestParam(value = "encrypt_type", required = false) String encrypt_type,
                @RequestParam(value = "msg_signature", required = false) String msg_signature,
                HttpServletRequest request,HttpServletResponse response) throws Exception {
            String respMessage = null;
         //接收微信消息实体类 ReceiveMessage message
    = new ReceiveMessage(); Map config=null; try{ if(StringUtils.isNotBlank(encrypt_type) && !"raw".equals(encrypt_type) && "aes".equals(encrypt_type)){ logger.info("消息经过加密处理!");
              //获取本地存储的公众号配置信息 String sysytemAppid
    = (String) wxPropertiesBean.getProperties("system").get("system_appid"); config = this.wxMpService.queryWxAccountByCode(sysytemAppid); String encodingaeskey = (String) config.get("encoding_aes_key"); String token = (String) config.get("account_token"); String appid = (String) config.get("account_appid");
              //解密消息 WXBizMsgCrypt msgCryPt
    = new WXBizMsgCrypt(token, encodingaeskey, appid); requestBody = msgCryPt.decryptMsg(msg_signature, timestamp, nonce, requestBody); }
    message
    = MessageUtil.parseXml(requestBody);
           //根据腾讯返回信息确认事件触发类型后进行处理,最后转换成xml格式的String返回给腾讯 respMessage
    = this.wxService.analyzeMessage(message, config); }catch (Exception e){ logger.error(e.getMessage()); return null; } return respMessage; }
  • 相关阅读:
    Extjs知识点汇总
    div设置滚动条内容任然显示不全
    win7 系统安装 docker
    docker常用命令
    cargo实现自动化部署远程jetty容器(非安全模式)
    win7 失去焦点解决方案
    jeecms 评论相关
    jeecms v8 网站访问量配置
    python——进程池
    python多进程编程常用到的方法
  • 原文地址:https://www.cnblogs.com/Onedayzk/p/7799547.html
Copyright © 2011-2022 走看看