2
點擊“功能設置”,然後點擊“設置”。
三
設置JS接口安全域名。這裏是壹級域名,沒有www和/cgi-bin/token?授權類型=客戶證書。Appid=“.”您的appid“.”&;Secret= ' . '妳的app secret’);
$res = json_decode($res,true);
$ token = $ RES[' access _ token '];
//註意:這裏需要緩存獲取的令牌(或者寫入數據庫)。
//不能頻繁訪問/cgi-bin/token,每天次數有限。
//通過該接口返回的令牌有效期目前為2小時。令牌過期後,JS-SDK就不能用了。
//所以這裏緩存的令牌值是1小時,不到2小時。緩存出現故障後,會從接口獲得壹個新令牌,因此
//可以避免令牌失效。
// S()是ThinkPhp的緩存函數。如果妳使用非ThinkPhp框架,妳可以使用妳的緩存功能或者使用數據庫來保存。
S('access_token ',$token,3600);
}
返回$ token
}
註意:返回的access_token的長度至少應為512字節。接口返回值:
{"access_token":"ACCESS_TOKEN "," expires_in":7200}
{ " access _ token ":" vdlthytfyb 0n 5 emo i3 n _ amfmkpuwke 0 mgygf _ 0h 0 fpzl 8 p _ HSD UX 8 VG xz 5 OS xuq 5dm 69 LX p9 wbwn 9 yzg-0k vhy 33 bykrc 0 yxzzz-wdx EIC 4 "," expires_in":7200}
六
獲取jsapi的票。Jsapi_ticket是微信官方賬號用來調用微信JS接口的臨時票證。壹般情況下,jsapi_ticket的有效期是7200秒,通過access_token獲取。
函數wx_get_jsapi_ticket(){
$ ticket =
做{
$ ticket = S(' wx _ ticket ');
如果(!空($票)){
打破;
}
$ token = S(' access _ token ');
if (empty($token)){
wx _ get _ token();
}
$ token = S(' access _ token ');
if (empty($token)) {
logErr("獲取訪問令牌錯誤。");
打破;
}
$ URL 2 = sprintf("/CGI-bin/ticket/getticket?訪問令牌= % s & amptype=jsapi ",
$ token);
$ RES = file _ get _ contents($ URL 2);
$res = json_decode($res,true);
$ ticket = $ RES[' ticket '];
//註意:這裏需要緩存獲取的車票(或者將它們寫入數據庫)。
// ticket和token壹樣,不能頻繁訪問接口來獲取。每次收購後,我們都會保存它。
S('wx_ticket ',$ticket,3600);
} while(0);
返回$票;
}
接口返回值:
{"errcode":0," errmsg":"ok "," ticket ":" sm 4 aovdwfpe 4 dxk xges 8 vmkv 7 fmcpm-I98-klc 6 so 3 awzxql jywtztcxih 9 hdoxzco 9 CGF hi 6 kwbe _ YWtOQg "," expires_in":7200}
七
簽名:按字母順序連接jsapi_ticket、noncestr、timestamp和共享url,簽名sha1。
Noncestr是您設置的任何字符串。
時間戳是時間戳。
$ timestamp = time();
$ wxconcestr = "任意字符串";
$ wx ticket = wx _ get _ jsapi _ ticket();
$ wxOri = sprintf(" jsapi _ ticket = % s & amp;noncestr = % s & amp時間戳= % s & ampurl=%s ",
$wxticket,$ wxnonceStr,$timestamp,
要共享的URL(from/open/js/jweixin-1 . 0 . 0 . js " > & lt;/script & gt;
& ltscript type = " text/JavaScript " & gt;
//微信配置
wx.config({
調試:假,
AppID:“妳的AppId”,
時間戳:“上壹步中生成的時間戳”,
NonceStr:“上壹步中的字符串”,
簽名:“上壹步生成的簽名”,
JSAPI列表:[' onmenusharepointimeline ',' OnMenuShareAppMessage ']//函數列表,我們應該使用JS-SDK的什麽函數?
});
ready方法將在驗證配置信息後執行。所有接口調用都必須在config接口獲得結果後進行。Config是客戶端的異步操作。因此,如果需要在頁面加載時調用相關接口,必須在ready函數中調用,以保證正確執行。對於只有在用戶觸發時才被調用的接口,可以直接調用,不需要放入ready函數中。
wx.ready(function(){
//獲取“分享到朋友圈”按鈕的點擊狀態,自定義分享內容的界面。
wx.onMenuShareTimeline({
標題:'共享標題',//共享標題
鏈接:“共享url,以http或https開頭”,
ImgUrl:"共享圖標的Url,以http或https開頭"//共享圖標
});
//獲取“與朋友分享”按鈕的點擊狀態,自定義分享內容的界面。
wx.onMenuShareAppMessage({
標題:'共享標題',//共享標題
Desc:“共享描述”,//共享描述
鏈接:“共享url,以http或https開頭”,
ImgUrl:"共享圖標的Url,以http或https開頭",//共享圖標
類型:'鏈接',//共享類型,音樂,視頻或鏈接,如果留空,默認值為鏈接。
});
});
& lt/script & gt;