PHP群:95885625 Hbuilder+MUI群:81989597 站长QQ:634381967
    您现在的位置: 首页 > 开发编程 > PHP教程 > 正文

    laravel 微信小程序发送订阅消息

    作者:admin来源:网络浏览:时间:2021-06-19 18:19:07我要评论
    导读:laravel 微信小程序发送订阅消息
    laravel 微信小程序发送订阅消息

    1. //发送订阅消息 
    2.    public function sendTemplate($openid,$template_id,$page_url,$data=[],$miniprogram_state='formal'){ 
    3.        $template = array( 
    4.            'touser'=>$openid,    //用户openid 
    5.            'template_id'=>$template_id,  //在公众号下配置的模板id 
    6.            'miniprogram_state'=>$miniprogram_state, 
    7.            'page'=>$page_url,  //点击模板消息会跳转的链接 
    8.            'data'=>$data 
    9.        ); 
    10.        $token = $this->getAccessToken(); 
    11.        $url ='https://api.weixin.qq.com/cgi-bin/message/subscribe/send?access_token='.$token; 
    12.        $info = $this->httpPost($url,json_encode($template)); 
    13.        return json_decode($info,true); 
    14.    } 
    15.  
    16.  /** 
    17.     * 获取token 
    18.     */ 
    19.    public function getAccessToken(){ 
    20.        $data = json_decode(Cache::get('wx-access-token')); 
    21.        if(!$data || $data->expire_time < time()){ 
    22.            $data = new \stdClass(); 
    23.            $url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=".$this->appid."&secret=".$this->appsecret; 
    24.            $res = json_decode($this->httpGet($url)); 
    25.            $access_token = $res->access_token; 
    26.            if($access_token){ 
    27.                $data->expire_time = time()+7000; 
    28.                $data->access_token = $access_token; 
    29.                Cache::put('wx-access-token',json_encode($data),Carbon::now()->addMinutes(120)); 
    30.            }else
    31.                return false
    32.            } 
    33.        }else
    34.            $access_token = $data->access_token; 
    35.        } 
    36.        return $access_token; 
    37.    } 
    38.  
    39.  
    40.  /** 
    41.     * http post 请求 
    42.     */ 
    43.    function httpPost($url,$data='') { 
    44.        $curl = curl_init(); 
    45.        curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); 
    46.        curl_setopt($curl, CURLOPT_TIMEOUT, 500); 
    47.        curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false); 
    48.        curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false); 
    49.        curl_setopt($curl, CURLOPT_URL, $url); 
    50.        curl_setopt($curl, CURLOPT_POST, TRUE); 
    51.        curl_setopt($curl, CURLOPT_POSTFIELDS,$data); 
    52.        $res = curl_exec($curl); 
    53.        curl_close($curl); 
    54.        return $res; 
    55.    } 

     

    转载请注明(B5教程网)原文链接:https://b5.mxunkeji.com/content-10-6564-1.html