摘要:這里,我用到一個庫出處你要發送的數據回調發消息到設備發送消息的結果已發送請查看控制板說明需要在微信對應設備號內才能使用對應的。
1.引入JS庫
2.為頁面注入配置信息
wx.config({ beta: true, // 開啟內測接口調用,注入wx.invoke方法,非常重要!!必須有這個 debug: true,//開啟調試接口,alert運行結果 appId: "",//必填,公眾號的唯一標識, timestamp: "",//必填,生成簽名的時間戳 nonceStr: "",//必填,生成簽名的隨機串 signature: "",//必填,簽名 jsApiList: []//要調用的js函數,必須把函數名字寫入數組 });
這里我的jsApiList為
jsApiList: [ "openWXDeviceLib",//初始化設備庫(只支持藍牙設備) "closeWXDeviceLib",//關閉設備庫(只支持藍牙設備) "getWXDeviceInfos",//獲取設備信息(獲取當前用戶已綁定的藍牙設備列表) "sendDataToWXDevice",//發送數據給設備 "startScanWXDevice",//掃描設備(獲取周圍所有的設備列表,無論綁定還是未被綁定的設備都會掃描到) "stopScanWXDevice",//停止掃描設備 "connectWXDevice",//連接設備 "disconnectWXDevice",//斷開設備連接 "getWXDeviceTicket",//獲取操作憑證 "onWXDeviceBindStateChange",//微信客戶端設備綁定狀態被改變時觸發此事件 "onWXDeviceStateChange",//監聽連接狀態,可以監聽連接中、連接上、連接斷開 "onReceiveDataFromWXDevice",//接收到來自設備的數據時觸發 "onScanWXDeviceResult",//掃描到某個設備時觸發 "onWXDeviceBluetoothStateChange",//手機藍牙打開或關閉時觸發 ]
如果想要測一下微信版本是不是支持這幾個api,可以這樣寫:
wx.checkJsApi({ jsApiList: ["openWXDeviceLib", "onScanWXDevicesResult", "getWXDeviceInfos"], // 需要檢測的JS接口列表,所有JS接口列表見附錄2, success: function (res) { console.log(res); } });
3.初始化設備庫函數
通過ready接口處理成功驗證
wx.ready(function () { wx.invoke("openWXDeviceLib", {connType: "blue"}, function (res) { console.debug("openWXDeviceLib重新打開設備庫==>"); console.log(res); }); })
坑:重新掃描設備根本什么都掃不出來,即使是刷新頁面也不頂用
解決方法:每次掃描前,先調用closeWXDeviceLib關閉設備庫,再調用openWXDeviceLib打開設備庫。這樣就相當于重新初始化了一遍設備庫,你現在再重新掃描,就可以掃描到設備了。
代碼:
wx.invoke("stopScanWXDevice", {}, function (res) { console.debug("stopScanWXDevice"); console.log(res); }); wx.invoke("closeWXDeviceLib", {}, function (res) { console.debug("closeWXDeviceLib關閉設備庫==>"); console.log(res); }); wx.invoke("openWXDeviceLib", {connType: "blue"}, function (res) { console.debug("openWXDeviceLib重新打開設備庫==>"); console.log(res); });
4.監聽設備返回的信息
wx.on("onReceiveDataFromWXDevice", function (res) { console.warn("onReceiveDataFromWXDevice=>"); console.log(JSON.stringify(res)); });
5.發送消息到設備
收發數據前需進行 base64 的編解碼。
這里,我用到一個庫:
出處:
https://github.com/dankogai/j...
var data={"deviceId":deviceId,"base64Data": Base64.encode("你要發送的數據")}; console.log(data); wx.invoke("sendDataToWXDevice",data , function(res){ //回調 console.info("發消息到設備sendMsg"); console.log(data); console.log(res); $("#dataFromDevice").append("發送消息的結果:"+JSON.stringify(res)); alert("已發送 請查看控制板"); });
說明:
1.需要在微信對應設備號內才能使用對應的api。
2.必須要在設備號設置的安全域名下才能正常使用api
3.本篇內所有的console.log 等輸出到控制臺 都是用的vconsole調試工具實現。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/81427.html
摘要:這里,我用到一個庫出處你要發送的數據回調發消息到設備發送消息的結果已發送請查看控制板說明需要在微信對應設備號內才能使用對應的。 1.引入JS庫 2.為頁面注入配置信息 wx.config({ beta: true, // 開啟內測接口調用,注入wx.invoke方法,非常重要!!必須有這個 debug: true,//開啟調試接口,alert運行結果 app...
摘要:通過書籍學習,比如除了上述的先學知識,你還應該了解一些流行的深度學習庫和運行他們的語言。你也可以查看查看的中的第講,概要性的了解一些深度學習庫。 作者:chen_h微信號 & QQ:862251340微信公眾號:coderpai簡書地址:https://www.jianshu.com/p/cd0... 原文:https://www.analyticsvidhya.c... 介紹 ...
閱讀 2836·2021-11-19 09:40
閱讀 3695·2021-11-15 18:10
閱讀 3281·2021-11-11 16:55
閱讀 1231·2021-09-28 09:36
閱讀 1647·2021-09-22 15:52
閱讀 3367·2019-08-30 14:06
閱讀 1160·2019-08-29 13:29
閱讀 2307·2019-08-26 17:04