成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

微信硬件JS-Api開發(fā)不完全指南

villainhr / 1711人閱讀

摘要:這里,我用到一個庫出處你要發(fā)送的數(shù)據(jù)回調(diào)發(fā)消息到設(shè)備發(fā)送消息的結(jié)果已發(fā)送請查看控制板說明需要在微信對應(yīng)設(shè)備號內(nèi)才能使用對應(yīng)的。

1.引入JS庫

 

2.為頁面注入配置信息

wx.config({
    beta: true, // 開啟內(nèi)測接口調(diào)用,注入wx.invoke方法,非常重要!!必須有這個
    debug: true,//開啟調(diào)試接口,alert運行結(jié)果
    appId: "",//必填,公眾號的唯一標識,
    timestamp: "",//必填,生成簽名的時間戳
    nonceStr: "",//必填,生成簽名的隨機串
    signature: "",//必填,簽名
    jsApiList: []//要調(diào)用的js函數(shù),必須把函數(shù)名字寫入數(shù)組
});

這里我的jsApiList為

jsApiList: [
            "openWXDeviceLib",//初始化設(shè)備庫(只支持藍牙設(shè)備)
            "closeWXDeviceLib",//關(guān)閉設(shè)備庫(只支持藍牙設(shè)備)
            "getWXDeviceInfos",//獲取設(shè)備信息(獲取當(dāng)前用戶已綁定的藍牙設(shè)備列表)
            "sendDataToWXDevice",//發(fā)送數(shù)據(jù)給設(shè)備
            "startScanWXDevice",//掃描設(shè)備(獲取周圍所有的設(shè)備列表,無論綁定還是未被綁定的設(shè)備都會掃描到)
            "stopScanWXDevice",//停止掃描設(shè)備
            "connectWXDevice",//連接設(shè)備
            "disconnectWXDevice",//斷開設(shè)備連接
            "getWXDeviceTicket",//獲取操作憑證
            "onWXDeviceBindStateChange",//微信客戶端設(shè)備綁定狀態(tài)被改變時觸發(fā)此事件
            "onWXDeviceStateChange",//監(jiān)聽連接狀態(tài),可以監(jiān)聽連接中、連接上、連接斷開
            "onReceiveDataFromWXDevice",//接收到來自設(shè)備的數(shù)據(jù)時觸發(fā)
            "onScanWXDeviceResult",//掃描到某個設(shè)備時觸發(fā)
            "onWXDeviceBluetoothStateChange",//手機藍牙打開或關(guān)閉時觸發(fā)
        ]

如果想要測一下微信版本是不是支持這幾個api,可以這樣寫:

 wx.checkJsApi({
    jsApiList: ["openWXDeviceLib", "onScanWXDevicesResult", "getWXDeviceInfos"], // 需要檢測的JS接口列表,所有JS接口列表見附錄2,
    success: function (res) {
        console.log(res);

    }
});

3.初始化設(shè)備庫函數(shù)

通過ready接口處理成功驗證

wx.ready(function () {          
    wx.invoke("openWXDeviceLib", {connType: "blue"}, function (res) {
        console.debug("openWXDeviceLib重新打開設(shè)備庫==>");
        console.log(res);
    });
})

坑:重新掃描設(shè)備根本什么都掃不出來,即使是刷新頁面也不頂用

解決方法:每次掃描前,先調(diào)用closeWXDeviceLib關(guān)閉設(shè)備庫,再調(diào)用openWXDeviceLib打開設(shè)備庫。這樣就相當(dāng)于重新初始化了一遍設(shè)備庫,你現(xiàn)在再重新掃描,就可以掃描到設(shè)備了。

代碼:

wx.invoke("stopScanWXDevice", {}, function (res) {
    console.debug("stopScanWXDevice");
    console.log(res);
 });
wx.invoke("closeWXDeviceLib", {}, function (res) {
    console.debug("closeWXDeviceLib關(guān)閉設(shè)備庫==>");
    console.log(res);
});

wx.invoke("openWXDeviceLib", {connType: "blue"}, function (res) {
    console.debug("openWXDeviceLib重新打開設(shè)備庫==>");
    console.log(res);
});

4.監(jiān)聽設(shè)備返回的信息

wx.on("onReceiveDataFromWXDevice", function (res) {
    console.warn("onReceiveDataFromWXDevice=>");
    console.log(JSON.stringify(res));
});

5.發(fā)送消息到設(shè)備

收發(fā)數(shù)據(jù)前需進行 base64 的編解碼。
這里,我用到一個庫:

    

出處:
https://github.com/dankogai/j...

var data={"deviceId":deviceId,"base64Data": Base64.encode("你要發(fā)送的數(shù)據(jù)")};
console.log(data);
wx.invoke("sendDataToWXDevice",data , function(res){
    //回調(diào)
    console.info("發(fā)消息到設(shè)備sendMsg");
    console.log(data);
    console.log(res);
    $("#dataFromDevice").append("發(fā)送消息的結(jié)果:"+JSON.stringify(res));
    alert("已發(fā)送 請查看控制板");
});

說明:

1.需要在微信對應(yīng)設(shè)備號內(nèi)才能使用對應(yīng)的api。

2.必須要在設(shè)備號設(shè)置的安全域名下才能正常使用api

3.本篇內(nèi)所有的console.log 等輸出到控制臺 都是用的vconsole調(diào)試工具實現(xiàn)。

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/81427.html

相關(guān)文章

  • 微信硬件JS-Api開發(fā)完全指南

    摘要:這里,我用到一個庫出處你要發(fā)送的數(shù)據(jù)回調(diào)發(fā)消息到設(shè)備發(fā)送消息的結(jié)果已發(fā)送請查看控制板說明需要在微信對應(yīng)設(shè)備號內(nèi)才能使用對應(yīng)的。 1.引入JS庫 2.為頁面注入配置信息 wx.config({ beta: true, // 開啟內(nèi)測接口調(diào)用,注入wx.invoke方法,非常重要!!必須有這個 debug: true,//開啟調(diào)試接口,alert運行結(jié)果 app...

    Tony_Zby 評論0 收藏0
  • Nginx

    摘要:此外,其也能夠提供強大的反向代理功能。是由為俄羅斯訪問量第二的站點開發(fā)的,第一個公開版本發(fā)布于年月日。 keepalived+nginx 實現(xiàn)高可用雙機熱備 + 負載均衡架構(gòu) 1 準備4個ubuntu16.04虛擬機(啟用網(wǎng)卡二并使用橋接模式):A服務(wù)器:192.168.0.103 主B服務(wù)器:192.168.0.104 主(備) 前端工程師學(xué)習(xí) Nginx ...

    syoya 評論0 收藏0
  • Python入門深度學(xué)習(xí)完整指南

    摘要:通過書籍學(xué)習(xí),比如除了上述的先學(xué)知識,你還應(yīng)該了解一些流行的深度學(xué)習(xí)庫和運行他們的語言。你也可以查看查看的中的第講,概要性的了解一些深度學(xué)習(xí)庫。 作者:chen_h微信號 & QQ:862251340微信公眾號:coderpai簡書地址:https://www.jianshu.com/p/cd0... 原文:https://www.analyticsvidhya.c... 介紹 ...

    ztyzz 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<