위챗 애플릿 위챗 개발 WeChat 하드웨어 JS-Api 개발에 대한 불완전한 가이드

WeChat 하드웨어 JS-Api 개발에 대한 불완전한 가이드

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, // 开启内测接口调用,注入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',//手机蓝牙打开或关闭时触发
        ]
로그인 후 복사
로그인 후 복사
입니다.

WeChat 버전이 이러한 API를 지원하는지 테스트하려면 다음과 같이 작성하면 됩니다.

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

    }
});
로그인 후 복사
로그인 후 복사

3. 장치 라이브러리 기능을 초기화

준비된 인터페이스 성공적인 검증 처리

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=&#39;text/javascript&#39; src=&#39;base64.js&#39;></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 라이브러리 도입

rree

2.

 <script type=&#39;text/javascript&#39; src=&#39;//res.wx.qq.com/open/js/jweixin-1.0.0.js&#39;></script>
로그인 후 복사
로그인 후 복사
여기 내 jsApiList는

wx.config({
    beta: true, // 开启内测接口调用,注入wx.invoke方法,非常重要!!必须有这个
    debug: true,//开启调试接口,alert运行结果
    appId: '',//必填,公众号的唯一标识,
    timestamp: '',//必填,生成签名的时间戳
    nonceStr: '',//必填,生成签名的随机串
    signature: '',//必填,签名
    jsApiList: []//要调用的js函数,必须把函数名字写入数组
});
로그인 후 복사
로그인 후 복사
입니다. WeChat 버전이 이러한 API를 지원하는지 테스트하려면 다음과 같이 작성할 수 있습니다.

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

3. 초기화 장치 라이브러리 기능

은 준비된 인터페이스를 통해 성공적인 확인을 처리합니다

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

    }
});
로그인 후 복사
로그인 후 복사
함정: 장치를 다시 검색해도 아무것도 찾을 수 없으며 페이지를 새로 고쳐도 쓸모가 없습니다

해결 방법: 각 스캔 전에 closeWXDeviceLib를 호출하여 장치 라이브러리를 닫은 다음 openWXDeviceLib를 호출하여 장치 라이브러리를 엽니다. 이는 장치 라이브러리를 다시 초기화하는 것과 같습니다. 지금 다시 스캔하면 장치를 스캔할 수 있습니다.

코드:

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

4. 기기에서 반환된 정보 듣기

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);
});
로그인 후 복사
로그인 후 복사

5. 기기

데이터를 보내고 받기 전에 Base64 인코딩 및 디코딩이 필요합니다.

여기서는 라이브러리를 사용합니다:

wx.on('onReceiveDataFromWXDevice', function (res) {
    console.warn('onReceiveDataFromWXDevice=>');
    console.log(JSON.stringify(res));
});
로그인 후 복사
로그인 후 복사
출처:

http://www.php.cn/

    <script type=&#39;text/javascript&#39; src=&#39;base64.js&#39;></script>
로그인 후 복사
로그인 후 복사
설명:

1. 해당 API를 사용하려면 위챗의 해당 기기 번호에 있어야 합니다.

2. API는 기기번호로 설정된 보안 도메인 이름으로 정상적으로 사용되어야 합니다

3. 이 글의 모든 console.log 및 기타 콘솔 출력은 vconsole을 사용하여 이루어집니다. 디버깅 도구가 수행됩니다.

WeChat 하드웨어 JS-Api 개발에 대한 불완전한 가이드와 관련된 더 많은 기사를 보려면 PHP 중국어 웹사이트를 주목하세요!

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

Video Face Swap

Video Face Swap

완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)