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发送微信公众号模板消息
311 0
|
JSON 小程序 Java
微信公众平台测试号——模板消息发送Demo
微信公众平台测试号——模板消息发送Demo
1869 0
|
Java 关系型数据库 数据库连接
【SpringBoot】入门到精通 这一篇就够了
【SpringBoot】入门到精通 这一篇就够了
512 1
|
6月前
|
前端开发 数据处理
芋道审批流配置流程表单超详细介绍
芋道审批流配置流程表单超详细介绍
1300 62
|
6月前
|
Java API 网络架构
java调用api接口自动判断节假日信息
java调用api接口自动判断节假日信息
2292 0
|
存储 小程序 前端开发
微信小程序与Java后端实现微信授权登录功能
微信小程序极大地简化了登录注册流程。对于用户而言,仅仅需要点击授权按钮,便能够完成登录操作,无需经历繁琐的注册步骤以及输入账号密码等一系列复杂操作,这种便捷的登录方式极大地提升了用户的使用体验
3590 12
|
小程序
java--微信小程序发送模板消息
java--微信小程序发送模板消息
657 0
|
JSON 数据格式
@SpringQueryMap 、@RequestPart 、@RequestParam 比较与说明
@SpringQueryMap 、@RequestPart 、@RequestParam 比较与说明
1548 2
|
前端开发 Java API
Swagger接口文档 —— 手把手教学,全方位超详细小白能看懂,百分百能用Java版
本文提供了一份详细的Swagger接口文档生成工具的使用教程,包括了导入依赖、配置类设置、资源映射、拦截器配置、Swagger注解使用、生成接口文档、在线调试页面访问以及如何设置全局参数(如token),旨在帮助Java开发者快速上手Swagger。
10153 0
Swagger接口文档 —— 手把手教学,全方位超详细小白能看懂,百分百能用Java版