springboot项目对接微信公众号需要知道的几个事情,非常重要。

1.如果要对接微信的公众号,首先就是要在开发者配置中开启服务端配置才行。但是一旦开启服务配置,你在微信公众号平台配置的自动回复消息,自定义菜单就全部失效。即使你开启后关闭,也需要重新配置才行,不然就是失效不能用的状态。你在开启配置时,会有弹窗提醒。如下,而且你一旦关闭这个配置,对接到自己服务器就失效。即平台和后台二选一。

springboot项目对接微信公众号需要知道的几个事情,非常重要。_第1张图片

2.如果第一步你已经完成开启服务器配置。那就几个具体的实现场景说明是否可行

2.1 能否生成一个带有参数的二维码,用户扫描二维码进行关注,关注后能收到二维码中的参数?

答案是:可以。不过要通过微信的官方文档中的先生成ticket,然后换取对应的二维码的url。这个url可以在浏览器中直接打开展示,就行你上传阿里云存储或者AmazonS3返回的资源链接,能够直接访问生成的二维码图片一样。我们在生成二维码的入参scene_str中拼接好我们的需要的入参,多个入参可以自己约定拼接的结构,比如分号或者下划线等等。

springboot项目对接微信公众号需要知道的几个事情,非常重要。_第2张图片

第一步生成二维码,第二部扫描二维码关注事件中获取二维码入参,入参在标签中。

springboot项目对接微信公众号需要知道的几个事情,非常重要。_第3张图片

2.2 能否在用户像公众号发送消息后,我进行多次回复消息,或者我可以在业务场景需要的地方直接给用户发送公众号消息?

答案:不能。

目前微信并没有放出主动给用户发送消息的接口,但是我们可以使用其多客服接口来达到主动给用户发送消息的目的。公众号中给用户发送消息分为几种:发送模板消息,接受普通消息并回复消息,接受用户消息被动回复消息,客服消息。除了模板消息可以随时通知用户(消息是在微信通知中而不是在公众号中),关于客服消息需要看文档描述如下:就是说客服消息能够在用户出发了圈住的五种情况后可以给用户发送消息,发送几条要看对应的类型。达到上限后就报错,不能发送了。有一定的局限性。

springboot项目对接微信公众号需要知道的几个事情,非常重要。_第4张图片

2.3 发送模板消息需要开启服务端配置这个功能吗?

答案:不用。

3.推荐一个非常好用的,直接对接微信服务的三方依赖。具体怎末好用一看便知,我只截屏了一小段,很多。

        
        
            com.github.binarywang
            weixin-java-mp
            3.7.0
        

springboot项目对接微信公众号需要知道的几个事情,非常重要。_第5张图片

具体的demo:

import me.chanjar.weixin.mp.api.WxMpService;
import me.chanjar.weixin.mp.bean.result.WxMpQrCodeTicket;
import me.chanjar.weixin.mp.bean.template.WxMpTemplateData;
import me.chanjar.weixin.mp.bean.template.WxMpTemplateMessage;  
 
 @Autowired
 private WxMpService wxMpService;

    public String createQrCodeAndGet2DCode(String channel, String activityId, String refId) {
        String sceneStr = null;
        if (StringUtils.isEmpty(refId)) {
            sceneStr = String.format("%s-%s", channel, activityId);
        } else {
            sceneStr = String.format("%s-%s-%s", channel, activityId, refId);
        }
        try {
            WxMpQrCodeTicket wxMpQrCodeTicket = wxMpService.getQrcodeService().qrCodeCreateLastTicket(sceneStr);
            LOGGER.info("获取到的二维码ticket信息wxMpQrCodeTicket:{}", JSONObject.toJSONString(wxMpQrCodeTicket));
            String url = wxMpService.getQrcodeService().qrCodePictureUrl(wxMpQrCodeTicket.getTicket());
            LOGGER.info("获取到的二维码图片地址:{}", url);
            return url;
        } catch (WxErrorException e) {
            LOGGER.error("永久二维码请求异常:{}", e);
            return null;
        }
    }

 

你可能感兴趣的:(微信公众号对接须知)