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

資訊專欄INFORMATION COLUMN

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

Tony_Zby / 1778人閱讀

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

1.引入JS庫(kù)

 

2.為頁(yè)面注入配置信息

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

這里我的jsApiList為

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

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

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

    }
});

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

通過(guò)ready接口處理成功驗(yàn)證

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

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

解決方法:每次掃描前,先調(diào)用closeWXDeviceLib關(guān)閉設(shè)備庫(kù),再調(diào)用openWXDeviceLib打開(kāi)設(shè)備庫(kù)。這樣就相當(dāng)于重新初始化了一遍設(shè)備庫(kù),你現(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è)備庫(kù)==>");
    console.log(res);
});

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

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

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

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

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

    

出處:
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ā)送 請(qǐng)查看控制板");
});

說(shuō)明:

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

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

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

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

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

相關(guān)文章

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

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

    villainhr 評(píng)論0 收藏0
  • Nginx

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

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

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

    ztyzz 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<