当前位置: 首页 > news >正文

微信小程序服务通知

项目中用到了小程序的服务消息通知,通知订单状态信息,下边就是整理的一下代码,放到项目中,把项目的小程序appid和小程序的secret写进去,直接运行即可

提前申请好小程序服务信息通知短信模板,代码需要用到模板id

public static function curl($url, $params = false, $ispost = 0, $https = 0)

    {

        $httpInfo = array();

        $ch = curl_init();

        curl_setopt($ch, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_1);

        curl_setopt( $ch, CURLOPT_HTTPHEADER, array(

                'Content-Type: application/json; charset=utf-8'

            )

        );

        curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.118 Safari/537.36');

        curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 30);

        curl_setopt($ch, CURLOPT_TIMEOUT, 30);

        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

        if ($https) {

            curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); // 对认证证书来源的检查

            curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE); // 从证书中检查SSL加密算法是否存在

        }

        if ($ispost) {

            curl_setopt($ch, CURLOPT_POST, true);

            curl_setopt($ch, CURLOPT_POSTFIELDS, $params);

            curl_setopt($ch, CURLOPT_URL, $url);

        } else {

            if ($params) {

                if (is_array($params)) {

                    $params = http_build_query($params);

                }

                curl_setopt($ch, CURLOPT_URL, $url . '?' . $params);

            } else {

                curl_setopt($ch, CURLOPT_URL, $url);

            }

        }

        $response = curl_exec($ch);

        if ($response === FALSE) {

            return false;

        }

        $httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);

        $httpInfo = array_merge($httpInfo, curl_getinfo($ch));

        curl_close($ch);

        return $response;

    }

    public static function access_token(){

        $appid="--------";  //小程序appid

        $secret="-------"; //小程序secret

        $Url="https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=". $appid."&secret=".$secret; //微信给出的获取access_token的接口

        $access_token=Cache::get("access_token");  //查询缓存中是否已存在access_token

        if($access_token==""){

            $access_token=json_decode(self::curl($Url))->{"access_token"};  //访问接口获取access_token

        }

        return $access_token;

    }

    public static function SendMsg($data,$access_token){

        $MsgUrl="https://api.weixin.qq.com/cgi-bin/message/subscribe/send?access_token=".$access_token; //微信官方接口,需要拼接access_token

        return json_decode(self::curl($MsgUrl,$params=json_encode($data),$ispost=1,$https=1)); //访问接口,返回参数

    }

    public function test(Request $request){

        $openid='------------';//接收信息用户的openID,如果存在数据库中,可在数据库中查找

        $access_token=$this->access_token();

        $data=[

            "touser"=>$openid, //接收用户的openid

            "template_id"=>"---------",  //短信模板id

            "page"=>"pages/index/index",//点击模板消息跳转至小程序的页面

            "data"=>[

                //data数组下的键值一定要和申请短信模板一直,否则会报错

                "thing2"=>[

                    "value"=> "您邀请的好友'E-June'订单已完成", //自定义参数

                ],

                "amount1"=>[

                    "value"=> "3.8元",//自定义参数

                ],

                "thing3"=>[

                    "value"=> "水果熟了 推荐有奖",//自定义参数

                ],

                "time4"=>[

                    "value"=> "2021年05月26日 11:15",//自定义参数

                ],

                "thing5"=>[

                    "value"=> "客服审核通过自动增加收益",//自定义参数

                ],

            ]

        ];

        $res=$this->SendMsg($data,$access_token); //返回结果

        var_dump($res);die;

    }

}

执行方法test即可发送成功,前提是小程序要允许小程序的服务通知才行

测试时执行结果是0,并且ok就发送成功,其他返回代码可以在微信公众平台查看,这里就不解释了



喜欢的朋友记得点赞、收藏、关注哦!!!

相关文章:

微信小程序服务通知

项目中用到了小程序的服务消息通知,通知订单状态信息,下边就是整理的一下代码,放到项目中,把项目的小程序appid和小程序的secret写进去,直接运行即可 提前申请好小程序服务信息通知短信模板,代码需要用到模…...

Ubuntu使用Qt虚拟键盘,支持中英文切换

前言 ​ 最近领导给了个需求,希望将web嵌入到客户端里面,做一个客户端外壳,可以控制程序的启动、停止、重启,并且可以调出键盘在触摸屏上使用(我们的程序虽然是BS架构,但程序还是运行在本地工控机上的),我…...

泰州农商行

该文章用于测试,暴露面检测服务 1595116111115951161112159511611131595116111415951161115159511611161595116111715951161118159511611191595116112015951161121159511611221595116112315951161124159511611251595116112615951161127159511611281595116112915951…...

扫雷(C语言)

目录​​​​​​​ 前言 一、前提知识 二、扫雷游戏编写 2.2 test文件基本逻辑 2.2.1菜单编写 2.2.2game函数的逻辑 2.2.2.1定义两个数组 2.2.2.2两个数组数组的初始化 2.2.2.3打印棋盘 2.2.2.4布置雷 2.2.2.5排查雷 2.2.2.6获取坐标附近雷的数量 2.2.2.7什么时候…...

【实践功能记录8】使用UseElementSize实现表格高度自适应

一、关于 UseElementSize UseElementSize 是一个 Vue 组合式 API 的实用工具,通常用于获取 DOM 元素的尺寸信息,例如宽度、高度等。它通常与 v-slot 一起使用,以便在模板中直接访问这些尺寸信息。 地址:https://vueuse.org/core/u…...

SMO算法 公式推导

min ⁡ α 1 2 ∑ i 1 N ∑ j 1 N α i α j y i y j K ( x i ⋅ x j ) − ∑ i 1 N α i s.t. ∑ i 1 N α i y i 0 0 ≤ α i ≤ C , i 1 , 2 , ⋯ , N (9-69) \begin{aligned} & \min_{\alpha} \quad \frac{1}{2} \sum_{i1}^{N} \sum_{j1}^{N} \alpha_i \alpha_j…...

nodejs包管理器pnpm

简介 通常在nodejs项目中我们使用npm或者yarn做为默认的包管理器,但是pnpm的出现让我们的包管理器有了更多的选择,pnpm相比npm具有以下优势: 速度更快,pnpm在安装依赖时,会将依赖包缓存到全局目录,下次安…...

【postman】工具下载安装

postman作用 postman用于测试http协议接口,无论是开发, 还是测试人员, 都有必要学习使用postman来测试接口, 用起来非常方便。 环境安装 postman 可以直接在chrome 上安装插件,当然大部分的同学是没法连接到谷歌商店的,我们可以在电脑本地…...

Java_Springboot核心配置详解

Spring Boot以其简洁、高效和约定优于配置的理念,极大地简化了Java应用的开发流程。在Spring Boot中,核心配置是应用启动和运行的基础。本文将详细介绍Spring Boot中的两种配置文件格式、基础注解的配置方式、自定义配置以及多环境配置。 一、Spring Bo…...

太速科技-9-基于DSP TMS320C6678+FPGA XC7V690T的6U VPX信号处理卡

基于DSP TMS320C6678FPGA XC7V690T的6U VPX信号处理卡 一、概述 本板卡基于标准6U VPX 架构,为通用高性能信号处理平台,系我公司自主研发。板卡采用一片TI DSP TMS320C6678和一片Xilinx公司Virtex 7系列的FPGA XC7V690T-2FFG1761I作为主处理器&#…...

在线UI设计工具:创意与效率的结合

随着UI设计领域的快速增长,设计师们纷纷投身于这一行业,选择一款合适的UI设计工具变得至关重要。除了经典的UI设计软件,在线UI设计工具因其灵活性和便捷性,越来越受到设计师们的喜爱。这种不受时间和地点限制,且不依赖…...

【MyBatis源码】SqlSessionFactoryBuilder源码分析

文章目录 概述类结构从 InputStream 创建 SqlSessionFactoryXMLConfigBuilder构建ConfigurationXMLConfigBuilder初始化方法parse()方法parseConfiguration属性(properties) 概述 SqlSessionFactory 是 MyBatis 的核心接口之一,提供创建 Sql…...

Percona XtraBackup数据备份方案

一、简介 官方文档:https://docs.percona.com/percona-xtrabackup/innovation-release/index.html Percona XtraBackup 是一款适用于基于 MySQL 的服务器的开源热备份实用程序,可让您的数据库在计划的维护时段内保持完全可用。无论是 24x7 高负载服务器还是低交易量服务器,…...

聚“芯”而行,华普微亮相第五届Silicon Labs Works With大会

2024年10月24日,由致力于以安全、智能无线连接技术建立更互联世界的全球领导厂商Silicon Labs主办的第五届Works With开发者大会在上海雅乐居万豪侯爵酒店成功举办。 作为全球性的物联网年度“盛宴”,本届大会群英荟萃,不仅有着来自生态大厂的…...

Java 用户随机选择导入ZIP文件,解压内部word模板并入库,Windows/可视化Linux系统某麒麟国防系统...均可适配

1.效果 压缩包内部文件 2.依赖 <!--支持Zip--><dependency><groupId>net.lingala.zip4j</groupId><artifactId>zip4j</artifactId><version>2.11.5</version></dependency>总之是要File类变MultipartFile类型的 好像是…...

【C++】C++17结构化绑定、std::optional、std::variant、std::any

二十二、C17中的结构化绑定、std::optional、std::variant、std::any 本部分是一个小系列&#xff0c;介绍C17中新引入的、用来解决各种不同返回情况的、标准库新组件。 1、C的结构化绑定 结构化绑定structured bindings是C17中引入的一项特性&#xff0c;它允许开发者方便地…...

C#的起源。J++语言的由来?J#和J++傻傻分不清?

C#的起源 C#读音是C Sharp, 它是微软为了对抗Java而生&#xff0c;最早是J&#xff0c;效率比Java还好&#xff0c;后来被Sun公司起诉J破坏了平台无关性&#xff0c;微软重新开发C#. C#和Java一样都定位为中间件语言&#xff0c;用虚拟机执行编译的字节码以达到跨平台目的。从语…...

Flutter 在 对接 google play 时,利用 android studio 可视化生成 已签名的aab包

android studio 可视化生成 aab包 第一 &#xff1a; 先说注意事项 在Flutter项目里面&#xff0c;直接打开当前项目是不行的&#xff0c;不显示相应操作&#xff0c;需要在Android 目录打开&#xff0c;直白点就是直接打开项目里面的Android 目录 不然会出现的一些问题 第一…...

使用web.dev提供的工具实现浏览器消息推送服务

文章目录 前言实现工具和效果实现原理实现过程前端接收用户订阅请求将用户订阅信息更新到后端后端实现接收并保存订阅信息的接口后端实现消息推送的逻辑前言 对于电商独立站来说,新品上架或者促销活动上线及时通知到用户是很重要的,通知的渠道有很多,其中就包括浏览器消息推…...

计算机系统结构为什么用architecture 而不是structure?

architecture本意是建筑学、建筑艺术&#xff0c;其含义就是建筑的样子和背后的设计思想&#xff0c;用于计算机科学可以表达计算机的系统结构和后面的设计原理&#xff1a;它长什么样&#xff1f;它为什么长这样&#xff1f; 与architecture 对应的词是structure &#xff08…...

别再折腾Docker了!用CasaOS在Ubuntu上5分钟搞定个人轻NAS(附国内源配置)

别再折腾Docker了&#xff01;用CasaOS在Ubuntu上5分钟搞定个人轻NAS&#xff08;附国内源配置&#xff09; 你是否曾经被Docker复杂的配置流程劝退&#xff1f;或者对传统NAS系统如TrueNAS的庞大资源占用感到头疼&#xff1f;如果你手头有一台闲置的旧电脑或树莓派&#xff0c…...

当企业拥有了创新的 “上帝视角”,会发生什么?

当企业拥有了创新的 “上帝视角”&#xff0c;会发生什么&#xff1f;&#xff0d;&#xff0d;研企配 AI 大数据&#xff0c;打开中国企业产业洞察的上帝之窗在商业史上&#xff0c;所有的溃败都始于认知的闭环。14年前&#xff0c;诺基亚CEO约玛奥利拉在手机业务售出的发布会…...

Claude Sonnet/Opus 4.6、CodeX系列、Gemini系列三大国际顶级模型到底有多强?!不服真不行!

Claude 4.6 系列、GPT-5.3 Codex 和 Gemini 3 Pro 三分天下&#xff1a; 维度Claude 4.6 (Sonnet/Opus)GPT-5.3 CodexGemini 3.1 Pro逻辑推理 (GPQA)Opus: 91.3% (巅峰)90.2%89.5%代码工程 (SWE-bench)Sonnet: 79.6% (最稳)56.8% (Pro 版)54.2%终端执行 (Terminal-Bench)69.9%…...

(23)ArcGIS Pro 空间连接与缓冲区分析:属性传递、多环缓冲区实战全攻略

点赞&#xff0b;关注送&#xff1a; 1、天地图GS&#xff08;2024&#xff09;0650号_2025.9版&#xff1b; 2、全国土地覆盖数据CLCD2025年&#xff1b; 注&#xff1a;其他数据也可私信或留言&#xff0c;看是否有 前言 在 ArcGIS Pro 空间分析中&#xff0c;缓冲区分析与空…...

Makefile核心概念与高效构建实践指南

1. Makefile基础概念与核心结构Makefile本质上是一种声明式构建脚本&#xff0c;它通过定义目标、依赖和命令三者之间的关系&#xff0c;让构建工具&#xff08;make&#xff09;能够智能地决定哪些文件需要重新编译。这种机制在C/C项目中尤为重要&#xff0c;因为源文件之间的…...

实战指南:用Python的pyttsx3库打造你的专属语音助手

1. 从零认识pyttsx3&#xff1a;你的代码会说话 第一次听到电脑用标准播音腔朗读出我写的文字时&#xff0c;那种感觉就像小时候收到会说话的生日贺卡。pyttsx3这个神奇的Python库&#xff0c;能让任何文本通过声卡变成人声。不同于需要联网的语音合成服务&#xff0c;它完全离…...

别再死磕公式了!用Diffusers库5分钟搞懂Stable Diffusion的CFG引导(附代码避坑)

5分钟实战&#xff1a;用Diffusers库玩转Stable Diffusion的CFG参数调优 你是否曾经盯着Stable Diffusion生成的图片皱眉头——明明输入了详细的提示词&#xff0c;结果却像在开盲盒&#xff1f;别急着怀疑人生&#xff0c;问题可能出在那个神秘的guidance_scale参数上。今天我…...

2025届毕业生推荐的五大AI辅助写作平台横评

Ai论文网站排名&#xff08;开题报告、文献综述、降aigc率、降重综合对比&#xff09; TOP1. 千笔AI TOP2. aipasspaper TOP3. 清北论文 TOP4. 豆包 TOP5. kimi TOP6. deepseek 把人工智能生成内容的检测概率给降低&#xff0c;得从文本特征方面着手去进行系统性的优化。…...

all-MiniLM-L6-v2详细步骤:Ollama模型量化部署(Q4_K_M)显存再降40%

all-MiniLM-L6-v2详细步骤&#xff1a;Ollama模型量化部署&#xff08;Q4_K_M&#xff09;显存再降40% 在资源受限的环境中部署高效的句子嵌入模型一直是开发者的痛点。all-MiniLM-L6-v2作为轻量级语义表示模型&#xff0c;虽然已经比标准BERT模型小了80%以上&#xff0c;但在…...

腾讯云记忆服务,让智能助理进化升级

4月3日消息&#xff0c;腾讯云近日推出“Agent Memory”记忆服务&#xff0c;为智能助理OpenClaw补全长期记忆能力。接入该服务后&#xff0c;OpenClaw回答准确率大幅提升&#xff0c;还支持多种部署方式。创新记忆服务诞生腾讯云数据库团队自主研发了“Agent Memory”记忆服务…...