微信小程序消息通知简单Demo
前言
最近项目有需求需要用到微信小程序推送消息,在此记录一下实验过程。
前提准备
在开始前,你需要准备:
- 注册微信小程序
- 一个简单的springBoot 项目
- 微信开发者工具
正式
微信小程序发送消息主要通过WxMaTemplateMessage 类来推送
public class WxMaTemplateMessage implements Serializable {private String toUser; // 给谁推送(用户openId)private String templateId; // 消息IDprivate String page; // 用户点开消息跳转到对应的小程序界面private String formId; // 表单formIdprivate List<WxMaTemplateData> data; // 消息的数据列表private String emphasisKeyword;
...
所以我们在推送前需要构造这些信息,formId 和toUser(openId) 是从前端传过来的。formId 可以通过表单或者支付来获取,表单比较简单,只需要把report-submit 设置为true 就可以获得。
简单通过微信开发者工具来获取formId(openId 数据库存了)
先建立一个前端项目,AppID 就是小程序的id,在微信公众号后台可以看到。
修改index/index.js 和index.wxml (百度某位同学的),通过表单来获取formId ,并发送到后台。
// index.wxml
<form bindsubmit='registerFormSubmit' report-submit='true'><view class='buttons'><button class='confirmbtn' form-type='submit'>确定</button></view></form>
<view>formid: {{formid}}</view>
<button bindtap='push'>发送
</button>
//index.js
//获取应用实例
const app = getApp()Page({data: {formid: ""},//事件处理函数registerFormSubmit: function (e) {// 打印formIdconsole.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 在测试的时候获取不到,调到真机调试,或者用预览就行了。
- 请求后台接口来发送消息(ctrl c v 百度某同学)
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<WxMaTemplateData> 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 "推送成功";}}
一个简单的小程序推送demo ,权侵删
微信小程序消息通知简单Demo相关推荐
- 微信小程序消息通知开发
微信小程序消息通知开发及注意点 大致流程图: #mermaid-svg-kKvz8B789cmQ7zco {font-family:"trebuchet ms",verdana,a ...
- 微信小程序中实现简单Demo(两数之和)
一.安装微信小程序开发者工具 打开微信小程序官网的开发者文档https://developers.weixin.qq.com/miniprogram/dev/,按照流程安装微信小程序开发者工具 二 ...
- 微信小程序 消息订阅 长期订阅 一次授权 多次接收 微信服务通知
微信小程序消息订阅 长期订阅 一次授权 多次接收 发送微信服务通知消息 这里讲长期订阅! 长期订阅! 长期订阅! 需求描述: – 根据用户不同标签(租户.业主.维修师傅.居委会成员)一键向人员统一发送 ...
- android商品数量加减,微信小程序实现一个简单的商品数量加减案例
简介 这是一个用微信小程序原生代码实现的数量加减demo,主要是用于商品购物车或者商品详情修改数量使用,很简单哦~~~. 核心js方法说明addCount(增加数量) delCount (减少数量) ...
- 微信小程序消息推送,实现未完成计划的在微信内的定时提醒功能
微信小程序消息提醒(微信内提醒) 提示:此处仅是小程序消息提醒的一个小例子,希望能够为大家抛砖引玉 目录 微信小程序消息提醒(微信内提醒) 需求及效果展示 一.实现思路 二.实现步骤 1.获取模板ID ...
- 微信小程序的考勤管理Demo,包括前后端及数据库等内容
这是一个微信小程序的考勤管理Demo,包括前后端及数据库等内容.如有错误或建议,欢迎指出. 前端:微信小程序框架 后端:koa框架基于express的新一代框架 文件:url80.ctfile.com ...
- 微信小程序消息模板设计及实现
本文以微信小程序内置的两个模板:购买成功和评论回复提醒为例来阐述第三方微信小程序平台的设计. 小程序端 微信用户支付成功后,微信服务通知中会收到支付成功服务提醒.见下图: 商家端 用户完成评价后,商家 ...
- php微信小程序物流进度推送,微信小程序 消息推送php服务器验证实例详解
微信小程序 消息推送php服务器验证实例详解 设置页面("设置">>"开发设置"): 1.设置服务器域名 注意http和https协议的不同. 2. ...
- nodejs android 推送,利用Nodejs怎么实现一个微信小程序消息推送功能
利用Nodejs怎么实现一个微信小程序消息推送功能 发布时间:2021-01-20 13:55:29 来源:亿速云 阅读:92 作者:Leah 今天就跟大家聊聊有关利用Nodejs怎么实现一个微信小程 ...
最新文章
- Python使用sklearn构建lasso回归模型并指定样本权重:即构建带样本权重(sample_weight)的回归模型
- 计算机制造理论,计算制造
- 服务器于本地间进行复制粘贴
- linux shell带索引下标遍历数组
- 智伴机器人三级分销模式_有赞三级分销?有赞分销模式怎
- 像Java这样的C ++具有低延迟
- 中国股市暴涨暴跌全记录
- 操作系统双语阅读 - Schedulers调度器2
- 为什么好多人说uc浏览器是最牛的浏览器?
- C语言经典69题(又易到难)每日更新5道题
- 图片去黑底原理(做个笔记)
- Design Compiler工具学习笔记(5)
- 信息安全风险评估---矩阵法计算风险
- nginx静态文件缓存
- 主流加密通信应用Signal在中国“失联”
- oracle建表空间
- 实时时钟芯片DS3231应用笔记,使用指南,FAQ全集
- Activiti 工作流引擎 ~ 获取审批记录
- js和html5实现扫描条形码
- 大数据培训课程:Hive配置总结