DESKTOP-2IO5MST\huting 1 yıl önce
ebeveyn
işleme
1a4263bbca

+ 5
- 2
components/bluetooth/bluetooth.vue Dosyayı Görüntüle

@@ -34,7 +34,6 @@
const imgURL = `${fileURL}image/`;
const selectedUrl = "common/selected.png`";
const unSelectedUrl = "common/unselected.png`";
const wjApi = require("../../static/etc/WJAPI/wjBleAPI");
const jyApi = require("../../static/etc/JYAPI/GenvictBleUtil.js");
const jlQZApi = require("../../static/etc/JLQZAPI/JLObuSDK.js");
const atApi = require("../../static/etc/ATAPI/ArtcBleUtil.js");
@@ -48,10 +47,12 @@
const datas = require("../../static/etcUtil/datas.js");
const bluetoothUtil = require("../../static/etcUtil/index.js");
let jlApi = require("../../static/etc/JLAPI/JLObuSDK.js");
let jlApi = require("../../static/etc/JLAPI/JLObuSDK.js"); //聚力SDK
let wjApi = require("../../static/etc/WJAPI/wjBleAPI");
// #ifdef MP-ALIPAY
// 这部分代码将仅在支付宝小程序平台下执行
jlApi = require("../../static/etc/JLObuSDK/JLObuSDK.js");
wjApi = require("../../static/etc/WJBLE/WJBleAPI");
// 执行支付宝小程序的特定功能
// #endif

@@ -366,9 +367,11 @@
wjApi.connectDevice(
device,
function (res) {
console.log('WJ输出内容1',res)
connectSuccess(res);
},
function (res) {
console.log('WJ输出内容2',res)
listenStatus(res);
}
);

+ 35
- 1
login/forget-pwd-step2.vue Dosyayı Görüntüle

@@ -13,7 +13,41 @@
}}</view>
</view>
</view>

<!-- <view class="register-main">
<view class="title">请输入验证码</view>
<view class="hint">验证码已发送至:{{ phone }}</view>
<view class="input-code">
<verification-code-input v-model="code" ></verification-code-input>
</view>
<view class="hint2">
<view class="green">{{ codeDuration === 0 ? "" : codeDuration }}</view>
<view class="grey" @click="sendRegisterCode">{{
codeDuration === 0 ? "重新发送验证码" : "秒后可重新发送验证码"
}}</view>
</view>
</view> -->
<u-form ref="myForm">
<view class="from">
<u-form-item prop="phone">
<view class="from_item" style="background-color: #f7f7f7">
<text><text style="color: red"></text>手机号:</text>
<u-input v-model="phone" :disabled="true" class="input" />
</view>
</u-form-item>
<u-form-item prop="code">
<view class="from_item">
<text><text style="color: red"></text>验证码:</text>
<u-input v-model="code" placeholder="请输入验证码" class="input" />
<view class="hint2">
<view class="green">{{ codeDuration === 0 ? "" : codeDuration }}</view>
<view class="grey" @click="sendRegisterCode">{{
codeDuration === 0 ? "发送验证码" : "秒后可重发"
}}</view>
</view>
</view>
</u-form-item>
</view>
</u-form>
<view class="btn">
<submit-button title="下一步" @submit="nextStep"></submit-button>
</view>

+ 26
- 3
pages/bluetooth/bluetooth.vue Dosyayı Görüntüle

@@ -32,7 +32,7 @@
const imgURL = `${fileURL}image/`;
const selectedUrl = "common/selected.png`";
const unSelectedUrl = "common/unselected.png`";
const wjApi = require("../../static/etc/WJAPI/wjBleAPI");
const jyApi = require("../../static/etc/JYAPI/GenvictBleUtil.js");
const jlQZApi = require("../../static/etc/JLQZAPI/JLObuSDK.js");
const atApi = require("../../static/etc/ATAPI/ArtcBleUtil.js");
@@ -46,9 +46,11 @@
const datas = require("../../static/etcUtil/datas.js");
const bluetoothUtil = require("../../static/etcUtil/index.js");
let jlApi = require("../../static/etc/JLAPI/JLObuSDK.js"); //聚力SDK
let wjApi = require("../../static/etc/WJAPI/wjBleAPI");
// #ifdef MP-ALIPAY
// 这部分代码将仅在支付宝小程序平台下执行
jlApi = require("../../static/etc/JLObuSDK/JLObuSDK.js");
wjApi = require("../../static/etc/WJBLE/WJBleAPI");
// 执行支付宝小程序的特定功能
// #endif

@@ -348,6 +350,12 @@
connectPrefixName.value = item.prefixName;
// delete device.prefixName
// delete device._name
// #ifdef MP-ALIPAY
// 支付宝小程序代码
// #endif
// #ifdef MP-WEIXIN
// 微信小程序代码
// #endif

console.log(item);

@@ -355,6 +363,20 @@
console.info("连接的是" + prefixName);
switch (prefixName) {
case "WJ":
// #ifdef MP-ALIPAY
wjApi.connectDevice(
function (res) {
console.log('链接结果', res)
connectSuccess(res);
if (res.code == 0) {
connectSuccess(res);
} else {
listenStatus(res);
}
}
);
// #endif
// #ifdef MP-WEIXIN
wjApi.connectDevice(
device,
function (res) {
@@ -364,16 +386,17 @@
listenStatus(res);
}
);
// #endif
break;
case "JL":
jlApi.connectDevice(
device,
function (res) {
console.log('设备链接1',res)
console.log('设备链接1', res)
connectSuccess(res);
},
function (res) {
console.log('设备链接2',res)
console.log('设备链接2', res)
listenStatus(res);
}
);

+ 4
- 4
pages/recharge/recharge.vue Dosyayı Görüntüle

@@ -253,7 +253,7 @@ const selectConfirm = (item: any) => {
const rechargeAction = () => {
state.fee = state.money * 100; //元换成分
wx.showModal({
uni.showModal({
title: '圈存确认',
content: '您确定要充值圈存吗',
success: function (res) {
@@ -754,7 +754,7 @@ const selectConfirm = (item: any) => {
const aliPayment = () => {
// #ifdef MP-ALIPAY
my.getAuthCode({
scopes: 'auth_user',
scopes: 'auth_base',
success: res => {
const optionsUser = {
type: 2,
@@ -774,7 +774,7 @@ const selectConfirm = (item: any) => {
wxOpenId: data.openId,
cardId: state.cardId,
orderNum: state.orderNum,
payConfigId: wechatPayConfigId,
payConfigId: "6a9a54123456578934edfre132b1234",
body: "储值卡充值",
},
method: "POST",
@@ -784,7 +784,7 @@ const selectConfirm = (item: any) => {
const data = stringToJson(res.bizContent);
my.tradePay ({
// 调用统一收单交易创建接口(alipay.trade.create),获得返回字段支付宝交易号 trade_no
tradeNO: data.prepayId,
tradeNO: data.tranPackage,
success: res => {
console.log("支付成功", res);
checkOrder();

+ 1
- 644
static/etc/JLObuSDK/JLAlipayBleManager.js
Dosya farkı çok büyük olduğundan ihmal edildi
Dosyayı Görüntüle


+ 1
- 1
static/etc/JLObuSDK/JLConfig.js Dosyayı Görüntüle

@@ -1 +1 @@
var appVersion="1.0.0";export var area_config={protocol_version:1310,};export function ICCResetCmd(){switch(area_config.protocol_version){case 1310:return'A2';break;case 1320:return'A2';break;case 1312:return'A2';break;case 1330:return"A801";break}}export function ICCChannelCmd(){switch(area_config.protocol_version){case 1310:return'A3';break;case 1320:return'A3';break;case 1312:return'A3';break;case 1330:return"A3";break}}export function ESAMResetCmd(){switch(area_config.protocol_version){case 1310:return'AA';break;case 1320:return'A8';break;case 1312:return'A2';break;case 1330:return"A803";break}}export function ESAMChannelCmd(){switch(area_config.protocol_version){case 1310:return'AC';break;case 1320:return'A4';break;case 1312:return'A8';break;case 1330:return"A7";break}}export function ObuAuthCmd(){switch(area_config.protocol_version){case 1310:return'FF';break;case 1320:return'A9';break;case 1312:return'FF';break}}export function deviceInfo(){switch(area_config.protocol_version){case 1310:return'FF';break;case 1320:return'AA';break;case 1312:return'FF';break}}export function NewPipe(){switch(area_config.protocol_version){case 1310:return'FF';break;case 1320:return'AD';break;case 1312:return'FF';break}}export function ActState(){switch(area_config.protocol_version){case 1310:return'FF';break;case 1320:return'AC';break;case 1312:return'FF';break}}export function checkPower(){switch(area_config.protocol_version){case 1330:return'A5';break}}export function ResetFlag(){return'JLReset'}export function ChannelFlag(){return'JLChannel'}export function Auth(){return'JLAuth'}export function ActStateFlag(){return'JLActState'}export function NewPipFlag(){return'JLNewPip'}export function DeviceInfo(){return'JLDeviceInfo'}export function successCode(){return 0}export function errorCode(){return 10020}export function timeOutCode(){return 10102}export function cardNoExists(){return 10103}export function bleSuccessCode(){return 0}export function bleErrorCode(){return 10101}export function bleAvailableCode(){return 10104}export function cosErrorCode(){return 100100}export var message={api:'',status:'',sendCmd:[],reciveCmd:[]};export function DevResult(type,objc){var code='';var err_msg='';var res=null;var msg='';if(objc.code==successCode()){err_msg='执行成功';message.reciveCmd.push(objc.data);switch(type){case 0:{var data=objc.data;var sw=data.substr(data.length-4,4);if(sw=='9000'){message.status='00';code=successCode();data=objc.data.substr(0,data.length-4);err_msg='操作成功';msg=''}else{message.status='01';code=cosErrorCode();data=null;err_msg='COS指令错误';msg=sw}}break;case 1:{message.status='00';code=objc.code;err_msg=objc.msg;data=objc.data.substr(4,objc.data.length-4);msg=crsateMessage()}break;case 2:{message.status='00';console.log('判断obuInfo:'+objc.data);code=objc.code;err_msg=objc.msg;data=objc.data.substr(6,objc.data.length-6);msg=crsateMessage()}break;case 3:{message.status='00';console.log('认证数据:'+objc.data);code=objc.code;err_msg=objc.msg;data=objc.data.substr(8,2);msg=crsateMessage()}break;default:break}return{code:code,err_msg:err_msg,data:data,msg:crsateMessage()}}else{message.status='01';return{code:objc.code,err_msg:objc.msg,data:null,msg:crsateMessage()}}}function crsateMessage(){var messageInfo=message.api+"|"+message.sendCmd+"|"+message.status+"|"+message.reciveCmd;return messageInfo}
var appVersion="1.0.2";export var area_config={protocol_version:1330,};export function ICCResetCmd(){switch(area_config.protocol_version){case 1310:return'A2';break;case 1320:return'A2';break;case 1312:return'A2';break;case 1330:return"A801";break}}export function ICCChannelCmd(){switch(area_config.protocol_version){case 1310:return'A3';break;case 1320:return'A3';break;case 1312:return'A3';break;case 1330:return"A3";break}}export function ESAMResetCmd(){switch(area_config.protocol_version){case 1310:return'AA';break;case 1320:return'A8';break;case 1312:return'A2';break;case 1330:return"A803";break}}export function ESAMChannelCmd(){switch(area_config.protocol_version){case 1310:return'AC';break;case 1320:return'A4';break;case 1312:return'A8';break;case 1330:return"A7";break}}export function ObuAuthCmd(){switch(area_config.protocol_version){case 1310:return'FF';break;case 1320:return'A9';break;case 1312:return'FF';break}}export function deviceInfo(){switch(area_config.protocol_version){case 1310:return'FF';break;case 1320:return'AA';break;case 1312:return'FF';break}}export function NewPipe(){switch(area_config.protocol_version){case 1310:return'FF';break;case 1320:return'AD';break;case 1312:return'FF';break}}export function ActState(){switch(area_config.protocol_version){case 1310:return'FF';break;case 1320:return'AC';break;case 1312:return'FF';break}}export function checkPower(){switch(area_config.protocol_version){case 1330:return'A5';break}}export function ResetFlag(){return'JLReset'}export function ChannelFlag(){return'JLChannel'}export function Auth(){return'JLAuth'}export function ActStateFlag(){return'JLActState'}export function NewPipFlag(){return'JLNewPip'}export function DeviceInfo(){return'JLDeviceInfo'}export function successCode(){return 0}export function errorCode(){return 10020}export function timeOutCode(){return 10102}export function cardNoExists(){return 10103}export function bleSuccessCode(){return 0}export function bleErrorCode(){return 10101}export function bleAvailableCode(){return 10104}export function cosErrorCode(){return 100100}export var message={api:'',status:'',sendCmd:[],reciveCmd:[]};export function DevResult(type,objc){var code='';var err_msg='';var res=null;var msg='';if(objc.code==successCode()){err_msg='执行成功';message.reciveCmd.push(objc.data);switch(type){case 0:{var data=objc.data;var sw=data.substr(data.length-4,4);if(sw=='9000'){message.status='00';code=successCode();data=objc.data.substr(0,data.length-4);err_msg='操作成功';msg=''}else{message.status='01';code=cosErrorCode();data=null;err_msg='COS指令错误';msg=sw}}break;case 1:{message.status='00';code=objc.code;err_msg=objc.msg;data=objc.data.substr(4,objc.data.length-4);msg=crsateMessage()}break;case 2:{message.status='00';console.log('判断obuInfo:'+objc.data);code=objc.code;err_msg=objc.msg;data=objc.data.substr(6,objc.data.length-6);msg=crsateMessage()}break;case 3:{message.status='00';console.log('认证数据:'+objc.data);code=objc.code;err_msg=objc.msg;data=objc.data.substr(8,2);msg=crsateMessage()}break;default:break}return{code:code,err_msg:err_msg,data:data,msg:crsateMessage()}}else{message.status='01';return{code:objc.code,err_msg:objc.msg,data:null,msg:crsateMessage()}}}function crsateMessage(){var messageInfo=message.api+"|"+message.sendCmd+"|"+message.status+"|"+message.reciveCmd;return messageInfo}

+ 1
- 506
static/etc/JLObuSDK/JLDeviceWechat+33Protocol.js
Dosya farkı çok büyük olduğundan ihmal edildi
Dosyayı Görüntüle


+ 5
- 5
static/etc/JLObuSDK/JLObuSDK.js Dosyayı Görüntüle

@@ -48,7 +48,7 @@ export function connectDevice(device, callBack) {
* 断开连接
* @param {回调} callBack
*/
export function disconnectDevice(callBack) {
export function disonnectDevice(callBack) {

JLSDK.disConnectDevice((res) => {
callBack.call(this, res);
@@ -124,14 +124,14 @@ export function ICCChannelArray(cmdArray, callBack) {
export function transCmd(cmdArray, cmdtype, callback) {
if (cmdtype == '10') {
JLSDK.ICCChannel_CmdArray(cmdArray, (res) => {
console.log('卡:', res)
callback.call(this, res);
})
}
if (cmdtype == '20') {
JLSDK.ESAMChannel_CmdArray(cmdArray, (res) => {
console.log('OBU:', res)
callback.call(this, res);
ESAMChannel('00A40000023F00', (res) => {
JLSDK.ESAMChannel_CmdArray(cmdArray, (res) => {
callback.call(this, res);
})
})
}
}

+ 1
- 99
static/etc/JLObuSDK/onfire.js Dosyayı Görüntüle

@@ -1,99 +1 @@
! function(root, factory) {
if (typeof module === 'object' && module.exports) module.exports = factory();
else root.onfire = factory()
}(typeof window !== 'undefined' ? window : this, function() {
var __onfireEvents = {},
__cnt = 0,
string_str = 'string',
function_str = 'function',
hasOwnKey = Function.call.bind(Object.hasOwnProperty),
slice = Function.call.bind(Array.prototype.slice);

function _bind(eventName, callback, is_one, context) {
if (typeof eventName !== string_str || typeof callback !== function_str) {
throw new Error('args: ' + string_str + ', ' + function_str + '');
}
if (!hasOwnKey(__onfireEvents, eventName)) {
__onfireEvents[eventName] = {}
}
__onfireEvents[eventName][++__cnt] = [callback, is_one, context];
return [eventName, __cnt]
}

function _each(obj, callback) {
for (var key in obj) {
if (hasOwnKey(obj, key)) callback(key, obj[key])
}
}

function on(eventName, callback, context) {
return _bind(eventName, callback, 0, context)
}

function one(eventName, callback, context) {
return _bind(eventName, callback, 1, context)
}

function _fire_func(eventName, args) {
if (hasOwnKey(__onfireEvents, eventName)) {
_each(__onfireEvents[eventName], function(key, item) {
item[0].apply(item[2], args);
if (item[1]) delete __onfireEvents[eventName][key]
})
}
}

function fire(eventName) {
var args = slice(arguments, 1);
setTimeout(function() {
_fire_func(eventName, args)
})
}

function fireSync(eventName) {
_fire_func(eventName, slice(arguments, 1))
}

function un(event) {
var eventName, key, r = false,
type = typeof event;
if (type === string_str) {
if (hasOwnKey(__onfireEvents, event)) {
delete __onfireEvents[event];
return true
}
return false
} else if (type === 'object') {
eventName = event[0];
key = event[1];
if (hasOwnKey(__onfireEvents, eventName) && hasOwnKey(__onfireEvents[eventName], key)) {
delete __onfireEvents[eventName][key];
return true
}
return false
} else if (type === function_str) {
_each(__onfireEvents, function(key_1, item_1) {
_each(item_1, function(key_2, item_2) {
if (item_2[0] === event) {
delete __onfireEvents[key_1][key_2];
r = true
}
})
});
return r
}
return true
}

function clear() {
__onfireEvents = {}
}
return {
on: on,
one: one,
un: un,
fire: fire,
fireSync: fireSync,
clear: clear
}
});
!function(root,factory){if(typeof module==='object'&&module.exports)module.exports=factory();else root.onfire=factory()}(typeof window!=='undefined'?window:this,function(){var __onfireEvents={},__cnt=0,string_str='string',function_str='function',hasOwnKey=Function.call.bind(Object.hasOwnProperty),slice=Function.call.bind(Array.prototype.slice);function _bind(eventName,callback,is_one,context){if(typeof eventName!==string_str||typeof callback!==function_str){throw new Error('args: '+string_str+', '+function_str+'');}if(!hasOwnKey(__onfireEvents,eventName)){__onfireEvents[eventName]={}}__onfireEvents[eventName][++__cnt]=[callback,is_one,context];return[eventName,__cnt]}function _each(obj,callback){for(var key in obj){if(hasOwnKey(obj,key))callback(key,obj[key])}}function on(eventName,callback,context){return _bind(eventName,callback,0,context)}function one(eventName,callback,context){return _bind(eventName,callback,1,context)}function _fire_func(eventName,args){if(hasOwnKey(__onfireEvents,eventName)){_each(__onfireEvents[eventName],function(key,item){item[0].apply(item[2],args);if(item[1])delete __onfireEvents[eventName][key]})}}function fire(eventName){var args=slice(arguments,1);setTimeout(function(){_fire_func(eventName,args)})}function fireSync(eventName){_fire_func(eventName,slice(arguments,1))}function un(event){var eventName,key,r=false,type=typeof event;if(type===string_str){if(hasOwnKey(__onfireEvents,event)){delete __onfireEvents[event];return true}return false}else if(type==='object'){eventName=event[0];key=event[1];if(hasOwnKey(__onfireEvents,eventName)&&hasOwnKey(__onfireEvents[eventName],key)){delete __onfireEvents[eventName][key];return true}return false}else if(type===function_str){_each(__onfireEvents,function(key_1,item_1){_each(item_1,function(key_2,item_2){if(item_2[0]===event){delete __onfireEvents[key_1][key_2];r=true}})});return r}return true}function clear(){__onfireEvents={}}return{on:on,one:one,un:un,fire:fire,fireSync:fireSync,clear:clear}});

+ 2
- 0
static/etc/JLQZAPI/JLObuSDK.js Dosyayı Görüntüle

@@ -55,6 +55,8 @@ export function disconnectDevice(callBack) {
}

export function transCmd(cmdArray, cmdtype, callback) {
console.log('输出内容',cmdArray)
if (cmdtype == '10') {
JLSDK.ICCChannel_CmdArray(cmdArray, (res) => {
callback.call(this, res);

+ 467
- 0
static/etc/JTAPIS/BleUtil.js Dosyayı Görüntüle

@@ -0,0 +1,467 @@
const _0x92e0 = ['错误码:', 'FEE7', 'concat', 'sendDataToDevice->', 'data', '发送数据异常', 'code', 'toString', '发送蓝牙指令返回数据异常',
'slice', '发送esam指令成功', 'connectTimeout', 'errorMessage', 'length', 'exports', 'resolveTLV', 'makeTLV',
'offBLECharacteristicValueChange', '蓝牙数据发送:', 'Services->', 'log', 'deviceId', 'function',
'getBLEDeviceServices', 'makeA8SendData', 'stringify', 'value', 'success', 'fail', 'push', '发送蓝牙指令超时', 'then',
'bufferArrayToHexString', 'makeA5SendData', 'notifyBLECharacteristicValueChange', '监听数据失败', '读取不到Services',
'services', '连接超时'
];
const _0xf5c9 = function(_0x92e01f, _0xf5c941) {
_0x92e01f = _0x92e01f - 0x0;
let _0x50d73c = _0x92e0[_0x92e01f];
return _0x50d73c;
};
const dataUtil = require('./DataUtil.js');
module[_0xf5c9('0xe')] = {
'connectAndInit': connectDevice,
'disConnect': disconnectDevice,
'sendAndReceive': sendAndReceive,
'sendA5Command': sendA5Command
};
const FUNCTION = _0xf5c9('0x16');
var tagServiceUUID = '';
var tagWriteUUID = '';
var tagReadUUID = '';
const androidServiceUUID = '0000fee7-0000-1000-8000-00805f9b34fb';
const androidWriteUUID = '0000fec7-0000-1000-8000-00805f9b34fb';
const androidReadUUID = '0000fec8-0000-1000-8000-00805f9b34fb';
const iosServiceUUID = _0xf5c9('0x1');
const iosWriteUUID = 'FEC7';
const iosReadUUID = 'FEC8';
var connectDeviceId;
var connectCallback;
var connectTimer;
var reconnectTimer;
var transTimer;
var read = ![];
var frame = '';
var frameLen = 0x0;
var frames = new Array();
var framesLen = 0x0;
var dataHandlerCallback;
var sendBufferArray = new Array();
var cmds = new Array();
var sendIndex;
var resendCount = 0x3;
var reconnectCount = 0x0;

function toObject(_0x163b31, _0x2cb0af, _0x2f910b) {
return {
'code': _0x163b31,
'data': _0x2cb0af,
'msg': _0x2f910b
};
}
const codeEnum = {
'success': 0x3e8,
'fail': 0xfa0,
'timeout': 0x7d0,
'connectTimeout': 0x7d2
};

function connectDevice(_0x51d9b3, _0x15c0b5, _0x297201) {
my[_0xf5c9('0x11')]();
setTimeout(() => {
connectDeviceId = _0x51d9b3[_0xf5c9('0x15')];
connectCallback = _0x15c0b5;
if (typeof connectTimer != undefined) {
clearTimeout(connectTimer);
}
connectTimer = setTimeout(() => {
typeof connectCallback['fail'] == FUNCTION && connectCallback['fail'](toObject(codeEnum[
_0xf5c9('0xb')], undefined, _0xf5c9('0x26')));
}, _0x297201);
my['connectBLEDevice']({
'deviceId': connectDeviceId,
'success': _0x1e99d7 => {
getBLEDeviceServices();
},
'fail': _0x3ba55a => {
if (typeof connectTimer != undefined) {
clearTimeout(connectTimer);
}
typeof connectCallback[_0xf5c9('0x1c')] == FUNCTION && connectCallback[_0xf5c9(
'0x1c')](toObject(codeEnum[_0xf5c9('0x1c')], undefined, '连接失败:' + JSON[
_0xf5c9('0x19')](_0x3ba55a)));
}
});
}, 0x96);
}

function disconnectDevice(_0x129f55) {
my['disconnectBLEDevice']({
'deviceId': connectDeviceId,
'success'(_0x4e659d) {
typeof _0x129f55[_0xf5c9('0x1b')] == FUNCTION && _0x129f55['success'](toObject(codeEnum[_0xf5c9(
'0x1b')], _0x4e659d, '断开连接成功'));
},
'fail'(_0x22025a) {
typeof _0x129f55[_0xf5c9('0x1c')] == FUNCTION && _0x129f55['fail'](toObject(codeEnum['fail'],
_0x22025a, '断开连接失败'));
}
});
}

function getBLEDeviceServices() {
my[_0xf5c9('0x17')]({
'deviceId': connectDeviceId,
'success': _0x4c2800 => {
console[_0xf5c9('0x14')](_0xf5c9('0x13'), _0x4c2800);
let _0x5ab723 = ![];
tagServiceUUID = '';
for (let _0x2af1b7 = 0x0; _0x2af1b7 < _0x4c2800[_0xf5c9('0x25')]['length']; _0x2af1b7++) {
let _0x3a301e = _0x4c2800['services'][_0x2af1b7]['serviceId'];
if (_0x3a301e == androidServiceUUID) {
_0x5ab723 = !![];
tagServiceUUID = androidServiceUUID;
break;
}
if (_0x3a301e == iosServiceUUID) {
_0x5ab723 = !![];
tagServiceUUID = iosServiceUUID;
break;
}
}
if (_0x5ab723 == !![]) {
getBLEDeviceCharacteristics();
} else {
if (typeof connectTimer != undefined) {
clearTimeout(connectTimer);
}
typeof connectCallback[_0xf5c9('0x1c')] == FUNCTION && connectCallback[_0xf5c9('0x1c')](
toObject(codeEnum['fail'], undefined, _0xf5c9('0x24')));
}
},
'fail': _0x40d4c9 => {
if (typeof connectTimer != undefined) {
clearTimeout(connectTimer);
}
typeof connectCallback['fail'] == FUNCTION && connectCallback[_0xf5c9('0x1c')](toObject(
codeEnum[_0xf5c9('0x1c')], undefined, '读取Services失败'));
}
});
}

function getBLEDeviceCharacteristics() {
my['getBLEDeviceCharacteristics']({
'deviceId': connectDeviceId,
'serviceId': tagServiceUUID,
'success': _0x32b130 => {
let _0x28eee5 = ![];
let _0x17a958 = ![];
tagReadUUID = '';
tagWriteUUID = '';
console[_0xf5c9('0x14')]('Characteristics->', _0x32b130);
for (let _0x1ca77b = 0x0; _0x1ca77b < _0x32b130['characteristics']['length']; _0x1ca77b++) {
let _0x4abe38 = _0x32b130['characteristics'][_0x1ca77b]['characteristicId'];
if (_0x4abe38 == androidReadUUID) {
_0x28eee5 = !![];
tagReadUUID = androidReadUUID;
} else if (_0x4abe38 == androidWriteUUID) {
_0x17a958 = !![];
tagWriteUUID = androidWriteUUID;
} else if (_0x4abe38 == iosReadUUID) {
_0x28eee5 = !![];
tagReadUUID = iosReadUUID;
} else if (_0x4abe38 == iosWriteUUID) {
_0x17a958 = !![];
tagWriteUUID = iosWriteUUID;
}
if (_0x28eee5 == !![] && _0x17a958 == !![]) {
break;
}
}
if (_0x28eee5 == !![] && _0x17a958 == !![]) {
notifyBLECharacteristicValueChange();
} else {
if (typeof connectTimer != undefined) {
clearTimeout(connectTimer);
}
typeof connectCallback[_0xf5c9('0x1c')] == FUNCTION && connectCallback['fail'](toObject(
codeEnum['fail'], undefined, '读取不到Characteristics'));
}
},
'fail': _0x1aa5f4 => {
if (typeof connectTimer != undefined) {
clearTimeout(connectTimer);
}
typeof connectCallback[_0xf5c9('0x1c')] == FUNCTION && connectCallback['fail'](toObject(
codeEnum['fail'], undefined, '读取Characteristics失败'));
}
});
}

function notifyBLECharacteristicValueChange() {
my[_0xf5c9('0x22')]({
'state': !![],
'deviceId': connectDeviceId,
'serviceId': tagServiceUUID,
'characteristicId': tagReadUUID,
'success': () => {
if (typeof connectTimer != undefined) {
clearTimeout(connectTimer);
}
setTimeout(() => {
typeof connectCallback[_0xf5c9('0x1b')] == FUNCTION && connectCallback[_0xf5c9(
'0x1b')](toObject(codeEnum['success'], undefined, '连接成功,握手成功'));
}, 0x3e8);
my['onBLECharacteristicValueChange']({
'success': _0x30bb4a => {
if (read) {
analyticData(_0x30bb4a[_0xf5c9('0x1a')]['toLowerCase']());
}
}
});
},
'fail': _0x5e6282 => {
if (typeof connectTimer != undefined) {
clearTimeout(connectTimer);
}
typeof connectCallback['fail'] == FUNCTION && connectCallback['fail'](toObject(codeEnum[_0xf5c9(
'0x1c')], undefined, _0xf5c9('0x23')));
}
});
}

function offBLECharacteristicValueChange() {
my['offBLECharacteristicValueChange']();
}

function analyticData(_0x3e5a78) {
console[_0xf5c9('0x14')]('蓝牙数据接收:' + _0x3e5a78);
if (frame[_0xf5c9('0xd')] == 0x0) {
frameLen = parseInt(_0x3e5a78['slice'](0x4, 0x8), 0x10) * 0x2;
}
frame += _0x3e5a78;
if (frame[_0xf5c9('0x9')](0x0, 0x4) != 'fe01') {
frame = '';
frameLen = 0x0;
} else if (frame['length'] > frameLen) {
frame = '';
frameLen = 0x0;
typeof dataHandlerCallback == FUNCTION && dataHandlerCallback(toObject(codeEnum[_0xf5c9('0x1c')], '',
'数据长度越界'));
} else if (frame[_0xf5c9('0xd')] == frameLen) {
let _0x4b2e97 = frame[_0xf5c9('0x9')](0x8, 0xc);
if (_0x4b2e97 === '2712') {
let _0x1453f8 = frame['slice'](0x10);
let _0x206028 = _0x1453f8['slice'](0x8, -0x6);
frame = '';
frameLen = 0x0;
if (frames['length'] == 0x0) {
let _0x15c5e1 = parseInt(_0x206028['slice'](0x4, 0x6), 0x10);
framesLen = _0x15c5e1 - 0x80 + 0x1;
}
frames[_0xf5c9('0x1d')](_0x206028);
if (frames['length'] == framesLen) {
let _0x5e3a98 = !![];
for (let _0xab8645 = 0x0; _0xab8645 < frames[_0xf5c9('0xd')]; _0xab8645++) {
let _0x40bd69 = frames[_0xab8645];
let _0x2c9f45 = 0x0;
for (let _0x3a8918 = 0x1; _0x3a8918 < parseInt(_0x40bd69[_0xf5c9('0xd')] / 0x2) -
0x1; _0x3a8918++) {
let _0x1e2dcc = parseInt(_0x40bd69['slice'](_0x3a8918 * 0x2, (_0x3a8918 + 0x1) * 0x2), 0x10);
_0x2c9f45 ^= _0x1e2dcc;
}
if (_0x2c9f45 != parseInt(_0x40bd69[_0xf5c9('0x9')](-0x2), 0x10)) {
_0x5e3a98 = ![];
break;
}
}
if (_0x5e3a98 == ![]) {
frames = new Array();
framesLen = 0x0;
typeof dataHandlerCallback == FUNCTION && dataHandlerCallback(toObject(codeEnum[_0xf5c9('0x1c')],
'', 'bcc校验不通过'));
} else {
let _0x33b27d = '';
for (let _0x345bc5 = 0x0; _0x345bc5 < frames[_0xf5c9('0xd')]; _0x345bc5++) {
let _0x49a282 = frames[_0x345bc5];
_0x33b27d += _0x49a282[_0xf5c9('0x9')](0x8, -0x2);
}
frames = new Array();
framesLen = 0x0;
typeof dataHandlerCallback == FUNCTION && dataHandlerCallback(toObject(codeEnum['success'],
_0x33b27d, '成功'));
}
}
} else {
frame = '';
frameLen = 0x0;
}
}
}

function sendAndReceive(_0x232938, _0x172387, _0x2383ba, _0x30b171) {
if (_0x232938 != 0x0 && _0x232938 != 0x1) {
typeof _0x2383ba[_0xf5c9('0x1c')] == FUNCTION && _0x2383ba['fail'](toObject(codeEnum['success'], undefined,
'type\x20错误'));
return;
}
if (typeof transTimer != undefined) {
clearTimeout(transTimer);
}
transTimer = setTimeout(() => {
typeof _0x2383ba['fail'] == FUNCTION && _0x2383ba[_0xf5c9('0x1c')](toObject(codeEnum['timeout'],
undefined, _0x232938 == 0x0 ? '发送ICC指令超时' : '发送esam指令超时'));
}, _0x30b171);
cmds = _0x172387[_0xf5c9('0x9')]();
var _0x3a5000 = promise(_0x172387, _0x232938);
_0x3a5000 = _0x3a5000[_0xf5c9('0x1f')](_0x3e2371 => {
if (typeof transTimer != undefined) {
clearTimeout(transTimer);
}
if (_0x3e2371 === undefined) {
return;
}
typeof _0x2383ba['success'] == FUNCTION && _0x2383ba['success'](toObject(codeEnum['success'], _0x3e2371,
_0x232938 == 0x0 ? '发送ICC指令成功' : _0xf5c9('0xa')));
}, (_0x423b8f, _0x29d8d8) => {
if (_0x423b8f != undefined) {
if (typeof transTimer != undefined) {
clearTimeout(transTimer);
}
typeof _0x2383ba['fail'] == FUNCTION && _0x2383ba['fail'](toObject(codeEnum[_0xf5c9('0x1c')],
_0x29d8d8, _0x423b8f));
}
});
}

function promise(_0x468151, _0x4d2ff8) {
return new Promise((_0x34c1f8, _0x2da9e1) => {
if (_0x4d2ff8 === 0x0) {
var _0x3b4904 = dataUtil['makeA3SendData']('00', dataUtil['makeTLV'](_0x468151));
} else {
var _0x3b4904 = dataUtil[_0xf5c9('0x18')]('00', dataUtil[_0xf5c9('0x10')](_0x468151));
}
sendDataToDevice(_0x3b4904, _0x26bfbd => {
if (_0x26bfbd['code'] === codeEnum[_0xf5c9('0x1b')]) {
if (_0x26bfbd['data'][_0xf5c9('0x9')](0x2, 0x4) === '00' || _0x26bfbd[_0xf5c9('0x4')][
'slice'
](0x2, 0x4) === 'cf') {
let _0xe05ae9 = _0x26bfbd['data']['slice'](0xa);
let _0x209462 = dataUtil[_0xf5c9('0xf')](_0x26bfbd['data']['slice'](0xa));
_0x34c1f8(_0x209462);
} else {
console['log']('TLV指令集有指令执行失败');
let _0x295677 = _0x26bfbd['data']['slice'](0xa);
let _0x41c368 = dataUtil[_0xf5c9('0xf')](_0x26bfbd[_0xf5c9('0x4')][_0xf5c9('0x9')](
0xa));
_0x2da9e1(_0xf5c9('0x0') + _0x41c368[_0x41c368['length'] - 0x1][_0xf5c9('0x9')](-
0x4));
}
} else {
console['log'](_0xf5c9('0x5'));
_0x2da9e1(_0x26bfbd['msg']);
}
});
});
}

function sendDataToDevice(_0x11c220, _0xdbb603) {
dataHandlerCallback = _0xdbb603;
sendBufferArray = new Array()[_0xf5c9('0x2')](_0x11c220);
sendIndex = 0x0;
read = !![];
frame = '';
frameLen = 0x0;
frames = new Array();
framesLen = 0x0;
runningSendData();
}

function runningSendData() {
let _0x1cf6e5 = sendBufferArray[sendIndex];
let _0x32342d = dataUtil[_0xf5c9('0x20')](_0x1cf6e5);
console[_0xf5c9('0x14')](_0xf5c9('0x12') + _0x32342d);
my['writeBLECharacteristicValue']({
'deviceId': connectDeviceId,
'serviceId': tagServiceUUID,
'characteristicId': tagWriteUUID,
'value': _0x1cf6e5,
'success': function(_0x2fc6f) {
sendIndex++;
resendCount = 0x3;
if (sendIndex < sendBufferArray[_0xf5c9('0xd')]) {
runningSendData();
}
},
'fail': function(_0x3d2851) {
if (_0x3d2851[_0xf5c9('0xc')]['indexOf']('数据格式错误') != -0x1) {
typeof dataHandlerCallback == FUNCTION && dataHandlerCallback(toObject(codeEnum[_0xf5c9(
'0x1c')], '', '发送的数据格式错误:' + _0x32342d));
} else {
typeof dataHandlerCallback == FUNCTION && dataHandlerCallback(toObject(codeEnum[_0xf5c9(
'0x1c')], '', '发送数据失败:' + JSON['stringify'](_0x3d2851)));
}
}
});
}

function sendA5Command(_0x1fc32c, _0x2ce9f8, _0x1cd591) {
var _0x3eaa69 = setTimeout(() => {
typeof _0x2ce9f8['fail'] == FUNCTION && _0x2ce9f8[_0xf5c9('0x1c')](toObject(codeEnum['fail'], undefined,
_0xf5c9('0x1e')));
}, _0x1cd591);
var _0x1e98c4 = dataUtil['makeA5SendData'](_0x1fc32c['toUpperCase']());
sendDataToDevice(_0x1e98c4, _0xabe804 => {
if (_0x3eaa69 != undefined) {
clearTimeout(_0x3eaa69);
}
console['log'](_0xf5c9('0x3'), JSON['stringify'](_0xabe804));
if (_0xabe804[_0xf5c9('0x6')] === codeEnum['success']) {
if (_0xabe804['data'][_0xf5c9('0x9')](0x0, 0x2) == 'b5' && _0xabe804['data']['slice'](0x2, 0x4) ==
'00') {
let _0x3a72fc = parseInt(_0xabe804[_0xf5c9('0x4')][_0xf5c9('0x9')](0x4, 0x6), 0x10);
typeof _0x2ce9f8[_0xf5c9('0x1b')] == FUNCTION && _0x2ce9f8['success'](toObject(codeEnum[
'success'], _0xabe804[_0xf5c9('0x4')][_0xf5c9('0x9')](0x6, 0x6 + _0x3a72fc *
0x2), '成功'));
} else {
typeof _0x2ce9f8['fail'] == FUNCTION && _0x2ce9f8['fail'](toObject(codeEnum[_0xf5c9('0x1c')],
_0xabe804['data'], _0xf5c9('0x8')));
}
} else {
typeof _0x2ce9f8['fail'] == FUNCTION && _0x2ce9f8[_0xf5c9('0x1c')](toObject(codeEnum[_0xf5c9(
'0x1c')], undefined, 'A5指令发送数据失败'));
}
});
}

function openOrCloseAerial(_0x53abde, _0x2bfc73, _0x557cdb) {
if (_0x53abde == undefined || typeof _0x53abde != 'number' || _0x53abde != 0x0 && _0x53abde != 0x1) {
typeof _0x2bfc73['fail'] == FUNCTION && _0x2bfc73['fail'](toObject(0xfa0, undefined, '无效参数'));
} else {
var _0x3aeea4 = setTimeout(() => {
typeof _0x2bfc73[_0xf5c9('0x1c')] == FUNCTION && _0x2bfc73[_0xf5c9('0x1c')](toObject(0x7d0,
undefined, '打开/关闭天线指令超时'));
}, _0x557cdb);
var _0x1299bc = 0x0;
if (_0x53abde === 0x0) {
_0x1299bc = 0x3;
} else {
_0x1299bc = 0x1;
}
let _0x483ee7 = 'C7' + parseInt(_0x1299bc)[_0xf5c9('0x7')](0x10)['padStart'](0x2, '0');
var _0xb5d3ff = dataUtil[_0xf5c9('0x21')](_0x483ee7);
console[_0xf5c9('0x14')](_0xb5d3ff);
sendDataToDevice(_0xb5d3ff, _0x50a3b1 => {
if (_0x3aeea4 != undefined) {
clearTimeout(_0x3aeea4);
}
if (_0x50a3b1['code'] === codeEnum['successCode']) {
if (_0x50a3b1['data']['slice'](0x0, 0x2) == 'b5' && _0x50a3b1[_0xf5c9('0x4')]['slice'](0x2,
0x4) == '00') {
let _0x146e42 = parseInt(_0x50a3b1[_0xf5c9('0x4')]['slice'](0x4, 0x6), 0x10);
typeof _0x2bfc73[_0xf5c9('0x1b')] == FUNCTION && _0x2bfc73['success'](toObject(codeEnum[
'successCode'], _0x50a3b1[_0xf5c9('0x4')][_0xf5c9('0x9')](0x6, 0x6 +
_0x146e42 * 0x2), '成功'));
} else {
typeof _0x2bfc73['fail'] == FUNCTION && _0x2bfc73[_0xf5c9('0x1c')](toObject(0xfa0,
_0x50a3b1['data'], _0xf5c9('0x8')));
}
} else {
typeof _0x2bfc73['fail'] == FUNCTION && _0x2bfc73['fail'](toObject(0xfa0, undefined,
'打开/关闭天线失败'));
}
});
}
}

+ 170
- 0
static/etc/JTAPIS/DataUtil.js Dosyayı Görüntüle

@@ -0,0 +1,170 @@
module['exports'] = {
'numberToHexString': numberToHexString,
'hexStringToBufferArray': hexStringToBufferArray,
'bufferArrayToHexString': bufferArrayToHexString,
'makeTLV': makeTLV,
'resolveTLV': resolveTLV,
'makeA3SendData': makeA3SendData,
'makeA8SendData': makeA8SendData,
'makeA5SendData': makeA5SendData
};
const frameLen = (0x3d540 ^ 0x3d5d6) * (0x9c688 ^ 0x9c68a);
const sendLen = (0x88300 ^ 0x88314) * (0x21722 ^ 0x21720);
const ST = '33';
const preProto = '0a0012';
const endProto = '1800';
const bMagic = 'fe';
const bVer = '01';
const bCmdId = '7531';
var SEQ = 0xbe59a ^ 0xbe599;

function makeFrame(_0x35bc96) {
let _0x268129 = parseInt(_0x35bc96['length'] / frameLen);
let _0xacf032 = _0x35bc96['length'] % frameLen;
let _0x42ec4d = new Array();
for (let _0x198e24 = 0x87337 ^ 0x87337; _0x198e24 < _0x268129; _0x198e24++) {
_0x42ec4d['push'](_0x35bc96['slice'](_0x198e24 * frameLen, (_0x198e24 + (0x19940 ^ 0x19941)) * frameLen));
}
if (_0xacf032 > (0x4a2e1 ^ 0x4a2e1)) {
_0x42ec4d['push'](_0x35bc96['slice'](-_0xacf032));
}
let _0x9b32c4 = new Array();
for (let _0x245523 = 0x67993 ^ 0x67993; _0x245523 < _0x42ec4d['length']; _0x245523++) {
let _0x428823 = _0x42ec4d[_0x245523];
let _0x207300 = numberToHexString(_0x245523 + (0xb00ff ^ 0xb00fe), 0x1, !![]);
let _0x46166a = '';
if (_0x245523 == (0x65203 ^ 0x65203)) {
_0x46166a = numberToHexString(0x80 + _0x42ec4d['length'] - 0x1, 0x9f2cd ^ 0x9f2cc, !![]);
} else {
_0x46166a = numberToHexString(_0x42ec4d['length'] - _0x245523 - 0x1, 0x1, !![]);
}
let _0x157c71 = numberToHexString(parseInt(_0x428823['length'] / 0x2), 0x1, !![]);
let _0xb3f3ea = ST + _0x207300 + _0x46166a + _0x157c71 + _0x428823;
let _0x1d5160 = 0x0;
for (let _0x3c4255 = 0x1; _0x3c4255 < parseInt(_0xb3f3ea['length'] / 0x2); _0x3c4255++) {
let _0x6674ef = parseInt(_0xb3f3ea['slice'](_0x3c4255 * 0x2, (_0x3c4255 + (0x33575 ^ 0x33574)) * 0x2),
0xbd490 ^ 0xbd480);
_0x1d5160 = _0x1d5160 ^ _0x6674ef;
}
_0xb3f3ea += numberToHexString(_0x1d5160, 0x1, !![]);
_0x9b32c4['push'](_0xb3f3ea);
}
let _0x5f5d88 = new Array();
for (let _0x3a0ec9 = 0x1cc00 ^ 0x1cc00; _0x3a0ec9 < _0x9b32c4['length']; _0x3a0ec9++) {
let _0x1f3035 = _0x9b32c4[_0x3a0ec9];
let _0x31b2a9 = numberToHexString(parseInt(_0x1f3035['length'] / (0x67658 ^ 0x6765a)), 0x43833 ^ 0x43832, !![]);
let _0xb64a0c = preProto + _0x31b2a9 + _0x1f3035 + endProto;
_0x5f5d88['push'](_0xb64a0c);
}
let _0x1e82ae = new Array();
for (let _0x543968 = 0xbcc79 ^ 0xbcc79; _0x543968 < _0x5f5d88['length']; _0x543968++) {
let _0x59ccdb = _0x5f5d88[_0x543968];
let _0x1bb73b = numberToHexString(parseInt(_0x59ccdb['length'] / 0x2) + 0x8, 0x88553 ^ 0x88551, !![]);
let _0x3d488f = numberToHexString(SEQ, 0x932b2 ^ 0x932b0, !![]);
let _0x2fb921 = bMagic + bVer + _0x1bb73b + bCmdId + _0x3d488f + _0x59ccdb;
_0x1e82ae['push'](_0x2fb921);
}
SEQ++;
if (SEQ > (0x27c85 ^ 0x27c8a)) {
SEQ = 0xd79d2 ^ 0xd79d3;
}
let _0x28fe81 = new Array();
for (let _0x35a7da = 0xe59b4 ^ 0xe59b4; _0x35a7da < _0x1e82ae['length']; _0x35a7da++) {
let _0x434969 = _0x1e82ae[_0x35a7da];
let _0x162390 = parseInt(_0x434969['length'] / sendLen);
let _0x199870 = _0x434969['length'] % sendLen;
for (let _0x4a5a02 = 0x0; _0x4a5a02 < _0x162390; _0x4a5a02++) {
let _0x15127c = _0x434969['slice'](_0x4a5a02 * sendLen, (_0x4a5a02 + (0x86b7e ^ 0x86b7f)) * sendLen);
_0x28fe81['push'](hexStringToBufferArray(_0x15127c));
}
if (_0x199870 > 0x0) {
let _0x3bc1c1 = _0x434969['slice'](-_0x199870);
_0x28fe81['push'](hexStringToBufferArray(_0x3bc1c1));
}
}
return _0x28fe81;
}

function makeA3SendData(_0xbfc508, _0x7891ad) {
let _0x44971d = 'a3' + _0xbfc508;
let _0x2651a0 = numberToHexString(parseInt(_0x7891ad['length'] / (0xe1b32 ^ 0xe1b30)), 0x2, ![]);
_0x44971d += _0x2651a0;
_0x44971d += _0x7891ad;
return makeFrame(_0x44971d);
}

function makeA8SendData(_0xf08694, _0x7583ca) {
let _0x429168 = 'a8' + _0xf08694;
let _0x12e5be = numberToHexString(parseInt(_0x7583ca['length'] / 0x2), 0x2, ![]);
_0x429168 += _0x12e5be;
_0x429168 += _0x7583ca;
return makeFrame(_0x429168);
}

function numberToHexString(_0xc38d55, _0x43704c, _0x35fbdc) {
let _0x3fd1cd = _0xc38d55['toString'](0xa903a ^ 0xa902a);
for (let _0x43c509 = _0x3fd1cd['length']; _0x43c509 < _0x43704c * 0x2; _0x43c509++) {
_0x3fd1cd = '0' + _0x3fd1cd;
}
if (_0x3fd1cd['length'] > _0x43704c * 0x2) {
_0x3fd1cd = _0x3fd1cd['substring'](_0x3fd1cd['length'] - _0x43704c * (0x56258 ^ 0x5625a));
}
if (_0x35fbdc == ![]) {
let _0x1eadfc = '';
for (let _0x1560e5 = _0x3fd1cd['length'] - 0x2; _0x1560e5 >= 0x0; _0x1560e5 -= 0x4a7b0 ^ 0x4a7b2) {
_0x1eadfc = _0x1eadfc + _0x3fd1cd['substring'](_0x1560e5, _0x1560e5 + 0x2);
}
_0x3fd1cd = _0x1eadfc;
}
return _0x3fd1cd;
}

function hexStringToBufferArray(_0x34cce2) {
let _0x498a85 = new Uint8Array(_0x34cce2['match'](/[0-9a-f]{2}/gi)['map'](function(_0x40572e) {
return parseInt(_0x40572e, 0xa40de ^ 0xa40ce);
}));
return _0x498a85['buffer'];
}

function bufferArrayToHexString(_0x180899) {
let _0x2ce7ed = Array['prototype']['map']['call'](new Uint8Array(_0x180899), _0x5ee1a1 => ('00' + _0x5ee1a1[
'toString'](0xb3099 ^ 0xb3089))['slice'](-0x2))['join']('');
return _0x2ce7ed;
}

function makeTLV(_0x457cbe) {
let _0x20719f = '';
for (let _0x273d52 = 0x0; _0x273d52 < _0x457cbe['length']; _0x273d52++) {
_0x20719f += (_0x273d52 + (0x4a99f ^ 0x4a99e))['toString'](0x10)['padStart'](0xbde89 ^ 0xbde8b, '0') + (
_0x457cbe[_0x273d52]['length'] / 0x2)['toString'](0x10)['padStart'](0x2, '0') + _0x457cbe[_0x273d52];
}
return '80' + (_0x20719f['length'] / (0x740e5 ^ 0x740e7))['toString'](0x10)['padStart'](0x2, '0') + _0x20719f;
}

function resolveTLV(_0x56da10) {
let _0x40fe65 = new Array();
let _0x30a0a3 = parseInt(_0x56da10['substring'](0x206b6 ^ 0x206b4, 0x4), 0xddd22 ^ 0xddd32);
let _0x2a1587 = 0x4;
if (_0x30a0a3 > 0x80) {
_0x2a1587 = _0x2a1587 + (_0x30a0a3 - (0xc1f20 ^ 0xc1fa0)) * 0x2;
}
let _0x5e64a1 = 0x33dd2 ^ 0x33dd3;
while (_0x2a1587 < _0x56da10['length']) {
let _0x1bad89 = parseInt(_0x56da10['substring'](_0x2a1587, _0x2a1587 + 0x2), 0x10);
_0x2a1587 += 0x2;
let _0x24cc76 = parseInt(_0x56da10['substring'](_0x2a1587, _0x2a1587 + (0x8331e ^ 0x8331c)), 0x10);
_0x2a1587 += 0x2;
let _0x3197e6 = _0x56da10['substring'](_0x2a1587, _0x2a1587 + _0x24cc76 * 0x2);
_0x40fe65['push'](_0x3197e6);
_0x2a1587 += _0x24cc76 * 0x2;
}
return _0x40fe65;
}

function makeA5SendData(_0x168749) {
let _0x3a8eb6 = 'a5';
let _0x1100cb = Number(parseInt(_0x168749['length'] / 0x2))['toString'](0x10)['padStart'](0x2, '0');
_0x3a8eb6 += _0x1100cb;
_0x3a8eb6 += _0x168749;
return makeFrame(_0x3a8eb6);
}

+ 324
- 0
static/etc/WJBLE/WJBleAPI.js Dosyayı Görüntüle

@@ -0,0 +1,324 @@
"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 connectedDeviceId, TAG_FUNCTION = "function",
SDK_VERSION = "WJ_BLESDK_ZFB_SD_V1.0.1_20230112";

function connectDevice(t) {
_WJService2.default.reallyConnect(function(e) {
console.log("连接结果:", e.err_msg), (void 0 === t ? "undefined" : _typeof(t)) == TAG_FUNCTION && t(e)
})
}

function connectDevice2(e, t) {
_WJService2.default._connectDevice(e, function(e) {
console.log("连接结果:", e.err_msg), (void 0 === t ? "undefined" : _typeof(t)) == TAG_FUNCTION && t(e)
})
}

function disconnectDevice(e, t) {
_WJService2.default.reallyDisConnect(e, function(e) {
console.log("断开结果:", e.err_msg), (void 0 === t ? "undefined" : _typeof(t)) == TAG_FUNCTION && t(e)
})
}

function authOBU(e, t, a, d) {
var i, s = {},
n = e.length;
n == t && 8 == a.length ? (t = "c5" + _WJUtils2.default.byte2hexStr(4 + parseInt(n / 2)) + e + a, n = _WJUtils2
.default.getCMD_TYPE(), i = {}, e = "", 0 == n ? e = "84" : 1 == n && (e = "A2"), i = _WJDataEncode2.default
.encode(t, "", e), _WJDataInteract2.default._StartSendData(i.serviceData.dataEncode, function(e) {
0 == e.serviceCode ? (i = _WJDataAnalysis2.default.analysisAuthOBU(e.serviceData.dataBuff), s.code =
i.serviceCode, s.err_msg = i.serviceInfo, s.data = i.serviceData.dataBuff) : s = e, (
void 0 === d ? "undefined" : _typeof(d)) == TAG_FUNCTION && d(s)
})) : (s.serviceCode = -1, s.serviceInfo = "paramater is error!", (void 0 === d ? "undefined" : _typeof(
d)) == TAG_FUNCTION && d(s))
}

function getActState(t) {
var a, d = {},
e = "",
i = _WJUtils2.default.getCMD_TYPE();
0 == i ? e = "810100C6" : 1 == i && (e = "A501CB"), a = _WJDataEncode2.default.encode(e), _WJDataInteract2.default
._StartSendData(a.serviceData.dataEncode, function(e) {
0 == e.serviceCode ? (a = _WJDataAnalysis2.default.analysisGetActState(e.serviceData.dataBuff), d.code =
a.serviceCode, d.err_msg = a.serviceInfo, d.data = a.serviceData.dataBuff) : d = e, (void 0 ===
t ? "undefined" : _typeof(t)) == TAG_FUNCTION && t(d)
})
}

function lightAct(e, t, a) {
var d, i = {},
s = "",
n = "",
o = _WJUtils2.default.getCMD_TYPE();
1 == e || 0 == e && 0 < t ? (t = _WJUtils2.default.byte2hexStr(t), n = 0 == e ? "C1" : "C2", d = {}, 0 == o ? s =
"870200" + n + t : 1 == o && (s = "A2"), d = _WJDataEncode2.default.encode(s), _WJDataInteract2.default
._StartSendData(d.serviceData.dataEncode, function(e) {
0 == e.serviceCode ? (d = _WJDataAnalysis2.default.analysisLightAct(e.serviceData.dataBuff), i
.code = d.serviceCode, i.err_msg = d.serviceInfo, i.data = d.serviceData.dataBuff) : i = e,
(void 0 === a ? "undefined" : _typeof(a)) == TAG_FUNCTION && a(i)
})) : (i.serviceCode = -1, i.serviceInfo = "paramater is error", (void 0 === a ? "undefined" : _typeof(
a)) == TAG_FUNCTION && a(i))
}

function upNewPipe(e, t) {
var a, d = {},
i = "",
s = _WJUtils2.default.getCMD_TYPE(); - 1 < e ? (e = _WJUtils2.default.byte2hexStr(e), a = {}, 0 == s ? i =
"810200C7" + e : 1 == s && (i = "A2"), a = _WJDataEncode2.default.encode(i), _WJDataInteract2.default
._StartSendData(a.serviceData.dataEncode, function(e) {
0 == e.serviceCode ? (a = _WJDataAnalysis2.default.analysisUpNewPipe(e.serviceData.dataBuff), d
.code = a.serviceCode, d.err_msg = a.serviceInfo, d.data = a.serviceData.dataBuff) : d = e,
(void 0 === t ? "undefined" : _typeof(t)) == TAG_FUNCTION && t(d)
})) : (d.serviceCode = -1, d.serviceInfo = "paramater is error", (void 0 === t ? "undefined" : _typeof(
t)) == TAG_FUNCTION && t(d))
}

function transCmd(e, t, a, d) {
var i, s = {};
"10" == t || "20" == t || "30" == t || "00" == t ? (i = {}, i = _WJDataEncode2.default.encode(e, t, a),
_WJDataInteract2.default._StartSendData(i.serviceData.dataEncode, function(e) {
0 == e.serviceCode ? (_WJUtils2.default.showLog("APDU透传指令成功"), s.code = 0, s.err_msg =
"transcmd success", s.data = e.serviceData.dataBuff) : (s.err_msg = e.serviceInfo, s.code =
e.serviceCode), (void 0 === d ? "undefined" : _typeof(d)) == TAG_FUNCTION && d(s)
})) : (s.code = -1, s.msg = "cmdtype参数错误!", (void 0 === d ? "undefined" : _typeof(d)) == TAG_FUNCTION && d(
s))
}

function initIC(t) {
var a, d = {},
e = "",
i = _WJUtils2.default.getCMD_TYPE();
0 == i ? e = "80" : 1 == i && (e = "A9"), a = _WJDataEncode2.default.encode(e), _WJDataInteract2.default
._StartSendData(a.serviceData.dataEncode, function(e) {
0 == e.serviceCode ? (a = _WJDataAnalysis2.default.analysisinitIC(e.serviceData.dataBuff), d.code = a
.serviceCode, d.err_msg = a.serviceInfo, d.data = a.serviceData.dataBuff) : (d.code = e
.serviceCode, d.err_msg = e.serviceInfo), (void 0 === t ? "undefined" : _typeof(t)) ==
TAG_FUNCTION && t(d)
})
}

function getDeviceInfo(e, t) {
var a, d = {},
i = "",
s = _WJUtils2.default.getCMD_TYPE();
0 == s ? i = "810100" + e : 1 == s && (i = "A501" + e), a = _WJDataEncode2.default.encode(i), _WJDataInteract2
.default._StartSendData(a.serviceData.dataEncode, function(e) {
0 == e.serviceCode ? (_WJUtils2.default.showLog("获取设备信息成功"), a = _WJDataAnalysis2.default
.analysisDeviceInfo(e.serviceData.dataBuff), d.err_msg = "获取设备信息成功", d.code = a.serviceCode, d
.data = a.serviceData) : (d.code = e.serviceCode, d.err_msg = e.serviceInfo), (void 0 === t ?
"undefined" : _typeof(t)) == TAG_FUNCTION && t(d)
})
}

function selectDir(t, e, a) {
var d, i, s, n, o = {};
4 == t.length && "10" == e || "20" == e || "00" == e ? (i = "010700A4000002" + t, e = e, s = "", 1 == _WJUtils2
.default.getTRANSFER_TYPE() && (i = _WJUtils2.default.TPDU2APDU(i)), 0 == (n = _WJUtils2.default
.getCMD_TYPE()) ? s = "82" : 1 == n && (s = "AC"), this.transCmd(i, e, s, function(e) {
0 == e.code ? (console.log(e.data), _WJUtils2.default.showLog("transCmd success", e.data), d =
_WJDataAnalysis2.default._analysisIs9000(e.data), console.log(d), o.code = d.serviceCode,
0 == d.serviceCode ? (_WJUtils2.default.showLog("进 " + t + " 目录成功"), o.err_msg = "进" + t +
"目录成功") : (_WJUtils2.default.showLog("进 " + t + " 目录失败"), o.err_msg = "进" + t + "目录失败")
) : o = e, (void 0 === a ? "undefined" : _typeof(a)) == TAG_FUNCTION && a(o)
})) : (o.code = -1, o.err_msg = "参数长度有误", (void 0 === a ? "undefined" : _typeof(a)) == TAG_FUNCTION && a(o))
}

function getCardInfo(t) {
var a, d = {},
e = "010500B095002B0205805C000204",
i = "",
s = "",
n = (1 == _WJUtils2.default.getTRANSFER_TYPE() && (e = _WJUtils2.default.TPDU2APDU(e)), _WJUtils2.default
.getCMD_TYPE());
0 == n ? (i = "10", s = "82") : 1 == n && (i = "00", s = "A3"), this.transCmd(e, i, s, function(e) {
0 == e.code ? (_WJUtils2.default.showLog("transCmd success"), a = _WJDataAnalysis2.default
.analysisCardInfo(e.data), d.code = a.serviceCode, d.err_msg = "获取卡片信息成功", d.data = a
.serviceData) : d = e, (void 0 === t ? "undefined" : _typeof(t)) == TAG_FUNCTION && t(d)
})
}

function readCardOwnerRecord(t) {
var a, d = {},
e = "010500B0960037",
i = "",
s = "",
n = (1 == _WJUtils2.default.getTRANSFER_TYPE() && (e = _WJUtils2.default.TPDU2APDU(e)), _WJUtils2.default
.getCMD_TYPE());
0 == n ? (i = "10", s = "82") : 1 == n && (i = "00", s = "A3"), this.transCmd(e, i, s, function(e) {
0 == e.code ? (_WJUtils2.default.showLog("transCmd success"), a = _WJDataAnalysis2.default
.analysisCardOwnerRecord(e.data), d.code = a.serviceCode, d.err_msg = "获取持卡人信息成功", d.data = a
.serviceData) : d = e, (void 0 === t ? "undefined" : _typeof(t)) == TAG_FUNCTION && t(d)
})
}

function readCardTransactionRecord(e, t) {
var a, d = {},
e = "010500B2" + _WJUtils2.default.byte2hexStr(e) + "C400",
i = "",
s = "",
n = (1 == _WJUtils2.default.getTRANSFER_TYPE() && (e = _WJUtils2.default.TPDU2APDU(e)), _WJUtils2.default
.getCMD_TYPE());
0 == n ? (i = "10", s = "82") : 1 == n && (i = "00", s = "A3"), this.transCmd(e, i, s, function(e) {
0 == e.code ? (_WJUtils2.default.showLog("transCmd success"), a = _WJDataAnalysis2.default
.analysisCardTransactionRecord(e.data), d.code = a.serviceCode, d.err_msg = "获取交易记录信息成功", d
.data = a.serviceData) : d = e, (void 0 === t ? "undefined" : _typeof(t)) == TAG_FUNCTION && t(
d)
})
}

function authPIN(e, t) {
var a, d, i, s, n = {};
e.length % 2 == 0 && 6 <= e.length && e.length <= 12 ? (d = _WJUtils2.default.byte2hexStr(parseInt(e.length / 2)),
d = "01" + _WJUtils2.default.byte2hexStr(5 + parseInt(e.length / 2)) + "00200000" + d + e, i = e = "", 1 ==
_WJUtils2.default.getTRANSFER_TYPE() && (d = _WJUtils2.default.TPDU2APDU(d)), 0 == (s = _WJUtils2.default
.getCMD_TYPE()) ? (e = "10", i = "82") : 1 == s && (e = "00", i = "A3"), this.transCmd(d, e, i,
function(e) {
0 == e.code ? (_WJUtils2.default.showLog("transCmd success"), a = _WJDataAnalysis2.default
._analysisIs9000(e.data), n.code = a.serviceCode, 0 == n.code ? (_WJUtils2.default.showLog(
"PIN认证成功"), n.err_msg = "PIN认证成功") : (_WJUtils2.default.showLog("PIN认证失败"), n.err_msg =
"PIN认证失败")) : n = e, (void 0 === t ? "undefined" : _typeof(t)) == TAG_FUNCTION && t(n)
})) : (n.code = -1, n.err_msg = "参数长度有误", (void 0 === t ? "undefined" : _typeof(t)) == TAG_FUNCTION &&
t(n))
}

function initLoadCreadit(e, t, a, d, i, s) {
var n, o, r = {};
null != e && null != t && null != a && null != d && null != i ? 12 == a.length && 2 == d.length && 2 == i.length ? (
e = new ArrayBuffer(4), (o = new DataView(e)).setInt8(0, t >> 24 & 255), o.setInt8(1, t >> 16 & 255), o
.setInt8(2, t >> 8 & 255), o.setInt8(3, t >> 0 & 255), o = "0110805000" + d + "0B" + i + _WJUtils2.default
.byteArray2hexStr(e) + a, d = t = "", 1 == _WJUtils2.default.getTRANSFER_TYPE() && (o = _WJUtils2.default
.TPDU2APDU(o)), 0 == (i = _WJUtils2.default.getCMD_TYPE()) ? (t = "10", d = "82") : 1 == i && (t = "00",
d = "A3"), this.transCmd(o, t, d, function(e) {
0 == e.code ? (_WJUtils2.default.showLog("transCmd success"), n = _WJDataAnalysis2.default
.analysisInitInfo(e.data), r.code = n.serviceCode, r.err_msg = "圈存初始化成功", r.data = n
.serviceData) : r = e, (void 0 === s ? "undefined" : _typeof(s)) == TAG_FUNCTION && s(r)
})) : (r.code = -2, r.err_msg = "参数长度有误!", (void 0 === s ? "undefined" : _typeof(s)) == TAG_FUNCTION && s(
r)) : (r.code = -1, r.err_msg = "参数有空!", (void 0 === s ? "undefined" : _typeof(s)) == TAG_FUNCTION && s(r))
}

function loadCreadit(e, t) {
var a, d, i, s, n = {};
null != e && 22 == e.length ? (e = "0111805200000B" + e + "04", i = d = "", 1 == _WJUtils2.default
.getTRANSFER_TYPE() && (e = _WJUtils2.default.TPDU2APDU(e)), 0 == (s = _WJUtils2.default.getCMD_TYPE()) ? (
d = "10", i = "82") : 1 == s && (d = "00", i = "A3"), this.transCmd(e, d, i, function(e) {
0 == e.code ? (_WJUtils2.default.showLog("transCmd success"), a = _WJDataAnalysis2.default
.analysisLoadCreadit(e.data), n.code = a.serviceCode, n.err_msg = "圈存成功", n.data = a
.serviceData) : n = e, (void 0 === t ? "undefined" : _typeof(t)) == TAG_FUNCTION && t(n)
})) : (n.code = -1, n.err_msg = "获取圈存指令失败:参数null或长度有误", (void 0 === t ? "undefined" : _typeof(t)) ==
TAG_FUNCTION && t(n))
}

function getObuSysInfo(t) {
var a, d = {},
e = "010500B081001B",
i = "",
s = "",
n = (1 == _WJUtils2.default.getTRANSFER_TYPE() && (e = _WJUtils2.default.TPDU2APDU(e)), _WJUtils2.default
.getCMD_TYPE());
0 == n ? (i = "20", s = "82") : 1 == n && (i = "00", s = "AC"), this.transCmd(e, i, s, function(e) {
0 == e.code ? (_WJUtils2.default.showLog("transCmd success"), a = _WJDataAnalysis2.default
.analysisgetObuSysInfo(e.data), d.code = a.serviceCode, d.err_msg = "获取系统信息成功", d.data = a
.serviceData) : d = e, (void 0 === t ? "undefined" : _typeof(t)) == TAG_FUNCTION && t(d)
})
}

function getRand(e, t) {
var a, d = {},
i = "01050084000004",
s = "",
n = (1 == _WJUtils2.default.getTRANSFER_TYPE() && (i = _WJUtils2.default.TPDU2APDU(i)), _WJUtils2.default
.getCMD_TYPE());
0 == n ? s = "82" : 1 == n && (s = "AC"), this.transCmd(i, e, s, function(e) {
0 == e.code ? (_WJUtils2.default.showLog("transCmd success"), a = _WJDataAnalysis2.default
.analysisGetRand(e.data), d.code = a.serviceCode, d.err_msg = "获取随机数成功", d.data = a.serviceData
) : d = e, (void 0 === t ? "undefined" : _typeof(t)) == TAG_FUNCTION && t(d)
})
}

function writeOBUInfo(e, t) {
var a, d, i, s, n = {};
null != e && e.length % 2 == 0 ? (e = "01" + _WJUtils2.default.byte2hexStr(parseInt(e.length / 2)) + e, i = d = "",
1 == _WJUtils2.default.getTRANSFER_TYPE() && (e = _WJUtils2.default.TPDU2APDU(e)), 0 == (s = _WJUtils2
.default.getCMD_TYPE()) ? (d = "20", i = "82") : 1 == s && (d = "00", i = "A0"), this.transCmd(e, d, i,
function(e) {
0 == e.serviceCode ? (a = _WJDataAnalysis2.default._analysisIs9000(e.data), n.code = a.serviceCode,
0 == n.serviceCode ? (_WJUtils2.default.showLog("写OBU信息成功"), n.err_msg = "写OBU信息成功") : (
_WJUtils2.default.showLog("写OBU信息失败"), n.err_msg = "写OBU信息失败")) : n = e, (void 0 === t ?
"undefined" : _typeof(t)) == TAG_FUNCTION && t(n)
})) : (n.code = -1, n.err_msg = "参数错误", (void 0 === t ? "undefined" : _typeof(t)) == TAG_FUNCTION && t(
n))
}

function writeObuIssueSpecial(t) {
var a, d = {},
e = "01050059000001",
i = "",
s = "",
n = (1 == _WJUtils2.default.getTRANSFER_TYPE() && (e = _WJUtils2.default.TPDU2APDU(e)), _WJUtils2.default
.getCMD_TYPE());
0 == n ? (i = "20", s = "82") : 1 == n && (i = "00", s = "A0"), this.transCmd(e, i, s, function(e) {
0 == e.code ? (a = _WJDataAnalysis2.default._analysisIs9000(e.data), d.code = a.serviceCode, 0 == d
.serviceCode ? (_WJUtils2.default.showLog("写OBU信息成功"), d.err_msg = "写OBU信息成功") : (_WJUtils2
.default.showLog("写OBU信息失败"), d.err_msg = "写OBU信息失败")) : d = e, (void 0 === t ?
"undefined" : _typeof(t)) == TAG_FUNCTION && t(d)
})
}

function writeICInfo(e, t) {
var a, d, i, s, n = {};
null != e && e.length % 2 == 0 ? (e = "01" + _WJUtils2.default.byte2hexStr(parseInt(e.length / 2)) + e, i = d = "",
1 == _WJUtils2.default.getTRANSFER_TYPE() && (e = _WJUtils2.default.TPDU2APDU(e)), 0 == (s = _WJUtils2
.default.getCMD_TYPE()) ? (d = "10", i = "82") : 1 == s && (d = "00", i = "A3"), this.transCmd(e, d, i,
function(e) {
0 == e.code ? (a = _WJDataAnalysis2.default._analysisIs9000(e.data), n.code = a.serviceCode, 0 == n
.serviceCode ? (_WJUtils2.default.showLog("写IC信息成功"), n.err_msg = "写IC信息成功") : (_WJUtils2
.default.showLog("写IC信息失败"), n.err_msg = "写IC信息失败")) : n = e, (void 0 === t ?
"undefined" : _typeof(t)) == TAG_FUNCTION && t(n)
})) : (n.code = -1, n.err_msg = "参数错误", (void 0 === t ? "undefined" : _typeof(t)) == TAG_FUNCTION && t(
n))
}
module.exports = {
connectDevice: connectDevice,
connectDevice2: connectDevice2,
disconnectDevice: disconnectDevice,
transCmd: transCmd,
getDeviceInfo: getDeviceInfo,
getCardInfo: getCardInfo,
selectDir: selectDir,
getObuSysInfo: getObuSysInfo,
getRand: getRand,
authPIN: authPIN,
initLoadCreadit: initLoadCreadit,
loadCreadit: loadCreadit,
writeOBUInfo: writeOBUInfo,
writeICInfo: writeICInfo,
readCardOwnerRecord: readCardOwnerRecord,
readCardTransactionRecord: readCardTransactionRecord,
initIC: initIC,
authOBU: authOBU,
upNewPipe: upNewPipe,
lightAct: lightAct,
getActState: getActState
};

+ 1
- 0
static/etc/WJBLE/WJDataAnalysis.js
Dosya farkı çok büyük olduğundan ihmal edildi
Dosyayı Görüntüle


+ 1
- 0
static/etc/WJBLE/WJDataDecode.js Dosyayı Görüntüle

@@ -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};

+ 85
- 0
static/etc/WJBLE/WJDataEncode.js Dosyayı Görüntüle

@@ -0,0 +1,85 @@
"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 Dosyayı Görüntüle

@@ -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:case 185:return 0==t?(c=7,129==a[5]&&(129==a[6]?(l=255&a[7],c+=1):130==a[6]?(l=a[7]<<8,l+=255&a[8],c+=2):l=255&a[6]),c=a.slice(c,l+c),s=_WJUtils2.default.byteArray2hexStr(c)):1==t&&(c=a.slice(5),s=_WJUtils2.default.APDU2TPDU(_WJUtils2.default.byteArray2hexStr(c))),_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],c=a.slice(4,o+4),_WJUtils2.default.byteArray2hexStr(c));return _WJUtils2.default.showLog("WJ有效数据长度:",o,_WJUtils2.default.byteArray2hexStr(c)),_WJUtils2.default.showLog("操作类型ok",i),s;case 181:var o=a[2],c=a.slice(3,o+3);return _WJUtils2.default.showLog("WJ有效数据长度:",o,_WJUtils2.default.byteArray2hexStr(c)),_WJUtils2.default.showLog("操作类型ok",i),_WJUtils2.default.byteArray2hexStr(c);default:return _WJUtils2.default.showError("WJ通道类型有误"),null}}module.exports={_StartSendData:_StartSendData,_ReceiveData:_ReceiveData};

+ 1
- 0
static/etc/WJBLE/WJService.js
Dosya farkı çok büyük olduğundan ihmal edildi
Dosyayı Görüntüle


+ 1
- 0
static/etc/WJBLE/WJUtils.js Dosyayı Görüntüle

@@ -0,0 +1 @@
"use strict";var PROTOCOL_TYPE=1,PAGLENMAX=205,TRANSFER_TYPE=0,DATA_TYPE=0,CMD_TYPE=1;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};

+ 18
- 1
static/etcUtil/index.js Dosyayı Görüntüle

@@ -1,5 +1,5 @@
/**obu蓝牙设备SDK */
const wjApi = require("../etc/WJAPI/wjBleAPI");
// const wjApi = require("../etc/WJAPI/wjBleAPI");
// import * as wjApi from '../../lib/etc/WJAPI/wjBleAPI'
// const jlApi = require("../etc/JLAPI/JLObuSDK.js");
// import * as jlApi from '../../lib/etc/JLAPI/JLObuSDK.js'
@@ -24,9 +24,11 @@ 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
let wjApi = require("../etc/WJAPI/wjBleAPI");
// #ifdef MP-ALIPAY
// 这部分代码将仅在支付宝小程序平台下执行
jlApi = require("../../static/etc/JLObuSDK/JLObuSDK.js");
wjApi = require("../etc/WJBLE/WJBleAPI");
// 执行支付宝小程序的特定功能
// #endif

@@ -121,6 +123,20 @@ function transCmd(cmdArr, type, func, callBack = null) {
var connectPrefixName = datas.getData("connectPrefixName");
switch (connectPrefixName) {
case "WJ":
// #ifdef MP-ALIPAY
wjApi.transCmd(cmdArr, '00', type == '10' ? 'A3' : 'AC',function(res) {
if (res.code == 0) {
func(res.data);
} else {
if (callBack != null) {
callBack(res.msg);
} else {
alertF(res.msg);
}
}
});
// #endif
// #ifdef MP-WEIXIN
wjApi.transCmd(cmdArr, type, function(res) {
if (res.code == 0) {
func(res.data);
@@ -132,6 +148,7 @@ function transCmd(cmdArr, type, func, callBack = null) {
}
}
});
// #endif
break;
case "JL":
jlApi.transCmd(cmdArr, type, function(res) {

+ 4
- 0
subpackage/after-sale/activation/activate.vue Dosyayı Görüntüle

@@ -234,9 +234,13 @@
console.log('======获取OBU号======')
let cmdArray = [cmd.HOME_DIRECTORY, cmd.OBU_SYSTEM_FILE, cmd.RANDOM_NUMBER];
tools.showLoadingAlert("正在执行指令");
console.log('======cmdArray======',cmdArray)
bluetoothUtil.transCmd(cmdArray, "20", function(res) {
console.log('======cmdArray1======',cmdArray)
tools.hideLoadingAlert();
console.log('======cmdArray2======',cmdArray)
var status = res[1].substring(res[1].length - 4, res[1].length);
console.log('获取OBU号执行结果' + status)
//第一次获取随机数
if (status == "9000") {

+ 80
- 57
subpackage/after-sale/arrears/arrears.vue Dosyayı Görüntüle

@@ -309,7 +309,8 @@
paySign: data.sign,
success: function(e) {
console.log("支付成功", e);
checkOrder();
const dataaa = stringToJson(res.bizContent);
checkOrder(dataaa.orderId);
},
fail: function(err) {
confirm(err, () => {}, "支付失败", false);
@@ -317,61 +318,83 @@
});
});
// #endif
// #ifdef MP-ALIPAY
my.getAuthCode({
scopes: 'auth_user',
success: res => {
const optionsUser = {
type: 2,
data: {
payConfigId: aliPayConfigId,
code: res.authCode
},
method: "POST",
showLoading: true,
};
console.log('支付宝用户编号请求:',optionsUser)
request(obtainUserId, optionsUser).then((res) => {
console.log('支付宝用户编号返回:',res)
const data = stringToJson(res.bizContent);
const optionsali = {
type: 2,
data: {
openid: data.openId,
suppleNoList: state.suppleNoList,
totalFee: allPrice.value * 100,
payConfigId: aliPayConfigId,
},
method: "POST",
showLoading: true,
};
console.log('支付下单请求:',optionsali)
request(CardBillPlaceOrder, optionsali).then((res) => {
console.log('支付下单返回:',res)
const data = stringToJson(res.bizContent);
state.orderId = data.orderId
my.tradePay ({
// 调用统一收单交易创建接口(alipay.trade.create),获得返回字段支付宝交易号 trade_no
tradeNO: data.prepayId,
success: res => {
console.log("支付成功", res);
checkOrder();
},
fail: res => {
confirm(res, () => {}, "支付失败", false);
},
});
// #ifdef MP-ALIPAY
my.getAuthCode({
scopes: 'auth_base',
success: res => {
const optionsUser = {
type: 2,
data: {
payConfigId: aliPayConfigId,
code: res.authCode
},
method: "POST",
showLoading: true,
};
console.log('支付宝用户编号请求:',optionsUser)
request(obtainUserId, optionsUser).then((res) => {
console.log('支付宝用户编号返回:',res)
const data = stringToJson(res.bizContent);
const optionsali = {
type: 2,
data: {
openid: data.openId,
suppleNoList: state.suppleNoList,
totalFee: allPrice.value * 100,
payConfigId: "6a9a54123456578934edfre132b1234",
},
method: "POST",
showLoading: true,
};
console.log('支付下单请求:',optionsali)
request(CardBillPlaceOrder, optionsali).then((res) => {
console.log('支付下单返回:',res)
const data = stringToJson(res.bizContent);
my.tradePay ({
// 调用统一收单交易创建接口(alipay.trade.create),获得返回字段支付宝交易号 trade_no
tradeNO: data.tranPackage,
success: res => {
console.log("支付成功", res);
const dataaa = stringToJson(res.bizContent);
allPrice.value = 0
});
});
},
fail: err => {
console.log('my.getAuthCode 调用失败', err)
}
});
// #endif
const options = {
type: 2,
data: {
opId: getItem('openId')
},
method: "POST",
showLoading: true,
};
request(CardBillQuery, options).then((res) => {
const data = stringToJson(res.bizContent);
console.log(data);
data.data = data.data.map(val => {
val.checked = false
val.fee = val.fee / 100
val.totalFee = val.totalFee / 100
val.serviceFee = val.serviceFee / 100
return val
})
state.list = data.data
console.log(state.list, "我是处理后得列表");
})
},
fail: res => {
console.log("支付失败", res);
},
});
});
});
},
fail: err => {
console.log('my.getAuthCode 调用失败', err)
}
});
// #endif
} else {
msg("未勾选补缴订单!")
}
@@ -381,11 +404,11 @@


//支付成功改变订单状态
const checkOrder = () => {
const checkOrder = (orderId) => {
const options = {
type: 2,
data: {
orderId: state.orderId,
orderId: orderId,
},
method: "POST",
showLoading: true,

+ 1
- 1
subpackage/personal-center/setting/account-cancellation.vue Dosyayı Görüntüle

@@ -1,7 +1,7 @@
<template>
<view class="content">
<view class="value">
尊敬的用户: 一旦注销九州ETC会员账号,您将无法通过九州ETC小程序、九州ETC公众号等会员登录渠道查看及找回账户
尊敬的用户: 一旦注销九州ETC会员账号,您将无法通过九州ETC小程序、九州ETC公众号等会员登录渠道查看及找回账户
</view>
<view class="subBtn">
<submit-button title="注销账户" form-type="submit" @submit="formSubmit">

+ 9
- 4
subpackage/personal-center/setting/car-information/car-change.vue Dosyayı Görüntüle

@@ -16,7 +16,7 @@

<image v-if="!state.form.vehPosImgUrl" class="icon" :src="`${$imgUrl}applyCard/car-zhu.png`">
</image>
<image v-else class="icon" :src="state.form.vehPosImgUrl"></image>
<image v-else class="icon" :src="strReplace(state.form.vehPosImgUrl)"></image>
</view>
</view>
<view class="picture-wrapper" @click="cardImageOcr('2')">
@@ -30,7 +30,7 @@
</view>
<image v-if="!state.form.vehNegImgUrl" class="icon" :src="`${$imgUrl}applyCard/car-fu.png`">
</image>
<image v-else class="icon" :src="state.form.vehNegImgUrl"></image>
<image v-else class="icon" :src="strReplace(state.form.vehNegImgUrl)"></image>
</view>
</view>
<view class="picture-wrapper" @click="cardFileImageUpdate()">
@@ -44,7 +44,7 @@
</view>
<image v-if="!state.form.vehBodyUrl" class="icon" :src="`${$imgUrl}applyCard/chetou.png`">
</image>
<image v-else class="icon" :src="state.form.vehBodyUrl"></image>
<image v-else class="icon" :src="strReplace(state.form.vehBodyUrl)"></image>
</view>
</view>
<view class="shibie-wrapper">
@@ -126,6 +126,7 @@
etcCarOcrCard,
fileUpload,
changeCarInfo,
envs
} from "@/utils/network/api.js";
import {
request
@@ -141,7 +142,11 @@


let cacachCarid=''

const strReplace = (str : string) => {
let imgUrl = str.replace("http://192.168.101.145:9000", envs[process.env.NODE_ENV].baseUrl);
imgUrl = imgUrl.replace("http://100.64.2.113:9000", envs[process.env.NODE_ENV].baseUrl);
return imgUrl;
};
// 修改
const savaHandle = () => {
state.form.vehicleId=cacachCarid

+ 64
- 17
subpackage/service/statistics/index.vue Dosyayı Görüntüle

@@ -11,32 +11,41 @@
<t-td>记账副卡当日开卡数</t-td>
<t-td>记账卡累计发卡数</t-td>
</t-tr>
<t-tr v-for="(item,index) in dataAll.vehicleData.vehicleDataDetails" :key="index" fontSize="12">
<t-tr v-if="dataAll.vehicleData" v-for="(item,index) in dataAll.vehicleData.vehicleDataDetails" :key="index" fontSize="12">
<t-td>{{ item.vehicleType }}</t-td>
<t-td>{{ item.dayCardCount }}</t-td>
<t-td>{{ item.cardCount }}</t-td>
</t-tr>
<t-tr font-size="12">
<t-td>合计</t-td>
<t-td>{{ dataAll.vehicleData.vehicleDataCount.dayCardCount }}</t-td>
<t-td>{{ dataAll.vehicleData.vehicleDataCount.cardCount }}</t-td>
<t-td>{{ dataAll.vehicleData? dataAll.vehicleData.vehicleDataCount.dayCardCount:null }}</t-td>
<t-td>{{ dataAll.vehicleData? dataAll.vehicleData.vehicleDataCount.cardCount:null }}</t-td>
</t-tr>
</t-table>
</view>
<!-- 改变类型和时间 -->
<view class="change_type">
<uni-data-select v-model="selectTypeValue" :localdata="typeRange" @change="changeType"
<uni-data-select v-if="!isAli" v-model="selectTypeName" :localdata="typeRange" @change="changeType"
:clear="false"></uni-data-select>
<view class='time'>
<uni-datetime-picker type="date" :clear-icon="false" v-model="dateTime" @change="change"
<uni-datetime-picker v-if="!isAli" type="date" :clear-icon="false" v-model="dateTime" @change="change"
@show="showTan" @close="closeTan" />
<!-- <button class="page-body-button" v-if="isAli" type="primary" @click="aliDate()">选择日期:yyyy-MM-dd</button> -->
<view v-if="isAli" class="info_plate">
<text>日期</text>
<u-input v-model="dateTime" @click="aliDate" class="input" disabled placeholder="请选择日期" />
<!-- <u-icon name="arrow-right" @click="aliDate" style="margin-left: 10px;display: flex;"></u-icon> -->
</view>
</view>
</view>
<view v-if="pieData !={} || chartData !={} || lineData !={} ">
<view v-if=" isShow===0 ">
<view class=" title title_pie">
<view class="choice_item1"><uni-data-select v-model="selectPieValue" :localdata="pieRange"
@change="changePie" :clear="false"></uni-data-select></view>
<view class="choice_item1"><uni-data-select v-if="!isAli" v-model="selectPieValue" :localdata="pieRange"
@change="changePie" :clear="false">
</uni-data-select></view>
</view>
<view class="charts-box" v-if="hideCanvas">
<qiun type="pie" :opts="opts" :chartData="pieData" />
@@ -64,6 +73,7 @@

</view>
<!-- <view v-else>暂无数据统计信息</view> -->
<u-select v-model="selectTypeName" :list="typeRange" @confirm="selectConfirm"></u-select>
</view>
</template>

@@ -92,9 +102,10 @@
export default {
data() {
return {
isAli: false,
hideCanvas: false,
canvasShow: false,
dateTime: Date.now(), //日期
dateTime: "", //日期
noDealDateTime: '', //没有处理过的时间,传给后端
dealDateTime: [], //处理过后的时间,前端展示
dataAll: '', //总的数据
@@ -200,7 +211,14 @@
qiun
},
onLoad() {
// #ifdef MP-ALIPAY
this.isAli = true
// #endif
// #ifdef MP-WEIXIN
this.isAli = false
// #endif
this.noDealDateTime = nowDate(new Date());
this.dateTime = nowDate(new Date());
// this.noDealDateTime='2023-04-17';
this.dealDateTime = nowDate(new Date()).split('-');
this.reqPie(); //饼状图数据请求
@@ -293,14 +311,18 @@
.then((res) => {
tools.hideLoadingAlert();
this.dataAll = stringToJson(res.bizContent);
if (this.dataAll.cardData) {
console.log("this.dataAll", this.dataAll)
this.dealPieData(stringToJson(res.bizContent)); //处理饼状图数据
this.getPieData(this.pieDataAll[0]); //饼状图展示
this.dealLineData(stringToJson(res.bizContent)); //处理折线图数据
this.getLineData(this.lineDataAll[0]); //折线图展示
this.dealColData(stringToJson(res.bizContent)) //处理柱状图数据
this.getColumnData(this.colData.xData, this.colData.yData[0]); //柱状图
try{
if (this.dataAll.cardData) {
console.log("this.dataAll", this.dataAll)
this.dealPieData(stringToJson(res.bizContent)); //处理饼状图数据
this.getPieData(this.pieDataAll[0]); //饼状图展示
this.dealLineData(stringToJson(res.bizContent)); //处理折线图数据
this.getLineData(this.lineDataAll[0]); //折线图展示
this.dealColData(stringToJson(res.bizContent)) //处理柱状图数据
this.getColumnData(this.colData.xData, this.colData.yData[0]); //柱状图
}
}catch(error){
console.log(error.name + ":" + error.message )
}
})
},
@@ -450,7 +472,23 @@

// this.canvasShow = getItem("show")
},
}
aliDate(){
my.datePicker({
success: (res) => {
console.log("您选择的日期为:"+res.date)
this.dateTime = res.date;
console.log("您选择的日期为:"+ this.dateTime)
this.dealDateTime = res.date.split('-');
console.log("您选择的日期为:"+ this.dealDateTime)
this.noDealDateTime = res.date;
console.log("您选择的日期为:"+ this.noDealDateTime)
this.reqPie();
},
});
}
},
};
</script>

@@ -499,7 +537,15 @@
.uni-stat__select {
width: 40% !important;
}
.info_plate {
display: flex;
flex-direction: row;
width: 94%;
height: 100rpx;
margin: 0 auto;

border-bottom: 2rpx solid #f2f2f2;
}
.title_pie {
display: flex;
justify-content: flex-end;
@@ -527,6 +573,7 @@
width: 40%;
}


.title_name {
width: 95%;
font-weight: 600;

Loading…
İptal
Kaydet