尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

微信消息模版推送

微信消息模版推送
📅 发布时间:2026/6/17 18:21:24

微信公众平台创建模版

https://mp.weixin.qq.com/
先查看APPID和AppSecret
image
创建模版获取模版ID及相关参数
image

代码

pom.xml

        <!-- 微信公众号消息推送 --><dependency><groupId>com.github.binarywang</groupId><artifactId>weixin-java-mp</artifactId><version>4.6.0</version> <!-- 最新稳定版 --></dependency><dependency><groupId>com.github.binarywang</groupId><artifactId>weixin-java-common</artifactId><version>4.6.0</version> <!-- 确保版本一致 --></dependency>

WXConfig.java配置类

import me.chanjar.weixin.mp.api.WxMpService;
import me.chanjar.weixin.mp.api.impl.WxMpServiceImpl;
import me.chanjar.weixin.mp.config.impl.WxMpDefaultConfigImpl;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;/*** 微信公众号配置类*/
@Configuration
public class WXConfig {@Beanpublic WxMpService wxMpService() {// 1. 配置公众号信息WxMpDefaultConfigImpl config = new WxMpDefaultConfigImpl();// 替换成AppID和AppSecretconfig.setAppId("AppID");config.setSecret("AppSecret");WxMpService wxService = new WxMpServiceImpl();wxService.setWxMpConfigStorage(config);return wxService;}
}

AbstractWXTemplateService模版消息抽象类

import me.chanjar.weixin.mp.bean.template.WxMpTemplateData;
import me.chanjar.weixin.mp.bean.template.WxMpTemplateMessage;
import java.text.SimpleDateFormat;
import java.util.Arrays;
import java.util.Date;/*** 微信公众号通知模版抽象类*/
public abstract class AbstractWXTemplateService {/*** 用指定的参数构建WxMpTemplateMessage对象* @param templateId 模版id* @param openid 用户openid* @param url 点击模版消息跳转的链接* @param data 模版数据* @return*/protected WxMpTemplateMessage buildTemplateMessage(String templateId, String openid, String url, WxMpTemplateData... data) {return WxMpTemplateMessage.builder().toUser(openid).templateId(templateId).url(url).data(Arrays.asList(data)).build();}protected String getCurrentTimestamp() {return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date());}
}

消息发送实现类

实现类1(对应一个模版消息)

import me.chanjar.weixin.mp.api.WxMpService;
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.Service;import java.util.List;@Service
public class WXLoginAuthNoticeImpl extends AbstractWXTemplateService {@Autowiredprivate WxMpService wxMpService;public void sendLoginNotification(List<String> userList, String accountName, String loginIp) {for (String openid : userList) {try {WxMpTemplateMessage templateMessage = buildTemplateMessage("模版ID",openid,"http://callbackurl" + accountName,new WxMpTemplateData("time1", getCurrentTimestamp(), "#173177"),new WxMpTemplateData("thing2", accountName, "#173177"),new WxMpTemplateData("character_string3", loginIp, "#173177"));String msgId = wxMpService.getTemplateMsgService().sendTemplateMsg(templateMessage);System.out.println("Message sent successfully, OpenID=" + openid + ", MsgID=" + msgId);} catch (Exception e) {System.err.println("Message sending failed, OpenID=" + openid + ", Error: " + e.getMessage());}}}
}

实现类2(对应另一个模版消息)


import me.chanjar.weixin.mp.api.WxMpService;
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.Service;import java.util.List;@Service
public class WXAlarmMsgImpl extends AbstractWXTemplateService {@Autowiredprivate WxMpService wxMpService;public void sendServerAlert(List<String> userList, String errorMsg) {for (String openid : userList) {try {WxMpTemplateMessage templateMessage = buildTemplateMessage("E_PXClp9Usl91OhY模版ID", // Template IDopenid,null,new WxMpTemplateData("first", "Server Offline Alert", "#FF0000"),new WxMpTemplateData("keyword1", errorMsg, "#173177"),new WxMpTemplateData("keyword2", getCurrentTimestamp(), "#173177"),new WxMpTemplateData("remark", "Please handle it as soon as possible!", "#FF0000"));String msgId = wxMpService.getTemplateMsgService().sendTemplateMsg(templateMessage);System.out.println("Message sent successfully, OpenID=" + openid + ", MsgID=" + msgId);} catch (Exception e) {System.err.println("Message sending failed, OpenID=" + openid + ", Error: " + e.getMessage());}}}
}
如果这篇文章对你有用,可以关注本人微信公众号获取更多ヽ(^ω^)ノ ~
微信公众号二维码

相关新闻

  • 抖音批量视频下载工具源码C#源码|自动提取DY视频的软件工具
  • AI 检测:精准攻克米饭盒质检难题,赋能食品生产
  • 2025年9月北京中学集训随笔

最新新闻

  • 2026 安徽哪所学校护理升学强?5大高升学率中职招生名单 - 小途xt
  • NXP DPAA硬件加速实战:报文头操作与CAAM加密引擎配置详解
  • 2026年论文写作AI工具怎么用?豆包等工具详细使用教程 - 掌桥科研-AI论文写作
  • 2026滁州家长注意!离南京这么近,孩子学建筑去这所公办中职,比在南京打工强 - 我叫小周
  • 50行Python实现人脸检测:OpenCV+Haar级联原理与实战
  • 2026重庆高端珠宝首饰回收排行 权威鉴定实测靠谱商家榜单 - 名奢变现站

日新闻

  • 2026年不锈钢卷板厂家推荐排行榜:冷轧热轧/304/201不锈钢卷板,高颜值耐腐蚀源头厂家实力精选 - 企业推荐官【官方】
  • FLUX.1-dev FP8模型实战指南:24GB以下显卡高效部署方案
  • 2026佛山长途搬家价目表:跨省跨市搬家费用完整计算指南 - 从来都是英雄出少年

周新闻

  • 3步解锁iOS设备:applera1n激活锁绕过完全指南
  • 39 2026 人工智能证书终极盘点,普通人选 AI 证书可以从这些方向入手
  • Redis 暴露公网有多危险?从端口检查到补救步骤

月新闻

  • 【总结】入门篇:50句话让你记住架构核心概念
  • WeChatMsg技术方案解析:实现Mac微信数据自主管理的完整解决方案
  • WeChatMsg:革新性微信数据备份方案,打造你的专属数字记忆库

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号