1. 程式人生 > >微信呼叫JSSDK時,驗籤詳細步驟

微信呼叫JSSDK時,驗籤詳細步驟

1.哪個頁面需要呼叫jsskd,則把該頁面的地址webUrl傳入到後臺
2.獲取微信ACCESS_TOKEN
3.呼叫https://api.weixin.qq.com/cgi-bin/ticket/getticket?access_token=ACCESS_TOKEN&type=jsapi方法,獲取ticket
4.本地生成一個時間戳time
    String time = Long.toString(System.currentTimeMillis() / 1000);
5.本地生成一個str
    String str = UUID.randomUUID().toString();
6.將上述四個引數拼接成一個字串signatureStr
    String signatureStr  = "jsapi_ticket=" + ticket+ "&noncestr=" + str + "&timestamp=" + time+ "&url=" +webUrl;


7.對signatureStr進行sha1簽名,得到signature,加密方法:
    1>使用apache的codec jar包對string進行加密,先下載並引入jar包:
  https://mvnrepository.com/artifact/commons-codec/commons-codec/1.10
    2>生成:
    String signature = DigestUtils.shaHex(signatureStr);

8.將time,str,signature這三個引數返回給前臺頁面

9.依次將這幾個引數放入config中,至此驗簽過程結束
    wx.config({
            debug: false,
            appId: data.data.appid,
            timestamp:time,
            nonceStr:str,
            signature:signature,
            jsApiList: [
                'checkJsApi',
                'onMenuShareTimeline',
                'hideOptionMenu',
                'onMenuShareAppMessage'
            ]
        });
        
10.後續就能直接呼叫微信JSSDK中的介面了。比如呼叫分享當前頁面到朋友圈
    wx.ready(function(){
            wx.onMenuShareTimeline({
                title : shareTitle, // 分享標題
                link : url, // 分享連結
                imgUrl : 'mall.hanyacapital.com/share.png', // 分享圖示
                success : function() {
                    // 使用者確認分享後執行的回撥函式
                    alert("分享成功");
                },
                cancel : function() {
                    // 使用者取消分享後執行的回撥函式
                    alert("分享取消");
                }
            });
            //wx.hideOptionMenu();/***隱藏分享選單****/
        });