国产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方法,非常重要!!必須有這個(gè)
????debug:?true,//開啟調(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è)備庫(只支持藍(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è)備都會(huì)掃描到)
????????????'stopScanWXDevice',//停止掃描設(shè)備
????????????'connectWXDevice',//連接設(shè)備
????????????'disconnectWXDevice',//斷開設(shè)備連接
????????????'getWXDeviceTicket',//獲取操作憑證
????????????'onWXDeviceBindStateChange',//微信客戶端設(shè)備綁定狀態(tài)被改變時(shí)觸發(fā)此事件
????????????'onWXDeviceStateChange',//監(jiān)聽連接狀態(tài),可以監(jiān)聽連接中、連接上、連接斷開
????????????'onReceiveDataFromWXDevice',//接收到來自設(shè)備的數(shù)據(jù)時(shí)觸發(fā)
????????????'onScanWXDeviceResult',//掃描到某個(gè)設(shè)備時(shí)觸發(fā)
????????????'onWXDeviceBluetoothStateChange',//手機(jī)藍(lán)牙打開或關(guān)閉時(shí)觸發(fā)
????????]

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

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

????}
});

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

透過ready介面處理成功驗(yàn)證

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 的解碼。

這裡,我用到一個(gè)庫:

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

http://m.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.需要在微信對(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)。


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方法,非常重要!!必須有這個(gè)
????debug:?true,//開啟調(diào)試接口,alert運(yùn)行結(jié)果
????appId:?'',//必填,公眾號(hào)的唯一標(biāo)識(shí),
????timestamp:?'',//必填,生成簽名的時(shí)間戳
????nonceStr:?'',//必填,生成簽名的隨機(jī)串
????signature:?'',//必填,簽名
????jsApiList:?[]//要調(diào)用的js函數(shù),必須把函數(shù)名字寫入數(shù)組
});

這裡不是幾個(gè)版本的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è)備都會(huì)掃描到)
????????????'stopScanWXDevice',//停止掃描設(shè)備
????????????'connectWXDevice',//連接設(shè)備
????????????'disconnectWXDevice',//斷開設(shè)備連接
????????????'getWXDeviceTicket',//獲取操作憑證
????????????'onWXDeviceBindStateChange',//微信客戶端設(shè)備綁定狀態(tài)被改變時(shí)觸發(fā)此事件
????????????'onWXDeviceStateChange',//監(jiān)聽連接狀態(tài),可以監(jiān)聽連接中、連接上、連接斷開
????????????'onReceiveDataFromWXDevice',//接收到來自設(shè)備的數(shù)據(jù)時(shí)觸發(fā)
????????????'onScanWXDeviceResult',//掃描到某個(gè)設(shè)備時(shí)觸發(fā)
????????????'onWXDeviceBluetoothStateChange',//手機(jī)藍(lán)牙打開或關(guān)閉時(shí)觸發(fā)
????????]
這裡不是幾個(gè)新版本為點(diǎn)測,可以這樣寫:
?wx.checkJsApi({
????jsApiList:?['openWXDeviceLib',?'onScanWXDevicesResult',?'getWXDeviceInfos'],?//?需要檢測的JS接口列表,所有JS接口列表見附錄2,
????success:?function?(res)?{
????????console.log(res);

????}
});

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

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

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 的解碼。
這裡,我用到一個(gè)庫:

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

出處:

http://m.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.需要在微信對(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)。

更多微信硬體JS-Api開發(fā)不完全指南相關(guān)文章請關(guān)注PHP中文網(wǎng)! ??????
本網(wǎng)站聲明
本文內(nèi)容由網(wǎng)友自願(yuàn)投稿,版權(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

免費(fèi)脫衣圖片

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

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

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費(fèi)的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

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

Dreamweaver CS6

Dreamweaver CS6

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

SublimeText3 Mac版

SublimeText3 Mac版

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