微信公众号开发(3)---使用开源组件开发进行接口验证

在经过一系列的微信开发后,关于微信的开发确实内容很庞大,一些基础的组件都要有我们开发者进行编写,有没有简单的方法呢?

哈哈----在开源社区中无意中找到了关于微信全套开发的sdk,里面包含了微信开发中所有的功能实现,作者是binarywang,也是一直在更新,社区还是挺活跃的。

献上 github地址: https://github.com/Wechat-Group/weixin-java-tools   !里面有一些开发的文档,大大便利我们的开发--

接口配置(无需我们的工具类,一些验证已经帮我们进行了实现):

1.导入pom依赖:

<!-- 微信开发Java SDK公共模块 -->
<dependency>
<groupId>com.github.binarywang</groupId>
<artifactId>weixin-java-common</artifactId>
<version>3.1.0</version>
</dependency>

<!-- 微信公众号Java SDK-->
<dependency>
<groupId>com.github.binarywang</groupId>
<artifactId>weixin-java-mp</artifactId>
<version>3.1.0</version>
</dependency>

2,微信验证(只需要创建 WxMpInMemoryConfigStorage--存放配置信息,和 WxMpServiceImpl 两对象就可完成验证):

  (1) 我使用spring 将这两个类进行管理,代码直接注入就可以  

<!-- 微信相关组件交给spring 管理 -->
	<!-- 微信基础配置,存放token 秘钥,我们也可以直接将后台微信配置放进去 -->
	<bean id="config" class="me.chanjar.weixin.mp.api.WxMpInMemoryConfigStorage"></bean>
	<!-- 功能实现的方法 -->
	<bean id="wxMpService" class="me.chanjar.weixin.mp.api.impl.WxMpServiceImpl"></bean>

  (2),注入后直接使用

  @Autowired
    private WxMpInMemoryConfigStorage config;//微信后台配置
    @Autowired
    private WxMpService wxMpService;//实现方法

    /*
     * 该方法与微信后台配置的url进行对接,是get的请求,是微信开发的第一步
     * 微信后台会给我们接口传入signature,timestamp,nonce,echostr
     * 进行sha1 加密与signature比较,TRUE 则返回echostr给微信
     * author:cys
     */
    @RequestMapping(value="/wxopen" ,method=RequestMethod.GET)
    public void wxopen(HttpServletResponse response,String signature,String timestamp,
                    String nonce,String echostr) throws IOException {

         response.setContentType("text/html;charset=utf-8");
        //用来存放我们后台配置的信息
        config.setToken("chenyuesong");
        wxMpService.setWxMpConfigStorage(config);

        //此方法对微信的验证进行了封装--我们无需自己实现
        wxMpService.checkSignature(timestamp, nonce, signature);
            @Cleanup//lombok 管理释放资源,类似于try catch finally,用不上可直接去除
            PrintWriter writer =response.getWriter();
        //验证返回false时候
         if (!wxMpService.checkSignature(timestamp, nonce, signature)) {
              // 消息签名不正确,说明不是公众平台发过来的消息

             writer.println("非法请求");
              return;
            }

         //验证返回true时候,返回微信echostr
         if (StringUtils.isNotBlank(echostr)) {
              // 说明是一个仅仅用来验证的请求,回显echostr
             writer.println(echostr);
              return;
            }
         else {
             return;
         }
    }

原文地址:https://www.cnblogs.com/iscys/p/9536028.html

时间: 2024-10-20 18:24:58

微信公众号开发(3)---使用开源组件开发进行接口验证的相关文章

以海尔微信公众号为例:微商城开发怎么撩用户

海尔兄弟想必大家都知道(卖冰箱的),嗯,在小编眼里,的确是个卖冰箱的.能将卖冰箱的形象做到深入人心,也是很成功的了.在这个微信商城开发的时代,海尔也有自己的微信公众号.重点是,海尔的微信公众号的运营不仅颠覆了大家对内容营销的看法,还做得特别成功! 很多商家也有自己的微信公众号,但是在做内容的时候,总是不得要领.具体表现在粉丝数量上不去,或者粉丝数量上去了但活跃度不足.这是一个讲究拉新留存促活的时代,可见用户的存在有多大的意义.所以,为嘛海尔可以做得很好?小编特意去扒拉了下海尔的微信公众号,然后它

微信公众号聊天室 H5私聊功能开发 带推送提醒功能

微聊聊天室是专门针对微信公众号.H5开发的一款聊天室, 可群发计划.私聊, 群房间数无限制, 部署在您自己的服务器上, 有需要的联系我 qq: 445899710 微信 hype522147 下图是俩功能 1. 点击头像和用户私聊 2. 点击顶部联系管理菜单, 主动与客服管理私聊 效果图预览 原文地址:https://www.cnblogs.com/ccjin/p/11361114.html

总想自己动动手系列&#183;3&#183;如何让微信公众号和外网服务交互之通过TOKEN验证(准备篇&#183;1)

一.准备工作 (1)准备一个微信公众号(对私的订阅号或者对公的服务号). (2)准备一台部署了web应用,并且已经发布出去的Linux服务器(需要说明的是:微信公众号强烈建议使用80端口,使用其他自定义端口貌似根本不通,后面会有说明). 先科普说明一下: 1.微信公众号的注册分为2种类型,这个很简单,按照官方注册流程按部就班地填写基本不会出现问题. 2.刚注册的订阅号和公众号是"非认证"状态的(本人注册的是对私的订阅号,目前处于非认证状态). 3.微信官方将认证审核流程托管到了第三方机

asp源码微信公众号拍照或从手机相册中选图接口

'设置参数值 Public Sub setParameter(parameter, parameterValue) If parameters.Exists(parameter) = True Then parameters.Remove(parameter) End If parameters.Add parameter, parameterValue End Sub 'Microsoft.XMLHTTP 'Get/Post方法请求url,获取请求内容 Public Function Requ

微信公众号开发

1. 企业号,服务号,订阅号的区别 消息次数限制:每分钟群发200次.每月主动发送消息不超过4条.每天群发一条. 验证关注者身份:通讯录成员可关注.任何微信用户扫码即可关注.任何微信用户扫码即可关注. 消息保密:消息可转发.分享,支持保密消息,防成员转发.消息可转发.分享.消息可转发.分享. 定制应用:可根据需要定制应用,多个应用聚合成一个企业号.不支持,新增服务号需要重新关注.不支持,新增服务号需要重新关注.2. 2. 个人订阅号 功能(编辑模式&&开发模式):群发功能.添加自动回复,消

微信公众号开发入门笔记(三):编辑模式与开发模式

(一)编辑模式与开发模式的区别 微信公众号后台分为编辑模式和开发模式,这两种模式是互斥的,也就是如果当前开启的是编辑模式(即默认的模式),那么开发模式必须是关闭状态的:如果当前开启的是开发模式,那么编辑模式状态必须是关闭的(此时自动消息回复.自定义菜单等都不可用). (二)开发模式下数据交互的原理 一张图说明问题: 所以我们需要实现的主要业务逻辑就在微信公众号服务器后台.

微信公众号开发教程

开发和调试之殇 微信公众号的开发,说简单也简单,说麻烦也麻烦,麻烦的不是开发过程,而是搭建开发环境的过程.只是俗话说得好,磨刀不误砍柴工,我们有必要花点时间来研究下怎样攻破微信公众号的开发环.说白了,公众号的开发就是基于HTML/CSS/JS的移动端Web App的开发.但微信公众号和普通的移动Web App开发还略有不同,由于非常多情况下我们会调用公众号的接口.而仅仅要涉及微信接口的请求,都必须通过微信内置的浏览器来訪问,假设我们想把请求放到PC桌面浏览器上执行调试.就会跳转到一个笑脸,提醒你

Java微信公众号开发

微信公众平台是腾讯为了让用户申请和管理微信公众账号而推出的一个web平台.微信公众账号的种类可以分为3种,并且一旦选定不可更改.按照功能的限制从小到大依次为:订阅号.服务号.企业号.个人只能注册订阅号.注册地址:https://mp.weixin.qq.com/. 开发环境的准备 微信公众号 外网映射工具(开发调试) 与微信的对接的URL应该满足以下的条件: 在公网上能够访问 只支持80端口 映射工具有很多,例如花生壳,ngrok可以将内网映射到公网上面,这样就可以使用公网访问本机的网络服务.下

微信公众号开发 (微信网页开发)

微信支付搞完之后,也开始了微信其他功能,不得不说,微信写得接口都比较齐全和标准,附上微信公众号开发文档链接,仔细阅读,必须严格按照其规则,才能调用微信的接口. 最近做了一个手机端调用微信接口打开摄像头进行扫描二维码功能和调用上传下载图片的接口,注意,在微信公众号配置要注意,[开发]-[接口权限] 查看对应的接口权限是开通了没有?最主要的是,还要在[公众号设置]-[功能设置]-[JS接口安全域名]配置,切记,一定是备案过的,一级二级都可以. 附上图片: 配置完此项之后,还有个地方需要配置的,需要特

PHP微信公众号后台开发(Yii2实现)

本文内容较多,包括微信接入.获取微信用户信息.微信支付.JSSDK配置参数获取等部分.如果读者对微信开发没有一个主观上的认识,那么建议读者先研读微信公众平台开发者文档,然后再阅读本文,效果更佳! 微信开发的完整例子已经整理在Github,欢迎查看: yii2-wechat-demo.[八宝粥的博客] 接入微信 Yii2后台配置 1.在app/config/params.php中配置token参数 return [ //微信接入 'wechat' =>[ 'token' => 'your tok