위 챗 JSDK 공유 기능 그림 인 스 턴 스 상세 설명
여기 서 위 챗 을 친구 권 에 공유 하고 위 챗 친구 에 게 공유 하 는 예 를 들 어 호출 테스트 를 하고,다른 기능 을 추가 하려 면 자체 적 으로 개발 자 문서 을 확인 하면 된다.
일 을 잘 하려 면 먼저 그 기 구 를 이 롭 게 하고 아래 의 도움 도 구 를 잘 이용 해 야 한다.모두 텐 센트 가 개발 자 에 게 준 도구 이다.
1.위 챗 개발 자 설명 문서:클릭 하여 보기
2.위 챗 WEB 개발 자 도구:
윈도 64 비트 버 전:다운로드 주소
윈도 32 비트 버 전:다운로드 주소
Mac 버 전:다운로드 주소
3.위 챗 JSSDK 공유 샘플:다운로드 클릭
4.온라인 데모:http://203.195.235.76/jssdk/
위 챗 버 전 6.0 이후 기 존의 WeixinJSBridge.on('menu:share:timeline',function(argv){}은 더 이상 사용 할 수 없습니다.위 챗 의 다른 기능 을 어떻게 사용 합 니까?공식 적 으로 JSDK 의 사용 을 알려 주 셔 서 저희 가 해결 할 수 있 도록 도와 주 셨 습 니 다.
선언:
위 챗 이 JSDK 를 제 공 했 지만 이것 은 사용자 정의 버튼 으로 위 챗 의 공유 인 터 페 이 스 를 직접 열 수 있다 는 것 을 의미 하 지 는 않 습 니 다.이 JSDK 는 위 챗 공유 인터페이스의 내용 만 정 의 했 을 뿐 실제 적 으로 사용자 가 오른쪽 상단 의 메뉴 단 추 를 눌 러 주동 적 으로 공유 해 야 합 니 다.사용자 가 공유 인 터 페 이 스 를 누 르 면 나타 나 는 내용 은 사용자 가 정의 한 공유 제목 입 니 다.그림 과 링크.
1. JSDK 사용 절차
1.1.1 단계 1:귀속 도 메 인 이름 1.1.2 단계 2:JS 파일 도입 1.1.3 단계 3:config 인터페이스 주입 권한 검증 설정 ($tpl['appid']$tpl['appsercret']너 자신 으로 바 꿔!) 1.1.4 단계 4:ready 인터페이스 처 리 를 통 해 성공 적 으로 검증 1.1.5 단계 5:error 인터페이스 처리 실패 검증
2.실측 도해:
2.1 테스트 페이지:
2.2 친구 권 에 공유:
2.3 친구 권 에 공유:
(이것 은 success 를 촉발 하 는 효과 입 니 다.그림 설명 을 잘못 썼 습 니 다.죄송합니다)
(이것 은 cancel 을 촉발 하 는 효과)
2.3 디 버 깅 인터페이스:
3.실측 코드 사례:
배경 코드(jssdk.php 는 뒤쪽 참조):
// apptoken
require_once "jssdk.php";
$jssdk = new JSSDK($appid,$appsecret);// appid secret
$signPackage = $jssdk->GetSignPackage();
$this->assign("signPackage",$signPackage);
JS 설정 코드
<script type="text/javascript" src='http://res.wx.qq.com/open/js/jweixin-1.0.0.js'></script>
<script type="text/javascript">
wx.config({
debug: false,
appId: '{$signPackage["appId"]}',
timestamp: '{$signPackage["timestamp"]}',
nonceStr: '{$signPackage["nonceStr"]}',
signature: '{$signPackage["signature"]}',
jsApiList: [
// API
'checkJsApi',
'onMenuShareTimeline',
'onMenuShareAppMessage',
'onMenuShareQQ',
'onMenuShareWeibo',
'onMenuShareQZone'
]
});
</script>
<script type="text/javascript" src='http://203.195.235.76/jssdk/js/zepto.min.js'></script>
JS 공유 코드:
<script type="text/javascript">
// wx.config,
wx.ready(function () {
//
wx.onMenuShareTimeline({
title: '1111111', //
link:window.location.href,
imgUrl: "{pigcms:$res['pic']}", //
success: function () {
//
alert('success');
},
cancel: function () {
alert('cancel');
}
});
//
wx.onMenuShareAppMessage({
title: '22222', //
desc: '22222',
link:window.location.href,
imgUrl: "{pigcms:$res['pic']}", //
trigger: function (res) {
// trigger ajax , , ajax
},
success: function (res) {
//
alert(' ');
},
cancel: function (res) {
alert(' ');
},
fail: function (res) {
alert(JSON.stringify(res));
}
});
});
</script>
JSDK 클래스jssdk.php
<?php
class JSSDK {
private $appId;
private $appSecret;
public function __construct($appId, $appSecret) {
$this->appId = $appId;
$this->appSecret = $appSecret;
}
public function getSignPackage() {
$jsapiTicket = $this->getJsApiTicket();
// URL , hardcode.
$protocol = (!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] !== 'off' || $_SERVER['SERVER_PORT'] == 443) ? "https://" : "http://";
$url = "$protocol$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]";
$timestamp = time();
$nonceStr = $this->createNonceStr();
// key ASCII
$string = "jsapi_ticket=$jsapiTicket&noncestr=$nonceStr×tamp=$timestamp&url=$url";
$signature = sha1($string);
$signPackage = array(
"appId" => $this->appId,
"nonceStr" => $nonceStr,
"timestamp" => $timestamp,
"url" => $url,
"signature" => $signature,
"rawString" => $string
);
return $signPackage;
}
private function createNonceStr($length = 16) {
$chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
$str = "";
for ($i = 0; $i < $length; $i++) {
$str .= substr($chars, mt_rand(0, strlen($chars) - 1), 1);
}
return $str;
}
private function getJsApiTicket() {
$accessToken = $this->getAccessToken();
// URL ticket
// $url = "https://qyapi.weixin.qq.com/cgi-bin/get_jsapi_ticket?access_token=$accessToken";
$url = "https://api.weixin.qq.com/cgi-bin/ticket/getticket?type=jsapi&access_token=$accessToken";
$res = json_decode($this->httpGet($url));
$ticket = $res->ticket;
return $ticket;
}
private function getAccessToken() {
// access_token ,
// URL access_token
// $url = "https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=$this->appId&corpsecret=$this->appSecret";
$url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=$this->appId&secret=$this->appSecret";
$res = json_decode($this->httpGet($url));
$access_token = $res->access_token;
return $access_token;
}
private function httpGet($url) {
$curl = curl_init();
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_TIMEOUT, 500);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($curl, CURLOPT_URL, $url);
$res = curl_exec($curl);
curl_close($curl);
return $res;
}
}
더 많은 PHP 관련 내용 에 관심 이 있 는 독자 들 은 본 사이트 의 주 제 를 볼 수 있다.본 논문 에서 말 한 것 이 여러분 의 PHP 프로 그래 밍 에 도움 이 되 기 를 바 랍 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
콩짜개 검색 - 위 챗 공공 플랫폼 접속 (wechatpy)위의 글 은 위 챗 공공 플랫폼 을 어떻게 연결 하 는 지 소 개 했 지만 그 안의 검증 코드 는 우리 가 스스로 실현 한 것 이다.그러나 지금 우 리 는 더 좋 은 선택 이 생 겼 다.위 챗 (WeChat) 퍼 블...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.