php 위 챗 브 라 우 저 공유 설정 및 리 셋 상세 설명

5267 단어 php위 챗 공유
위 챗 에서 친구 에 게 공유/친구 권 에 공유 하 는 기능 은 자주 사용 되 는 것 같 습 니 다.친구 권 에 공유 하 는 예 를 들 어 공 유 된 내용 을 친구 권 에서 보 여 주 는 것 은 작은 그림+간단 한 소개 형식 으로 친구 에 게 보 여 주 는 것 입 니 다.클릭 한 후에 야 자세 한 내용 입 니 다.그러면...이 작은 사진 과 이 프로필 은 공 유 된 콘 텐 츠 의 조회 수 중 가장 중요 한 것 이 되 었 다.기본 적 인 상황 에서 이 그림 은 내용 테마 부분의 첫 번 째 큰 그림 을 불 러 오고 프로필 은 하나의 사이트 만 불 러 옵 니 다.이러한 전시 방식 은 여전히 상당히 만 족 스 럽 지 못 하 다.그러면 우 리 는 이 내용 들 이 어떤 형식 으로 설정 되 었 는 지,PHP 를 가지 고 예 를 들 어 보 자. 
우선 우 리 는 공중 번 호 를 가지 고 앱 id 와 앱 시 크 릿 을 받 아야 한다. 
그리고 우 리 는 appid 와 appsicret 를 통 해 위 챗 플랫폼 에 access 를 바 꿀 수 있 습 니 다.token 입 니 다. 

define("APPID", $appid);
define("APPSECRET", $appsecret);
 
//   access_token
$token_access_url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=" . APPID . "&secret=" . APPSECRET;
$res = file_get_contents($token_access_url); //                
$result = json_decode($res, true); //     JSON               PHP   
$access_token = $result['access_token'];

access 를 통 해token,우 리 는 위 챗 플랫폼 에 jsapi 를 요청 할 수 있 습 니 다.ticket:

 //   jsapi_ticket
$ticket_url = "https://api.weixin.qq.com/cgi-bin/ticket/getticket?access_token=TOKEN";

$res = file_get_contents($ticket_url); //                
$result = json_decode($res, true); //     JSON               PHP   
$ticket = $result['ticket']; 

자,준비 작업 이 다 되 었 으 니 우 리 는 우리 의 설 치 를 시작 할 수 있 습 니 다. 
위 챗 의 공유 설정 은 wx.config 를 통 해 이 루어 집 니 다. 

<script>
wx.config({
  debug: false, //       ,     api         alert  ,         ,   pc   ,       log  ,  pc      。
  appId: '<?php echo APPID;?>', //   ,        
  timestamp: <?php echo $timestamp;?>, //   ,        
  nonceStr: '<?php echo $noncestr;?>', //   ,        
  signature: '<?php echo $signature;?>',//   ,  
  jsApiList: ['onMenuShareTimeline','onMenuShareAppMessage'] //   ,     JS    
});
</script>
중간 appid 는 바로 우리 의 위 챗 공식 번호 의 appid 입 니 다.timestamp 는 현재 의 시간 스탬프 입 니 다.noncestr 는 무 작위 문자열 입 니 다.서명 을 만 드 는 데 사 용 됩 니 다.signature 는 생 성 된 서명 입 니 다.jsapilist 는 우리 가 사용 해 야 할 위 챗 인터페이스 입 니 다.여기 서 우 리 는 좋 은 친구 에 게 공유 하고 친구 권 에 공유 하 는 두 인 터 페 이 스 를 사용 하면 됩 니 다. 
timestamp,noncestr,signature 생 성 프로 세 스 를 간단하게 열거 합 니 다. 

//     
 //        
class RandChar{
 function getRandChar($length){
  $str = null;
  $strPol = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyz";
  $max = strlen($strPol)-1;

  for($i=0;$i<$length;$i++){
  $str.=$strPol[rand(0,$max)];//rand($min,$max)    min max            
  }
  return $str;
 }
}
$randCharObj = new RandChar();
$noncestr = $randCharObj->getRandChar(16);


$timestamp = time();
if ($_SERVER['QUERY_STRING']){
  $url = 'http://'.$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF'].'?'.$_SERVER['QUERY_STRING'];
}else{
  $url = 'http://'.$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF'];
}

$parameters = array("noncestr" => $noncestr,
            "jsapi_ticket" => $ticket,
            "timestamp" => $timestamp,
            "url" => $url);
ksort($parameters);

$string1 = "";
foreach ($parameters as $key => $val){
  $string1 .= $key."=".$val."&";
}
$string1 = substr($string1,0,-1);
$signature = sha1($string1);

이로써 우 리 는 wx.config 에 대한 설정 이 완성 되 었 습 니 다.이어서 우리 가 방금 언급 한 작은 그림 과 프로필 내용 을 자 유 롭 게 설정 할 수 있 습 니 다. 

  wx.ready(function(){
    //         
    wx.onMenuShareTimeline({
      title: '    ', //     
      link: 'http://www.baidu.com', //     
      imgUrl: 'http://mp.weixin.qq.com/wiki/static/assets/dc5de672083b2ec495408b00b96c9aab.png', //     
      success: function () { 
        alert("    ");
      },
      cancel: function () { 
        alert("    ");
      }
    });
    //      
    wx.onMenuShareAppMessage({
      title: '    ', //     
      desc: '      ', //     
      link: 'http://www.baidu.com', //     
      imgUrl: 'http://mp.weixin.qq.com/wiki/static/assets/dc5de672083b2ec495408b00b96c9aab.png', //     
      type: '', //     ,music、video link,     link
      dataUrl: '', //   type music video,        ,    
      success: function () { 
        alert("    ");
      },
      cancel: function () { 
        alert("    ");
      }
    });
  })
중간 에 말 하면 success 와 cancel 이라는 두 가지 값 도 상당히 자주 사용 되 는데 성공 적 으로 공 유 된 js 리 셋 과 공 유 를 취소 한 후의 리 셋 을 나타 내 고 사용자 가 친구 권 을 공유 한 후에 심리 테스트 답 을 나타 내 는 것 과 같은 작은 기능 을 판단 하 는 데 유용 하 다.
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.

좋은 웹페이지 즐겨찾기