在开始前,你需要准备:注册微信小程序

一个简单的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相关推荐

  1. matebook13 java开发_紧急要跑程序?华为 MateBook X Pro一键搞定立马进状态

    华为 MateBook X Pro是专门定位高端的轻薄笔记本电脑,也可以说是第一款近乎全面屏的笔记本电脑,机身最厚仅为14.6mm.重量为1.33kg,方便携带. 硬件配置上,华为 MateBook ...

  2. java 开发与快递鸟对接的推送接口

    java 开发与快递鸟对接的推送接口 最近公司需要跟快递鸟进行对接,使用快递鸟的API来查询商城的物流信息,在此记录一下,自己跟快递鸟对接的过程吧,如果有那些不对的地方请指出,觉得可以的话转载记得表明 ...

  3. 小程序源码:云开发表情包制作神器-多玩法安装简单

    该款小程序是一个表情包制作 内容毕竟丰富,另外自定义制作方面也是特别的自由 支持自主上传图片,自定义文章,另外拥有多种素材模板以供选择 这是一款云开发的小程序,但是安装还是挺简单的 搭建教程: 首先使 ...

  4. 编程语言用 Java 开发一个打飞机小游戏(附完整源码)

    编程语言用 Java 开发一个打飞机小游戏(附完整源码) 上图 写在前面 技术源于分享,所以今天抽空把自己之前用java做过的小游戏整理贴出来给大家参考学习.java确实不适合写桌面应用,这里只是通过 ...

  5. java群发图文消息_java微信群发图文消息 java总结_图文.doc

    java微信群发图文消息 java总结_图文 PAGE PAGE 22 java微信群发图文消息 java总结_图文 java总结 java微信群发图文消息 java总结_图文 在做微信高级接口开发中 ...

  6. 企业微信SCRM系统部署_企业微信SCRM二次开发_企业微信SCRM系统独立版源码价格

    企业微信SCRM系统部署_企业微信SCRM二次开发_企业微信SCRM系统独立版源码价格 点趣互动是企业微信系统的第三方应用提供厂商,用于管理员工企业微信的内一款系统软件.点趣互动企业微信scrm软件主 ...

  7. 微信小程序拼团(后台java)开发-第一节-产品设计-发起拼团原型和业务简介

    最近准备做一个微信小程序(后台Java支撑)的拼团小项目练练手,微信小程序准备用原生的(不涉及支付环节).之前在公司一直用spring boot ,spring cloud这一套,拼团我想分多个文章来 ...

  8. 校园超市,百货超市小程序,手把手带你开发一款微信商城小程序,云开发+cms+数据库+js+css+微信小程序

    从今天开始带领大家实现一款云开发版的校园二手商城小程序 技术选型 1,前端 微信小程序原生框架 css JavaScript 2,管理后台 云开发Cms内容管理系统 web网页 3,数据后台 小程序云 ...

  9. 微信点餐小程序开发_分享微信点餐小程序可以实现哪些功能

    线下餐饮实体店都开始摸索发展网上订餐服务.最多人选择的是入驻外卖平台,但抽成高,推广还要另买流量等问题,也让不少商家入不敷出.在这种情况下,建立自己的微信订餐小程序,做自己的私域流量是另一种捷径.那么 ...

最新文章

  1. mysql distinct多个字段_深入浅出Mysql索引的那些事儿
  2. 五十种巧妙优化SQL Server数据库
  3. 不同制式字符串之间的转换
  4. 寄云-Paas云服务体验
  5. 单机 docker 部署fastfds_云服务器使用docker可视化一键部署Wrodpress个人博客,操作简单,适合小白...
  6. Flutter学习 — 实现滑动关闭、删除item
  7. 2021-06-27 方法的调用
  8. 医院信息化建设,该何去何从?
  9. linux svn 403 forbidden,关于svn报错 403 Forbidden
  10. 论文笔记:多标签学习——LIFT算法
  11. kaggle 入门:逻辑回归应用之Kaggle泰坦尼克之灾
  12. ImportError: cannot import name ‘evaluate‘ from ‘surprise‘解决方案
  13. 根据经纬度计算指定范围内或者附近的人(java)
  14. Unity 3D中的内存管理与优化游戏运行性能的经验
  15. String和数据库类型的相互转化
  16. AS3版本Progressive FLV播放方式
  17. js之鼠标的拖曳效果
  18. 一篇文章总结mysql(复习篇)
  19. Java拼图小游戏------《Java程序设计》课程设计
  20. C++判断map中key值是否存在

热门文章

  1. 免费C规范、免费C++规范
  2. YUV和RGB的相互转换实验
  3. MATLAB中图像处理后imshow()将一幅图像显示为3幅图像的原因和解决办法
  4. python elasticsearch.exceptions.ConnectionError: ConnectionError(check_hostname requires server_host
  5. Kotlin 与 Java 8 的重要新特性以及 Java 9、10 的发展规划
  6. 【arduino】串口通信
  7. vue全局过滤器配置
  8. 深度学习知识点笔记汇总
  9. 一枚app图标的设计文化(译文)
  10. Cordova Plugin /JPush PhoneGap 极光推送_本地推送_消息推送