主机参考:VPS测评参考推荐/专注分享VPS服务器优惠信息!若您是商家可以在本站进行投稿,查看详情!此外我们还提供软文收录、PayPal代付、广告赞助等服务,查看详情! |
我们发布的部分优惠活动文章可能存在时效性,购买时建议在本站搜索商家名称可查看相关文章充分了解该商家!若非中文页面可使用Edge浏览器同步翻译!PayPal代付/收录合作 |
如何实现推送模板消息的小程序?
以下是开发步骤。
获取用户的openid。
获取form_id或prepay_id。
获取access_token
发送模板消息
演示下载地址
重要说明
该方法使用PHP内置- 在curl模块中发送请求。 开发时使用该方法访问微信服务器并获取数据。 其中url为接口地址,params为传递参数,ispost为请求方式,https为证书验证。
公共静态函数curl( $url, $params = false, $ispost = 0, $https = 0) { $httpInfo = array(); $ch = curl_setopt($ch, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_1 ) ;curl_setopt( $ch, CURLOPT_HTTPHEADER, array( '内容-类型: application/json; charset= utf-8' ) );curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows NT 10.0; WOW64) ) AppleWebKit/537.36 (KHTML、Gecko 等) Chrome/41.0.2272.118 Safari/537.36& #39;);($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); source curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE); // 检查证书中是否存在 SSL 加密算法} if ($ispost) {curl_setopt($ch, CURLOPT_POST, true ); curl_setopt($ch, CURLOPT_POSTFIELDS, $params ); ($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); ));curl_close($ch);返回$响应。 }
获取用户的openid。
我们建议将微信小程序代码全局存储在app.js中,方便调用。
wx.login({ success: function (res) { wx .request({ url: "www.xxx.com", //服务器接口地址 data: { code:res.code //发送到服务器获得通过wx.login代码}, header: { 'content-type ': 'application/json' }, success: function (res) { that.globalData.OpenId=res.data .openid //存储openid } }) } })
服务器完成您的 PHP 代码。 使用 Laravel 框架。 你可以自己重建这个。
public function getUserInfo(Request $request) { $code = $request->get("code"); //小程序appid $secret="";秘密 $Url = 'https://api.weixin.qq.com/sns/jscode2session?appid=' 。 '&秘密='。 $秘密。 '&js_code=' 。 $代码。 '&grant_type=authorization_code'; //微信小程序提供的官方接口里面获取的code替换openid $UserInfo=HttpUtils::curl($Url, $params = false, $ispost = 0, $https = 1) ; //上面的curl方法打印结果包括echo $UserInfo; //openid. }
获取form_id或prepay_id
本文仅做简单介绍,微信支付将在下一篇博客中讲解。
1.form_id为小程序中提交的表单。 用户在小程序中提交表单并声明该表单发送模板消息时生成的ID。 如果开发者需要为用户服务,可以允许开发者在7天内向用户推送有限数量的消息。 模板消息(表单提交后可发布一条消息,多次提交后可发布一条消息)数字相互独立,互不影响)
2. prepay_id为小程序发起微信支付时生成的预付费ID。 用户在小程序中完成支付操作后,开发者即可在小程序中向用户进行支付。 7天内推送有限数量的模板消息(一次付款可发布3条消息,但多次付款发布的消息数量独立,互不影响。)
获取access_token
该方法使用了一个laravel框架,您可以自行重建该框架来获取access_token并为后续模板消息发送使用提供参数。
public static function access_token(){ $appid=""; //小程序appid $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 访问接口 Cache::put( "access_token",$access_token,120);/设置缓存。 过期时间为2小时} return $access_token }
发送模板消息
发送模板消息方法
public static function SendMsg($data,$access_token){ $MsgUrl= "https: //api.weixin.qq.com/ cgi-bin/message/wxopen/template/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) { $form_id=$request->get("form_id"); $openid=$request->get("openid"); $access_token=WxUtils::access_token(); =>$openid, //接收用户的openid "template_id"=>"k03-Sk5c4eNlQKrS4VqI4cKjEil7JyvcuxtKBFkVcs", //模板IDt;page"=>"pages/index/index", //点击模板消息会跳转到小程序页面 "form_id"=>$form_id, //也可以是提交表单时的form_id或者生成的prepay_id by payment " data"=>[ "keyword1"=>[ "value"=> "五家公司", //自定义参数 "color"=> '#173177'//自定义 ], "keyword2" =>[ "value "=> "清洁服务",//自定义参数"color"=> '#173177'//自定义文字颜色], "keyword3"=>[ "value" => "2018年10月",//自定义参数"color" "=> '#173177'//自定义文字颜色],"keyword4"=>[ "value"=> "已发布", //自定义参数 "color"=> '#173177'//自定义文字颜色], "keyword5"=>[ " value"=> " 进入显示小程序订单列表",//自定义参数 "color"=> '#173177'//自定义文字颜色], ] ]; $res=WxUtils: :SendMsg($data, $access_token); //返回结果}
相关推荐:小程序教程
PHP快速学习视频免费教程(从入门到精通)
如何开始学习PHP?我学PHP很快吗? 这里有简单的 PHP 学习教程(从初学者到专家)。 您可以保存并下载您想学习的朋友。
下载
这几篇文章你可能也喜欢:
- 如何实现小程序发送服务通知(小程序如何主动向用户发送通知)
- 如何获取小程序的unionid(如何获取小程序的页面路径)
- 生成海报的示例小程序(Java后端)(微信小程序生成海报演示)
- 什么是小程序? 有哪些功能?(什么是小程序?有哪些功能?)
- 介绍如何用小程序生成参数二维码(二维码+小程序参数)
本文由主机参考刊发,转载请注明:如何实现小程序推送模板消息(小程序模板消息推送) https://zhujicankao.com/123988.html
评论前必须登录!
注册