网站怎样做外链,织梦网站主页代码在后台怎么改,黑龙江新闻联播历年片头,佛山有那些定制网站建设公司本篇文章的主题是 如何通过springboot来实现微信的模版消息推送
实现效果#xff1a;
在当今的信息化时代#xff0c;微信作为国人最为常用的通讯工具之一#xff0c;已经不仅仅是一个简单的社交应用#xff0c;更是连接人与服务、人与信息的桥梁。企业微信模板消息作为…本篇文章的主题是 如何通过springboot来实现微信的模版消息推送
实现效果
在当今的信息化时代微信作为国人最为常用的通讯工具之一已经不仅仅是一个简单的社交应用更是连接人与服务、人与信息的桥梁。企业微信模板消息作为一种高效、便捷的信息传递方式被广泛应用于各类业务场景中如订单通知、会议提醒、活动推送等。
通过本教程的学习您将掌握如何在Spring Boot项目中集成微信SDK如何编写代码发送微信模板消息并了解整个推送的过程。
简要说明 由于发送模版消息需要微信的服务号申请服务号的话需要营业执照个人是没有办法申请的但是微信为了给开发者们提供测试特意开放了公众平台测试账号号大家可以申请测试号来进行模版推送的开发和测试
开发步骤
访问微信公众平台测试账号页面获取appID和appsecret扫码二维码添加测试号添加模版消息集成微信SDK调用相关API
1、微信公众平台测试号管理
1.1 访问微信公众平台测试账号页面
大家首先访问微信公众平台地址https://mp.weixin.qq.com/ 如果还没有注册账号的可以申请一个个人订阅号这个教程大家网上自行查阅很简单~
登录成功之后选择 开发者工具 -- 公众平台测试账号 测试号管理页面如下
1.2 获取appID和appsecret
获取你的测试号信息
1.3 扫码二维码添加测试号
使用你的微信扫描这个测试公众号的二维码并关注 然后会得到你的**微信号openId**这个后面会用到
1.4 添加模版消息
点击新增测试模版 添加模板信息 一定要按照注意事项填写 参数需以{{开头以.DATA}}结尾
我这边创建了两个模版这个模版id后面也会用到
2、集成微信SDK
2.1 引入微信工具包 dependencygroupIdcom.github.binarywang/groupIdartifactIdweixin-java-mp/artifactIdversion3.0.0/version/dependency2.2 添加配置文件
appId、appSecret和orderTemplateId就是上面微信公众平台测试号管理中我们获取到的几个参数现在把这三个参数配置到我们的项目中。 callBackUrl暂时先不用管
创建配置类
ConfigurationProperties(prefix wechat.public)
Component
Data
RefreshScope
public class WeChatProperties {private String appId;private String appSecret;private String callBackUrl;private String orderTemplateId;
}3、API调用
3.1 发送消息模版的实现
package com.mdx.user.manager;import com.mdx.user.config.WeChatProperties;
import lombok.extern.slf4j.Slf4j;
import me.chanjar.weixin.mp.api.WxMpInMemoryConfigStorage;
import me.chanjar.weixin.mp.api.WxMpService;
import me.chanjar.weixin.mp.api.impl.WxMpServiceImpl;
import me.chanjar.weixin.mp.bean.template.WxMpTemplateData;
import me.chanjar.weixin.mp.bean.template.WxMpTemplateMessage;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;import java.text.SimpleDateFormat;
import java.util.Arrays;
import java.util.Date;
import java.util.List;/*** author : jiagang* date : Created in 2022/7/26 10:42*/
Component
Slf4j
public class WxMessagesManager {Autowiredprivate WeChatProperties weChatProperties;public void sendOrderMsg(String openId, String orderId, String serviceName){String templateId weChatProperties.getOrderTemplateId();// 订单时间SimpleDateFormat sdf new SimpleDateFormat();sdf.applyPattern(yyyy-MM-dd HH:mm);Date date new Date();String timeNow sdf.format(date);WxMpInMemoryConfigStorage wxStorage new WxMpInMemoryConfigStorage();wxStorage.setAppId(weChatProperties.getAppId());wxStorage.setSecret(weChatProperties.getAppSecret());WxMpService wxMpService new WxMpServiceImpl();wxMpService.setWxMpConfigStorage(wxStorage);// 此处的 key/value 需和模板消息对应ListWxMpTemplateData wxMpTemplateDataList Arrays.asList(new WxMpTemplateData(first, 您有一个新的订货单, #FF0000),new WxMpTemplateData(keyword1, orderId),new WxMpTemplateData(keyword2, serviceName),new WxMpTemplateData(keyword3, timeNow),new WxMpTemplateData(remark, 请登录系统查看订单详情并及时配货));WxMpTemplateMessage templateMessage WxMpTemplateMessage.builder().toUser(openId) // openId为1.3步骤中得到的微信号.templateId(templateId).data(wxMpTemplateDataList).url(https://blog.csdn.net/qq_38374397?typeblog) // 跳转详情地址.build();try {wxMpService.getTemplateMsgService().sendTemplateMsg(templateMessage);log.info(消息模版发送成功~);} catch (Exception e) {log.error(推送失败 e.getMessage());}}
}3.2 测试类调用
openId为1.3步骤中得到的微信号其余参数可自定义
3.3 效果展示
移动端 点击详情
PC端 最后送大家一句话白驹过隙沧海桑田
文末送福利啦~
1、JavaSE、JVM、算法数据结构、数据库Mysql、redis、Maven、Netty、RocketMq、Zookeeper、多线程、IO、SSM、Git、Linux、Docker、Web前端相关学习笔记
2、2023最新BATJ大厂面试题集
3、项目源码
4、学习小组
领取方式关注下方公主号回复【笔记】、【面试】获取相关福利。 文章持续更新可以关注下方公众号或者微信搜一搜「 迷迭香编程 」获取项目源码、干货笔记、面试题集第一时间阅读获取更完整的链路资料。