微信小程序订阅消息+PHP后台(https调用方式)
微信小程序订阅消息+PHP后台(https调用方式)
wx.requestSubscribeMessage({
tmplIds: [''], //此处填入申请得到的模板id
success (res) { }
})
**说明:**请求同意一次,永久时间内(任意时间内)只能发一次
public function actionSubmessage(){
/** @var *
* 微信小程序消息订阅
*/
//配置appid
$appid = "**************";
//配置appscret
$secret = "***************";
$url="https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=".$appid."&secret=".$secret;
//获取access_token
$access_token=$this->geturl($url)["access_token"];
$url_2="https://api.weixin.qq.com/cgi-bin/message/subscribe/send?access_token=".$access_token;
//要推送到的用户的openid
$openid = "43*************";
//模板id
$template_id = "********3erS7djkeOehgs****";
$data = [] ;
//接收者(用户)的 openid
$data['touser'] = $openid ;
//所需下发的订阅模板id
$data['template_id'] = $template_id ;
//点击模板卡片后的跳转页面,仅限本小程序内的页面。支持带参数,(示例index?foo=bar)。该字段不填则模板无跳转。
$data['page'] = "pages/wechatpay/wechatpay" ;
//模板内容,格式形如 { "key1": { "value": any }, "key2": { "value": any } }
$data['data'] = [
"thing4"=>[
'value' => '123'
],
"thing2"=>[
'value' => '666'
],
"thing1"=>[
'value' => '666'
],
'thing8'=>[
'value'=>'温馨提示'
],
'time5'=>[
'value'=>date('Y-m-d H:i:s', time())
]
];
//跳转小程序类型:developer为开发版;trial为体验版;formal为正式版;默认为正式版
$data['miniprogram_state'] = 'developer';
var_dump($this->posturl($url_2,$data));
}
function geturl($url){
/** @var *
* curl get请求封装,返回json数据格式数据
*/
$headerArray =array("Content-type:application/json;","Accept:application/json");
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch,CURLOPT_HTTPHEADER,$headerArray);
$output = curl_exec($ch);
curl_close($ch);
$output = json_decode($output,true);
return $output;
}
function posturl($url,$data){
/** @var *
* curl post请求封装,返回json数据格式数据
*/
$data = json_encode($data);
$headerArray =array("Content-type:application/json;charset='utf-8'","Accept:application/json");
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST,FALSE);
curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
curl_setopt($curl,CURLOPT_HTTPHEADER,$headerArray);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
$output = curl_exec($curl);
curl_close($curl);
return json_decode($output,true);
}
ps:如有问题欢迎留言!
微信小程序订阅消息+PHP后台(https调用方式)相关教程
微信小程序swiper实现间距轮播
微信小程序swiper实现间距轮播 原理:swiper-item是占据一整个页面的,也就是width是100%;在其中添加一个.banner-box,width设为swiper-item的80%,并使其居中显示; swiper class=banner-container block wx:for={{imgList}} wx:key=this swiper-item class
nginx 配置iOS微信授权登录 Universal Links(通用链接)
nginx 配置iOS微信授权登录 Universal Links(通用链接) 简介 随着iOS和微信SDK版本的更新,有变化。 新版本,需要配置Unuversal Links 链接必须是https协议,且在webView打开链接时为跨域的方式(与当前域名不同),才会被作为通用链接唤起。 在根目录或者.we
嵌入式程序调试与opencv图像库
嵌入式程序调试与opencv图像库 嵌入式程序调试与opencv图像库 一.在Ubuntu系统上练习程序代码的GDB调试 1.什么是GDB 2.使用方法 3.启动GDB 4.GDB命令 5.GDB调试举例 6.内存出错的GDB调试 二.在Ubuntu16/18系统下练习编译、安装C/C++图像处理开源软件库 Opencv
嵌入式系统的程序调试
嵌入式系统的程序调试 嵌入式系统的程序调试 1.练习代码的 GDB调试 2.opencv 3.4.1安装及练习 2.1opencv 3.4.1安装 2.2opencv 3.4.1练习 **(1)编写一个打开图片进行特效显示的代码 test.cpp** **(2)编写一个打开摄像头显示处理视频的程序代码** **(3)打开摄像
微信小程序入门开发超详细笔记(一)
微信小程序入门开发超详细笔记(一) 文章目录 1 引入 1.1 小程序的应用 1.2 小程序的介绍 1.3 市场分类 1 小程序 2 webapp 3 混合app 4 原生app 1 ios 2 android 3 react-native 2 开发 2.1 准备 1 官网注册登录 2 工具下载 2.2 入门小程序 1 创建 2 创建成功
【内存】C/C++程序内存的分配
【内存】C/C++程序内存的分配 栈(stack): 栈又称堆栈, 存放程序的局部变量(但不包括static声明的变量,static意味着在数据段中存放变量)。除此以外,在函数被调用时,栈用来传递参数和返回值。由于栈的先进先出特点,所以栈特别方便用来保存/恢复调用现
自学笔记:异常
自学笔记:异常 异常 异常就是在程序运行过程中产生使程序终止正常运行的错误对象。 因为java是面向对象,所以定义了多重异常类。 已有的异常都是 Throwable类 的子类。 Throwable定义了如下 方法 : String getMessage():返回异常对象的详细描述。 String
vue公众号h5 微信支付
vue公众号h5 微信支付 vue微信公众号h5微信支付 可以配合https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=7_1微信支付。 一.配置好公众号的基本配置(网页域名授权,你需要填写正确的可以访问的项目域名,js安全域名都要配)还有公众号的设置 二.