先上一波微信的官方文档中对消息模板的推送

https://developers.weixin.qq.com/doc/offiaccount/Message_Management/Template_Message_Interface.html#5

下面请求的token是用的别人的…具体获取accesstoken大家可以参考微信官方文档
https://developers.weixin.qq.com/doc/offiaccount/Basic_Information/Get_access_token.html

在我这里是通过自己注入bean,把借用的appid和appsecret在初始化的时候set进去,后面使用的都是这个WxService


WeChatAccountConfig展示demo

举个例子,网页授权获取accessToken

下面展示一下用wxService在微信授权登录的时候获取accessToken,虽然是根据回信返回的code获取accesstoken,但是大致逻辑一样,都是去请求微信的url然后获取返回的accessToken


言归正传,再回到这里微信消息模板这里,上面说明一个这个accessToekn

我这边其实是用第三方SDK实现的

那么先上依赖

<dependency><groupId>com.github.binarywang</groupId><artifactId>weixin-java-mp</artifactId><version>2.7.0</version>
</dependency>

调用demo

下面是调用的一个简单demo,里面用到了消息模板,获得模板ID的过程可在微信公众平台后台完成.我这里没有商家资质,所以用了微信测试开发者平台里的测试模板,和真实的还是有差别的

实现的接口就一个方法,方法里的实体类是我自己定义的业务实体类,大家按照自己的参数传就行

下面代码demo的WxMpTemplateData里的key要和微信消息模板里设置的key要一样

package com.chan.wechatshop.service.impl;import com.chan.wechatshop.config.WeChatAccountConfig;
import com.chan.wechatshop.dto.OrderDTO;
import com.chan.wechatshop.service.PushMessageService;
import lombok.extern.slf4j.Slf4j;
import me.chanjar.weixin.common.exception.WxErrorException;
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.ArrayList;
import java.util.List;@Service
@Slf4j
public class PushMessageServiceImpl implements PushMessageService {@Autowiredprivate WxMpService wxMpService;@Autowiredprivate WeChatAccountConfig weChatAccountConfig;@Overridepublic void orderStatus(OrderDTO orderDTO) {WxMpTemplateMessage wxMpTemplateMessage = new WxMpTemplateMessage();wxMpTemplateMessage.setToUser(orderDTO.getBuyerOpenid());                                   //接收消息用户的openid,是要这个应用的openidwxMpTemplateMessage.setTemplateId(weChatAccountConfig.getTemplateId().get("orderStatus"));  //具体用哪个消息模板,我这里把模板id配置到了yml,大家可以自己写死或者按照配置传List<WxMpTemplateData> data = new ArrayList<WxMpTemplateData>(){{add(new WxMpTemplateData("first","亲记得收货"));add(new WxMpTemplateData("keyword1","微信点餐"));add(new WxMpTemplateData("keyword2","131311"));add(new WxMpTemplateData("keyword3",orderDTO.getOrderId()));add(new WxMpTemplateData("keyword4",orderDTO.getOrderStatusEnumByCode().getMessage()));add(new WxMpTemplateData("keyword5","¥" + orderDTO.getOrderAmount()));add(new WxMpTemplateData("remark", "假装有个备注"));}};wxMpTemplateMessage.setData(data);try {wxMpService.getTemplateMsgService().sendTemplateMsg(wxMpTemplateMessage);} catch (WxErrorException e) {e.printStackTrace();log.error("[微信模板消息发送] 发送失败 , {}",e);}}}

我这边上架资质,所以在微信开发者测试平台中创建模板,下面是模板id和格式demo

在微信开发者测试平台中创建模板,这里上一波测试平台url
https://mp.weixin.qq.com/debug/cgi-bin/sandboxinfo?action=showinfo&t=sandbox/index

下面是模板id和消息的结构,代码demo的WxMpTemplateData里的key要和微信消息模板里设置的key要一样

测试号这里格式都没了…正式的里面是有格式的,我这里格式化后展现一下

微信定义的模板格式

模板的格式是微信定义的

我这里是测试号,很多和正式的不一样,正式要加入白名单,捞张图说明一下

手机上收到的消息

手机上收到的消息是这样的

wechat微信模板消息推送demo相关推荐

  1. springboot实现微信模板消息推送

    springboot实现微信模板消息推送 在上一篇文章我们已经知道了怎么获取openid 还不知道的可以查看我的上一篇文章springboot+微信小程序用codeid换取openid 这次我们不光要 ...

  2. java 微信模板_java开发微信模板消息推送

    概述 微信公众平台开始支持前端网页,大家可能看到很多网页上都有分享到朋友圈,关注微信等按钮,点击它们都会弹出一个窗口让你分享和关注,这个是怎么实现的呢?今天就给大家讲解下如何在微信公众平台前端网页上添 ...

  3. java开发微信模板消息推送

    完整demo下载 概述 微信公众平台开始支持前端网页,大家可能看到很多网页上都有分享到朋友圈,关注微信等按钮,点击它们都会弹出一个窗口让你分享和关注,这个是怎么实现的呢?今天就给大家讲解下如何在微信公 ...

  4. php 异步请求微信模板消息_php实现微信模板消息推送

    本文实例为大家分享了php微信模板消息推送的具体代码,供大家参考,具体内容如下 1.微信公众号模板消息配置 2.PHP代码/*** 发送模板消息*/ public function send_noti ...

  5. PHP之 微信模板消息推送 的相关代码

    温馨提示: 微信模板消息推送,得先去微信端,设置模板配置,会生成相应的消息模板id,这个是一串字符,需连同参数数据,传给微信端,切记!~ 第一部分:主体部分代码,负责业务模块,准备微信端所需参数 /* ...

  6. 微信模板消息推送(内附工具类代码)

    文章目录 前言 一.添加模板消息 1.进入微信公众号后台 2.模板消息 3.填写信息 4.审核通过后 二.开发步骤 1.依赖坐标 2.实体类 1)AccessToken 2.WxTemplate模板消 ...

  7. Java实现微信模板消息推送

    模板消息推送功能仅限于微信服务号才行. 1.准备:微信公众号 appId,app密钥(这俩没啥好说的,都知道在哪拿). 模板Id,添加之后就能看到,如果没有合适的模板可以自定义模板(需要审核7-15天 ...

  8. 服务通知——小程序消息推送、模板消息推送demo

    一.开发前准备 微信模板消息发送API (建议多看) APPID (公众账号appid) SECRET(密钥) Template_Id(模板ID) 二.代码实现 1. ConfirmTemplate( ...

  9. qhfl-9 微信模板消息推送

    开发中用的是测试号 微信公众号认证流程 用户登陆 <!DOCTYPE html> <html lang="en"> <head><meta ...

  10. 微信模板消息推送接口说明

    微信服务号可以给关注此号码的粉丝推送消息.消息分为三种: 1.群发消息:给所有关注此微信的人同时发送,但每个月的发送次数有限制. 2.向单个粉丝发送消息:此种功能发送次数没有限制,但是接受消息的粉丝必 ...

最新文章

  1. C++ 笔记(10)— 运算符(算术、关系、逻辑、位运算、赋值和其它运算符)
  2. 大话数据结构-栈与队列
  3. 废弃电器电子产品回收:需要的不仅是补贴 !
  4. 编写一个函数func(),将此函数的输入参数(int型)逆序输出显示,如54321 – 12345,要求使用递归,并且函数体代码不超过8行...
  5. cglib源码学习交流
  6. jQuery初识 - jQuery中的方法
  7. VCL组件之TStrings
  8. crc错误 modbus poll_干货丨从Modbus开始说现场总线!
  9. php_l3arning_notes_2
  10. BIGEMAP地图下载器优势对比(水经注)
  11. win7计算机excel快捷键,excel快捷键大全 公式
  12. mongo报socket exception raised
  13. 怎样用计算机打出祝你前程似锦,祝你前程似锦作文600字
  14. video 设置 poster,默认显示视频第一帧
  15. 线性最小二乘法拟合 matlab程序,曲线拟合的线性最小二乘法及其MATLAB程序
  16. 华为mate20 pro Android,被谷歌移除的华为Mate 20 Pro重回Android Q名单
  17. 【项目实战】---商品详情页的制作
  18. ubuntu使用xopen软件
  19. 用计算机无法解决,电脑不能打字是怎么回事【 解决方案】
  20. 网易163企业邮箱注册申请,有什么优惠活动

热门文章

  1. 通过TCP/IP实现PC(客户端)远程控制开发板(服务器)上LED灯的实验
  2. 单片微机计算机原理与接口技术高峰,单片微机原理与接口技术
  3. 华硕笔记本电池软件_成色配置都还不错的二手华硕7代 i5 笔记本电脑 只卖1599元 想要的 快进来看看...
  4. CMakeLists.txt 语法介绍与实例演练
  5. unity3d模型制作规范
  6. 雨滴win7计算机路径,Rainmeter雨滴桌面Win7打不开怎么办?
  7. ADSL共享上网方式大总结(图)
  8. FastStone Capture(定时自动截图)
  9. 让Visio2007/2003支持UML2.2
  10. 打表法判断素数 c语言,素数打表(4种方法)