Procházet zdrojové kódy

2023年11月1日11:20:18

yxb
wq před 1 rokem
rodič
revize
e590687f28

+ 9
- 8
components/bluetooth/bluetooth.vue Zobrazit soubor

@@ -40,19 +40,20 @@
const jtApi = require("../../static/etc/JTAPI/BleUtil.js");
const wqApi = require("../../static/etc/WQAPI/WCDObuSdk.js");
const cgApi = require("../../static/etc/CGAPI/cguBle.js");
const zzApi = require("../../static/etc/WJAPI/wjBleAPI.js");

const tools = require("../../static/etcUtil/tools.js");
const datas = require("../../static/etcUtil/datas.js");
const bluetoothUtil = require("../../static/etcUtil/index.js");

let jlApi = require("../../static/etc/JLAPI/JLObuSDK.js"); //聚力SDK
const wjApi = require("../../static/etc/WJAPI/wjBleAPI");
let wjApi = require("../../static/etc/WJAPI/wjBleAPI");
let tdApi = require("../../static/etc/TDAPI/TDRObuSDK.js");
let zzApi = require("../../static/etc/WJAPI/wjBleAPI.js");
// #ifdef MP-ALIPAY
// 这部分代码将仅在支付宝小程序平台下执行
jlApi = require("../../static/etc/JLObuSDK/JLObuSDK.js");
// wjApi = require("../../static/etc/WJBLE/WJBleAPI");
wjApi = require("../../static/etc/wjBle/WJBleAPI");
zzApi = require("../../static/etc/wjBle/WJBleAPI.js");
tdApi = require("../../static/etc/TDRAPI/TDRObuSDK.js");
// 执行支付宝小程序的特定功能
// #endif
@@ -327,7 +328,7 @@
console.info("停止扫描蓝牙");
uni.stopBluetoothDevicesDiscovery({
success: function (res) {
console.log(device);
console.log(device,item);
if (item.selected == false) {
console.log("第一次点击了");
item.selected = true;
@@ -361,7 +362,7 @@
// delete device._name

console.log(item);
datas.setData("deviceId", device.deviceId);
datas.setData("deviceId", device,device.deviceId);
tools.showLoadingAlert("蓝牙连接中");
console.info("连接的是" + prefixName);
switch (prefixName) {
@@ -574,11 +575,11 @@
datas.setData("bluLinkStatus", true);
datas.setData("connectPrefixName", connectPrefixName.value);
} else {
console.log('输出内容','=====================================')
console.log('输出内容', '=====================================')
datas.setData("bluLinkStatus", false);
datas.setData("connectPrefixName", "");
tools.showToastAlert("蓝牙已断开");
}
};

@@ -591,7 +592,7 @@

//断开蓝牙
bluetoothUtil.disconnectDevice();

//提示对话框
tools.showModalAlert(msg);

+ 12
- 3
pages.json Zobrazit soubor

@@ -1,6 +1,16 @@
{
"mode": "production",
"pages": [{
"pages": [
// {
// "path" : "pages/demo/demo/demo",
// "style" :
// {
// "navigationBarTitleText": "",
// "enablePullDownRefresh": false
// }
// },
{
"path": "pages/index/index",
"style": {
// "navigationBarHidden": true,
@@ -101,8 +111,7 @@
}
}
],
],
"subPackages": [{
"root": "subpackage/after-sale", //售后相关
"pages": [{

+ 5
- 4
pages/bluetooth/bluetooth.vue Zobrazit soubor

@@ -39,18 +39,19 @@
const jtApi = require("../../static/etc/JTAPI/BleUtil.js");
const wqApi = require("../../static/etc/WQAPI/WCDObuSdk.js");
const cgApi = require("../../static/etc/CGAPI/cguBle.js");
const zzApi = require("../../static/etc/WJAPI/wjBleAPI.js");

const tools = require("../../static/etcUtil/tools.js");
const datas = require("../../static/etcUtil/datas.js");
const bluetoothUtil = require("../../static/etcUtil/index.js");
let jlApi = require("../../static/etc/JLAPI/JLObuSDK.js"); //聚力SDK
const wjApi = require("../../static/etc/WJAPI/wjBleAPI");
let wjApi = require("../../static/etc/WJAPI/wjBleAPI");
let tdApi = require("../../static/etc/TDAPI/TDRObuSDK.js");
let zzApi = require("../../static/etc/WJAPI/wjBleAPI.js");
// #ifdef MP-ALIPAY
// 这部分代码将仅在支付宝小程序平台下执行
jlApi = require("../../static/etc/JLObuSDK/JLObuSDK.js");
// wjApi = require("../../static/etc/WJBLE/WJBleAPI");
wjApi = require("../../static/etc/wjBle/WJBleAPI");
zzApi = require("../../static/etc/wjBle/WJBleAPI");
tdApi = require("../../static/etc/TDRAPI/TDRObuSDK.js");
// 执行支付宝小程序的特定功能
// #endif
@@ -353,7 +354,7 @@
// //断开蓝牙
// bluetoothUtil.disconnectDevice();
tools.showLoadingAlert("蓝牙连接中");
console.info("连接的是" + prefixName);
console.info("连接的是" + prefixName , device);
switch (prefixName) {
case "WJ":
wjApi.connectDevice(

+ 58
- 0
pages/demo/demo/demo.vue Zobrazit soubor

@@ -0,0 +1,58 @@
<template>
<div>
{{msg}}
<button @click="searchBluetooth()">扫描连接</button>
<button @click="transReadCardBT()">执行指令</button>
<button @click="disconnectBLEDevice()">//断开连接</button>
</div>
</template>
<script setup lang='ts'>
import {ref} from 'vue'
// import wjBleAPI from '../../../static/etc/wjBle/WJBleAPI.js'
let wjBleAPI = require("../../../static/etc/wjBle/WJBleAPI.js");
let deviceID = ''
let msg = ref('消息内容')
let data = {
name: 'WJ192510297491',
deviceLd: '57:01:06:C8:33:71',
prefixName: 'WJ',
selected: true,
_name: '万集'
}
//扫描连接
function searchBluetooth() {
wjBleAPI.connectDeviceScan(function(res) {
deviceID = res.data;
console.log('连接结果:', res);
msg.value ='连接结果:' + JSON.stringify(res) + deviceID
}, function(res) {
console.log('连接状态:' + res)
})
// wjBleAPI.connectDevice(data,function(res) {
// deviceID = res.data;
// console.log('连接结果:', res);
// msg.value ='连接结果:' + JSON.stringify(res) + deviceID
// }, function(res) {
// console.log('连接状态:' + res)
// })
}
//断开连接
function disconnectBLEDevice() {
wjBleAPI.disconnectDevice(function(res) {
console.log('断开结果:', res);
msg.value = '断开结果:' + JSON.stringify(res)
})
}

function transReadCardBT() {
wjBleAPI.transCmd(['00A40000021001', '00B095002B', '805C000204'], 'A3', function(res) {
console.log('transReadCard:', res);
msg.value = 'transReadCard:' + JSON.stringify(res)
})
}
</script>
<style lang='scss' scoped>

</style>

+ 1
- 0
static/etc/wjBle/WJBleAPI.js Zobrazit soubor

@@ -0,0 +1 @@
"use strict";var _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},_WJService=require("./WJService.js"),_WJService2=_interopRequireDefault(_WJService),_WJDataEncode=require("./WJDataEncode.js"),_WJDataEncode2=_interopRequireDefault(_WJDataEncode),_WJDataInteract=require("./WJDataInteract.js"),_WJDataInteract2=_interopRequireDefault(_WJDataInteract),_WJUtils=require("./WJUtils.js"),_WJUtils2=_interopRequireDefault(_WJUtils),_WJDataAnalysis=require("./WJDataAnalysis.js"),_WJDataAnalysis2=_interopRequireDefault(_WJDataAnalysis);function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}var TAG_FUNCTION="function",SDK_VERSION="WJ_BLESDK_ZFB_GZ_V1.0.0_20231101",deviceID=void 0;function connectDevice(e,t,n){_WJService2.default._connectDevice(e,function(e){deviceID=e.data,console.log("连接结果:",e.msg),(void 0===t?"undefined":_typeof(t))==TAG_FUNCTION&&t(e)},function(e){console.log("连接状态:",e),e.msg=e.msg,(void 0===n?"undefined":_typeof(n))==TAG_FUNCTION&&n(e)})}function connectDeviceScan(t,n){_WJService2.default.reallyConnect(function(e){deviceID=e.data,console.log("连接结果:",e.msg),(void 0===t?"undefined":_typeof(t))==TAG_FUNCTION&&t(e)},function(e){console.log("连接状态:",e),(void 0===n?"undefined":_typeof(n))==TAG_FUNCTION&&n(e)})}function disconnectDevice(t){_WJService2.default.reallyDisConnect(deviceID,function(e){e.msg=e.msg,console.log("断开结果:",e.msg),(void 0===t?"undefined":_typeof(t))==TAG_FUNCTION&&t(e)})}function transCmd(e,t,a){var n,o,r={},c=_WJUtils2.default.getCMD_TYPE();0==c?(c=t,t="82"):1==c&&(c="00",t="A3"),"10"==c||"20"==c||"30"==c||"00"==c?(n={},o="",e.forEach(function(e,t){o=o+"0"+(t+1)+parseInt(e.length/2).toString(16).padStart(2,"0")+e}),n=_WJDataEncode2.default.encode(o,c,t),_WJDataInteract2.default._StartSendData(n.serviceData.dataEncode,function(e){if(0==e.serviceCode){_WJUtils2.default.showLog("APDU透传指令成功"),r.code=0,r.msg="transcmd success",console.log("返回的数据",e.serviceData.dataBuff);for(var t=[],n=e.serviceData.dataBuff,o=0;o<n.length;o++){parseInt(n[o]+n[o+1]);var c=2*parseInt(n[o+2]+n[o+3],16),i=n.substr(o+4,c);t.push(i),o=o+3+c}console.log("最终结果",t),r.data=t}else r.msg=e.serviceInfo,r.code=e.serviceCode;(void 0===a?"undefined":_typeof(a))==TAG_FUNCTION&&a(r)})):(r.code=-1,r.msg="cmdtype参数错误!",(void 0===a?"undefined":_typeof(a))==TAG_FUNCTION&&a(r))}module.exports={connectDevice:connectDevice,disconnectDevice:disconnectDevice,transCmd:transCmd,connectDeviceScan:connectDeviceScan};

+ 1
- 0
static/etc/wjBle/WJDataAnalysis.js
Diff nebyl zobrazen, protože je příliš veliký
Zobrazit soubor


+ 1
- 0
static/etc/wjBle/WJDataDecode.js Zobrazit soubor

@@ -0,0 +1 @@
"use strict";var iPackageLen,_WJUtils=require("./WJUtils.js"),_WJUtils2=_interopRequireDefault(_WJUtils);function _interopRequireDefault(t){return t&&t.__esModule?t:{default:t}}var bleCount,rxCount=0,strTemData="",strRxBuffer="",isPagFinish=!0;function decode_GB(t){var e=0,a={},t=_WJUtils2.default.byteArray2hexStr(t),r=(_WJUtils2.default.showLog("WJ当前接受包的数据:",t),_WJUtils2.default.hexStr2byteArray(t));if(1<r.byteLength&&80==r[0]&&1==isPagFinish?(isPagFinish=!1,iPackageLen=r[3],strTemData=t):strTemData+=t,strTemData.length/2>=iPackageLen+5){rxCount+=1,isPagFinish=!0;var s=_WJUtils2.default.hexStr2byteArray(strTemData);_WJUtils2.default.showLog("接受完第",rxCount,"包数据,内容 ",strTemData);for(var i=0;i<iPackageLen+4;i++)e^=s[i];if(s[strTemData.length/2-1]!=e)return _WJUtils2.default.showError("WJ第",rxCount," 包校验bcc:Error!"),a.serviceCode=-1,a.serviceInfo="校验错误。。。",a;128==(128&s[1])&&(bleCount=((127&s[1])<<8)+s[2],_WJUtils2.default.showLog("总共:",bleCount,"大包")),_WJUtils2.default.showLog("WJ第",rxCount," 包校验bcc:ok!"),strRxBuffer+=strTemData.substring(8,strTemData.length-2)}return bleCount<=rxCount?(a.serviceCode=0,a.serviceInfo="数据接收完成!",a.serviceData={},a.serviceData.strData=strRxBuffer):(a.serviceCode=1,a.serviceInfo="数据接收中。。。"),a}function decode_WX(t){var e=0,a={},t=_WJUtils2.default.byteArray2hexStr(t),r=(_WJUtils2.default.showLog("WJ当前接受包的数据:",t),_WJUtils2.default.hexStr2byteArray(t));if(1<r.byteLength&&254==r[0]&&1==r[1]&&1==isPagFinish?(isPagFinish=!1,iPackageLen=(255&r[2])<<8,iPackageLen+=255&r[3],strTemData=t):strTemData+=t,strTemData.length/2>=iPackageLen){_WJUtils2.default.showLog("大包长度:",iPackageLen,strTemData.length),isPagFinish=!0,rxCount+=1;var s=_WJUtils2.default.hexStr2byteArray(strTemData),r={},i=0,o=0,u=0;for(r.FixHead={},r.FixHead.MagicNumber=strTemData.substr(2*i,2),r.FixHead.Ver=strTemData.substring(2*++i,2),r.FixHead.Len=(s[++i]<<8)+s[i+1],r.FixHead.CmdId=(s[i+=2]<<8)+s[i+1],r.FixHead.Seq=(s[i+=2]<<8)+s[i+1],i+=2,r.ProtoBuf={},r.ProtoBuf.BaseRequest={},r.ProtoBuf.BaseRequest.Mark=strTemData.substr(2*i,2),i++,u=o=0;128==(128&s[i]);)o+=(127&s[i])<<7*u,i++,u++;for(o+=(127&s[i])<<7*u,r.ProtoBuf.BaseRequest.Data=strTemData.substr(2*++i,2*o),i+=o,r.ProtoBuf.Data={},r.ProtoBuf.Data.Mark=strTemData.substr(2*i,2),i++,u=o=0;128==(128&s[i]);)o+=(127&s[i])<<7*u,i++,u++;for(o+=(127&s[i])<<7*u,r.ProtoBuf.Data.Data=strTemData.substr(2*++i,2*o),i+=o,r.ProtoBuf.DataType={},r.ProtoBuf.DataType.Mark=strTemData.substr(2*i,2),i++,u=o=0;128==(128&s[i]);)o+=(127&s[i])<<7*u,i++,u++;o+=(127&s[i])<<7*u,i++,r.ProtoBuf.DataType.Varint=o;for(var n=_WJUtils2.default.hexStr2byteArray(r.ProtoBuf.Data.Data),f=1;f<n.byteLength-1;f++)e^=n[f];if(n[n.byteLength-1]!=e)return _WJUtils2.default.showError("WJ第",rxCount," 包校验bcc:Error!"),a.serviceCode=-1,a.serviceInfo="校验错误。。。",a;128==(128&n[2])&&(bleCount=1+(127&n[2]),_WJUtils2.default.showLog("总共:",bleCount,"大包")),strRxBuffer+=r.ProtoBuf.Data.Data.substr(8,2*n[3]),_WJUtils2.default.showLog("WJ第",rxCount," 包校验bcc:ok!"),_WJUtils2.default.showLog("接受完第",rxCount,"大包数据,内容 ",strTemData)}return bleCount<=rxCount?(a.serviceCode=0,a.serviceInfo="数据接收完成!",a.serviceData={},a.serviceData.strData=strRxBuffer):(a.serviceCode=1,a.serviceInfo="数据接收中。。。"),a}function init(){rxCount=iPackageLen=0,isPagFinish=!(strRxBuffer=strTemData="")}module.exports={decode_GB:decode_GB,decode_WX:decode_WX,init:init};

+ 1
- 0
static/etc/wjBle/WJDataEncode.js Zobrazit soubor

@@ -0,0 +1 @@
"use strict";var _WJUtils=require("./WJUtils.js"),_WJUtils2=_interopRequireDefault(_WJUtils);function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function encode(e,t,a){var r=_WJUtils2.default.getProtocolType(),e=getETCData(e,t,a),t={};return 0==r?t=encode_GB(e):1==r&&(t=encode_WX(e)),t}function getETCData(e,t,a){var r="",r="A0"==a||"A3"==a||"A4"==a||"82"==a||"84"==a||"AC"==a||"A9"==a?a+t+(r=getCommand(e)):e;return _WJUtils2.default.showLog("组拼ETCData完毕:",r.length/2,r),r}function getCommand(e){var t,a=e,r=_WJUtils2.default.getDATA_TYPE(),e=e.length/2,n=new ArrayBuffer(10),s=new DataView(n);return 0==r?(t=256<e?(s.setInt8(0,4+e&255),s.setInt8(1,4+e>>8&255),s.setInt8(2,128),s.setInt8(3,130),s.setInt8(4,e>>8&255),s.setInt8(5,255&e),n.slice(0,6)):128<e&&e<=256?(s.setInt8(0,3+e&255),s.setInt8(1,3+e>>8&255),s.setInt8(2,128),s.setInt8(3,129),s.setInt8(4,e),n.slice(0,5)):(s.setInt8(0,2+e&255),s.setInt8(1,2+e>>8&255),s.setInt8(2,128),s.setInt8(3,e),n.slice(0,4)),a=_WJUtils2.default.byteArray2hexStr(t)+a):1==r&&(s.setInt8(0,255&e),s.setInt8(1,e>>8&255),t=n.slice(0,2),a=_WJUtils2.default.byteArray2hexStr(t)+a),a}function encode_GB(e){var t={},a=_WJUtils2.default.getPagLenMax(),r=parseInt(e.length/2/a),n=(e.length/2%a!=0&&(r+=1),new ArrayBuffer(10));new DataView(n);t.serviceCode=0,t.serviceInfo="encode ok",t.serviceData={},t.serviceData.dataEncode=new Array;for(var s=0;s<r-1;s++)t.serviceData.dataEncode[s]=e.substr(s*a*2,2*a),t.serviceData.dataEncode[s]=getGBFrame(t.serviceData.dataEncode[s],s,r);return t.serviceData.dataEncode[r-1]=e.substring((r-1)*a*2),t.serviceData.dataEncode[r-1]=getGBFrame(t.serviceData.dataEncode[r-1],r-1,r),t}function encode_WX(e){for(var t={},a=_WJUtils2.default.getPagLenMax(),r=parseInt(e.length/2/a),n=(e.length/2%a!=0&&(r+=1),t.serviceCode=0,t.serviceInfo="encode ok",t.serviceData={},t.serviceData.dataEncode=new Array,0),n=0;n<r-1;n++)t.serviceData.dataEncode[n]=e.substr(n*a*2,2*a),t.serviceData.dataEncode[n]=getWXFrame(t.serviceData.dataEncode[n],n,r);return t.serviceData.dataEncode[r-1]=e.substring((r-1)*a*2),t.serviceData.dataEncode[r-1]=getWXFrame(t.serviceData.dataEncode[r-1],r-1,r),t}function getWXFrame(e,t,a){for(var r=e,n=new ArrayBuffer(10),s=new DataView(n),i="",d=0,e=e.length/2,l=(0==t?s.setInt8(0,128+(a-1-t&255)):s.setInt8(0,a-1-t&255),r="3301"+(i=_WJUtils2.default.byteArray2hexStr(n).substring(0,2))+_WJUtils2.default.byte2hexStr(255&e)+r,_WJUtils2.default.hexStr2byteArray(r)),c=1;c<l.length;c++)d^=l[c];r+=_WJUtils2.default.byte2hexStr(d);var u,a=_WJUtils2.default.hexStr2byteArray(r).length;return 127<a?(s.setInt8(0,128+(a%128&255)),s.setInt8(1,a/128&255),i=_WJUtils2.default.byteArray2hexStr(n).substring(0,4),s.setInt8(0,(u=a+8+4+3)>>8&255)):(s.setInt8(0,255&a),i=_WJUtils2.default.byteArray2hexStr(n).substring(0,2),s.setInt8(0,(u=a+8+4+2)>>8&255)),s.setInt8(1,255&u),r="FE01"+_WJUtils2.default.byteArray2hexStr(n).substring(0,4)+"753100000A0012"+i+r+"1800"}function getGBFrame(e,t,a){for(var r=e,n=new ArrayBuffer(10),s=new DataView(n),i=0,e=e.length/2,d=(0==t?(s.setInt8(0,128+(a>>8&255)),s.setInt8(1,255&a)):(s.setInt8(0,t+1>>8&255),s.setInt8(1,t+1&255)),s.setInt8(2,255&e),a=_WJUtils2.default.byteArray2hexStr(n).substring(0,6),_WJUtils2.default.hexStr2byteArray(r="50"+a+r)),l=0;l<d.length;l++)i^=d[l];return r+=_WJUtils2.default.byte2hexStr(i)}module.exports={encode:encode};

+ 1
- 0
static/etc/wjBle/WJDataInteract.js Zobrazit soubor

@@ -0,0 +1 @@
"use strict";var _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},_WJService=require("./WJService.js"),_WJService2=_interopRequireDefault(_WJService),_WJUtils=require("./WJUtils.js"),_WJUtils2=_interopRequireDefault(_WJUtils),_WJDataDecode=require("./WJDataDecode.js"),_WJDataDecode2=_interopRequireDefault(_WJDataDecode);function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}var TAG_FUNCTION="function",sendCallback=void 0,TimerID=null;function _StartSendData(a,e){var l={},r=0,i=0;null!=TimerID&&(clearTimeout(TimerID),TimerID=null),_WJDataDecode2.default.init(),TimerID=setTimeout(pro_timeout,1e4),_WJUtils2.default.showLog(TimerID,"开启时钟"),sendCallback=e,_WJService2.default.SetDataListenerCallBack(!0,datacallback),function t(){var e="";40*i>=a[r].length&&(r++,i=0);r<a.length&&(e=a[r].length>=40*(i+1)?a[r].substring(40*i,40*(i+1)):a[r].substring(40*i,a[r].length));""==e?_WJUtils2.default.showLog("数据发送完毕!"):(_WJUtils2.default.showLog("发送数据:",e),_WJService2.default.reallyWriteBLECharacteristicValue(e,function(e){0==e.code?(i++,t()):(_WJUtils2.default.showError(TimerID,"数据发送失败,取消时钟"),null!=TimerID&&(clearTimeout(TimerID),TimerID=null),_WJService2.default.SetDataListenerCallBack(!1),l.serviceCode=-2,l.serviceInfo="数据发送失败",(void 0===sendCallback?"undefined":_typeof(sendCallback))==TAG_FUNCTION&&sendCallback(l))}))}()}function datacallback(e){_WJService2.default.SetDataListenerCallBack(!0,datacallback),_ReceiveData(e)}function pro_timeout(){var e={};_WJUtils2.default.showError(TimerID,"数据接收超时,取消时钟"),null!=TimerID&&(clearTimeout(TimerID),TimerID=null),_WJService2.default.SetDataListenerCallBack(!1),e.serviceCode=-3,e.serviceInfo="数据接收超时",(void 0===sendCallback?"undefined":_typeof(sendCallback))==TAG_FUNCTION&&sendCallback(e)}function _ReceiveData(e){for(var t=_WJUtils2.default.hexStr2byteArray(e),e=new ArrayBuffer(t.byteLength),a=new DataView(e),l=0;l<t.byteLength;l++)a.setUint8(l,t[l]);var r,i={},o=_WJUtils2.default.getProtocolType();0==o?r=_WJDataDecode2.default.decode_GB(e):1==o&&(r=_WJDataDecode2.default.decode_WX(e)),0==r.serviceCode&&(null!=(o=PackageDecode(r.serviceData.strData))?(_WJUtils2.default.showLog(TimerID,"接收数据成功,取消时钟"),null!=TimerID&&(clearTimeout(TimerID),TimerID=null),_WJService2.default.SetDataListenerCallBack(!1),i.serviceCode=0,i.serviceInfo="数据接收成功",i.serviceData={},i.serviceData.dataBuff=o):(_WJUtils2.default.showError(TimerID,"数据解析失败,取消时钟"),null!=TimerID&&(clearTimeout(TimerID),TimerID=null),_WJService2.default.SetDataListenerCallBack(!1),i.serviceCode=-1,i.serviceInfo="数据解析失败"),(void 0===sendCallback?"undefined":_typeof(sendCallback))==TAG_FUNCTION)&&sendCallback(i)}function PackageDecode(e){var t=_WJUtils2.default.getDATA_TYPE(),a=_WJUtils2.default.hexStr2byteArray(e),l=0,r=a[1],i=a[0];if(_WJUtils2.default.showLog("WJPackageDecode:",e),0!=r)return _WJUtils2.default.showError("WJ结果码非00"),null;switch(i){case 146:case 176:case 179:case 180:case 188:return 0==t?(u=7,129==a[5]&&(129==a[6]?(l=255&a[7],u+=1):130==a[6]?(l=a[7]<<8,l+=255&a[8],u+=2):l=255&a[6]),u=a.slice(u,l+u),s=_WJUtils2.default.byteArray2hexStr(u)):1==t&&(u=a.slice(5),s=_WJUtils2.default.APDU2TPDU(_WJUtils2.default.byteArray2hexStr(u))),_WJUtils2.default.showLog("WJ有效数据长度:",s.length/2,s),_WJUtils2.default.showLog("操作类型ok",i),s;case 185:return 0==t?(s=e,console.log("解析数据",e)):1==t&&(u=a.slice(5),s=_WJUtils2.default.APDU2TPDU(_WJUtils2.default.byteArray2hexStr(u))),_WJUtils2.default.showLog("WJ有效数据长度:",s.length/2,s),_WJUtils2.default.showLog("操作类型ok",i),s;case 145:case 151:case 148:case 144:var o=(255&a[3])<<8,s=(o+=a[2],u=a.slice(4,o+4),_WJUtils2.default.byteArray2hexStr(u));return _WJUtils2.default.showLog("WJ有效数据长度:",o,_WJUtils2.default.byteArray2hexStr(u)),_WJUtils2.default.showLog("操作类型ok",i),s;case 181:var o=a[2],u=a.slice(3,o+3);return _WJUtils2.default.showLog("WJ有效数据长度:",o,_WJUtils2.default.byteArray2hexStr(u)),_WJUtils2.default.showLog("操作类型ok",i),_WJUtils2.default.byteArray2hexStr(u);default:return _WJUtils2.default.showError("WJ通道类型有误"),null}}module.exports={_StartSendData:_StartSendData,_ReceiveData:_ReceiveData};

+ 1
- 0
static/etc/wjBle/WJService.js
Diff nebyl zobrazen, protože je příliš veliký
Zobrazit soubor


+ 1
- 0
static/etc/wjBle/WJUtils.js Zobrazit soubor

@@ -0,0 +1 @@
"use strict";var PROTOCOL_TYPE=0,PAGLENMAX=205,TRANSFER_TYPE=0,DATA_TYPE=0,CMD_TYPE=0;function showLog(){if(!(arguments.length<1)){for(var r=arguments[0],t=1;t<arguments.length;t++)r+=" "+arguments[t];console.log(r)}}function showError(){if(!(arguments.length<1)){for(var r=arguments[0],t=1;t<arguments.length;t++)r+=" "+arguments[t];console.error(r)}}function byteArray2hexStr(r){return Array.prototype.map.call(new Uint8Array(r),function(r){return("00"+r.toString(16)).slice(-2)}).join("")}function hexStr2byteArray(r){return new Uint8Array(r.match(/[\da-f]{2}/gi).map(function(r){return parseInt(r,16)}))}function byte2hexStr(r){var t="0123456789abcdef",e="";return(e+=t.charAt(r>>4))+t.charAt(15&r)}function getProtocolType(){return PROTOCOL_TYPE}function getPagLenMax(){return PAGLENMAX}function getTRANSFER_TYPE(){return TRANSFER_TYPE}function getDATA_TYPE(){return DATA_TYPE}function getCMD_TYPE(){return CMD_TYPE}function APDU2TPDU(r){var t=hexStr2byteArray(r),e="";if("01"==r.substring(0,2))e=r;else{for(var n=new Array,o=0,a=0;a<t[0];a++){var h=o+2,T=o+2+t[o+1];o+=1+t[o+1],n[a]=r.substring(2*h,2*T)}for(a=0;a<t[0];a++){var A=n[a].length/2;e+=byte2hexStr(a+1&255)+byte2hexStr(255&A)+n[a]}}return e}function TPDU2APDU(r){for(var t=hexStr2byteArray(r),e="",n=new Array,o=0,a=t.byteLength;o<a;){var h=t[o++],T=t[o++];n[h-1]=r.substring(2*o,2*(o+T)),o+=T}for(var e=byte2hexStr(255&n.length),A=0;A<n.length;A++)e+=byte2hexStr(n[A].length/2&255)+n[A];return e}function hexCharCodeToStr(r){var t,r=r.trim(),e="0x"===r.substr(0,2).toLowerCase()?r.substr(2):r,n=e.length;if(n%2!=0)return"";for(var o=[],a=0;a<n;a+=2)t=parseInt(e.substr(a,2),16),o.push(String.fromCharCode(t));return o.join("")}module.exports={showLog:showLog,byteArray2hexStr:byteArray2hexStr,hexStr2byteArray:hexStr2byteArray,showError:showError,byte2hexStr:byte2hexStr,getProtocolType:getProtocolType,getPagLenMax:getPagLenMax,getTRANSFER_TYPE:getTRANSFER_TYPE,getDATA_TYPE:getDATA_TYPE,getCMD_TYPE:getCMD_TYPE,APDU2TPDU:APDU2TPDU,TPDU2APDU:TPDU2APDU,hexCharCodeToStr:hexCharCodeToStr};

+ 5
- 2
static/etcUtil/index.js Zobrazit soubor

@@ -15,15 +15,15 @@ const cgApi = require("../etc/CGAPI/cguBle.js");
// import * as cgApi from '../../lib/etc/CGAPI/cguBle.js'
// const tdApi = require("../etc/TDAPI/TDRObuSDK.js");
// import * as tdApi from '../../lib/etc/TDAPI/TDRObuSDK.js'
const zzApi = require("../etc/WJAPI/wjBleAPI.js");
// import * as zzApi from '../../lib/etc/WJAPI/wjBleAPI'

const datas = require("./datas.js");
// import * as datas from '../../../utils/common/datas.js';
const tools = require('./tools.js');
let jlApi = require("../../static/etc/JLAPI/JLObuSDK.js"); //聚力SDK
const wjApi = require("../etc/WJAPI/wjBleAPI");
let wjApi = require("../etc/WJAPI/wjBleAPI");
let tdApi = require("../etc/TDAPI/TDRObuSDK.js");
let zzApi = require("../etc/WJAPI/wjBleAPI.js");
const jlQZApi = require("../etc/JLQZAPI/JLObuSDK.js");
import {
getItem
@@ -33,6 +33,8 @@ import {
if (getItem('environment') == 'ZFB') {
tdApi = require("../etc/TDRAPI/TDRObuSDK.js");
jlApi = require("../etc/JLObuSDK/JLObuSDK.js");
wjApi = require("../etc/wjBle/WJBleAPI");
zzApi = require("../etc/wjBle/WJBleAPI.js");
}

/**
@@ -123,6 +125,7 @@ function disconnectDevice() {
*/
function transCmd(cmdArr, type, func, callBack = null) {
var connectPrefixName = datas.getData("connectPrefixName");
console.log('指令执行内容', cmdArr, type)
switch (connectPrefixName) {
case "WJ":
wjApi.transCmd(cmdArr, type, function(res) {

Načítá se…
Zrušit
Uložit