《PHP應(yīng)用:php微信公眾號(hào)js-sdk開(kāi)發(fā)應(yīng)用》要點(diǎn):
本文介紹了PHP應(yīng)用:php微信公眾號(hào)js-sdk開(kāi)發(fā)應(yīng)用,希望對(duì)您有用。如果有疑問(wèn),可以聯(lián)系我們。
測(cè)試js的接口功能,我用的是BAE服務(wù)器不是SAE服務(wù)器.SAE服務(wù)器不能寫入文件,測(cè)試會(huì)出問(wèn)題.
什么叫js-sdk,我先演示js-sdk接口的具體作用.
PHP實(shí)戰(zhàn)
我在微信隨便打開(kāi)一片推送文章如下圖:
PHP實(shí)戰(zhàn)
?
PHP實(shí)戰(zhàn)
點(diǎn)開(kāi)第一篇文章
PHP實(shí)戰(zhàn)
?
PHP實(shí)戰(zhàn)
上面就是我們的連接文章,如果我們把這篇文章發(fā)送給朋友,顯示效果如下圖:
PHP實(shí)戰(zhàn)
PHP實(shí)戰(zhàn)
分享到朋友圈我們?cè)賮?lái)看看效果:
PHP實(shí)戰(zhàn)
PHP實(shí)戰(zhàn)
為什么同樣是文章連接,在公眾號(hào)、發(fā)送給朋友、發(fā)送到朋友圈顯示的界面效果不一樣.公眾號(hào)的顯示效果是因?yàn)槲⑿殴妿ぬ?hào)在推送的時(shí)候調(diào)用了微信的消息接口,而后兩者是因?yàn)轫?yè)面調(diào)用js-sdk相關(guān)的sdk接口.
發(fā)送給朋友調(diào)用了js接口的獲取“分享給朋友”按鈕點(diǎn)擊狀態(tài)及自定義分享內(nèi)容接口.
發(fā)送給朋友圈調(diào)用了js接口的獲取“分享到朋友圈”按鈕點(diǎn)擊狀態(tài)及自定義分享內(nèi)容接口.
PHP實(shí)戰(zhàn)
下面我們來(lái)實(shí)現(xiàn)調(diào)用js-sdk接口的步驟:
PHP實(shí)戰(zhàn)
第一步:微信公眾平臺(tái)進(jìn)入“公眾號(hào)設(shè)置”的“功能設(shè)置”里填寫“JS接口安全域名”.
PHP實(shí)戰(zhàn)
如下圖:
PHP實(shí)戰(zhàn)
?
PHP實(shí)戰(zhàn)
只有置于該域名下的頁(yè)面才能調(diào)用js接口.
PHP實(shí)戰(zhàn)
第二步:http://demo.open.weixin.qq.com/jssdk/sample.zip連接這個(gè)地址下載 ,打開(kāi)里面的php文件夾,你發(fā)現(xiàn)4個(gè)php文件
PHP實(shí)戰(zhàn)
?
PHP實(shí)戰(zhàn)
前面3 個(gè)php文件是配置文件,不要?jiǎng)铀?sample.php是我們?cè)谖⑿胖写蜷_(kāi)的連接頁(yè)面,在這個(gè)頁(yè)面中我們來(lái)編寫我們的頁(yè)面代碼.這個(gè)文件我用來(lái)測(cè)試,里面的代碼跟原版已經(jīng)不同.PHP實(shí)戰(zhàn)
<?php // echo "nihao"; require_once "jssdk.php"; $jssdk = new JSSDK("wxaf471be5d2bc9521", "93f5c3817074d43e7a7ab3f403cc72dd");//JSSDK中的參數(shù)是appid和appsecret. $signPackage = $jssdk->GetSignPackage();//獲取配置參數(shù). ?>
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title></title> <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0" /> </head> <body> <div>我靠</div> <div>豬八戒</div> <button style="color: red" id="btn">你好</button> <button id="btn1">唐生</button> </body> <script src="http://res.wx.qq.com/open/js/jweixin-1.0.0.js"></script>//這個(gè)是js-sdk文件,一定要引入. <script> var button = document.getElementsByTagName("button"); var btn = document.getElementById("btn"); var div = document.getElementsByTagName("div")[0]; var btn1 = document.getElementById("btn1"); //wx表示一個(gè)js-sdk構(gòu)建的一個(gè)對(duì)象.config()是它的一個(gè)方法,這個(gè)接口用來(lái)驗(yàn)證配置. wx.config({ debug: true,//true表示每調(diào)用一個(gè)接口信息都會(huì)在頁(yè)面alert一段字符串.方便測(cè)試過(guò)程中國(guó)是否能正確調(diào)用接口. appId: '<?php echo $signPackage["appId"];?>', timestamp: <?php echo $signPackage["timestamp"];?>, nonceStr: '<?php echo $signPackage["nonceStr"];?>', signature: '<?php echo $signPackage["signature"];?>', //上面的4個(gè)參數(shù),如果你像深入了解其來(lái)源就去查看jssdk.php代碼.測(cè)試過(guò)程不需要對(duì)上面的代碼做任何操作. jsApiList: [ // 所有要調(diào)用的 API 都要加到這個(gè)列表中 'onMenuShareAppMessage',//獲取“分享給朋友”按鈕點(diǎn)擊狀態(tài)及自定義分享內(nèi)容接口. 'chooseImage',//獲取手機(jī)相片接口 'openLocation'//獲取微信地圖接口 ] }); //所有的js調(diào)用接口都要放到下面的ready()中. wx.ready(function () { // 在這里調(diào)用 API //獲取“分享給朋友”按鈕點(diǎn)擊狀態(tài),點(diǎn)擊后發(fā)送給朋友微信,微信上的推送顯示內(nèi)容就是下面的數(shù)據(jù) wx.onMenuShareAppMessage({ title: '大圣', // 分享標(biāo)題 desc: '我要堅(jiān)持', // 分享描述 link: 'http://www.baidu.com', // 分享鏈接 imgUrl: 'http://discuz.comli.com/weixin/weather/icon/cartoon.jpg', // 分享圖標(biāo) type: 'link', // 分享類型,music、video或link,不填默認(rèn)為link dataUrl: '', // 如果type是music或video,則要提供數(shù)據(jù)鏈接,默認(rèn)為空 success: function () { // 用戶確認(rèn)分享后執(zhí)行的回調(diào)函數(shù) alert("success"); }, cancel: function () { // 用戶取消分享后執(zhí)行的回調(diào)函數(shù) alert("error"); } }); //拍照或從手機(jī)相冊(cè)選擇.點(diǎn)擊頁(yè)面上的按鈕就可以調(diào)用手機(jī)里的相冊(cè). btn.onclick = function(){ wx.chooseImage({ count: 1, // 默認(rèn)9 sizeType: ['original', 'compressed'], // 可以指定是原圖還是壓縮圖,默認(rèn)二者都有 sourceType: ['album', 'camera'], // 可以指定來(lái)源是相冊(cè)還是相機(jī),默認(rèn)二者都有 success: function (res) { var localIds = res.localIds; // 返回選定照片的本地ID列表,localId可以作為img標(biāo)簽的src屬性顯示圖片 } }) }; //微信內(nèi)置地圖接口.點(diǎn)擊該按鈕就可轉(zhuǎn)到顯示當(dāng)前位置的地圖頁(yè)面 btn1.onclick = function() { wx.openLocation({ latitude: 0, // 緯度,浮點(diǎn)數(shù),范圍為90 ~ -90 longitude: 0, // 經(jīng)度,浮點(diǎn)數(shù),范圍為180 ~ -180. name: '', // 位置名 address: '', // 地址詳情說(shuō)明 scale: 1, // 地圖縮放級(jí)別,整形值,范圍從1~28.默認(rèn)為最大 infoUrl: '' // 在查看位置界面底部顯示的超鏈接,可點(diǎn)擊跳轉(zhuǎn) }); } }); // wx.checkJsApi({ // jsApiList: ['onMenuShareAppMessage'], // 需要檢測(cè)的JS接口列表,所有JS接口列表見(jiàn)附錄2, // success: function(res) { // // 以鍵值對(duì)的形式返回,可用的api值true,不可用為false // // 如:{"checkResult":{"chooseImage":true},"errMsg":"checkJsApi:ok"} // alert("success"); // } // }); // btn.onclick = function() { // div.innerText = "齊天大圣"; // wx.onMenuShareAppMessage({ // title: '大圣', // 分享標(biāo)題 // desc: '我要堅(jiān)持', // 分享描述 // link: 'http://www.baidu.com', // 分享鏈接 // imgUrl: 'http://discuz.comli.com/weixin/weather/icon/cartoon.jpg', // 分享圖標(biāo) // type: 'link', // 分享類型,music、video或link,不填默認(rèn)為link // dataUrl: '', // 如果type是music或video,則要提供數(shù)據(jù)鏈接,默認(rèn)為空 // success: function () { // // 用戶確認(rèn)分享后執(zhí)行的回調(diào)函數(shù) // alert("success"); // }, // cancel: function () { // // 用戶取消分享后執(zhí)行的回調(diào)函數(shù) // alert("error"); // } // }); // } </script> </html>
測(cè)試js的接口功能,我用的是BAE服務(wù)器不是SAE服務(wù)器.SAE服務(wù)器不能寫入文件,測(cè)試會(huì)出問(wèn)題.
更多功能及詳細(xì)信息,請(qǐng)大家訪問(wèn)http://mp.weixin.qq.com/wiki/7/aaa137b55fb2e0456bf8dd9148dd613f.htmlPHP實(shí)戰(zhàn)
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持維易PHP.PHP實(shí)戰(zhàn)
轉(zhuǎn)載請(qǐng)注明本頁(yè)網(wǎng)址:
http://www.snjht.com/jiaocheng/2563.html