微信小程序推送消息java开发_干货 | 微信小程序推送消息简单Demo
在开始前,你需要准备:注册微信小程序
一个简单的springBoot 项目
微信开发者工具
正式
微信小程序发送消息主要通过WxMaTemplateMessage 类来推送
public class WxMaTemplateMessage implements Serializable {
private String toUser; // 给谁推送(用户openId)
private String templateId; // 消息ID
private String page; // 用户点开消息跳转到对应的小程序界面
private String formId; // 表单formId
private List data; // 消息的数据列表
private String emphasisKeyword;
...
复制代码
所以我们在推送前需要构造这些信息,formId 和toUser(openId) 是从前端传过来的。formId 可以通过表单或者支付来获取,表单比较简单,只需要把report-submit 设置为true 就可以获得。简单通过微信开发者工具来获取formId(openId 数据库存了)
先建立一个前端项目,AppID 就是小程序的id,在微信公众号后台可以看到。
2. 修改index/index.js 和index.wxml (百度某位同学的),通过表单来获取formId ,并发送到后台。
// index.wxml
确定
formid:{{formid}}
发送
复制代码
//index.js
//获取应用实例
const app = getApp()
Page({
data: {
formid: ""
},
//事件处理函数
registerFormSubmit: function (e) {
// 打印formId
console.log(e.detail.formId);
this.setData({
formid: e.detail.formId
})
},
//测试推送
push() {
let formid = this.data.formid;
let openid = 'oT-H-40ZHdRX1REZFKQhPg3jJZoQ';
wx.request({
url: 'http://localhost:8080/push?openId=' + openid + "&formId=" + formid,
success(res) {
console.log("推送结果:", res)
},
fail(err) {
console.log("推送失败:", err)
}
})
}
})
复制代码
这里formid 在测试的时候获取不到,调到真机调试,或者用预览就行了。
3. 请求后台接口来发送消息
import cn.binarywang.wx.miniapp.api.WxMaService;
import cn.binarywang.wx.miniapp.api.impl.WxMaServiceImpl;
import cn.binarywang.wx.miniapp.bean.WxMaTemplateData;
import cn.binarywang.wx.miniapp.bean.WxMaTemplateMessage;
import cn.binarywang.wx.miniapp.config.WxMaInMemoryConfig;
import me.chanjar.weixin.common.error.WxErrorException;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.ArrayList;
import java.util.List;
@RestController
public class PushController {
@GetMapping("/push")
public String push(@RequestParam String openId, @RequestParam String formId) {
//1,配置小程序信息
WxMaInMemoryConfig wxConfig = new WxMaInMemoryConfig();
wxConfig.setAppid("你的appId");
wxConfig.setSecret("你的secret");
WxMaService wxMaService = new WxMaServiceImpl();
wxMaService.setWxMaConfig(wxConfig);
//2,设置模版信息(keyword1:类型,keyword2:内容)
List templateDataList = new ArrayList<>(2);
WxMaTemplateData data1 = new WxMaTemplateData("keyword1", "获取老师微信");
WxMaTemplateData data2 = new WxMaTemplateData("keyword2", "2501902696");
WxMaTemplateData data3 = new WxMaTemplateData("keyword3", "2501902696");
WxMaTemplateData data4 = new WxMaTemplateData("keyword4", "2501902696");
templateDataList.add(data1);
templateDataList.add(data2);
templateDataList.add(data3);
templateDataList.add(data4);
//3,设置推送消息
WxMaTemplateMessage templateMessage = WxMaTemplateMessage.builder()
.toUser(openId)
.formId(formId)
.templateId("你的消息id") // 在微信公众号后台可以申请消息模版
.data(templateDataList)
.page("pages/index/index")
.build();
//4,发起推送
try {
wxMaService.getMsgService().sendTemplateMsg(templateMessage);
} catch (WxErrorException e) {
System.out.println("推送失败:" + e.getMessage());
return e.getMessage();
}
return "推送成功";
}
}
复制代码
原文作者:Rolan
微信小程序推送消息java开发_干货 | 微信小程序推送消息简单Demo相关推荐
- matebook13 java开发_紧急要跑程序?华为 MateBook X Pro一键搞定立马进状态
华为 MateBook X Pro是专门定位高端的轻薄笔记本电脑,也可以说是第一款近乎全面屏的笔记本电脑,机身最厚仅为14.6mm.重量为1.33kg,方便携带. 硬件配置上,华为 MateBook ...
- java 开发与快递鸟对接的推送接口
java 开发与快递鸟对接的推送接口 最近公司需要跟快递鸟进行对接,使用快递鸟的API来查询商城的物流信息,在此记录一下,自己跟快递鸟对接的过程吧,如果有那些不对的地方请指出,觉得可以的话转载记得表明 ...
- 小程序源码:云开发表情包制作神器-多玩法安装简单
该款小程序是一个表情包制作 内容毕竟丰富,另外自定义制作方面也是特别的自由 支持自主上传图片,自定义文章,另外拥有多种素材模板以供选择 这是一款云开发的小程序,但是安装还是挺简单的 搭建教程: 首先使 ...
- 编程语言用 Java 开发一个打飞机小游戏(附完整源码)
编程语言用 Java 开发一个打飞机小游戏(附完整源码) 上图 写在前面 技术源于分享,所以今天抽空把自己之前用java做过的小游戏整理贴出来给大家参考学习.java确实不适合写桌面应用,这里只是通过 ...
- java群发图文消息_java微信群发图文消息 java总结_图文.doc
java微信群发图文消息 java总结_图文 PAGE PAGE 22 java微信群发图文消息 java总结_图文 java总结 java微信群发图文消息 java总结_图文 在做微信高级接口开发中 ...
- 企业微信SCRM系统部署_企业微信SCRM二次开发_企业微信SCRM系统独立版源码价格
企业微信SCRM系统部署_企业微信SCRM二次开发_企业微信SCRM系统独立版源码价格 点趣互动是企业微信系统的第三方应用提供厂商,用于管理员工企业微信的内一款系统软件.点趣互动企业微信scrm软件主 ...
- 微信小程序拼团(后台java)开发-第一节-产品设计-发起拼团原型和业务简介
最近准备做一个微信小程序(后台Java支撑)的拼团小项目练练手,微信小程序准备用原生的(不涉及支付环节).之前在公司一直用spring boot ,spring cloud这一套,拼团我想分多个文章来 ...
- 校园超市,百货超市小程序,手把手带你开发一款微信商城小程序,云开发+cms+数据库+js+css+微信小程序
从今天开始带领大家实现一款云开发版的校园二手商城小程序 技术选型 1,前端 微信小程序原生框架 css JavaScript 2,管理后台 云开发Cms内容管理系统 web网页 3,数据后台 小程序云 ...
- 微信点餐小程序开发_分享微信点餐小程序可以实现哪些功能
线下餐饮实体店都开始摸索发展网上订餐服务.最多人选择的是入驻外卖平台,但抽成高,推广还要另买流量等问题,也让不少商家入不敷出.在这种情况下,建立自己的微信订餐小程序,做自己的私域流量是另一种捷径.那么 ...
最新文章
- mysql distinct多个字段_深入浅出Mysql索引的那些事儿
- 五十种巧妙优化SQL Server数据库
- 不同制式字符串之间的转换
- 寄云-Paas云服务体验
- 单机 docker 部署fastfds_云服务器使用docker可视化一键部署Wrodpress个人博客,操作简单,适合小白...
- Flutter学习 — 实现滑动关闭、删除item
- 2021-06-27 方法的调用
- 医院信息化建设,该何去何从?
- linux svn 403 forbidden,关于svn报错 403 Forbidden
- 论文笔记:多标签学习——LIFT算法
- kaggle 入门:逻辑回归应用之Kaggle泰坦尼克之灾
- ImportError: cannot import name ‘evaluate‘ from ‘surprise‘解决方案
- 根据经纬度计算指定范围内或者附近的人(java)
- Unity 3D中的内存管理与优化游戏运行性能的经验
- String和数据库类型的相互转化
- AS3版本Progressive FLV播放方式
- js之鼠标的拖曳效果
- 一篇文章总结mysql(复习篇)
- Java拼图小游戏------《Java程序设计》课程设计
- C++判断map中key值是否存在
热门文章
- 免费C规范、免费C++规范
- YUV和RGB的相互转换实验
- MATLAB中图像处理后imshow()将一幅图像显示为3幅图像的原因和解决办法
- python elasticsearch.exceptions.ConnectionError: ConnectionError(check_hostname requires server_host
- Kotlin 与 Java 8 的重要新特性以及 Java 9、10 的发展规划
- 【arduino】串口通信
- vue全局过滤器配置
- 深度学习知识点笔记汇总
- 一枚app图标的设计文化(译文)
- Cordova Plugin /JPush PhoneGap 极光推送_本地推送_消息推送