Java实现微信公众号发送通知

简介: Java实现微信公众号发送通知

准备工作

 1.登录微信公众平台进入自己的微信公众号点击广告与服务下的订阅通知,如下图

image.gif 编辑

2.点击公共模板库,选择一个自己想要的模板(模板只能使用微信提供的模板),按照自己的需求去找一个模板,我这里要做一个访客出场提示。

image.gif 编辑

3.点击选用,保留自己想要的提示项即可。

image.gif 编辑

4.点击提交之后即可生成一条模板信息

image.gif 编辑

Java代码

1.在yaml文件里配置模板id

image.gif 编辑

2.编写发送微信通知接口

SocialClientService:

void sendWxMPMessage(String openId, String templateId, String page, Map<String, String> dataMap) throws Exception;

image.gif

参数为:openId,即唯一id,templatedId就是模板id,page可以为null,dataMap就是拼凑好的数据Map集合

实现类SocialClientServiceImpl:

@Override
    public void sendWxMPMessage(String openId, String templateId, String page, Map<String, String> dataMap) throws Exception {
        WxMpService wxMpService1 = wxMpServiceCache.get(clientIdMP + ":" + clientSecretMP);
        WxMpSubscribeMessage wxMpSubscribeMessage = WxMpSubscribeMessage.builder()
                .toUser(openId)
                .templateId(templateId)
                .url(page)
                .dataMap(dataMap)
                .build();wxMpService1.getTemplateMsgService().getAllPrivateTemplate();
        wxMpService1.getSubscribeMsgService().send(wxMpSubscribeMessage);
    }

image.gif

3.调用接口

注入yaml里面配置好的通知模板id:

@Value("${wx.visitor-template-id}")

   private String visitorTemplateId;

注意每项字数不得超过20个字。

private void sendWxMessage(VisitorManageDO visitorManage) {
        //发送微信通知
        Map<String,String> data = new HashMap<>();
        data.put("name1", visitorManage.getVisitorName());
        data.put("thing4", "感谢您访问***,请您在半个小时内离开厂区,谢谢配合,再见");
        log.info("send-mp-visitor,id===>{},data===>{}",visitorManage.getId() , data);
        try {
            socialClientService.sendWxMPMessage(visitorManage.getOpenId(), visitorTemplateId, null, data);
            log.info("send-mp-visitor-success,id===>{}",visitorManage.getId());
        } catch (Exception e) {
            log.error("send-mp-visitor-error,id===>{},msg===>{}",visitorManage.getId(),e.getMessage());
        }
    }

image.gif

前端预约提示框代码:

<wx-open-subscribe
    class="custom-submit-btn"
    id="subscribe-btn"
    template="f33bI1AS9IC5-eiUW0iSnyCm_hm1Xb6Bf,hs6qtokIu1T9oxpPgU08QEY5V4"--模板id,多个模板id用逗号隔开 
      @success="onSubscribeSuccess"
      @error="onSubscribeError"
    @cancel="handleSubscribeCancel"
    >
  <component is="script" type="text/wxtag-template" slot="style">
    <component is="style">
      .subscribe-btn {
       background: #007aff !important; 
      color: #fff !important;
    font-size: 18px !important;
    border-radius:10px;
    line-height: -28px !important;
    text-align: center !important;
    margin: 0px 0 0 33px !important;
      }
    </component>
  </component>
      <component is="script" type="text/wxtag-template">
    <button class="subscribe-btn">
      提交             
    </button>
      </component>
    </wx-open-subscribe>

image.gif

image.gif 编辑

如下图所示,因为我们申请的是一次性模板,所有我们点击允许通知才能接收到一条消息,所以需要在前端显示多个是否允许多个模板通知。

image.gif 编辑


目录
相关文章
java发送微信公众号模板消息
java发送微信公众号模板消息
473 0
|
JSON 小程序 Java
微信公众平台测试号——模板消息发送Demo
微信公众平台测试号——模板消息发送Demo
2476 0
|
前端开发 数据处理
芋道审批流配置流程表单超详细介绍
芋道审批流配置流程表单超详细介绍
2417 63
|
消息中间件 NoSQL Java
Redis Streams在Spring Boot中的应用:构建可靠的消息队列解决方案【redis实战 二】
Redis Streams在Spring Boot中的应用:构建可靠的消息队列解决方案【redis实战 二】
9270 1
|
开发框架 前端开发 网络协议
Spring Boot结合Netty和WebSocket,实现后台向前端实时推送信息
【10月更文挑战第18天】 在现代互联网应用中,实时通信变得越来越重要。WebSocket作为一种在单个TCP连接上进行全双工通信的协议,为客户端和服务器之间的实时数据传输提供了一种高效的解决方案。Netty作为一个高性能、事件驱动的NIO框架,它基于Java NIO实现了异步和事件驱动的网络应用程序。Spring Boot是一个基于Spring框架的微服务开发框架,它提供了许多开箱即用的功能和简化配置的机制。本文将详细介绍如何使用Spring Boot集成Netty和WebSocket,实现后台向前端推送信息的功能。
4033 1
|
存储 人工智能 Java
Spring AI与DeepSeek实战四:系统API调用
在AI应用开发中,工具调用是增强大模型能力的核心技术,通过让模型与外部API或工具交互,可实现实时信息检索(如天气查询、新闻获取)、系统操作(如创建任务、发送邮件)等功能;本文结合Spring AI与大模型,演示如何通过Tool Calling实现系统API调用,同时处理多轮对话中的会话记忆。
3156 57
|
存储 NoSQL Redis
redis-(error)-MISCONF。Redis。is。configuredto。save。RDBsnapshots
redis-(error)-MISCONF。Redis。is。configuredto。save。RDBsnapshots
3285 0
|
人工智能 Java API
Java 也能快速搭建 AI 应用?一文带你玩转 Spring AI 可观测性
Java 也能快速搭建 AI 应用?一文带你玩转 Spring AI 可观测性
|
前端开发 Java API
Swagger接口文档 —— 手把手教学,全方位超详细小白能看懂,百分百能用Java版
本文提供了一份详细的Swagger接口文档生成工具的使用教程,包括了导入依赖、配置类设置、资源映射、拦截器配置、Swagger注解使用、生成接口文档、在线调试页面访问以及如何设置全局参数(如token),旨在帮助Java开发者快速上手Swagger。
13052 0
Swagger接口文档 —— 手把手教学,全方位超详细小白能看懂,百分百能用Java版
|
小程序
java--微信小程序发送模板消息
java--微信小程序发送模板消息
815 0

热门文章

最新文章