wechat微信模板消息推送demo
先上一波微信的官方文档中对消息模板的推送
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相关推荐
- springboot实现微信模板消息推送
springboot实现微信模板消息推送 在上一篇文章我们已经知道了怎么获取openid 还不知道的可以查看我的上一篇文章springboot+微信小程序用codeid换取openid 这次我们不光要 ...
- java 微信模板_java开发微信模板消息推送
概述 微信公众平台开始支持前端网页,大家可能看到很多网页上都有分享到朋友圈,关注微信等按钮,点击它们都会弹出一个窗口让你分享和关注,这个是怎么实现的呢?今天就给大家讲解下如何在微信公众平台前端网页上添 ...
- java开发微信模板消息推送
完整demo下载 概述 微信公众平台开始支持前端网页,大家可能看到很多网页上都有分享到朋友圈,关注微信等按钮,点击它们都会弹出一个窗口让你分享和关注,这个是怎么实现的呢?今天就给大家讲解下如何在微信公 ...
- php 异步请求微信模板消息_php实现微信模板消息推送
本文实例为大家分享了php微信模板消息推送的具体代码,供大家参考,具体内容如下 1.微信公众号模板消息配置 2.PHP代码/*** 发送模板消息*/ public function send_noti ...
- PHP之 微信模板消息推送 的相关代码
温馨提示: 微信模板消息推送,得先去微信端,设置模板配置,会生成相应的消息模板id,这个是一串字符,需连同参数数据,传给微信端,切记!~ 第一部分:主体部分代码,负责业务模块,准备微信端所需参数 /* ...
- 微信模板消息推送(内附工具类代码)
文章目录 前言 一.添加模板消息 1.进入微信公众号后台 2.模板消息 3.填写信息 4.审核通过后 二.开发步骤 1.依赖坐标 2.实体类 1)AccessToken 2.WxTemplate模板消 ...
- Java实现微信模板消息推送
模板消息推送功能仅限于微信服务号才行. 1.准备:微信公众号 appId,app密钥(这俩没啥好说的,都知道在哪拿). 模板Id,添加之后就能看到,如果没有合适的模板可以自定义模板(需要审核7-15天 ...
- 服务通知——小程序消息推送、模板消息推送demo
一.开发前准备 微信模板消息发送API (建议多看) APPID (公众账号appid) SECRET(密钥) Template_Id(模板ID) 二.代码实现 1. ConfirmTemplate( ...
- qhfl-9 微信模板消息推送
开发中用的是测试号 微信公众号认证流程 用户登陆 <!DOCTYPE html> <html lang="en"> <head><meta ...
- 微信模板消息推送接口说明
微信服务号可以给关注此号码的粉丝推送消息.消息分为三种: 1.群发消息:给所有关注此微信的人同时发送,但每个月的发送次数有限制. 2.向单个粉丝发送消息:此种功能发送次数没有限制,但是接受消息的粉丝必 ...
最新文章
- C++ 笔记(10)— 运算符(算术、关系、逻辑、位运算、赋值和其它运算符)
- 大话数据结构-栈与队列
- 废弃电器电子产品回收:需要的不仅是补贴 !
- 编写一个函数func(),将此函数的输入参数(int型)逆序输出显示,如54321 – 12345,要求使用递归,并且函数体代码不超过8行...
- cglib源码学习交流
- jQuery初识 - jQuery中的方法
- VCL组件之TStrings
- crc错误 modbus poll_干货丨从Modbus开始说现场总线!
- php_l3arning_notes_2
- BIGEMAP地图下载器优势对比(水经注)
- win7计算机excel快捷键,excel快捷键大全 公式
- mongo报socket exception raised
- 怎样用计算机打出祝你前程似锦,祝你前程似锦作文600字
- video 设置 poster,默认显示视频第一帧
- 线性最小二乘法拟合 matlab程序,曲线拟合的线性最小二乘法及其MATLAB程序
- 华为mate20 pro Android,被谷歌移除的华为Mate 20 Pro重回Android Q名单
- 【项目实战】---商品详情页的制作
- ubuntu使用xopen软件
- 用计算机无法解决,电脑不能打字是怎么回事【 解决方案】
- 网易163企业邮箱注册申请,有什么优惠活动
热门文章
- 通过TCP/IP实现PC(客户端)远程控制开发板(服务器)上LED灯的实验
- 单片微机计算机原理与接口技术高峰,单片微机原理与接口技术
- 华硕笔记本电池软件_成色配置都还不错的二手华硕7代 i5 笔记本电脑 只卖1599元 想要的 快进来看看...
- CMakeLists.txt 语法介绍与实例演练
- unity3d模型制作规范
- 雨滴win7计算机路径,Rainmeter雨滴桌面Win7打不开怎么办?
- ADSL共享上网方式大总结(图)
- FastStone Capture(定时自动截图)
- 让Visio2007/2003支持UML2.2
- 打表法判断素数 c语言,素数打表(4种方法)