这个自定义说的是只能自定义分享内容,标题,链接等。

appId = $appId; 
            $this->appSecret = $appSecret; 
      } 
      
      public function ec()
      {
          $res = $this->getAccessToken();//token
          
          $ticket = $this->getTicket($res);//ticket
          
          $rand = $this->createNonceStr();//随机字符
          
          $time = time();//时间戳
          
          $protocol = (!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] !== 'off' || $_SERVER['SERVER_PORT'] == 443) ? "https://" : "http://"; 
          $url = "$protocol$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]"; //要分享页面的url
          
          $arr=array();
          
          $arr['ticket'] = $ticket;
          
          $arr['rand'] = $rand;
          
          $arr['time'] = $time;
          
          $arr['url'] = $url;
          
          $string = "jsapi_ticket={$arr['ticket']}&noncestr={$arr['rand']}×tamp={$arr['time']}&url={$arr['url']}"; //签名排序
         
          $signature = sha1($string); 
          
          $arr['signature'] = $signature;
          
          return $arr;
      } 
      
      //随机字符串
      private function createNonceStr($length = 16) 
      { 
      
            $chars = "abcdefghijklmnopqrstuvwxyz"; 
            
            $str = ""; 
            
            for ($i = 0; $i < $length; $i++) 
            { 
        
                $str .= substr($chars, mt_rand(0, strlen($chars) - 1), 1); 
                
            } 
            
            return $str; 
            
      } 
      
      //获取 token 7200
      private function getAccessToken() 
      { 
      
            $url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=$this->appId&secret=$this->appSecret"; 
                             
            $data = $this->get_file('token.txt');
            
            if(strlen($data)>1)//文件存在
            {
                
                $tokenArr = unserialize($data);
                
                if(time()<$tokenArr['expire'])
                {
                    
                    goto a;
                    
                }
                else
                {
                    
                    $tokenArr = json_decode($this->httpGet($url),true);
                    
                    $tokenArr['expire'] = time()+7000;
                    
                    $this->set_file('token.txt',serialize($tokenArr));
                    
                }
            }
            else    //文件不存在
            {
                    $tokenArr = json_decode($this->httpGet($url),true);
                    
                    $tokenArr['expire'] = time()+7000;
                    
                    $this->set_file('token.txt',serialize($tokenArr));
                    
            }
            
            a:
            return $tokenArr['access_token'];
      } 
      
     
            
                                                 
      //获取jsapi_ticket 7200
      private function getTicket($res)
      {
                
            $url = "https://api.weixin.qq.com/cgi-bin/ticket/getticket?access_token=".$res."&type=jsapi"; 
                             
            $data = $this->get_file('ticket.txt');
                 
            if(strlen($data)>1)
            {
                
                $ticketArr = unserialize($data);
                
                if(time() < $ticketArr['expire'])
                {
                    
                    goto a;
                    
                }
                else
                {
                    
                    $ticketArr = json_decode($this->httpGet($url),true);
                    
                    $ticketArr['expire'] = time()+7000;
                    
                    $this->set_file('ticket.txt',serialize($ticketArr));
                    
                }
            }
            else
            {
                
                    $ticketArr = json_decode($this->httpGet($url),true);
                    
                    $ticketArr['expire'] = time()+7000;
                    
                    $this->set_file('ticket.txt',serialize($ticketArr));
                    
            }
            
          a:
            
          return $ticketArr['ticket'];
      }
     
      private function httpGet($url) 
      { 
      
            $curl = curl_init(); 
            
            curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); 
            
            curl_setopt($curl, CURLOPT_TIMEOUT, 500); 
            
            // 为保证第三方服务器与微信服务器之间数据传输的安全性,所有微信接口采用https方式调用,必须使用下面2行代码打开ssl安全校验。 
            // 如果在部署过程中代码在此处验证失败,请到 http://curl.haxx.se/ca/cacert.pem 下载新的证书判别文件。 
            curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, true); 
            
            curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, true);
            
            curl_setopt($curl, CURLOPT_URL, $url); 
         
            $res = curl_exec($curl); 
            
            curl_close($curl); 
         
            return $res; 
            
      } 
      
      private function get_file($filename)
      { 
      
            return trim(file_get_contents($filename)); 
            
      } 
      
      private function set_file($filename, $content) 
      { 
      
            $fp = fopen($filename,"w"); 
            fwrite($fp,$content); 
            fclose($fp); 
            
      } 
}

html页面

ec();

?> 
 
 
     
         
     
     
 
     
     
     

大概就是这样了

你可能感兴趣的:(这个自定义说的是只能自定义分享内容,标题,链接等。)