摘要:這里,我用到一個庫出處你要發(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
摘要:這里,我用到一個庫出處你要發(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...
摘要:通過書籍學(xué)習(xí),比如除了上述的先學(xué)知識,你還應(yīng)該了解一些流行的深度學(xué)習(xí)庫和運行他們的語言。你也可以查看查看的中的第講,概要性的了解一些深度學(xué)習(xí)庫。 作者:chen_h微信號 & QQ:862251340微信公眾號:coderpai簡書地址:https://www.jianshu.com/p/cd0... 原文:https://www.analyticsvidhya.c... 介紹 ...
閱讀 2885·2021-11-19 09:40
閱讀 3745·2021-11-15 18:10
閱讀 3334·2021-11-11 16:55
閱讀 1299·2021-09-28 09:36
閱讀 1707·2021-09-22 15:52
閱讀 3409·2019-08-30 14:06
閱讀 1203·2019-08-29 13:29
閱讀 2347·2019-08-26 17:04