Commit 4d2d278f authored by YIyiyi's avatar YIyiyi

fead:添加mq配置

parent 4b74bb74
var produceMessage = function (functionName, Result) {
console.log(functionName)
}
var device = {
getIDCard: function (obj) {
var openUrl = "http://127.0.0.1/GetHardWareInfo?GetType=2";
if (obj.success == null) {
obj.success = function () {
}
}
if (obj.fail == null) {
obj.fail = function () {
}
}
if (obj.complete == null) {
obj.complete = function () {
}
}
function onConnect(res) {
var data = JSON.parse(res);
if (data.status === '1') {
var info = {
code: '00000',
message: 'OK',
ok: true,
data: {
name: data.username,
sex: data.sex,
nationality: data.Nation,
birthday: data.Born,
address: data.address,
idcard: data.idcardno,
issue: data.GrantDept,
startDate: data.UserLifeBegin,
endDate: data.UserLifeEnd,
pic: data.PhotoBase64String
}
}
obj.success(info);
}
else {
var info = {
code: data.status,
message: data.message,
ok: false,
data: {}
}
obj.fail(info);
}
}
callServer(openUrl, {}, onConnect);
},
closeIDCard: function (obj) {
var url = "http://127.0.0.1/GetHardWareInfo?GetType=2";
if (obj.success == null) {
obj.success = function () {
}
}
if (obj.fail == null) {
obj.fail = function () {
}
}
if (obj.complete == null) {
obj.complete = function () {
}
}
function onCloseIdCard(res) {
var data = JSON.parse(res);
if (data.status === '1') {
var info = {
code: '00000',
message: 'OK',
ok: true,
data: {
name: data.username,
sex: data.sex,
nationality: data.Nation,
birthday: data.Born,
address: data.address,
idcard: data.idcardno,
issue: data.GrantDept,
startDate: data.UserLifeBegin,
endDate: data.UserLifeEnd,
pic: data.PhotoBase64String
}
}
obj.success(info);
}
else {
var info = {
code: '00001',
message: data.message,
ok: false,
data: {}
}
obj.fail(info);
}
}
callServer(url, {}, onCloseIdCard);
},
getNetworkAddr: function (obj) {
var url = "http://127.0.0.1:8081/GetNetworkAddress";
if (obj.success == null) {
obj.success = function () {
}
}
if (obj.fail == null) {
obj.fail = function () {
}
}
if (obj.complete == null) {
obj.complete = function () {
}
}
function onEvent(res) {
var data = JSON.parse(res);
if (data.ok) {
obj.success(res);
}
else {
obj.fail(res);
}
}
callServer(url, onEvent);
},
voiceBroadcast: function (obj) {
var url = "http://127.0.0.1:8081/VoiceBroadcast?word=" + encodeURI(obj.word);
if (obj.success == null) {
obj.success = function () {
}
}
if (obj.fail == null) {
obj.fail = function () {
}
}
if (obj.complete == null) {
obj.complete = function () {
}
}
function onEvent(res) {
var data = JSON.parse(res);
if (data.ok) {
obj.success(res);
}
else {
obj.fail(res);
}
}
callServer(url, onEvent);
},
// 获取高拍照片
// getHighCamera: function (obj) {
// var openUrl = "http://127.0.0.1/GetHardWareInfo?GetType=3";
// if (obj.success == null) {
// obj.success = function () {
// }
// }
// if (obj.fail == null) {
// obj.fail = function () {
// }
// }
// if (obj.complete == null) {
// obj.complete = function () {
// }
// }
// function onConnect(res) {
// var data = JSON.parse(res);
// if (data.status === '1') {
// var printerArr = []
// for(var i=0;i<data.filelist.length;++i){
// printerArr.push({filename:data.filelist[i].filename,file:data.filelist[i].Base64String})
// }
// var info = {
// code:'00000',
// message:'OK',
// ok:true,
// data:printerArr
// }
// obj.success(info);
// }
// else {
// var info = {
// code:data.status,
// message:data.message,
// ok:false,
// data:[]
// }
// obj.fail(info);
// }
// }
// callServer(openUrl, {}, onConnect);
// },
getHighCamera: function (obj) {
var _this = this;
if (obj.success == null) {
obj.success = function () {
}
}
if (obj.fail == null) {
obj.fail = function () {
}
}
if (obj.complete == null) {
obj.complete = function () {
}
}
var isCapture = false;//是否允许拍照
var isfirst = true;//初始化
switch (obj.type) {
// 拍照获取图片
case 1:
CaptureBase64(0);//0-jpg,1-bmp,2-png,3-tif格式
break;
// 初始化高拍仪
case 0:
ConnectServer();//连接后台服务
StartVideo(0); //开启设备
ChangeVideoDevice(3)
break;
// 直接拍照
default:
if (isCapture && !isfirst) {
_this.lightControl({
light: '12',
state: '4',
success: function () {
CaptureBase64(0);//0-jpg,1-bmp,2-png,3-tif格式
}
})
// CaptureBase64(0);//0-jpg,1-bmp,2-png,3-tif格式
return;
}
// GetDeviceInfo()
ConnectServer();//连接后台服务
StartVideo(0); //开启设备
ChangeVideoDevice(3)
break;
}
produceMessage = function (functionName, Result) {
switch (functionName) {
case 'StartVideo':
if (obj.type != undefined) {
onConnect(Result)
}
break;
case 'ShowVideo':
if (obj.type == undefined) {
isCapture = true
if (isfirst) {
setTimeout(function () {
_this.lightControl({
light: '12',
state: '4',
success: function () {
CaptureBase64(0);//0-jpg,1-bmp,2-png,3-tif格式
}
})
// CaptureBase64(0);//0-jpg,1-bmp,2-png,3-tif格式
}, 1000)
isfirst = false
}
return
} else {
try {
var myimg = document.getElementById("pic");
myimg.src = "data:image/jpeg;base64," + Result;
} catch (error) {
console.log(error)
}
}
break;
case 'CaptureBase64':
// 拍照成功关灯
try {
// _this.lightControl({
// light:'12',
// state:'2'
// })
} catch (error) {
console.log(error)
}
onConnect(Result, 'CaptureBase64')
break;
}
}
function onConnect(res, type) {
var info = {
code: '00000',
message: 'OK',
ok: true,
data: res
}
if (type == 'CaptureBase64') {
info = {
code: '00000',
message: 'OK',
ok: true,
data: {
filename: Math.random() + '.jpg',
file: res
}
}
}
obj.success(info);
}
},
// 关闭高拍仪
closeHighCamera: function (obj) {
if (obj.success == null) {
obj.success = function () {
}
}
if (obj.fail == null) {
obj.fail = function () {
}
}
if (obj.complete == null) {
obj.complete = function () {
}
}
Stop()
onConnect()
function onConnect(res) {
var info = {
code: '00000',
message: 'OK',
ok: true,
data: res || ''
}
obj.success(info);
}
},
// 摄像头
getVideoCamera: function (obj) {
if (obj.success == null) {
obj.success = function () {
}
}
if (obj.fail == null) {
obj.fail = function () {
}
}
if (obj.complete == null) {
obj.complete = function () {
}
}
switch (obj.type) {
// 拍照获取图片
case 1:
CaptureBase64(0);//0-jpg,1-bmp,2-png,3-tif格式
break;
default:
ConnectServer();//连接后台服务
StartVideo(1); //开启设备
break;
}
produceMessage = function (functionName, Result) {
switch (functionName) {
case 'StartVideo':
onConnect(Result, 'StartVideo')
break;
case 'ShowVideo':
try {
var myimg = document.getElementById("pic1");
myimg.src = "data:image/jpeg;base64," + Result;
} catch (error) { }
onConnect(Result, 'ShowVideo')
break;
case 'CaptureBase64':
onConnect(Result, 'CaptureBase64')
break;
}
}
function onConnect(res, type) {
var info = {
code: '00000',
message: type,
ok: true,
data: res
}
if (type == 'CaptureBase64') {
info = {
code: '00000',
message: 'OK',
ok: true,
data: {
filename: "",
file: res
}
}
}
obj.success(info);
}
},
// 关闭摄像头
closeVideoCamera: function (obj) {
if (obj.success == null) {
obj.success = function () {
}
}
if (obj.fail == null) {
obj.fail = function () {
}
}
if (obj.complete == null) {
obj.complete = function () {
}
}
Stop()
onConnect()
function onConnect(res) {
var info = {
code: '00000',
message: 'OK',
ok: true,
data: res || ''
}
obj.success(info);
}
},
// 双目摄像头
getDoubleCamera: function (obj) {
Stop()
if (obj.success == null) {
obj.success = function () {
}
}
if (obj.fail == null) {
obj.fail = function () {
}
}
if (obj.complete == null) {
obj.complete = function () {
}
}
// 活体检测
StartLiveDetect(5);
produceMessage = function (functionName, Result) {
switch (functionName) {
case 'StartVideo':
onConnect(Result, 'StartVideo')
break;
case 'ShowVideo':
var myimg = document.getElementById("pic1");
myimg.src = "data:image/jpeg;base64," + Result;
break;
// 单目
case 'StartLiveDetectSingle':
onConnect(Result, 'StartLiveDetectSingle')
break;
// 双目
case 'StartLiveDetect':
onConnect(Result, 'StartLiveDetect')
break;
case 'CaptureBase64':
onConnect(Result, 'CaptureBase64')
break;
}
}
function onConnect(res, type) {
var info = {
code: '00001',
message: type,
ok: false,
data: res
}
if (type == 'StartLiveDetect' && res === 1) {
// 活体检测成功拍照
CaptureBase64(0);//0-jpg,1-bmp,2-png,3-tif格式
}
// 拍照成功后返回文件流
if (type == 'CaptureBase64') {
info = {
code: '00000',
message: 'OK',
ok: true,
data: {
filenameIr: Math.random() + '.jpg',
fileIr: res
}
}
}
obj.success(info);
}
},
// 关闭双目摄像头
closeDoubleCamera: function (obj) {
if (obj.success == null) {
obj.success = function () {
}
}
if (obj.fail == null) {
obj.fail = function () {
}
}
if (obj.complete == null) {
obj.complete = function () {
}
}
Stop()
onConnect()
function onConnect(res) {
var info = {
code: '00000',
message: 'OK',
ok: true,
data: res || ''
}
obj.success(info);
}
},
getPrinterList: function (obj) {
var openUrl = "http://127.0.0.1/GetHardWareInfo?GetType=73";
if (obj.success == null) {
obj.success = function () {
}
}
if (obj.fail == null) {
obj.fail = function () {
}
}
if (obj.complete == null) {
obj.complete = function () {
}
}
function onConnect(res) {
var data = JSON.parse(res);
if (data.status === '1') {
var printerArr = []
for (var i = 0; i < data.PrinterList.length; ++i) {
printerArr.push({ printerName: data.PrinterList[i].pinter })
}
var info = {
code: '00000',
message: 'OK',
ok: true,
data: printerArr
}
obj.success(info);
}
else {
var info = {
code: data.status,
message: data.message,
ok: false,
data: []
}
obj.fail(info);
}
}
callServer(openUrl, {}, onConnect);
},
// 打印文件
printer: function (obj) {
var fileType = ""
if (obj.fileType == 'jpg') {
fileType = 'data:image/jpg;base64,'
} else if (obj.fileType == 'pdf') {
fileType = 'data:application/pdf;base64,'
}
var PrinterJson = {
papertype: obj.papertype || "ticket", //PrinterJson中增加papertype参数,为空则按以前逻辑处理,为ticket、A3、A4
printername: obj.printerName,
printerpaperwidth: "0",
printertype: obj.printertype || 'base64',//图片格式:jpg,PDF格式:pdf,OFD格式:ofd
base64: (fileType + obj.fileData) || '',
contents: obj.contents,
}
var openUrl = "http://127.0.0.1/GetHardWareInfo?GetType=71";
if (obj.success == null) {
obj.success = function () {
}
}
if (obj.fail == null) {
obj.fail = function () {
}
}
if (obj.complete == null) {
obj.complete = function () {
}
}
function onConnect(res) {
var data = JSON.parse(res);
if (data.status === '1') {
var info = {
code: '00000',
message: 'OK',
ok: true,
data: ''
}
obj.success(info);
}
else {
var info = {
code: data.status,
message: data.message,
ok: false,
data: ''
}
obj.fail(info);
}
}
callServer(openUrl, { PrinterJson: JSON.stringify(PrinterJson) }, onConnect);
},
// 获取打印队列
getPrintQueue: function (obj) {
var openUrl = "http://127.0.0.1/GetHardWareInfo?GetType=74";
if (obj.success == null) {
obj.success = function () {
}
}
if (obj.fail == null) {
obj.fail = function () {
}
}
if (obj.complete == null) {
obj.complete = function () {
}
}
function onConnect(res) {
var data = JSON.parse(res);
if (data.status === '1') {
var printerArr = []
for (var i = 0; i < data.QueueList.length; ++i) {
printerArr.push({ queue: data.QueueList[i].queueName })
}
var info = {
code: '00000',
message: 'OK',
ok: true,
data: printerArr
}
obj.success(info);
}
else {
var info = {
code: data.status,
message: data.message,
ok: false,
data: []
}
obj.fail(info);
}
}
callServer(openUrl, { printerName: obj.printerName || '' }, onConnect);
},
// 设备网络地址
getNetworkAddr: function (obj) {
var openUrl = "http://127.0.0.1/GetHardWareInfo?GetType=888";
if (obj.success == null) {
obj.success = function () {
}
}
if (obj.fail == null) {
obj.fail = function () {
}
}
if (obj.complete == null) {
obj.complete = function () {
}
}
function onConnect(res) {
var data = JSON.parse(res);
if (data.status === '1') {
var info = {
code: '00000',
message: 'OK',
ok: true,
data: data.data
}
obj.success(info);
}
else {
var info = {
code: data.status,
message: data.message,
ok: false,
data: {}
}
obj.fail(info);
}
}
callServer(openUrl, {}, onConnect);
},
// 播放声音
voiceBroadcast: function (obj) {
var jsonString = {
text: obj.word || '',
appid: obj.appid || '',
voice_name: obj.voice_name || '',
speed: obj.speed || '',
volume: obj.volume || '',
}
var openUrl = "http://127.0.0.1/GetHardWareInfo?GetType=777";
if (obj.success == null) {
obj.success = function () {
}
}
if (obj.fail == null) {
obj.fail = function () {
}
}
if (obj.complete == null) {
obj.complete = function () {
}
}
function onConnect(res) {
var data = JSON.parse(res);
if (data.status === '1') {
var info = {
code: '00000',
message: 'OK',
ok: true,
data: ''
}
obj.success(info);
}
else {
var info = {
code: data.status,
message: data.message,
ok: false,
data: ''
}
obj.fail(info);
}
}
callServer(openUrl, { TextToViceJson: JSON.stringify(jsonString) }, onConnect);
},
// 键盘输入
openKeyboard: function (obj) {
var model = ""
if (obj.type == 'string') {
model = 'mode(py26)'
} else {
model = obj.type ? 'mode(' + obj.type + ')' : 'mode(py26)'
}
var openUrl = "http://127.0.0.1:1606/show/" + model;
if (obj.success == null) {
obj.success = function () {
}
}
if (obj.fail == null) {
obj.fail = function () {
}
}
if (obj.complete == null) {
obj.complete = function () {
}
}
function onConnect(res) {
// var data = res;
// if (data.mode === 'ok') {
// var info = {
// code:'00000',
// message:'OK',
// ok:true,
// data:''
// }
// obj.success(info);
// }
// else {
// var info = {
// code:data.status,
// message:data.message,
// ok:false,
// data:''
// }
// obj.fail(info);
// }
var info = {
code: '00000',
message: 'OK',
ok: true,
data: ''
}
obj.success(info);
}
var info = {
code: '00000',
message: 'OK',
ok: true,
data: ''
}
obj.success(info);
callServer(openUrl, {}, onConnect);
},
// 关闭键盘输入
closeKeyboard: function (obj) {
var openUrl = "http://127.0.0.1:1606/hide/";
if (obj.success == null) {
obj.success = function () {
}
}
if (obj.fail == null) {
obj.fail = function () {
}
}
if (obj.complete == null) {
obj.complete = function () {
}
}
function onConnect(res) {
var data = res;
// if (data.mode === 'ok') {
// var info = {
// code:'00000',
// message:'OK',
// ok:true,
// data:''
// }
// obj.success(info);
// }
// else {
// var info = {
// code:data.status,
// message:data.message,
// ok:false,
// data:''
// }
// obj.fail(info);
// }
var info = {
code: '00000',
message: 'OK',
ok: true,
data: ''
}
obj.success(info);
}
callServer(openUrl, {}, onConnect);
},
// 控制灯光
lightControl: function (obj) {
var JonsString = {
"device": "",
"status": "open",
}
switch (obj.light) {
// 编号 1 社保卡 2 身份证 3 打印机 4 高拍仪绿灯 5 高拍仪红灯 6 证照打印机绿灯 7 证照打印机红灯 8 A4打印机绿灯 9 A4打印机红灯 10 社保卡绿灯 11 社保卡红灯 12 p21高拍仪补光灯 13 p22高拍仪补光灯 14 蜂鸣器 15小票打印机绿灯 16小票打印机红灯
case '1':
JonsString.device = 'scardgreen'
break;
case '2':
JonsString.device = 'scardgreen'
break;
case '3':
JonsString.device = 'A4green'
break;
case '4':
JonsString.device = 'docphotogreen'
break;
case '5':
JonsString.device = 'docphotored'
break;
case '6':
JonsString.device = 'certificatgreen'
break;
case '7':
JonsString.device = 'certificatred'
break;
case '8':
JonsString.device = 'A4green'
break;
case '9':
JonsString.device = 'A4red'
break;
case '10':
JonsString.device = 'scardgreen'
break;
case '11':
JonsString.device = 'scardred'
break;
case '12':
JonsString.device = 'p21'
break;
case '13':
JonsString.device = 'p22'
break;
case '14':
JonsString.device = 'bee'
break;
case '15':
JonsString.device = 'ticketgreen'
break;
case '16':
JonsString.device = 'ticketred'
break;
case '-1':
JonsString.device = 'all'
break;
}
switch (obj.state) {
// 状态 0 常亮 1 闪烁 2 关闭 3一秒闪烁 4两秒闪烁 5零点五秒闪烁
case '0':
JonsString.status = 'open'
break;
case '1':
JonsString.status = 'flash'
break;
case '2':
JonsString.status = 'close'
break;
case '3':
JonsString.status = 'flash'
break;
case '4':
JonsString.status = 'flash_slow'
break;
case '5':
JonsString.status = 'flash_fast'
break;
}
var openUrl = "http://192.168.0.249/GetHardWareInfo?GetType=43";
if (obj.success == null) {
obj.success = function () {
}
}
if (obj.fail == null) {
obj.fail = function () {
}
}
if (obj.complete == null) {
obj.complete = function () {
}
}
function onConnect(res) {
var data = JSON.parse(res);
if (data.status === '1') {
var info = {
code: '00000',
message: 'OK',
ok: true,
data: ''
}
obj.success(info);
}
else {
var info = {
code: data.status,
message: data.message,
ok: false,
data: ''
}
obj.fail(info);
}
}
callServer(openUrl, { LightJson: JSON.stringify(JonsString) }, onConnect);
},
// 关闭灯光
closeLight: function (obj) {
var JonsString = {
"device": "all",
"status": "close",
}
var openUrl = "http://127.0.0.1/GetHardWareInfo?GetType=43";
if (obj.success == null) {
obj.success = function () {
}
}
if (obj.fail == null) {
obj.fail = function () {
}
}
if (obj.complete == null) {
obj.complete = function () {
}
}
function onConnect(res) {
var data = JSON.parse(res);
if (data.status === '1') {
var info = {
code: '00000',
message: 'OK',
ok: true,
data: ''
}
obj.success(info);
}
else {
var info = {
code: data.status,
message: data.message,
ok: false,
data: ''
}
obj.fail(info);
}
}
callServer(openUrl, { LightJson: JSON.stringify(JonsString) }, onConnect);
},
// 签名板
signatureBoard: function (obj) {
var openUrl = "http://127.0.0.1/GetHardWareInfo?GetType=55";
if (obj.success == null) {
obj.success = function () {
}
}
if (obj.fail == null) {
obj.fail = function () {
}
}
if (obj.complete == null) {
obj.complete = function () {
}
}
function onConnect(res) {
var data = JSON.parse(res);
if (data.status === '1') {
var info = {
code: '00000',
message: 'OK',
ok: true,
data: data.data.Base64String
}
obj.success(info);
}
else {
var info = {
code: data.status,
message: data.message,
ok: false,
data: ''
}
obj.fail(info);
}
}
callServer(openUrl, {}, onConnect);
},
// 指纹
fingerprint: function (obj) {
var openUrl = "http://127.0.0.1/GetHardWareInfo?GetType=61";
if (obj.success == null) {
obj.success = function () {
}
}
if (obj.fail == null) {
obj.fail = function () {
}
}
if (obj.complete == null) {
obj.complete = function () {
}
}
function onConnect(res) {
var data = JSON.parse(res);
if (data.status === '1') {
var info = {
code: '00000',
message: 'OK',
ok: true,
data: data.data.Base64String
}
obj.success(info);
}
else {
var info = {
code: data.status,
message: data.message,
ok: false,
data: ''
}
obj.fail(info);
}
}
callServer(openUrl, {}, onConnect);
},
// 打开营业执照
openBusinessLicense: function (obj) {
var CallExeJson = {
"exeName": "D:\\smile\\BusinessLicense\\webbrowser.exe",
"exePara": "licenseinfo.html 营业执照打印 450 120 1027 768",
"waitExeClose": "true",
}
var openUrl = "http://127.0.0.1/GetHardWareInfo?GetType=998";
if (obj.success == null) {
obj.success = function () {
}
}
if (obj.fail == null) {
obj.fail = function () {
}
}
if (obj.complete == null) {
obj.complete = function () {
}
}
function onConnect(res) {
var data = JSON.parse(res);
if (data.status === '1') {
var info = {
code: '00000',
message: 'OK',
ok: true,
data: ''
}
obj.success(info);
}
else {
var info = {
code: data.status,
message: data.message,
ok: false,
data: ''
}
obj.fail(info);
}
}
callServer(openUrl, { CallExeJson: JSON.stringify(CallExeJson) }, onConnect);
},
// 调用应用程序接口
callApplicationProgram: function (obj, params) {
var openUrl = "http://127.0.0.1/GetHardWareInfo?GetType=998";
if (obj.success == null) {
obj.success = function () {
}
}
if (obj.fail == null) {
obj.fail = function () {
}
}
if (obj.complete == null) {
obj.complete = function () {
}
}
function onConnect(res) {
var data = JSON.parse(res);
if (data.status === '1') {
var info = {
code: '00000',
message: 'OK',
ok: true,
data: ''
}
obj.success(info);
}
else {
var info = {
code: data.status,
message: data.message,
ok: false,
data: ''
}
obj.fail(info);
}
}
callServer(openUrl, { CallExeJson: JSON.stringify(params) }, onConnect);
},
// 隐藏任务栏接口
hiddenTaskbar: function (obj) {
var openUrl = "http://127.0.0.1/GetHardWareInfo?GetType=801";
if (obj.success == null) {
obj.success = function () {
}
}
if (obj.fail == null) {
obj.fail = function () {
}
}
if (obj.complete == null) {
obj.complete = function () {
}
}
function onConnect(res) {
var data = JSON.parse(res);
if (data.status === '1') {
var info = {
code: '00000',
message: 'OK',
ok: true,
data: ''
}
obj.success(info);
}
else {
var info = {
code: data.status,
message: data.message,
ok: false,
data: ''
}
obj.fail(info);
}
}
callServer(openUrl, {}, onConnect);
},
// 显示任务栏接口
showTaskbar: function (obj) {
var openUrl = "http://127.0.0.1/GetHardWareInfo?GetType=802";
if (obj.success == null) {
obj.success = function () {
}
}
if (obj.fail == null) {
obj.fail = function () {
}
}
if (obj.complete == null) {
obj.complete = function () {
}
}
function onConnect(res) {
var data = JSON.parse(res);
if (data.status === '1') {
var info = {
code: '00000',
message: 'OK',
ok: true,
data: ''
}
obj.success(info);
}
else {
var info = {
code: data.status,
message: data.message,
ok: false,
data: ''
}
obj.fail(info);
}
}
callServer(openUrl, {}, onConnect);
},
// 隐藏桌面接口
hiddenDesktop: function (obj) {
var openUrl = "http://127.0.0.1/GetHardWareInfo?GetType=803";
if (obj.success == null) {
obj.success = function () {
}
}
if (obj.fail == null) {
obj.fail = function () {
}
}
if (obj.complete == null) {
obj.complete = function () {
}
}
function onConnect(res) {
var data = JSON.parse(res);
if (data.status === '1') {
var info = {
code: '00000',
message: 'OK',
ok: true,
data: ''
}
obj.success(info);
}
else {
var info = {
code: data.status,
message: data.message,
ok: false,
data: ''
}
obj.fail(info);
}
}
callServer(openUrl, {}, onConnect);
},
// 显示桌面接口
showDesktop: function (obj) {
var openUrl = "http://127.0.0.1/GetHardWareInfo?GetType=804";
if (obj.success == null) {
obj.success = function () {
}
}
if (obj.fail == null) {
obj.fail = function () {
}
}
if (obj.complete == null) {
obj.complete = function () {
}
}
function onConnect(res) {
var data = JSON.parse(res);
if (data.status === '1') {
var info = {
code: '00000',
message: 'OK',
ok: true,
data: ''
}
obj.success(info);
}
else {
var info = {
code: data.status,
message: data.message,
ok: false,
data: ''
}
obj.fail(info);
}
}
callServer(openUrl, {}, onConnect);
},
// 隐藏任务管理器接口
hiddenTaskManager: function (obj) {
var openUrl = "http://127.0.0.1/GetHardWareInfo?GetType=805";
if (obj.success == null) {
obj.success = function () {
}
}
if (obj.fail == null) {
obj.fail = function () {
}
}
if (obj.complete == null) {
obj.complete = function () {
}
}
function onConnect(res) {
var data = JSON.parse(res);
if (data.status === '1') {
var info = {
code: '00000',
message: 'OK',
ok: true,
data: ''
}
obj.success(info);
}
else {
var info = {
code: data.status,
message: data.message,
ok: false,
data: ''
}
obj.fail(info);
}
}
callServer(openUrl, {}, onConnect);
},
// 显示任务管理器接口
showTaskManager: function (obj) {
var openUrl = "http://127.0.0.1/GetHardWareInfo?GetType=806";
if (obj.success == null) {
obj.success = function () {
}
}
if (obj.fail == null) {
obj.fail = function () {
}
}
if (obj.complete == null) {
obj.complete = function () {
}
}
function onConnect(res) {
var data = JSON.parse(res);
if (data.status === '1') {
var info = {
code: '00000',
message: 'OK',
ok: true,
data: ''
}
obj.success(info);
}
else {
var info = {
code: data.status,
message: data.message,
ok: false,
data: ''
}
obj.fail(info);
}
}
callServer(openUrl, {}, onConnect);
},
// 屏蔽系统按键
shieldKey: function (obj) {
var openUrl = "http://127.0.0.1/GetHardWareInfo?GetType=807";
if (obj.success == null) {
obj.success = function () {
}
}
if (obj.fail == null) {
obj.fail = function () {
}
}
if (obj.complete == null) {
obj.complete = function () {
}
}
function onConnect(res) {
var data = JSON.parse(res);
if (data.status === '1') {
var info = {
code: '00000',
message: 'OK',
ok: true,
data: ''
}
obj.success(info);
}
else {
var info = {
code: data.status,
message: data.message,
ok: false,
data: ''
}
obj.fail(info);
}
}
callServer(openUrl, {}, onConnect);
},
// 允许系统按键
allowKey: function (obj) {
var openUrl = "http://127.0.0.1/GetHardWareInfo?GetType=808";
if (obj.success == null) {
obj.success = function () {
}
}
if (obj.fail == null) {
obj.fail = function () {
}
}
if (obj.complete == null) {
obj.complete = function () {
}
}
function onConnect(res) {
var data = JSON.parse(res);
if (data.status === '1') {
var info = {
code: '00000',
message: 'OK',
ok: true,
data: ''
}
obj.success(info);
}
else {
var info = {
code: data.status,
message: data.message,
ok: false,
data: ''
}
obj.fail(info);
}
}
callServer(openUrl, {}, onConnect);
},
// 屏幕截图
screenCapture: function (obj) {
var openUrl = "http://127.0.0.1/GetHardWareInfo?GetType=809";
if (obj.success == null) {
obj.success = function () {
}
}
if (obj.fail == null) {
obj.fail = function () {
}
}
if (obj.complete == null) {
obj.complete = function () {
}
}
function onConnect(res) {
var data = JSON.parse(res);
if (data.status === '1') {
var info = {
code: '00000',
message: 'OK',
ok: true,
data: ''
}
obj.success(info);
}
else {
var info = {
code: data.status,
message: data.message,
ok: false,
data: ''
}
obj.fail(info);
}
}
callServer(openUrl, {}, onConnect);
},
// 人脸识别
faceIdentification: function (obj, params) {
var openUrl = "http://127.0.0.1/GetHardWareInfo?GetType=666";
if (obj.success == null) {
obj.success = function () {
}
}
if (obj.fail == null) {
obj.fail = function () {
}
}
if (obj.complete == null) {
obj.complete = function () {
}
}
function onConnect(res) {
var data = JSON.parse(res);
if (data.status === '1') {
var info = {
code: '00000',
message: 'OK',
ok: true,
data: ''
}
obj.success(info);
}
else {
var info = {
code: data.status,
message: data.message,
ok: false,
data: ''
}
obj.fail(info);
}
}
callServer(openUrl, { ArcFaceJson: JSON.stringify(params) }, onConnect);
},
// 二维码扫码
QrCodeScanning: function (obj, params) {
var openUrl = "http://127.0.0.1/GetHardWareInfo?GetType=62";
if (obj.success == null) {
obj.success = function () {
}
}
if (obj.fail == null) {
obj.fail = function () {
}
}
if (obj.complete == null) {
obj.complete = function () {
}
}
function onConnect(res) {
var data = JSON.parse(res);
if (data.status === '1') {
var info = {
code: '00000',
message: 'OK',
ok: true,
data: ''
}
obj.success(info);
}
else {
var info = {
code: data.status,
message: data.message,
ok: false,
data: ''
}
obj.fail(info);
}
}
callServer(openUrl, { QrcodeScanJson: JSON.stringify(params) }, onConnect);
},
// 取件柜锁控
cabinetLock: function (obj, params) {
var openUrl = "http://127.0.0.1/GetHardWareInfo?GetType=63";
if (obj.success == null) {
obj.success = function () {
}
}
if (obj.fail == null) {
obj.fail = function () {
}
}
if (obj.complete == null) {
obj.complete = function () {
}
}
function onConnect(res) {
var data = JSON.parse(res);
if (data.status === '1') {
var info = {
code: '00000',
message: 'OK',
ok: true,
data: ''
}
obj.success(info);
}
else {
var info = {
code: data.status,
message: data.message,
ok: false,
data: ''
}
obj.fail(info);
}
}
callServer(openUrl, { LockDoorJson: JSON.stringify(params) }, onConnect);
},
// 实体社保卡
stSbcard: function (obj, params) {
var openUrl = "http://127.0.0.1/GetHardWareInfo?GetType=22";
if (obj.success == null) {
obj.success = function () {
}
}
if (obj.fail == null) {
obj.fail = function () {
}
}
if (obj.complete == null) {
obj.complete = function () {
}
}
function onConnect(res) {
var data = JSON.parse(res);
if (data.status === '1') {
var info = {
code: '00000',
message: 'OK',
ok: true,
data: data
}
obj.success(info);
}
else {
var info = {
code: data.status,
message: data.message,
ok: false,
data: ''
}
obj.fail(info);
}
}
callServer(openUrl, { SbcardJson: JSON.stringify(params) }, onConnect);
},
// 社保卡基础信息
SbcradInfo: function (obj) {
var openUrl = "http://127.0.0.1/GetHardWareInfo?GetType=21";
if (obj.success == null) {
obj.success = function () {
}
}
if (obj.fail == null) {
obj.fail = function () {
}
}
if (obj.complete == null) {
obj.complete = function () {
}
}
function onConnect(res) {
var data = JSON.parse(res);
if (data.status === '1') {
var info = {
code: '00000',
message: 'OK',
ok: true,
data: data
}
obj.success(info);
}
else {
var info = {
code: data.status,
message: data.message,
ok: false,
data: ''
}
obj.fail(info);
}
}
callServer(openUrl, {}, onConnect);
},
}
// 关闭视频
function Stop() {
StopVideo();
}
function GetDeviceInfo() {
GetVideoDevices();//获取视频设备列表
SetSavePath("c:\\456");//设置图像保存路径,当采用文件方式拍照时必须设置,base64方式非必须设置
SetJPGQuality(70);//jpg格式时有效
SetColorType("彩色");//指定图像色彩模式,“彩色”、“灰度”、“黑白”三个选项
//SetWaterMark("这是测试水印", "宋体", 5, 150, 255, 128, 0, 0, 0.5, 1);
SetBoardColor(0);//1灰色底板机型,0或其他值为黑色底板机型
}
function callServer(url, data, func) {
var options = new Object();
options.type = "POST";
options.url = url;
options.timeout = 500000000000;
options.onSuccess = func;
options.data = data;
ajax(options);
}
function ajax(options) {
if (options.type == null) {
options.type = "GET";
}
if (options.url == null) {
options.url = "";
}
if (options.timeout == null) {
options.timeout = 5000;
}
if (options.onComplate == null) {
options.onComplate = function () {
}
}
if (options.onError == null) {
options.onError = function () {
}
}
if (options.onSuccess == null) {
options.onSuccess = function () {
}
}
if (options.data) {
var formData = new FormData();
for (var key in options.data) {
formData.append(key, options.data[key]);
}
options.data = formData;
}
var xml;
if (typeof ActiveXObject != 'undefined') {
var aVersions = ["Microsoft.XMLHTTP", "Msxml2.XMLHttp.6.0", "Msxml2.XMLHttp.5.0", "Msxml2.XMLHttp.4.0", "Msxml2.XMLHttp.3.0"];
for (var i = 0; i < aVersions.length; i++) {
try {
xml = new ActiveXObject(aVersions[i]);
} catch (e) { }
}
} else if (typeof XMLHttpRequest != 'undefined') {
xml = new XMLHttpRequest();
}
xml.open(options.type, options.url, true);
var timeoutLength = options.timeout;
var requestDone = false;
setTimeout(function () {
requestDone = true;
}, timeoutLength);
xml.onreadystatechange = function () {
if (xml.readyState == 4 && !requestDone) {
if (httpSuccess(xml)) {
options.onSuccess(httpData(xml));
}
else {
options.onError();
}
options.onComplate();
xml = null;
}
};
xml.send(options.data);
function httpSuccess(r) {
try {
return !r.status && location.protocol == "file:"
||
(r.status >= 200 && r.status <= 300)
||
r.status == 304
||
navigator.userAgent.indexOf("Safari") >= 0
&& typeof r.status == "undefined";
} catch (e) {
}
return false;
}
function httpData(r) {
//var ct = r.getResponseHeader("responseType");
//alert(r.responseXML);
//alert(r.responseText);
var ct = r.getResponseHeader("Content-Type");
//alert(ct);
if (ct) {
if (ct == "script") {
eval.call(window, data);
}
if (ct == "xml") {
return r.responseXML;
}
if (ct == "json") {
return JSON.parse(r.responseText);
}
}
return r.responseText;
}
}
// 紫图服务
var url = "ws://127.0.0.1:8341";
var websocket;
var connected = false;
//初始化WebSocket连接
function ConnectServer(callback, value) {
if ('WebSocket' in window) {
websocket = new WebSocket(url);
}
else if (window.WebSocket) {
websocket = new WebSocket(url);
}
else if ('MozWebSocket' in window) {
websocket = new MozWebSocket(url);
}
else {
alert("浏览器版本太低!请使用Chrome、Firefox、IE10+浏览器!");
}
websocket.onopen = function () {
connected = true;
callback && callback(value);
}
websocket.onclose = function (e) {
connected = false;
onMessage({ data: JSON.stringify({ FuncName: 'Connect', result: 0 }) });
}
websocket.onmessage = function (e) {
onMessage(e);
}
websocket.onerror = function (e) {
//if (websocket.readyState != WebSocket.OPEN||websocket.readyState == WebSocket.CLOSED) {
// onMessage({ data: JSON.stringify({ FuncName: 'Connect', result: 0 }) });
//}
};
}
//接收服务器发送的信息
function onMessage(event) {
try {
if (typeof (event.data) == "string") {
var str = event.data;
var jsonOBJ = JSON.parse(str);
var name = jsonOBJ.FuncName;
var re = jsonOBJ.result;
if (name == "Connect" && re == 1) {
connected = true;
}
produceMessage(name, re);
}
} catch (error) {
// console.log(error)
}
}
//向服务器发送信息的共享方法
function sendMessage(data) {
if (websocket.readyState == 0) {
setTimeout(function () {
var jsData = JSON.stringify(data);
websocket.send(jsData);
}, 50);
}
else if (websocket.readyState == 1) {
var jsData = JSON.stringify(data);
websocket.send(jsData);
}
else {
alert("未连接websocket服务器,请确保已运行服务端!");
}
}
/*==============以下是扫描仪功能======================================================*/
//设置保存路径
function SetSavePath(savePath) {
var data = { "Func": "SetSavePath", "arg": savePath };
connected ? sendMessage(data) : ConnectServer(sendMessage, data);
}
//设置文件前缀
function SetFilePre(pre) {
var data = { "Func": "SetFilePre", "arg": pre };
connected ? sendMessage(data) : ConnectServer(sendMessage, data);
}
//设置Twain源名称
function SetDevice(twainName) {
var data = { "Func": "SetDevice", "arg": twainName };
connected ? sendMessage(data) : ConnectServer(sendMessage, data);
}
//获取所有twain源名称
function GetDeviceList() {
var data = { "Func": "GetDeviceList", "arg": 0 };
connected ? sendMessage(data) : ConnectServer(sendMessage, data);
}
//设置色彩模式
function SetColorType(colorType) {
var data = { "Func": "SetColorType", "arg": colorType };
connected ? sendMessage(data) : ConnectServer(sendMessage, data);
}
//设置底板颜色
function SetBoardColor(colorType) {
var data = { "Func": "SetBoardColor", "arg": colorType };
connected ? sendMessage(data) : ConnectServer(sendMessage, data);
}
//设置分辨率
function SetDPI(dpi) {
var data = { "Func": "SetDPI", "arg": dpi };
connected ? sendMessage(data) : ConnectServer(sendMessage, data);
}
//设置是否弹出twainui
function ShowTwainUI(showUI) {
var data = { "Func": "ShowTwainUI", "arg": showUI };
connected ? sendMessage(data) : ConnectServer(sendMessage, data);
}
//设置文件类型
function SetFileType(fileType) {
var data = { "Func": "SetFileType", "arg": fileType };
connected ? sendMessage(data) : ConnectServer(sendMessage, data);
}
//设置单双面
function SetDuplex(duplex) {
var data = { "Func": "SetDuplex", "arg": duplex };
connected ? sendMessage(data) : ConnectServer(sendMessage, data);
}
//设置是否传输每一张图像的base64
function SetTransPerPageBase64(trans) {
var data = { "Func": "SetTransPerPageBase64", "arg": trans };
connected ? sendMessage(data) : ConnectServer(sendMessage, data);
}
//设置JPG图片压缩率
function SetJPGQuality(quality) {
var data = { "Func": "SetJPGQuality", "arg": quality };
connected ? sendMessage(data) : ConnectServer(sendMessage, data);
}
//获取扫描仪序列号
function GetScannerSN() {
var data = { "Func": "GetScannerSN", "arg": 0 };
connected ? sendMessage(data) : ConnectServer(sendMessage, data);
}
//开始扫描
function StartScan(pageNum) {
var data = { "Func": "StartScan", "arg": pageNum };
connected ? sendMessage(data) : ConnectServer(sendMessage, data);
}
//获取本次扫描的文件列表
function GetFilesList() {
var data = { "Func": "GetFilesList", "arg": 0 };
connected ? sendMessage(data) : ConnectServer(sendMessage, data);
}
//图片转BASE64
function ImageToBase64(filePath) {
var data = { "Func": "ImageToBase64", "arg": filePath };
connected ? sendMessage(data) : ConnectServer(sendMessage, data);
}
//文件转BASE64
function FileToBase64(filePath) {
var data = { "Func": "FileToBase64", "arg": filePath };
connected ? sendMessage(data) : ConnectServer(sendMessage, data);
}
//图片http上传
function httpUpload(serverAddress, filePath, del) {
var data = { "Func": "httpUpload", "arg": { "serverAddress": serverAddress, "filePath": filePath, "del": del } };
connected ? sendMessage(data) : ConnectServer(sendMessage, data);
}
//图片ftp上传
function ftpUpload(ftpServerIP, ftpRemotePath, ftpUserID, ftpPassword, filename, del, passive) {
var data = { "Func": "ftpUpload", "arg": { "ftpServerIP": ftpServerIP, "ftpRemotePath": ftpRemotePath, "ftpUserID": ftpUserID, "ftpPassword": ftpPassword, "filename": filename, "del": del, "passive": passive } };
connected ? sendMessage(data) : ConnectServer(sendMessage, data);
}
//图片转pdf
function ImagesToPDF(imageList, pdfFile) {
var data = { "Func": "ImagesToPDF", "arg": { "imageList": imageList, "pdfFile": pdfFile } };
connected ? sendMessage(data) : ConnectServer(sendMessage, data);
}
//图片转pdf base64方式
function ImagesToPDFBase64(base64Str) {
var data = { "Func": "ImagesToPDFBase64", "arg": base64Str };
connected ? sendMessage(data) : ConnectServer(sendMessage, data);
}
//开始活体检测双目,参数为超时时间,单位秒
function StartLiveDetect(outtime) {
var data = { "Func": "StartLiveDetect", "arg": outtime };
connected ? sendMessage(data) : ConnectServer(sendMessage, data);
}
//开始活体检测单目,参数为超时时间,单位秒
function StartLiveDetectSingle(outtime) {
var data = { "Func": "StartLiveDetectSingle", "arg": outtime };
connected ? sendMessage(data) : ConnectServer(sendMessage, data);
}
//获取指定文件夹下的文件列表
function GetFolderFileListJson(folderPath) {
var data = { "Func": "GetFolderFileListJson", "arg": folderPath };
connected ? sendMessage(data) : ConnectServer(sendMessage, data);
}
//删除指定文件夹下的所有文件
function DeleteImagesInFolder(folderPath) {
var data = { "Func": "DeleteImagesInFolder", "arg": folderPath };
connected ? sendMessage(data) : ConnectServer(sendMessage, data);
}
//删除指定文件
function DeleteImage(filePath) {
var data = { "Func": "DeleteImage", "arg": filePath };
connected ? sendMessage(data) : ConnectServer(sendMessage, data);
}
/*==============以下是读卡\指纹功能======================================================*/
//读身份证
function ReadIDCard() {
var data = { "Func": "ReadIDCard", "arg": 0 };
connected ? sendMessage(data) : ConnectServer(sendMessage, data);
}
//读二代社保卡
function Read2thSSCard() {
var data = { "Func": "Read2thSSCard", "arg": 0 };
connected ? sendMessage(data) : ConnectServer(sendMessage, data);
}
//读三代社保卡(PSAM)
function Read3thSSCardBasPSAM(type) {
var data = { "Func": "Read3thSSCardBasPSAM", "arg": type };
connected ? sendMessage(data) : ConnectServer(sendMessage, data);
}
//读三代社保卡步骤1(加密机)
function Read3thSSCardBasHSM1(type) {
var data = { "Func": "Read3thSSCardBasHSM1", "arg": type };
connected ? sendMessage(data) : ConnectServer(sendMessage, data);
}
//读三代社保卡步骤2(加密机)
function Read3thSSCardBasHSM2(key) {
var data = { "Func": "Read3thSSCardBasHSM2", "arg": key };
connected ? sendMessage(data) : ConnectServer(sendMessage, data);
}
//读IC银行卡
function ReadICCard() {
var data = { "Func": "ReadICCard", "arg": 0 };
sendMessage(data);
}
//读磁条银行卡
function ReadMagCard() {
var data = { "Func": "ReadMagCard", "arg": 0 };
sendMessage(data);
}
//采集指纹-文件方式
function CapFingerFile(fingerPic) {
var data = { "Func": "CapFingerFile", "arg": fingerPic };
connected ? sendMessage(data) : ConnectServer(sendMessage, data);
}
//采集指纹-base64方式
function CapFingerBASE64() {
var data = { "Func": "CapFingerBASE64", "arg": 0 };
connected ? sendMessage(data) : ConnectServer(sendMessage, data);
}
//比对指纹-文件方式
function MatchFingerByFile(fingerPic1, fingerPic2) {
var data = { "Func": "MatchFingerByFile", "arg": { "fingerPic1": fingerPic1, "fingerPic2": fingerPic2 } };
connected ? sendMessage(data) : ConnectServer(sendMessage, data);
}
//比对指纹-base64方式
function MatchFingerByBASE64(fingerPic1, fingerPic2) {
var data = { "Func": "MatchFingerByBASE64", "arg": { "fingerPic1": fingerPic1, "fingerPic2": fingerPic2 } };
connected ? sendMessage(data) : ConnectServer(sendMessage, data);
}
//与身份证比对指纹-文件方式
function MatchCardFingerByFile(fingerPic1) {
var data = { "Func": "MatchCardFingerByFile", "arg": { "fingerPic1": fingerPic1 } };
connected ? sendMessage(data) : ConnectServer(sendMessage, data);
}
//与身份证比对指纹-base64方式
function MatchCardFingerByBase64(fingerBase64) {
var data = { "Func": "MatchCardFingerByBase64", "arg": fingerBase64 };
connected ? sendMessage(data) : ConnectServer(sendMessage, data);
}
/*==============以下是手写屏功能======================================================*/
//开始签字
function StartSign(title) {
var data = { "Func": "StartSign", "arg": title };
connected ? sendMessage(data) : ConnectServer(sendMessage, data);
}
//开启评价器
function StartEvalute() {
var data = { "Func": "StartEvalute", "arg": 0 };
connected ? sendMessage(data) : ConnectServer(sendMessage, data);
}
//展示工牌
function StartStaff(headPic, staffName, staffNum, staffStar) {
var data = { "Func": "StartStaff", "arg": { "headPic": headPic, "staffName": staffName, "staffNum": staffNum, "staffStar": staffStar } };
connected ? sendMessage(data) : ConnectServer(sendMessage, data);
}
//关闭工牌
function CloseStaff() {
var data = { "Func": "CloseStaff", "arg": 0 };
connected ? sendMessage(data) : ConnectServer(sendMessage, data);
}
//打开PDF
function OpenPDF(filePath, withSign) {
var data = { "Func": "OpenPDF", "arg": { "filePath": filePath, "withSign": withSign } };
connected ? sendMessage(data) : ConnectServer(sendMessage, data);
}
//关闭PDF窗口
function ClosePDF() {
var data = { "Func": "ClosePDF", "arg": 0 };
connected ? sendMessage(data) : ConnectServer(sendMessage, data);
}
//打开网页
function OpenWebPage(url) {
var data = { "Func": "OpenWebPage", "arg": url };
connected ? sendMessage(data) : ConnectServer(sendMessage, data);
}
//关闭网页
function CloseWebPage() {
var data = { "Func": "CloseWebPage", "arg": 0 };
connected ? sendMessage(data) : ConnectServer(sendMessage, data);
}
/*==============以下是高拍仪功能======================================================*/
function GetVideoDevInfo() {
var a = { Func: "GetVideoDevInfo", arg: 0 };
connected ? sendMessage(a) : ConnectServer(sendMessage, a)
}
function CheckLicense() {
var a = { Func: "CheckLicense", arg: 0 };
connected ? sendMessage(a) : ConnectServer(sendMessage, a)
}
function GetSpecialFolder(index) {
var a = { Func: "GetSpecialFolder", arg: index };
connected ? sendMessage(a) : ConnectServer(sendMessage, a)
}
function GetCurrentResolutionIndex() {
var a = { Func: "GetCurrentResolutionIndex", arg: 0 };
connected ? sendMessage(a) : ConnectServer(sendMessage, a)
}
//打开视频窗口
function StartVideo(camIndex) {
var data = { "Func": "StartVideo", "arg": camIndex };
connected ? sendMessage(data) : ConnectServer(sendMessage, data);
}
//打开主头视频窗口
function StartRunMain() {
var data = { "Func": "StartRunMain", "arg": 0 };
connected ? sendMessage(data) : ConnectServer(sendMessage, data);
}
//打开副头视频窗口
function StartRunSub() {
var data = { "Func": "StartRunSub", "arg": 0 };
connected ? sendMessage(data) : ConnectServer(sendMessage, data);
}
//按指定PID\VID打开设备
function StartRunByID(vid, pid) {
var data = { "Func": "StartRunByID", "arg": { "VID": vid, "PID": pid } };
connected ? sendMessage(data) : ConnectServer(sendMessage, data);
}
function ZoomIn() {
var data = { "Func": "ZoomIn", "arg": 0 };
connected ? sendMessage(data) : ConnectServer(sendMessage, data);
}
function ZoomOut() {
var data = { "Func": "ZoomOut", "arg": 0 };
connected ? sendMessage(data) : ConnectServer(sendMessage, data);
}
//左旋转
function RotateLeft() {
var data = { "Func": "RotateLeft", "arg": 0 };
connected ? sendMessage(data) : ConnectServer(sendMessage, data);
}
//右旋转
function RotateRight() {
var data = {
"Func": "RotateRight", "arg": 0
};
connected ? sendMessage(data) : ConnectServer(sendMessage, data);
}
//关闭视频窗口
function StopVideo() {
var data = { "Func": "StopVideo", "arg": 0 };
connected ? sendMessage(data) : ConnectServer(sendMessage, data);
}
//获取视频设备列表
function GetVideoDevices() {
var data = { "Func": "GetVideoDevices", "arg": 0 };
connected ? sendMessage(data) : ConnectServer(sendMessage, data);
}
//获取音频设备列表
function GetAudioDevices() {
var data = { "Func": "GetAudioDevices", "arg": 0 };
connected ? sendMessage(data) : ConnectServer(sendMessage, data);
}
//开始录像
function StartRecord(videoIndex, audioIndex, fileName, resolution, fps) {
var data = { "Func": "StartRecord", "arg": { "videoIndex": videoIndex, "audioIndex": audioIndex, "fileName": fileName, "resolution": resolution, "fps": fps } };
connected ? sendMessage(data) : ConnectServer(sendMessage, data);
}
//停止录像
function StopRecord() {
var data = { "Func": "StopRecord", "arg": 0 };
connected ? sendMessage(data) : ConnectServer(sendMessage, data);
}
//切换视频设备
function ChangeVideoDevice(camIndex) {
var data = { "Func": "ChangeVideoDevice", "arg": camIndex };
connected ? sendMessage(data) : ConnectServer(sendMessage, data);
}
//切换视频分辨率
function ChangeVideoResolution(resIndex) {
var data = { "Func": "ChangeVideoResolution", "arg": resIndex };
connected ? sendMessage(data) : ConnectServer(sendMessage, data);
}
//切换裁剪方式
function ChangeCutType(type) {
var data = { "Func": "ChangeCutType", "arg": type };
connected ? sendMessage(data) : ConnectServer(sendMessage, data);
}
//获取高拍仪序列号
function GetVideoDeviceSN() {
var data = { "Func": "GetVideoDeviceSN", "arg": 0 };
connected ? sendMessage(data) : ConnectServer(sendMessage, data);
}
//文件方式拍照
function CaptureFile(fileName) {
var data = { "Func": "CaptureFile", "arg": fileName };
connected ? sendMessage(data) : ConnectServer(sendMessage, data);
}
//base64方式拍照
function CaptureBase64(format) {
var data = { "Func": "CaptureBase64", "arg": format };
connected ? sendMessage(data) : ConnectServer(sendMessage, data);
}
//采集发票二维码
function CaptureTaxQR() {
var data = { "Func": "CaptureTaxQR", "arg": 0 };
connected ? sendMessage(data) : ConnectServer(sendMessage, data);
}
//人脸比对
function VerifyFace(face1, face2) {
var data = { "Func": "VerifyFace", "arg": { "face1": face1, "face2": face2 } };
connected ? sendMessage(data) : ConnectServer(sendMessage, data);
}
//人脸比对-Base64
function VerifyFaceByBase64(face1, face2) {
var data = { "Func": "VerifyFaceByBase64", "arg": { "face1": face1, "face2": face2 } };
connected ? sendMessage(data) : ConnectServer(sendMessage, data);
}
//人脸比对
function VerifyFacePro(face1, face2) {
var data = { "Func": "VerifyFacePro", "arg": { "face1": face1, "face2": face2 } };
connected ? sendMessage(data) : ConnectServer(sendMessage, data);
}
//人脸比对-Base64
function VerifyFaceByBase64Pro(face1, face2) {
var data = { "Func": "VerifyFaceByBase64Pro", "arg": { "face1": face1, "face2": face2 } };
connected ? sendMessage(data) : ConnectServer(sendMessage, data);
}
//OCR识别文件
function OCRImage(fileName) {
var data = { "Func": "OCRImage", "arg": fileName };
connected ? sendMessage(data) : ConnectServer(sendMessage, data);
}
//OCR识别文件Pro
function OCRImagePro(fileName, txt, json, rtf, pdf) {
var data = { "Func": "OCRImagePro", "arg": { "fileName": fileName, "txt": txt, "json": json, "rtf": rtf, "pdf": pdf } };
connected ? sendMessage(data) : ConnectServer(sendMessage, data);
}
//打印图片文件
function PrintImage(fileName) {
var data = { "Func": "PrintImage", "arg": fileName };
connected ? sendMessage(data) : ConnectServer(sendMessage, data);
}
//设置水印
function SetWaterMark(watertext, waterfont, position, fontsize, rvalue, gvalue, bvalue, sapceing, Opacity, open) {
var data = { "Func": "SetWaterMark", "arg": { "watertext": watertext, "waterfont": waterfont, "position": position, "fontsize": fontsize, "rvalue": rvalue, "gvalue": gvalue, "bvalue": bvalue, "sapceing": sapceing, "Opacity": Opacity, "open": open } };
connected ? sendMessage(data) : ConnectServer(sendMessage, data);
}
//合并图片
function CombineImages(pic1, pic2, savePic, type) {
var data = { "Func": "CombineImages", "arg": { "pic1": pic1, "pic2": pic2, "savePic": savePic, "type": type } };
connected ? sendMessage(data) : ConnectServer(sendMessage, data);
}
//合并图片
function CombineImagesPro(picList, savePic, type) {
var data = { "Func": "CombineImagesPro", "arg": { "picList": picList, "savePic": savePic, "type": type } };
connected ? sendMessage(data) : ConnectServer(sendMessage, data);
}
//合并图片-base64
function CombineImagesProByBase64(picList, type) {
var data = { "Func": "CombineImagesProByBase64", "arg": { "picList": picList, "type": type } };
connected ? sendMessage(data) : ConnectServer(sendMessage, data);
}
//识别二维码、一维码
function GetBarCode(fileName) {
var data = { "Func": "GetBarCode", "arg": fileName };
connected ? sendMessage(data) : ConnectServer(sendMessage, data);
}
function GetBarCodeBase64(base64Str) {
var data = { "Func": "GetBarCodeBase64", "arg": base64Str };
connected ? sendMessage(data) : ConnectServer(sendMessage, data);
}
\ No newline at end of file
function jsToJavaDefault() {
var data = '发送数据给java默认接收';
window.WebViewJavascriptBridge.send(
data
, function(responseData) { //处理java回传的数据
document.getElementById("show").innerHTML = responseData;
}
);
}
/**
*
* @param {object} data 入参'{“action”:”encrypt”,”msg”:””} ';
* @param {object} obj 回调对象
*/
function androidJsSdk(data,obj){
if(typeof data != 'object') return
var info = JSON.stringify(data)
window.WebViewJavascriptBridge.send(
info
, function(responseData) { //处理java回传的数据
if(responseData){
var json = {}
try {
json = JSON.parse(responseData)
} catch (error) {
alert(error+'java回调数据格式异常')
}
if(json.code == 1){
obj.success(json.data || {})
}else{
obj.fail(json)
}
}
}
);
}
//注册事件监听,初始化
function setupWebViewJavascriptBridge(callback) {
if (window.WebViewJavascriptBridge) {
callback(WebViewJavascriptBridge)
} else {
document.addEventListener(
'WebViewJavascriptBridgeReady'
, function() {
callback(WebViewJavascriptBridge)
},
false
);
}
}
//回调函数,接收java发送来的数据
setupWebViewJavascriptBridge(function(bridge) {
//默认接收
bridge.init(function(message, responseCallback) {
var responseData = 'js默认接收完毕,并回传数据给java';
responseCallback(responseData); //回传数据给java
});
//指定接收,参数functionInJs 与java保持一致
bridge.registerHandler("functionInJs", function(data, responseCallback) {
var responseData = 'js指定接收完毕,并回传数据给java';
responseCallback(responseData); //回传数据给java
});
})
\ No newline at end of file
/**
* Minified by jsDelivr using Terser v5.7.1.
* Original file: /npm/js-base64@3.7.2/base64.js
*
* Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files
*/
!function(t,n){var r,e;"object"==typeof exports&&"undefined"!=typeof module?module.exports=n():"function"==typeof define&&define.amd?define(n):(r=t.Base64,(e=n()).noConflict=function(){return t.Base64=r,e},t.Meteor&&(Base64=e),t.Base64=e)}("undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:this,(function(){"use strict";var t,n="3.7.2",r="function"==typeof atob,e="function"==typeof btoa,o="function"==typeof Buffer,u="function"==typeof TextDecoder?new TextDecoder:void 0,i="function"==typeof TextEncoder?new TextEncoder:void 0,f=Array.prototype.slice.call("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="),c=(t={},f.forEach((function(n,r){return t[n]=r})),t),a=/^(?:[A-Za-z\d+\/]{4})*?(?:[A-Za-z\d+\/]{2}(?:==)?|[A-Za-z\d+\/]{3}=?)?$/,d=String.fromCharCode.bind(String),s="function"==typeof Uint8Array.from?Uint8Array.from.bind(Uint8Array):function(t,n){return void 0===n&&(n=function(t){return t}),new Uint8Array(Array.prototype.slice.call(t,0).map(n))},l=function(t){return t.replace(/=/g,"").replace(/[+\/]/g,(function(t){return"+"==t?"-":"_"}))},h=function(t){return t.replace(/[^A-Za-z0-9\+\/]/g,"")},p=function(t){for(var n,r,e,o,u="",i=t.length%3,c=0;c<t.length;){if((r=t.charCodeAt(c++))>255||(e=t.charCodeAt(c++))>255||(o=t.charCodeAt(c++))>255)throw new TypeError("invalid character found");u+=f[(n=r<<16|e<<8|o)>>18&63]+f[n>>12&63]+f[n>>6&63]+f[63&n]}return i?u.slice(0,i-3)+"===".substring(i):u},y=e?function(t){return btoa(t)}:o?function(t){return Buffer.from(t,"binary").toString("base64")}:p,A=o?function(t){return Buffer.from(t).toString("base64")}:function(t){for(var n=[],r=0,e=t.length;r<e;r+=4096)n.push(d.apply(null,t.subarray(r,r+4096)));return y(n.join(""))},b=function(t,n){return void 0===n&&(n=!1),n?l(A(t)):A(t)},g=function(t){if(t.length<2)return(n=t.charCodeAt(0))<128?t:n<2048?d(192|n>>>6)+d(128|63&n):d(224|n>>>12&15)+d(128|n>>>6&63)+d(128|63&n);var n=65536+1024*(t.charCodeAt(0)-55296)+(t.charCodeAt(1)-56320);return d(240|n>>>18&7)+d(128|n>>>12&63)+d(128|n>>>6&63)+d(128|63&n)},B=/[\uD800-\uDBFF][\uDC00-\uDFFFF]|[^\x00-\x7F]/g,x=function(t){return t.replace(B,g)},C=o?function(t){return Buffer.from(t,"utf8").toString("base64")}:i?function(t){return A(i.encode(t))}:function(t){return y(x(t))},m=function(t,n){return void 0===n&&(n=!1),n?l(C(t)):C(t)},v=function(t){return m(t,!0)},U=/[\xC0-\xDF][\x80-\xBF]|[\xE0-\xEF][\x80-\xBF]{2}|[\xF0-\xF7][\x80-\xBF]{3}/g,F=function(t){switch(t.length){case 4:var n=((7&t.charCodeAt(0))<<18|(63&t.charCodeAt(1))<<12|(63&t.charCodeAt(2))<<6|63&t.charCodeAt(3))-65536;return d(55296+(n>>>10))+d(56320+(1023&n));case 3:return d((15&t.charCodeAt(0))<<12|(63&t.charCodeAt(1))<<6|63&t.charCodeAt(2));default:return d((31&t.charCodeAt(0))<<6|63&t.charCodeAt(1))}},w=function(t){return t.replace(U,F)},S=function(t){if(t=t.replace(/\s+/g,""),!a.test(t))throw new TypeError("malformed base64.");t+="==".slice(2-(3&t.length));for(var n,r,e,o="",u=0;u<t.length;)n=c[t.charAt(u++)]<<18|c[t.charAt(u++)]<<12|(r=c[t.charAt(u++)])<<6|(e=c[t.charAt(u++)]),o+=64===r?d(n>>16&255):64===e?d(n>>16&255,n>>8&255):d(n>>16&255,n>>8&255,255&n);return o},E=r?function(t){return atob(h(t))}:o?function(t){return Buffer.from(t,"base64").toString("binary")}:S,D=o?function(t){return s(Buffer.from(t,"base64"))}:function(t){return s(E(t),(function(t){return t.charCodeAt(0)}))},R=function(t){return D(T(t))},z=o?function(t){return Buffer.from(t,"base64").toString("utf8")}:u?function(t){return u.decode(D(t))}:function(t){return w(E(t))},T=function(t){return h(t.replace(/[-_]/g,(function(t){return"-"==t?"+":"/"})))},Z=function(t){return z(T(t))},j=function(t){return{value:t,enumerable:!1,writable:!0,configurable:!0}},I=function(){var t=function(t,n){return Object.defineProperty(String.prototype,t,j(n))};t("fromBase64",(function(){return Z(this)})),t("toBase64",(function(t){return m(this,t)})),t("toBase64URI",(function(){return m(this,!0)})),t("toBase64URL",(function(){return m(this,!0)})),t("toUint8Array",(function(){return R(this)}))},O=function(){var t=function(t,n){return Object.defineProperty(Uint8Array.prototype,t,j(n))};t("toBase64",(function(t){return b(this,t)})),t("toBase64URI",(function(){return b(this,!0)})),t("toBase64URL",(function(){return b(this,!0)}))},P={version:n,VERSION:"3.7.2",atob:E,atobPolyfill:S,btoa:y,btoaPolyfill:p,fromBase64:Z,toBase64:m,encode:m,encodeURI:v,encodeURL:v,utob:x,btou:w,decode:Z,isValid:function(t){if("string"!=typeof t)return!1;var n=t.replace(/\s+/g,"").replace(/={0,2}$/,"");return!/[^\s0-9a-zA-Z\+/]/.test(n)||!/[^\s0-9a-zA-Z\-_]/.test(n)},fromUint8Array:b,toUint8Array:R,extendString:I,extendUint8Array:O,extendBuiltins:function(){I(),O()},Base64:{}};return Object.keys(P).forEach((function(t){return P.Base64[t]=P[t]})),P}));
//# sourceMappingURL=/sm/79de78edcfa94236e4c8354f91262971e185c3633bb865b6fc17942e93a40207.map
\ No newline at end of file
<!DOCTYPE html> <!DOCTYPE html>
<html lang=""> <html lang="">
<head>
<head>
<meta charset="utf-8"> <meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width,initial-scale=1.0"> <meta name="viewport" content="width=device-width,initial-scale=1.0">
<link rel="icon" href="<%= BASE_URL %>favicon.ico"> <link rel="icon" href="<%= BASE_URL %>favicon.ico">
<title>数字样表系统</title> <title>数字样表系统</title>
</head> </head>
<body>
<body>
<noscript> <noscript>
<strong>We're sorry but <%= htmlWebpackPlugin.options.title %> doesn't work properly without JavaScript enabled. Please enable it to continue.</strong> <strong>We're sorry but <%= htmlWebpackPlugin.options.title %> doesn't work properly without JavaScript enabled.
Please enable it to continue.</strong>
</noscript> </noscript>
<div id="app"></div> <div id="app"></div>
<!-- built files will be auto injected --> <!-- built files will be auto injected -->
<script src="./JSSDK.js"></script> <script src="./base64.min.js"></script>
<script src="./stomp.js"></script> <script src="./stomp.js"></script>
<script src="./android-jssdk.js"></script>
<!-- <script> <!-- <script>
// 自动撑开 // 自动撑开
window.onload = function () { window.onload = function () {
...@@ -34,6 +38,6 @@ ...@@ -34,6 +38,6 @@
} }
</script> --> </script> -->
</body> </body>
</html> </html>
\ No newline at end of file
...@@ -6,145 +6,111 @@ ...@@ -6,145 +6,111 @@
<script> <script>
import local from "@/utils/local"; import local from "@/utils/local";
import mq from "@/mixin/mq";
import { getHomeInfo } from "@/api";
import { mapMutations } from "vuex";
export default { export default {
mixins: [mq],
data() { data() {
return { return {
routeQuery: "", routeQuery: "",
devicenum: "", devicenum: "",
// serveinfo: {
// deviceInfo: {
// enabled: 1,
// productId: 1,
// productName: "排队机",
// siteCode: "",
// siteId: 2,
// siteName: "",
// source: 1,
// },
// rabbmitInfo: {
// downTopicFilter: "/down/00-F1-F5-12-3F-64",
// exchangeName: "phxt.pdj",
// host: "192.168.0.98",
// messageTtl: "86400000",
// password: "admin@2020",
// port: 5672,
// uploadTopicFilter: "/upload/00-F1-F5-12-3F-64",
// username: "taxi_mq",
// virtualHost: "/test",
// },
// serviceInfo: { homeUrl: "", serverUrl: "http://192.168.0.98:8090" },
// },
}; };
}, },
created() { created() {
this.loadconfig(); this.getInfo();
this.getHomeInfo();
// 开发环境
if (process.env.NODE_ENV == "development") {
let obj = {
deviceInfo: {
enabled: 1,
productId: 3,
productName: "样表系统",
siteCode: "511500000000-0001",
siteId: 1,
siteName: "宜宾市民中心",
source: 1,
}, },
methods: { rabbmitInfo: {
errorFn() { downTopicFilter: "/down/" + devicenum,
let dom; exchangeName: "phxt.hjq",
return function (err) { host: "10.12.185.213",
if (dom) { messageTtl: "86400000",
dom.innerText = err || "MQ通讯异常"; password: "admin@2020",
return dom; port: 5672,
} else { uploadTopicFilter: "/upload/" + devicenum,
let createdDom = document.createElement("div"); username: "taxi_mq",
createdDom.style.position = "absolute"; virtualHost: "/",
createdDom.style.left = "0";
createdDom.style.top = "10px";
createdDom.style.width = "100%";
createdDom.style.textAlign = "center";
createdDom.style.fontSize = "12px";
createdDom.style.color = "red";
createdDom.style.zIndex = 10;
createdDom.style.display = "none";
createdDom.innerText = err || "MQ通讯异常";
document.body.appendChild(createdDom);
dom = createdDom;
return dom;
}
};
}, },
clientMp(obj) { serviceInfo: {
var _this = this; homeUrl: "http://192.168.0.24:8080/#/",
// var downTopicFilter = obj.downTopicFilter.replace(/\//g, '%2F') serverUrl: "http://10.12.185.213:8090",
var uploadTopicFilter = obj.uploadTopicFilter.replace(/\//g, "%2F");
var ws = new WebSocket("ws://" + obj.host + ":15674/ws");
/* eslint-disable */
var client = Stomp.over(ws);
// var conditions = {
// durable: true,
// "x-message-ttl": parseInt(obj.messageTtl),
// };
client.connect(
obj.username,
obj.password,
function () {
_this.settimer = setInterval(function () {
// 心跳上行消息
let beatObj = {
data: "=",
headers: {
data: {
protocol: "json",
messageType: "HEART_BEAT",
deviceCode: _this.devicenum,
sign: "abcd1234",
timestamp: _this.$moment().format("YYYY-MM-DD H:mm:ss"),
}, },
},
key: new Date().getTime() + "-" + _this.devicenum,
}; };
client.send( this.WebSocketMq(obj);
"/queue/" + uploadTopicFilter, }
{ "x-message-ttl": parseInt(obj.messageTtl) },
JSON.stringify(beatObj)
);
}, 1000);
this.errorFn().style.display = "none";
},
function (e) {
this.errorFn("MQ通讯异常:" + e).style.display = "block";
_this.settimer && clearInterval(_this.settimer);
setTimeout(function () {
_this.clientMp(obj);
}, 1000);
},
obj.virtualHost
);
}, },
methods: {
...mapMutations(["SET_homeInfo", "SET_datumList", "SET_matterList"]),
// 简析url
urlGet() { urlGet() {
let q = {}; let q = {};
let search = location.search;
let hash = location.hash;
if (search) {
location.search.replace(/([^?&=]+)=([^&]+)/g, function (_, k, v) { location.search.replace(/([^?&=]+)=([^&]+)/g, function (_, k, v) {
return (q[k] = v); return (q[k] = v);
}); });
} else if (hash) {
location.hash.replace(/([^?&=]+)=([^&]+)/g, function (_, k, v) {
return (q[k] = v);
});
}
return q; return q;
}, },
getInfo(info = {}) { // 获取地址栏信息
let { serveinfo, devicenum } = info; getInfo() {
let { deviceInfo, rabbmitInfo, serviceInfo } = serveinfo; let routeQuery = urlGet();
let { serverUrl } = serviceInfo; if (JSON.stringify(routeQuery) !== "{}") {
let { siteId } = deviceInfo; let { devicenum, deviceInfo } = routeQuery;
this.devicenum = devicenum; this.devicenum = devicenum;
local.setLocal("baseURL", serverUrl); local.setLocal("devicenum", devicenum);
local.setLocal("siteId", siteId); local.setLocal("siteId", deviceInfo.siteId);
local.setLocal("devicenum", this.devicenum);
if (serveinfo) {
// **正式环境请打开下面内容**
rabbmitInfo && this.clientMp(rabbmitInfo);
} }
}, },
loadconfig() { // 获取首页信息
this.routeQuery = this.urlGet(); async getHomeInfo() {
if (JSON.stringify(this.routeQuery) !== "{}") { let res = await getHomeInfo({});
this.getInfo(this.routeQuery); let { data, code } = res.data;
} else if (JSON.stringify(this.$route.query) !== "{}") { if (code === 1) {
this.getInfo(this.$route.query); data.hotWords = data.hotWords.map((v) => v.hotwords);
} else { this.homeInfo = data;
local.setLocal("baseURL", "http://192.168.0.98:11078"); this.SET_homeInfo(data);
local.setLocal("siteId", 3); this.SET_datumList(data.datumList);
local.setLocal("devicenum", "90-2B-34-BF-1B-48"); this.SET_matterList(data.matterList);
} }
}, },
// 换肤
getSetinfo() {
console.log(11);
// let _this = this;
// setinfo().then((res) => {
// const { code, data } = res.data;
// if (code == 1) {
// if (_this.linkDom) {
// _this.linkDom.remove();
// }
// if (data.css_path) {
// let link = document.createElement("link");
// _this.linkDom = link;
// link.rel = "stylesheet";
// link.href = data.css_path;
// document.getElementsByTagName("head")[0].appendChild(link);
// }
// }
// });
},
}, },
}; };
</script> </script>
......
// 事项api // 事项api
import local from "@/utils/local"; import local from "@/utils/local";
import request from "@/utils/request"; import request from "@/utils/request";
let baseUrl = local.getLocal("serverUrl");
//let baseUrl = local.getLocal('baseUrl') ? local.getLocal('baseUrl') : 'http://localhost:17002' let siteId = local.getLocal("siteId");
let baseUrl = local.getLocal("baseUrl") let devicenum = local.getLocal("devicenum");
? local.getLocal("baseUrl")
: "http://192.168.0.98:11078";
let siteId = local.getLocal("siteId") ? local.getLocal("siteId") : "3";
let devicenum = local.getLocal("devicenum")
? local.getLocal("devicenum")
: "90-2B-34-BF-1B-48";
// 首页数据展示 // 首页数据展示
export const getHomeInfo = (data) => { export const getHomeInfo = (data) => {
return request({ return request({
......
import local from "@/utils/local";
import moment from "moment";
function createError() {
let dom;
return function (err) {
if (dom) {
dom.innerText = err || "MQ通讯异常";
return dom;
} else {
let createdDom = document.createElement("div");
createdDom.style.position = "absolute";
createdDom.style.left = "0";
createdDom.style.bottom = "10px";
createdDom.style.width = "100%";
createdDom.style.textAlign = "center";
createdDom.style.fontSize = "12px";
createdDom.style.color = "red";
createdDom.style.zIndex = 10;
createdDom.style.display = "none";
createdDom.innerText = err || "MQ通讯异常";
document.body.appendChild(createdDom);
dom = createdDom;
return dom;
}
};
}
const errorFn = createError();
// 解密BASE64
function BASE64Decode(t) {
return JSON.parse(Base64.decode(t));
}
export default {
data() {
return {
settimer: null, //定时器添加心跳
StompObj: null,
ws: null,
};
},
mounted() {
// 调用安卓获取mq数据 JS 重新封装sdk
setTimeout(() => {
this.fnAndroidJsSdk();
}, 1000);
},
methods: {
fnAndroidJsSdk() {
let _this = this;
try {
androidJsSdk(
{ action: "query", msg: "index" },
{
success: function (d) {
_this.WebSocketMq(d);
},
fail: function (d) {
alert(d.msg + ",查询本地数据失败");
},
}
);
} catch (error) {
setTimeout(() => {
this.fnAndroidJsSdk();
}, 1000);
console.log(error);
}
},
clientMp(obj) {
var StompObj = this.StompObj;
if (StompObj == null || !StompObj.connected) {
var _this = this;
var downTopicFilter = obj.downTopicFilter.replace(/\//g, "%2F");
var uploadTopicFilter = obj.uploadTopicFilter.replace(/\//g, "%2F");
this.ws = new WebSocket(`ws://${obj.host}:15674/ws`);
var ws = this.ws;
this.StompObj = Stomp.over(ws);
var client = this.StompObj;
var conditions = {
durable: true,
"x-message-ttl": parseInt(obj.messageTtl),
};
client.connect(
obj.username,
obj.password,
function (x) {
client.subscribe(
"/queue/" + downTopicFilter,
function (data) {
var msg = data.body;
if (msg) {
var json = JSON.parse(msg);
// 解密后数据
var mqOBJ = BASE64Decode(json.data);
switch (json.headers.data.messageType) {
case "restartapp":
// 重启软件
try {
androidJsSdk(
{ action: "restartapp", msg: "" },
{
success: function (d) {},
fail: function (d) {},
}
);
} catch (error) {
console.log(error);
}
break;
case "restartdevice":
// 重启设备
try {
androidJsSdk(
{ action: "restartdevice", msg: "" },
{
success: function (d) {},
fail: function (d) {},
}
);
} catch (error) {
console.log(error);
}
break;
case "sitechange":
// 站点名称变更
_this.getHomeInfo();
break;
case "edition":
// 皮肤换肤通知
_this.getSetinfo();
break;
case "UPGREAD":
// 跟新软件
try {
androidJsSdk(
{ action: "update", msg: "" },
{
success: function (d) {},
fail: function (d) {
_this.$message.error("调用升级异常");
},
}
);
} catch (error) {
console.log(error);
}
break;
}
}
},
conditions
);
// 心跳上行消息
_this.settimer = setInterval(() => {
let beatObj = {
data: "=",
headers: {
data: {
protocol: "json",
messageType: "HEART_BEAT",
deviceCode: _this.devicenum,
sign: "abcd1234",
timestamp: moment().format("YYYY-MM-DD H:mm:ss"),
},
},
key: new Date().getTime() + "-" + _this.devicenum,
};
client.send(
"/queue/" + uploadTopicFilter,
{ "x-message-ttl": parseInt(obj.messageTtl) },
JSON.stringify(beatObj)
);
}, 1000 * 60);
errorFn().style.display = "none";
},
function (e) {
errorFn(`MQ通讯异常:${e}`).style.display = "block";
_this.settimer && clearInterval(_this.settimer);
_this.StompObj = null;
_this.ws = null;
setTimeout(() => {
_this.clientMp(obj);
}, 1000);
},
obj.virtualHost
);
}
},
// mq通讯
WebSocketMq: function (objc) {
var obj = objc.rabbmitInfo; //mq信息
var serviceInfo = objc.serviceInfo; //服务器信息
var serverUrl = serviceInfo.serverUrl; //系统地址
// 保存地址
local.setLocal("serverUrl", serverUrl);
// 初始化接口
setTimeout(() => {
// 查询站点信息
this.getHomeInfo();
// 查询皮肤
this.getSetinfo();
});
// mq连接
this.clientMp(obj);
},
},
};
...@@ -186,8 +186,9 @@ ...@@ -186,8 +186,9 @@
</template> </template>
<script> <script>
import { getHomeInfo } from "@/api"; // import { getHomeInfo } from "@/api";
import MateralsList from "@/components/MateralsList.vue"; import MateralsList from "@/components/MateralsList.vue";
import { mapState } from "vuex";
export default { export default {
components: { components: {
MateralsList, MateralsList,
...@@ -199,9 +200,9 @@ export default { ...@@ -199,9 +200,9 @@ export default {
top1: require("../../assets/img/png_no.1.png"), top1: require("../../assets/img/png_no.1.png"),
top2: require("../../assets/img/png_no.2.png"), top2: require("../../assets/img/png_no.2.png"),
top3: require("../../assets/img/png_no.3.png"), top3: require("../../assets/img/png_no.3.png"),
homeInfo: {}, // 首页数据 // homeInfo: {}, // 首页数据
datumList: [], // datumList: [],
matterList: [], // matterList: [],
visible: false, visible: false,
matterInfo: {}, matterInfo: {},
}; };
...@@ -225,6 +226,7 @@ export default { ...@@ -225,6 +226,7 @@ export default {
waitTime: 2500, // 单行停顿时间(singleHeight,waitTime) waitTime: 2500, // 单行停顿时间(singleHeight,waitTime)
}; };
}, },
...mapState(["homeInfo", "datumList", "matterList"]),
}, },
created() { created() {
this.getHomeInfo(); this.getHomeInfo();
...@@ -246,16 +248,16 @@ export default { ...@@ -246,16 +248,16 @@ export default {
}, },
methods: { methods: {
// 获取首页数据展示 // 获取首页数据展示
async getHomeInfo() { // async getHomeInfo() {
let res = await getHomeInfo({}); // let res = await getHomeInfo({});
let { data, code } = res.data; // let { data, code } = res.data;
if (code === 1) { // if (code === 1) {
data.hotWords = data.hotWords.map((v) => v.hotwords); // data.hotWords = data.hotWords.map((v) => v.hotwords);
this.homeInfo = data; // this.homeInfo = data;
this.matterList = data.matterList; // this.matterList = data.matterList;
this.datumList = data.datumList; // this.datumList = data.datumList;
} // }
}, // },
checkTopImg(index) { checkTopImg(index) {
if (index === 0) { if (index === 0) {
return this.top1; return this.top1;
......
import Vue from 'vue' import Vue from "vue";
import Vuex from 'vuex' import Vuex from "vuex";
Vue.use(Vuex) Vue.use(Vuex);
export default new Vuex.Store({ export default new Vuex.Store({
state: { state: {
menus: [], // 菜单 devicenum: "", // 设备编号
}, homeInfo: {}, // 首页数据
getters: { datumList: [], // 首页材料
matterList: [], // 首页事项
}, },
getters: {},
mutations: { mutations: {
SET_MENUS(state, menus) { SET_devicenum(state, devicenum) {
state.menus = menus state.devicenum = devicenum;
} },
SET_homeInfo(state, homeInfo) {
state.homeInfo = homeInfo;
},
SET_datumList(state, datumList) {
state.datumList = datumList;
},
SET_matterList(state, matterList) {
state.matterList = matterList;
}, },
actions: {
}, },
modules: { actions: {},
} modules: {},
}) });
/** /**
* axios 工具函数层 * axios 工具函数层
*/ */
import axios from 'axios' import axios from "axios";
import { Message } from 'element-ui'; import { Message } from "element-ui";
import local from "@/utils/local" import local from "@/utils/local";
// 请求超时时间 // 请求超时时间
axios.defaults.timeout = 15 * 1000 axios.defaults.timeout = 15 * 1000;
// 设置统一服务器地址 // 设置统一服务器地址
axios.defaults.baseURL = process.env.VUE_APP_API_BASE_URL axios.defaults.baseURL = local.getLocal("serverUrl");
// 请求拦截 // 请求拦截
axios.interceptors.request.use(config => { axios.interceptors.request.use(
let token = local.getLocal('token') (config) => {
if (token) { // let token = local.getLocal('token')
config.headers.Authorization = token // if (token) {
// config.headers.Authorization = token
// }
return config;
},
(err) => {
return Promise.reject(err);
} }
return config );
}, err => {
return Promise.reject(err)
})
// 响应拦截 // 响应拦截
axios.interceptors.response.use(response => { axios.interceptors.response.use(
(response) => {
if (response.data.code !== undefined && response.data.msg !== undefined) { if (response.data.code !== undefined && response.data.msg !== undefined) {
// 取出数据 // 取出数据
let { code, msg } = response.data let { code, msg } = response.data;
if (code === -1) { if (code === -1) {
Message.error({ Message.error({
message: msg, message: msg,
}) });
} else if (code === 401) { } else if (code === 401) {
Message.error({ Message.error({
message: msg, message: msg,
}) });
} }
} }
return response return response;
}, err => { },
if (err.message.includes('timeout')) { (err) => {
if (err.message.includes("timeout")) {
Message.error({ Message.error({
message: '请求超时,请稍后再试', message: "请求超时,请稍后再试",
}) });
} }
return Promise.reject(err) return Promise.reject(err);
}) }
);
export default axios export default axios;
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment