国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

首頁 微信小程式 微信開發(fā) 微信硬體JS-Api開發(fā)不完全指南

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

Feb 09, 2017 am 09:28 AM

1.引入JS庫

?<script type=&#39;text/javascript&#39; src=&#39;//res.wx.qq.com/open/js/jweixin-1.0.0.js&#39;></script>

2.為頁麵注入配置信息

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

這裡我的jsApiList為

jsApiList:?[
????????????'openWXDeviceLib',//初始化設(shè)備庫(只支持藍(lán)牙設(shè)備)
????????????'closeWXDeviceLib',//關(guān)閉設(shè)備庫(只支持藍(lán)牙設(shè)備)
????????????'getWXDeviceInfos',//獲取設(shè)備信息(獲取當(dāng)前用戶已綁定的藍(lán)牙設(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',//手機藍(lán)牙打開或關(guān)閉時觸發(fā)
????????]

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

?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è)備根本什麼都掃不出來,即使是刷新頁面也不頂用

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

坑解決方法:每次解決方法掃描前,先呼叫closeWXDeviceLib關(guān)閉設(shè)備庫,再呼叫openWXDeviceLib開啟設(shè)備庫。這樣就等於重新初始化了一次設(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ā)送訊息到裝置


base64 的解碼。

這裡,我用到一個庫:

????<script type=&#39;text/javascript&#39; src=&#39;base64.js&#39;></script>
出處:

http://www.miracleart.cn/

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)。


1.引入JS庫

?<script type=&#39;text/javascript&#39; src=&#39;//res.wx.qq.com/open/js/jweixin-1.0.0.js&#39;></script>

2.為頁面注入配置資訊

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

這裡不是幾個版本的jsApiList為頁面注入設(shè)定資訊

jsApiList:?[
????????????'openWXDeviceLib',//初始化設(shè)備庫(只支持藍(lán)牙設(shè)備)
????????????'closeWXDeviceLib',//關(guān)閉設(shè)備庫(只支持藍(lán)牙設(shè)備)
????????????'getWXDeviceInfos',//獲取設(shè)備信息(獲取當(dāng)前用戶已綁定的藍(lán)牙設(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',//手機藍(lán)牙打開或關(guān)閉時觸發(fā)
????????]
這裡不是幾個新版本為點測,可以這樣寫:
?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è)備根本什麼都掃不出來,即使是刷新頁面也不頂用

解決方法:每次掃描前,先呼叫closeWXDeviceLib關(guān)閉裝置庫,再呼叫openWXDeviceLib開啟設(shè)備庫。這樣就等於重新初始化了一次設(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ā)送訊息到裝置

base64 的解碼。
這裡,我用到一個庫:

????<script type=&#39;text/javascript&#39; src=&#39;base64.js&#39;></script>

出處:

http://www.miracleart.cn/
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)。

更多微信硬體JS-Api開發(fā)不完全指南相關(guān)文章請關(guān)注PHP中文網(wǎng)! ??????
本網(wǎng)站聲明
本文內(nèi)容由網(wǎng)友自願投稿,版權(quán)歸原作者所有。本站不承擔(dān)相應(yīng)的法律責(zé)任。如發(fā)現(xiàn)涉嫌抄襲或侵權(quán)的內(nèi)容,請聯(lián)絡(luò)admin@php.cn

熱AI工具

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅(qū)動的應(yīng)用程序,用於創(chuàng)建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發(fā)環(huán)境

Dreamweaver CS6

Dreamweaver CS6

視覺化網(wǎng)頁開發(fā)工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

熱門話題

Laravel 教程
1600
29
PHP教程
1502
276