我的编程空间,编程开发者的网络收藏夹
学习永远不晚

SpringBoot小程序推送信息怎么实现

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

SpringBoot小程序推送信息怎么实现

这篇文章主要介绍了SpringBoot小程序推送信息怎么实现的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇SpringBoot小程序推送信息怎么实现文章都会有所收获,下面我们一起来看看吧。

1.小程序推送信息列如我们去餐厅等位有预约提醒,剩余桌数

首先申请一个小程序,微信开放平台:小程序

2.申请小程序信息,申请信息模板

appid

AppSecret

SpringBoot小程序推送信息怎么实现

3.根据开发文档开发

subscribeMessage.send | 微信开放文档

4.代码如下:

引入依赖

 <dependency>        <groupId>org.apache.httpcomponents</groupId>        <artifactId>httpclient</artifactId>        <version>4.5.2</version>    </dependency>

先准备一个HTTP工具类Z

import org.apache.http.HttpEntity;import org.apache.http.client.methods.CloseableHttpResponse;import org.apache.http.client.methods.HttpGet;import org.apache.http.client.methods.HttpPost;import org.apache.http.conn.ssl.NoopHostnameVerifier;import org.apache.http.conn.ssl.SSLConnectionSocketFactory;import org.apache.http.conn.ssl.TrustSelfSignedStrategy;import org.apache.http.entity.StringEntity;import org.apache.http.impl.client.CloseableHttpClient;import org.apache.http.impl.client.HttpClients;import org.apache.http.ssl.SSLContexts;import org.apache.http.util.EntityUtils; import java.io.IOException; public class HttpClientUtils {    //Http协议GET请求    public static String httpGet(String url) throws IOException {        //初始化HttpClient        CloseableHttpClient httpClient = HttpClients.createDefault();        //创建HttpGet        HttpGet httpGet = new HttpGet(url);        //发起请求,获取response对象        CloseableHttpResponse response = httpClient.execute(httpGet);        //获取请求状态码        //response.getStatusLine().getStatusCode();        //获取返回数据实体对象        HttpEntity entity = response.getEntity();        //转为字符串        String result = EntityUtils.toString(entity, "UTF-8");        return result;     }     //Http协议Post请求    public static String httpPost(String url, String json) throws Exception {        //初始HttpClient        CloseableHttpClient httpClient = HttpClients.createDefault();        //创建Post对象        HttpPost httpPost = new HttpPost(url);        //设置Content-Type               StringEntity se = new StringEntity(json,"UTF-8");        se.setContentType("application/x-www-form-urlencoded");        httpPost.setEntity(se);        //发起请求,获取response对象        CloseableHttpResponse response = httpClient.execute(httpPost);        //获取请求码        //response.getStatusLine().getStatusCode();        //获取返回数据实体对象        HttpEntity entity = response.getEntity();        //转为字符串        String result = EntityUtils.toString(entity, "UTF-8");        return result;    }     //Https协议Get请求    public static String httpsGet(String url) throws Exception {        CloseableHttpClient hp = createSSLClientDefault();        HttpGet hg = new HttpGet(url);        CloseableHttpResponse response = hp.execute(hg);        HttpEntity entity = response.getEntity();        String content = EntityUtils.toString(entity, "UTF-8");        hp.close();        return content;    }     //Https协议Post请求    public static String httpsPost(String url, String json) throws Exception {        CloseableHttpClient hp = createSSLClientDefault();        HttpPost httpPost = new HttpPost(url);        httpPost.setHeader("Content-Type", "application/json");        httpPost.setEntity(new StringEntity(json));        CloseableHttpResponse response = hp.execute(httpPost);        HttpEntity entity = response.getEntity();        String content = EntityUtils.toString(entity, "UTF-8");        hp.close();        return content;    }      public static CloseableHttpClient createSSLClientDefault() throws Exception {        //如果下面的方法证书还是不过,报错的话试试下面第二种                 SSLConnectionSocketFactory sslsf = new SSLConnectionSocketFactory(                SSLContexts.custom().loadTrustMaterial(null, new TrustSelfSignedStrategy()).build(),                NoopHostnameVerifier.INSTANCE);        return HttpClients.custom().setSSLSocketFactory(sslsf).build();    }}

测试代码

import com.alibaba.fastjson.JSONObject; import java.io.IOException;import java.util.Date;import java.util.HashMap;import java.util.Map; public class TestXCXMain {    public static void main(String[] args) throws Exception {        String appid = "";  //appid        String secret = "";  //secret         //登录链接获取token        String loginUrl = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=" + appid + "&secret=" + secret;        Map<String, Object> payloadMap = JSONObject.parseObject(HttpClientUtils.httpGet(loginUrl));        String token = null;        if (payloadMap.containsKey("access_token")) {            token = payloadMap.get("access_token").toString();        }        System.out.println("获取token" + token);        Map<String, Object> qqMap = new HashMap<String, Object>();        qqMap.put("touser", "openid");  //要推送的openid        qqMap.put("template_id", "");   //信息模板id        qqMap.put("page", "index");        qqMap.put("miniprogram_state", "developer");        qqMap.put("lang", "zh_CN");        //封装信息        Map<String, Object> dataMap = new HashMap<String, Object>();        Map<String, String> valueMap1 = new HashMap<String, String>();        valueMap1.put("value", "成功");        Map<String, String> valueMap2 = new HashMap<String, String>();        valueMap2.put("value", "成功");        dataMap.put("thing3", valueMap1);        dataMap.put("thing1", valueMap2);        qqMap.put("data", dataMap);        //发送        Map<String, Object> payloadMapData = JSONObject.parseObject(HttpClientUtils.httpPost("https://api.weixin.qq.com/cgi-bin/message/subscribe/send?access_token="+token,JSONObject.toJSONString(qqMap)));        if (payloadMapData.containsKey("errCode")) {            System.out.println("返回code码:"+payloadMapData.get("errCode").toString());        }    }}

5.推送结果

SpringBoot小程序推送信息怎么实现

关于“SpringBoot小程序推送信息怎么实现”这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对“SpringBoot小程序推送信息怎么实现”知识都有一定的了解,大家如果还想学习更多知识,欢迎关注编程网行业资讯频道。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

SpringBoot小程序推送信息怎么实现

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

SpringBoot小程序推送信息怎么实现

这篇文章主要介绍了SpringBoot小程序推送信息怎么实现的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇SpringBoot小程序推送信息怎么实现文章都会有所收获,下面我们一起来看看吧。1.小程序推送信息列如
2023-06-30

怎么在微信小程序中配置消息推送

这篇文章将为大家详细讲解有关怎么在微信小程序中配置消息推送,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。第一步官网下载对应版本的cryptoDemo第二步创建检查文件wxcheck.php这
2023-06-14

springboot怎么集成websocket实现消息推送

要在Spring Boot中集成WebSocket实现消息推送,可以按照以下步骤进行操作:添加依赖:在`pom.xml`文件中添加以下依赖:org.springframework.bootspring-boot-starter-websoc
2023-10-26

android怎么实现系统信息推送

这篇文章主要介绍“android怎么实现系统信息推送”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“android怎么实现系统信息推送”文章能帮助大家解决问题。1、判断是否是启动App,而非刷新界面执
2023-06-30

uni-app结合.NET 7实现微信小程序订阅消息推送

uni-app结合.NET7实现微信小程序订阅消息推送,可跨平台开发应用并推送订阅消息。创建.NET7API项目并安装Microsoft.Azure.NotificationHubs包。获取NotificationHub连接字符串和密钥,配置NotificationHub模板。在API项目中编写控制器用于发送订阅消息。在uni-app项目中安装@dcloudio/uni-notification插件,启用订阅消息权限。集成subscribeMessageAPI订阅消息,通过onReceiveSubscri
uni-app结合.NET 7实现微信小程序订阅消息推送
2024-04-02

uni-app结合.NET 7实现微信小程序订阅消息推送

本文主要介绍了uni-app结合.NET 7实现微信小程序订阅消息推送,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
2023-02-05

微信小程序有多少种推送消息方式

这篇文章主要介绍微信小程序有多少种推送消息方式,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!微信小程序有5种推送消息的方式,分别为:1、小票机订单提醒,实现对商家的消息提醒;2、短信提醒;3、模板消息,各种动态可及时
2023-06-27

怎么用微信小程序API发送客服消息

本篇内容主要讲解“怎么用微信小程序API发送客服消息”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么用微信小程序API发送客服消息”吧!发送客服消息当用户和小程序客服产生特定动作的交互时(具体
2023-06-26

SpringBoot怎么实现短信发送

这篇“SpringBoot怎么实现短信发送”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“SpringBoot怎么实现短信发送
2023-06-29

微信小程序 | 基于ChatGPT实现电影推荐小程序

文章目录 ** 效果预览 ** 1、根据电影明星推荐 2、根据兴趣标签推荐 3、根据电影名推荐 一、需求背景 二、项目原理及架构
2023-08-22

SpringBoot怎么实现点餐小程序

这篇文章主要介绍了SpringBoot怎么实现点餐小程序的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇SpringBoot怎么实现点餐小程序文章都会有所收获,下面我们一起来看看吧。一,功能介绍本点单系统主要是基
2023-07-02

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录