Maison  >  Article  >  Applet WeChat  >  Guide incomplet du développement JS-Api du matériel WeChat

Guide incomplet du développement JS-Api du matériel WeChat

高洛峰
高洛峰original
2017-02-09 09:28:521882parcourir

1. Présentez la bibliothèque JS

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

2. Injectez les informations de configuration dans la page

wx.config({
    beta: true, // 开启内测接口调用,注入wx.invoke方法,非常重要!!必须有这个
    debug: true,//开启调试接口,alert运行结果
    appId: '',//必填,公众号的唯一标识,
    timestamp: '',//必填,生成签名的时间戳
    nonceStr: '',//必填,生成签名的随机串
    signature: '',//必填,签名
    jsApiList: []//要调用的js函数,必须把函数名字写入数组
});

Voici ma jsApiList.

jsApiList: [
            'openWXDeviceLib',//初始化设备库(只支持蓝牙设备)
            'closeWXDeviceLib',//关闭设备库(只支持蓝牙设备)
            'getWXDeviceInfos',//获取设备信息(获取当前用户已绑定的蓝牙设备列表)
            'sendDataToWXDevice',//发送数据给设备
            'startScanWXDevice',//扫描设备(获取周围所有的设备列表,无论绑定还是未被绑定的设备都会扫描到)
            'stopScanWXDevice',//停止扫描设备
            'connectWXDevice',//连接设备
            'disconnectWXDevice',//断开设备连接
            'getWXDeviceTicket',//获取操作凭证
            'onWXDeviceBindStateChange',//微信客户端设备绑定状态被改变时触发此事件
            'onWXDeviceStateChange',//监听连接状态,可以监听连接中、连接上、连接断开
            'onReceiveDataFromWXDevice',//接收到来自设备的数据时触发
            'onScanWXDeviceResult',//扫描到某个设备时触发
            'onWXDeviceBluetoothStateChange',//手机蓝牙打开或关闭时触发
        ]

Si vous souhaitez tester si la version WeChat prend en charge ces API, vous pouvez écrire comme ceci :

 wx.checkJsApi({
    jsApiList: ['openWXDeviceLib', 'onScanWXDevicesResult', 'getWXDeviceInfos'], // 需要检测的JS接口列表,所有JS接口列表见附录2,
    success: function (res) {
        console.log(res);

    }
});

3. Initialiser la fonction de bibliothèque de l'appareil

Traitement réussi de la vérification via l'interface prête

wx.ready(function () {          
    wx.invoke('openWXDeviceLib', {connType: 'blue'}, function (res) {
        console.debug('openWXDeviceLib重新打开设备库==>');
        console.log(res);
    });
})

Piège : rien ne peut être trouvé du tout en analysant à nouveau l'appareil, même l'actualisation de la page ne le résout pas

Méthode : avant chaque analyse, appelez d'abord closeWXDeviceLib pour fermer la bibliothèque de périphériques, puis appelez openWXDeviceLib pour ouvrir la bibliothèque de périphériques. Cela équivaut à réinitialiser la bibliothèque de périphériques. Si vous effectuez une nouvelle analyse maintenant, vous pouvez analyser le périphérique.

Code :

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. Écoutez les informations renvoyées par l'appareil

wx.on('onReceiveDataFromWXDevice', function (res) {
    console.warn('onReceiveDataFromWXDevice=>');
    console.log(JSON.stringify(res));
});

5. un message adressé à l'appareil

doit effectuer un encodage et un décodage en base64 avant d'envoyer et de recevoir des données.
Ici, j'utilise une bibliothèque :

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

Source :
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('已发送 请查看控制板');
});

Description :

1. Vous devez disposer du numéro d'appareil correspondant sur WeChat pour utiliser l'API correspondante.

2. L'API doit être utilisée normalement sous le nom de domaine sécurisé défini par le numéro de périphérique

3. Tous les fichiers console.log et autres sorties vers la console dans cet article sont effectués à l'aide de la vconsole. outil de débogage accompli.


1. Introduire la bibliothèque 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, // 开启内测接口调用,注入wx.invoke方法,非常重要!!必须有这个
    debug: true,//开启调试接口,alert运行结果
    appId: '',//必填,公众号的唯一标识,
    timestamp: '',//必填,生成签名的时间戳
    nonceStr: '',//必填,生成签名的随机串
    signature: '',//必填,签名
    jsApiList: []//要调用的js函数,必须把函数名字写入数组
});
Ma jsApiList ici est

jsApiList: [
            'openWXDeviceLib',//初始化设备库(只支持蓝牙设备)
            'closeWXDeviceLib',//关闭设备库(只支持蓝牙设备)
            'getWXDeviceInfos',//获取设备信息(获取当前用户已绑定的蓝牙设备列表)
            'sendDataToWXDevice',//发送数据给设备
            'startScanWXDevice',//扫描设备(获取周围所有的设备列表,无论绑定还是未被绑定的设备都会扫描到)
            'stopScanWXDevice',//停止扫描设备
            'connectWXDevice',//连接设备
            'disconnectWXDevice',//断开设备连接
            'getWXDeviceTicket',//获取操作凭证
            'onWXDeviceBindStateChange',//微信客户端设备绑定状态被改变时触发此事件
            'onWXDeviceStateChange',//监听连接状态,可以监听连接中、连接上、连接断开
            'onReceiveDataFromWXDevice',//接收到来自设备的数据时触发
            'onScanWXDeviceResult',//扫描到某个设备时触发
            'onWXDeviceBluetoothStateChange',//手机蓝牙打开或关闭时触发
        ]
Si vous souhaitez tester si la version WeChat prend en charge ces API, vous pouvez écrire comme ceci :

 wx.checkJsApi({
    jsApiList: ['openWXDeviceLib', 'onScanWXDevicesResult', 'getWXDeviceInfos'], // 需要检测的JS接口列表,所有JS接口列表见附录2,
    success: function (res) {
        console.log(res);

    }
});

3. Initialisez la fonction de bibliothèque de l'appareil

Procédez une vérification réussie via l'interface prête

wx.ready(function () {          
    wx.invoke('openWXDeviceLib', {connType: 'blue'}, function (res) {
        console.debug('openWXDeviceLib重新打开设备库==>');
        console.log(res);
    });
})
Piège : analysez à nouveau l'appareil et rien ne peut être trouvé Même l'actualisation de la page ne fonctionne pas

Solution : avant chaque analyse, appelez closeWXDeviceLib pour fermer la bibliothèque de périphériques, puis appelez openWXDeviceLib pour ouvrir la bibliothèque de périphériques. Cela équivaut à réinitialiser la bibliothèque de périphériques. Si vous effectuez une nouvelle analyse maintenant, vous pouvez analyser le périphérique.

Code :

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. Écoutez les informations renvoyées par l'appareil

wx.on('onReceiveDataFromWXDevice', function (res) {
    console.warn('onReceiveDataFromWXDevice=>');
    console.log(JSON.stringify(res));
});

5. un message adressé à l'appareil

doit effectuer un encodage et un décodage en base64 avant d'envoyer et de recevoir des données.

Ici, j'utilise une bibliothèque :

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

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('已发送 请查看控制板');
});
Description :

1. Vous devez disposer du numéro d'appareil correspondant sur WeChat pour utiliser l'API correspondante.

2. L'API doit être utilisée normalement sous le nom de domaine sécurisé défini par le numéro de périphérique

3. Tous les fichiers console.log et autres sorties vers la console dans cet article sont effectués à l'aide de la vconsole. outil de débogage accompli.

Pour plus d'articles liés au guide incomplet pour le développement JS-Api du matériel WeChat, veuillez faire attention au site Web PHP chinois !

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn