java实现微信模板消息跳转小程序

点击微信模板消息跳转小程序后台实现

需求

1.用户状态改变时,后台通过公众号给用户推送相关消息
2.用户点击推送消息跳转到小程序页面

实现效果

在这里插入图片描述

后台实现:
/**
     * * 发送模板消息
     * pagepath 用户点击时需要跳转的小程序页面
     * openid 接收消息的用户openid
     * messageContent 推送消息主体内容
     */
    public static void sendTemplateMessage(String openid,String pagepath, String messageContent) {
        WxMpInMemoryConfigStorage wxStorage = new WxMpInMemoryConfigStorage();
        wxStorage.setAppId(tencentSubscriptionAppid);//appid 公众账号的唯一标识
        wxStorage.setSecret(tencentSubscriptionAppSecret);//appsecret 公众账号的**
        WxMpService wxMpService = new WxMpServiceImpl();
        wxMpService.setWxMpConfigStorage(wxStorage);

        WxMpTemplateMessage.MiniProgram miniProgram = new WxMpTemplateMessage.MiniProgram();
        miniProgram.setAppid(WxConfig.APP_ID);//小程序appid
        miniProgram.setUsePath(true);
        miniProgram.setPagePath("/pages/index/index?foo=bar");//用户点击时需要跳转的小程序页面
        //2,推送消息
        WxMpTemplateMessage templateMessage = WxMpTemplateMessage.builder()
                .toUser(openid)//要推送的用户openid
                .templateId(templateTemplateID)//消息模版id
                //.url("http://mp.weixin.qq.com/download")//点击模版消息要访问的网址
                .miniProgram(miniProgram)
                .build();
        //3,如果是正式版发送模版消息,这里需要配置你的信息
        templateMessage.addData(new WxMpTemplateData("first","健康预警信息提示", "#FF00FF"));
        templateMessage.addData(new WxMpTemplateData("keyword1","红色预警", "#FF00FF"));
        templateMessage.addData(new WxMpTemplateData("keyword2","紧急处理", "#FF00FF"));
        templateMessage.addData(new WxMpTemplateData("remark",messageContent, "#FF00FF"));

        //发起推送
        try {
            String msg = wxMpService.getTemplateMsgService().sendTemplateMsg(templateMessage);
            log.info("推送成功:" + msg);
        } catch (Exception e) {
            log.info("推送失败:" + e.getMessage());
            e.printStackTrace();
        }

    }

 

posted @ 2023-01-06 16:38  石三爷  阅读(976)  评论(0编辑  收藏  举报