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(); } }