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; }
  • 相关阅读:
    Matlab怎么修改显示数值格式/精度/小数位数
    java matlab 混合编程 Failed to find the required library mclmcrrt9_2.dll on java.library.path.
    Java学习路线图
    解决Java getResource 路径中含有中文的情况
    深入jar包:从jar包中读取资源文件getResourceAsStream
    Matlab调用Java类
    java调用matlab绘图
    轮盘赌算法
    matlab中cumsum函数
    matlab运行出现“变量似乎会随着迭代次数改变而变化,请预分配内存,以提高运行速度”问题
  • 原文地址:https://www.cnblogs.com/Onedayzk/p/7799547.html
Copyright © 2011-2022 走看看