微信JSSDK
21912 ワード
まずWeChat公衆プラットフォームに登録し、「公衆番号設定」の「機能設定」に「JSインターフェースセキュリティドメイン」を記入します.覚えてください
まずバックエンドの操作を見て、thinkphp 5に基づいて、
次に先端テンプレートです.
まずバックエンドの操作を見て、thinkphp 5に基づいて、
/*
JS-SDK
*/
public function share(){
$ticket = getJsapiTicket(getAccessToken(APPID,SECRET));// token_assecc token_access ticket
$noncestr = 'Wm3WZYTPz0sddenW';// , 16
$time = time();// ,
$url = 'http://www.XXXXX.com/index/index/share';// , , js-api
$getSignatrue = 'jsapi_ticket='.$ticket.'&noncestr='.$noncestr.'×tamp='.$time.'&url='.$url;// ,
$signature = sha1($getSignatrue);// sha1() ,
return $this->fetch('share',['time'=>$time,'noncestr'=>$noncestr,'signature'=>$signature,'appid'=>APPID]);
}
ここでのAPPIDとSECRETは、入口ファイルで定義されている定数です.以下の通りです.// AppID AppSecret
define('APPID', 'wx8fc5311118f2dfb3');
define('SECRET', '97f96488de1111194dfc86f0e287a969');
getAccess Token()方法は私がパッケージした方法です.thinkphp 5の公共方法ファイルに入ればいいです.WeChatの開発を参考にして動的にaccess_を取得できます.token、とにかくWeChatの開発はtokenを取得するのに欠かせません.access.次に先端テンプレートです.
<html>
<head>
<title>
title>
<script src="http://res.wx.qq.com/open/js/jweixin-1.2.0.js">script>
head>
<body>
<a href="javascript:void(0);" onclick="getLocation()"><h1> h1>a><br />
<a href="javascript:void(0);" onclick="openLocation()"><h1> h1>a><br />
<a href="javascript:void(0);" onclick="onMenuShareTimeline()"><h1> h1>a><br />
<a href="javascript:void(0);" onclick="onMenuShareAppMessage()"><h1> h1>a><br />
<a href="javascript:void(0);" onclick="chooseImage()"><h1> h1>a><br />
<a href="javascript:void(0);" onclick="getNetworkType()"><h1> h1>a><br />
<a href="javascript:void(0);" onclick="scanQRCode()"><h1> h1>a><br />
<a href="javascript:void(0);" onclick="closeWindow()"><h1> h1>a>
body>
<script>
wx.config({
debug: true, // , api alert , , pc , log , pc 。
appId: '{$appid}', // ,
timestamp: '{$time}', // ,
nonceStr: '{$noncestr}', // ,
signature: '{$signature}',// ,
jsApiList: [
'onMenuShareTimeline', //
'onMenuShareAppMessage', //
'scanQRCode', //
'getLocation', //
'chooseImage', //
'getNetworkType', //
'openLocation', //
'closeWindow', //
] // , JS
});
wx.ready(function(){
// config ready , config ,config , , ready 。 , , ready 。
// JS
// wx.checkJsApi({
// jsApiList: ['onMenuShareTimeline','onMenuShareAppMessage'], // JS , JS 2,
// success: function(res) {
// // , api true, false
// // :{"checkResult":{"chooseImage":true},"errMsg":"checkJsApi:ok"}
// alert(' api ');
// }
// });
wx.onMenuShareAppMessage({
title: 'this is title', //
desc: 'this is desc', //
link: 'http://music.163.com', // , JS
imgUrl: 'http://pic.616pic.com/ys_b_img/00/66/73/9KnqqgZBFe.jpg', //
type: 'link', // ,music、video link, link
dataUrl: '', // type music video, ,
success: function () {
//
alert(' ');
},
cancel: function (res) {
alert(' ');
},
fail: function (res) {
alert(JSON.stringify(res));
}
});
wx.onMenuShareTimeline({
title: 'this is title', //
link: 'http://music.163.com', // , JS
imgUrl: 'http://pic.616pic.com/ys_b_img/00/66/73/9KnqqgZBFe.jpg', //
success: function () {
//
alert(' ');
}
});
});
// config error , , config debug , res , SPA 。
wx.error(function(res){
alert('config ');
});
//
function onMenuShareTimeline(){
wx.onMenuShareTimeline({
title: 'this is title', //
link: 'http://music.163.com', // , JS
imgUrl: 'http://pic.616pic.com/ys_b_img/00/66/73/9KnqqgZBFe.jpg', //
success: function () {
//
alert(' ');
}
});
alert('onMenuShareTimeline');
}
//
function getLocation(){
wx.getLocation({
type: 'wgs84', // wgs84 gps , openLocation , 'gcj02'
success: function (res) {
var latitude = res.latitude; // , , 90 ~ -90
var longitude = res.longitude; // , , 180 ~ -180。
var speed = res.speed; // , /
var accuracy = res.accuracy; //
alert(latitude);
}
});
}
//
function scanQRCode(){
wx.scanQRCode({
needResult: 0, // 0, ,1 ,
scanType: ["qrCode","barCode"], // ,
success: function (res) {
// var result = res.resultStr; // needResult 1 ,
}
});
}
//
function chooseImage(){
wx.chooseImage({
count: 1, // 9
sizeType: ['original', 'compressed'], // ,
sourceType: ['album', 'camera'], // ,
success: function (res) {
var localIds = res.localIds; // ID ,localId img src
alert(localIds);
}
});
}
//
function onMenuShareAppMessage(){
wx.onMenuShareAppMessage({
title: 'this is title', //
desc: 'this is desc', //
link: 'http://music.163.com', // , JS
imgUrl: 'http://pic.616pic.com/ys_b_img/00/66/73/9KnqqgZBFe.jpg', //
type: 'link', // ,music、video link, link
dataUrl: '', // type music video, ,
success: function () {
//
alert(' ');
},
cancel: function (res) {
alert(' ');
},
fail: function (res) {
alert(JSON.stringify(res));
}
});
}
//
function getNetworkType(){
wx.getNetworkType({
success: function (res) {
var networkType = res.networkType; // 2g,3g,4g,wifi
}
});
}
//
function openLocation(){
wx.openLocation({
latitude: 0, // , , 90 ~ -90
longitude: 0, // , , 180 ~ -180。
name: '', //
address: '', //
scale: 1, // , , 1~28。
infoUrl: 'http://music.163.com' // ,
});
}
//
function closeWindow(){
wx.closeWindow();
}
script>
html>