先上图吧,别到时候看了半天 以为 不是你需要的文章哈

 

 ok,如果符合要求的话 咱们就继续往下看 ,接下来 咱们按步骤一步一步的来哈

1.在微信公众平台里设置一个模板

 

 

添加个模板先 ,如果 没有模板 在页面切换下 tab选择 一个 合适的模板 ,然后选择下合适的字段 添加下,切换到公共模板库选择模板和字段,选择好确定后就可以了,然后有了模板后,在我的模板里选择你创建的模板 查看详情

 

 应该是这样一个页面哈,有了这些 就可以下一步了

 

2.前端调起授权,别告诉我你们公司没前端,没前端的话 ,那你就吧我这段代码粘贴到小程序里吧,有前端的 话 他应该懂的

setPhoto:function(){
wx.requestSubscribeMessage({
tmplIds: [\’5aoiQO173x-B1RyN8d0d4lpgNtOl_qms4d8d\’],
success (res) {
console.log(res);
 
},
fail (fail) {
console.log(fail);
}
})
},
 
 
把这段给前端用哈,然后下一步
 
3.后端进行推送
 
 /**微信小程序 推送相册完成或失败的信息***/
    static function PushCompleteMsg($title=\'\',$begin_time=\'\',$end_time=\'\',$between=\'\',$remark=\'\',$open_id,$urls)
    {

           self::GetAccessTokens();
           $url =\'https://api.weixin.qq.com/cgi-bin/message/subscribe/send?access_token=\'.Yii::$app->redis->get(\'access_token\');
          
//这里是个大坑 注意我数组里的 key值,要保证和模板里的每个值都一样,如果不明白 和我上面的图片里的值对应下 你就知道怎么传了哈
$data = array( \'thing1\'=>array(\'value\'=>$title), \'date4\'=>array(\'value\'=>$begin_time), \'date5\'=>array(\'value\'=>$end_time), \'time6\'=>array(\'value\'=>$between), \'thing3\'=>array(\'value\'=>$remark) ); if(empty($urls)){ $datas = array( \'touser\' =>$open_id, \'template_id\' =>\'5aoiQO17范德萨发范德萨发范德萨发\', \'miniprogram_state\' =>\'trial\', //这个是版本 体验版 正式版啥的 这个你们定 \'lang\' => \'zh_CN\', \'data\' => $data ); }else{ $datas = array( \'touser\' =>$open_id, \'template_id\' =>\'5aoiQO173x-B打发大水\', \'page\' =>$urls, //这个是连接地址有的 需要进入小程序查看详情就加上这个参数 ,这个地址是小程序前端地址哦 \'miniprogram_state\' =>\'trial\', \'path\' =>$url, \'lang\' => \'zh_CN\', \'data\' => $data ); } //最后请求第三方就可以了哈 $header = array("Content-Type:multipart/x-www-form-urlencoded"); $response = Utils::curlPost($url,$datas,5,$header,\'json\'); $res = json_decode($response,true); print_r($res);die; }



/**
* 传入数组进行HTTP POST请求
*/
static function curlPost($url, $post_data = array(), $timeout = 5, $header = "", $data_type = "") {
$header = empty($header) ? \'\' : $header;
//支持json数据数据提交
if($data_type == \'json\'){
$post_string = json_encode($post_data);
}elseif($data_type == \'array\') {
$post_string = $post_data;
}elseif(is_array($post_data)){
$post_string = http_build_query($post_data, \'\', \'&\');
}

$ch = curl_init(); // 启动一个CURL会话
curl_setopt($ch, CURLOPT_URL, $url); // 要访问的地址
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); // 对认证证书来源的检查 // https请求 不验证证书和hosts
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false); // 从证书中检查SSL加密算法是否存在
//curl_setopt($ch, CURLOPT_USERAGENT, $_SERVER[\'HTTP_USER_AGENT\']); // 模拟用户使用的浏览器
//curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1); // 使用自动跳转
//curl_setopt($curl, CURLOPT_AUTOREFERER, 1); // 自动设置Referer
curl_setopt($ch, CURLOPT_POST, true); // 发送一个常规的Post请求
curl_setopt($ch, CURLOPT_POSTFIELDS, $post_string); // Post提交的数据包
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout); // 设置超时限制防止死循环
curl_setopt($ch, CURLOPT_TIMEOUT, $timeout);
//curl_setopt($curl, CURLOPT_HEADER, 0); // 显示返回的Header区域内容
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); // 获取的信息以文件流的形式返回
curl_setopt($ch, CURLOPT_HTTPHEADER, $header); //模拟的header头
$result = curl_exec($ch);

// 打印请求的header信息
//$a = curl_getinfo($ch);
//var_dump($a);

curl_close($ch);
return $result;
}




 

可以了么  有问题叫我哈

 

版权声明:本文为HoverM原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/HoverM/p/13306127.html