JavaScript強化教程 —— Cocos2d-JS遊戲快速接入微信JS-SDK

本文爲 H5EDU 機構官方 HTML5培訓 教程,主要介紹:JavaScript強化教程 —— Cocos2d-JS遊戲快速接入微信JS-SDK

1.申請公衆號

因爲微信只能使用公衆號接入SDK,所以我們必須先註冊一個公衆號。

微信公衆平臺:https://mp.weixin.qq.com/2.設置公衆號

登錄公衆平臺後,點擊左下角的 設置-公衆號設置。右側有一個js接口安全域名的設置,這裏可以綁定3個用到的域名,必須填入頂級域名。

然後點擊左下角的 開發者中心,右側會有一個AppID和一個AppSecret。這兩個先記錄下來,過後會用到。



3.生成token

打開頁面 微信公衆平臺接口調試工具 並且填入剛纔的appid和secret,點擊檢查問題。記錄下返回結果裏面的“access_token”的值。



4.獲取ticket

複製這個鏈接:https://api.weixin.qq.com/cgi- ... en%3D填寫剛剛獲取的access_token&type=jsapi

並在裏面的access_token=後面填入剛剛獲取的access_token(對的,就是那一串亂碼一樣的東西),回車!!

然後把“ticket”的值複製出來,並保存起來,這個就是當前appid的ticket了。



5.生成簽名

打開微信JS接口簽名校驗工具填入相應的數據:

1)jsapi_ticket: 填入上一步獲取的ticket

2)noncestr: 這裏隨機生成一個字符串填進去(VQhYOUJRz6RolHqN)

3)timestamp: 這裏填入一個時間戳,去掉毫秒的3位(如:1420870884) - 這裏儘量寫ticket生成後的一段時間,new Date() - 0可以獲取當前的時間戳

4)url: 準備放頁面的地址(域名必須在第二部中設置到安全域名內,如:http://www.cocos2d-x.org/wechat.html)

點擊生成簽名。記錄下下面出現的signature這個值。



6.頁面引入微信SDK並初始化

在頁面中加入:


<script src="http://res.wx.qq.com/open/js/j ... gt%3B並且執行初始化:

wx.config({
        debug: true,
        appId: '第二步獲取的AppID',
        timestamp: 第五步填入的那個時間戳,
        nonceStr: '第五步填入的隨機字符串',
        signature: '第五步生成的signature值',
        jsApiList: [
            'checkJsApi',
            'onMenuShareTimeline',
            'onMenuShareAppMessage',
            'onMenuShareQQ',
            'onMenuShareWeibo',
            'hideMenuItems',
            'showMenuItems',
            'hideAllNonBaseMenuItem',
            'showAllNonBaseMenuItem',
            'translateVoice',
            'startRecord',
            'stopRecord',
            'onRecordEnd',
            'playVoice',
            'pauseVoice',
            'stopVoice',
            'uploadVoice',
            'downloadVoice',
            'chooseImage',
            'previewImage',
            'uploadImage',
            'downloadImage',
            'getNetworkType',
            'openLocation',
            'getLocation',
            'hideOptionMenu',
            'showOptionMenu',
            'closeWindow',
            'scanQRCode',
            'chooseWXPay',
            'openProductSpecificView',
            'addCard',
            'chooseCard',
            'openCard'
        ]
    });
jsApiList填入的是當前需要使用的接口,需要注意的是,如果公衆號不具備某些接口的權限,填進去也無法執行。

這時候將頁面上傳到第五步填入的url地址,並在微信中打開,應該能夠看見config:ok的提示。

如果出現了Invalid Url或者Invalid Domain等提示,說明公衆號配置裏面出現了問題。而出現Invalid signature的話,則是signature生成出現了問題,檢查下timestamp以及隨機字符串等是否正確。



到這裏我們就可以酣暢淋漓的使用微信的SDK啦。



比方說我們判斷wifi加載音頻,而非wifi情況則不加載任何音頻文件:

//資源列表
    var audioResList = [
        "bgMusic.mp3",
        "changeMusice.pm3"
    ];
    var audioSwitch = true;
    wx.ready(function () {
        wx.getNetworkType({
            success: function (res) {
                if(res.networkType != "wifi"){
                    audioResList.lenght = 0;
                    audioSwitch = false;
                }
                start();
            },
            fail: function (res) {
                audioResList.lenght = 0;
                audioSwitch = false;
                start();
            }
        });
    });


在遊戲中判斷網絡並提示相關信息:

wx.getNetworkType({
        success: function (res) {
            var networkType = res.networkType; // 返回網絡類型2g,3g,4g,wifi
            if(networkType == "2g"){
                if(!confirm("您還在使用2g網絡?流量還夠嗎?是否繼續訪問遊戲?")){
                    wx.closeWindow();
                }
            } else if(networkType == "3g"){
                alert("您正在使用4G網絡訪問喵,速度還行嗎?");
            } else if(networkType == "4g"){
                alert("哇,您正在使用4G網絡訪問喵,快嗎?");
            } else if(networkType == "wifi"){
                alert("您當前正在使用wifi, 不用擔心流量喲!");
            } else {
                alert("來自星星的你,使用的是什麼網絡呢?");
            }
        }
    });
    

在遊戲中修改分享的相關信息:

wx.onMenuShareAppMessage({
        title: title, // 分享標題
        desc: message, // 分享描述
        link: wxFriend.link, // 分享鏈接
        imgUrl: wxFriend.imgUrl, // 分享圖標
        success: function () {
            // 用戶確認分享後執行的回調函數
            alert("喵喵感謝您!");
        },
        cancel: function () {
            // 用戶取消分享後執行的回調函數
        }
    });

點擊進入JS強化教程

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章