中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

微信硬件JS-Api開發的示例分析

發布時間:2021-09-06 15:45:09 來源:億速云 閱讀:201 作者:小新 欄目:移動開發

這篇文章主要為大家展示了“微信硬件JS-Api開發的示例分析”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“微信硬件JS-Api開發的示例分析”這篇文章吧。

1.引入JS庫

 <script type='text/javascript' src='//res.wx.qq.com/open/js/jweixin-1.0.0.js'></script>

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 的編解碼。
這里,我用到一個庫:

    <script type='text/javascript' src='base64.js'></script>

出處:
http://www.php.cn/

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調試工具實現。

1.引入JS庫

 <script type='text/javascript' src='//res.wx.qq.com/open/js/jweixin-1.0.0.js'></script>

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 的編解碼。
這里,我用到一個庫:

    <script type='text/javascript' src='base64.js'></script>

出處:
http://www.php.cn/

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調試工具實現。

以上是“微信硬件JS-Api開發的示例分析”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

深圳市| 云浮市| 石家庄市| 车致| 靖江市| 郎溪县| 湖州市| 青龙| 额尔古纳市| 河池市| 璧山县| 福建省| 扎鲁特旗| 固安县| 阜阳市| 麟游县| 新蔡县| 临西县| 临沭县| 北川| 新干县| 武威市| 阳原县| 天长市| 阳信县| 瑞丽市| 山丹县| 南宫市| 原平市| 喀喇| 凉城县| 建平县| 高阳县| 门头沟区| 德化县| 甘谷县| 贵港市| 宜城市| 土默特右旗| 乐亭县| 东安县|