古詩詞大全網 - 個性簽名 - 微信開放js sdk 有什麽用

微信開放js sdk 有什麽用

登錄妳的微信平臺,點擊“公眾號設置”。

2

點擊“功能設置”,然後點擊“設置”。

3

設置JS接口安全域名。這裏填寫的是壹級域名,不帶www和/cgi-bin/token?grant_type=client_credential&appid=' .'妳的AppID'.'&secret=' .'妳的AppSecret');

$res = json_decode($res, true);

$token = $res['access_token'];

// 註意:這裏需要將獲取到的token緩存起來(或寫到數據庫中)

// 不能頻繁的訪問/cgi-bin/token,每日有次數限制

// 通過此接口返回的token的有效期目前為2小時。令牌失效後,JS-SDK也就不能用了。

// 因此,這裏將token值緩存1小時,比2小時小。緩存失效後,再從接口獲取新的token,這樣

// 就可以避免token失效。

// S()是ThinkPhp的緩存函數,如果使用的是不ThinkPhp框架,可以使用妳的緩存函數,或使用數據庫來保存。

S('access_token', $token, 3600);

}

return $token;

}

註意:返回的access_token長度至少要留夠512字節。接口返回值:

{"access_token":"ACCESS_TOKEN","expires_in":7200}

{"access_token":"vdlThyTfyB0N5eMoi3n_aMFMKPuwkE0MgyGf_0h0fpzL8p_hsdUX8VGxz5oSXuq5dM69lxP9wBwN9Yzg-0kVHY33BykRC0YXZZZ-WdxEic4","expires_in":7200}

6

獲取jsapi的ticket。jsapi_ticket是公眾號用於調用微信JS接口的臨時票據。正常情況下,jsapi_ticket的有效期為7200秒,通過access_token來獲取。

function wx_get_jsapi_ticket(){

$ticket = "";

do{

$ticket = S('wx_ticket');

if (!empty($ticket)) {

break;

}

$token = S('access_token');

if (empty($token)){

wx_get_token();

}

$token = S('access_token');

if (empty($token)) {

logErr("get access token error.");

break;

}

$url2 = sprintf("/cgi-bin/ticket/getticket?access_token=%s&type=jsapi",

$token);

$res = file_get_contents($url2);

$res = json_decode($res, true);

$ticket = $res['ticket'];

// 註意:這裏需要將獲取到的ticket緩存起來(或寫到數據庫中)

// ticket和token壹樣,不能頻繁的訪問接口來獲取,在每次獲取後,我們把它保存起來。

S('wx_ticket', $ticket, 3600);

}while(0);

return $ticket;

}

接口返回值:

{"errcode":0,"errmsg":"ok","ticket":"sM4AOVdWfPE4DxkXGEs8VMKv7FMCPm-I98-klC6SO3Q3AwzxqljYWtzTCxIH9hDOXZCo9cgfHI6kwbe_YWtOQg","expires_in":7200}

7

簽名,將jsapi_ticket、noncestr、timestamp、分享的url按字母順序連接起來,進行sha1簽名。

noncestr是妳設置的任意字符串。

timestamp為時間戳。

$timestamp = time();

$wxnonceStr = "任意字符串";

$wxticket = wx_get_jsapi_ticket();

$wxOri = sprintf("jsapi_ticket=%s&noncestr=%s×tamp=%s&url=%s",

$wxticket, $wxnonceStr, $timestamp,

'要分享的url(從/open/js/jweixin-1.0.0.js"></script>

<script type="text/javascript">

// 微信配置

wx.config({

debug: false,

appId: "妳的AppID",

timestamp: '上壹步生成的時間戳',

nonceStr: '上壹步中的字符串',

signature: '上壹步生成的簽名',

jsApiList: ['onMenuShareTimeline', 'onMenuShareAppMessage'] // 功能列表,我們要使用JS-SDK的什麽功能

});

// config信息驗證後會執行ready方法,所有接口調用都必須在config接口獲得結果之後,config是壹個客戶端的異步操作,所以如果需要在 頁面加載時就調用相關接口,則須把相關接口放在ready函數中調用來確保正確執行。對於用戶觸發時才調用的接口,則可以直接調用,不需要放在ready 函數中。

wx.ready(function(){

// 獲取“分享到朋友圈”按鈕點擊狀態及自定義分享內容接口

wx.onMenuShareTimeline({

title: '分享標題', // 分享標題

link:"分享的url,以http或https開頭",

imgUrl: "分享圖標的url,以http或https開頭" // 分享圖標

});

// 獲取“分享給朋友”按鈕點擊狀態及自定義分享內容接口

wx.onMenuShareAppMessage({

title: '分享標題', // 分享標題

desc: "分享描述", // 分享描述

link:"分享的url,以http或https開頭",

imgUrl: "分享圖標的url,以http或https開頭", // 分享圖標

type: 'link', // 分享類型,music、video或link,不填默認為link

});

});

</script>