263 lines
6.5 KiB
JavaScript
263 lines
6.5 KiB
JavaScript
|
//高拍仪与身份证读卡器设备
|
|||
|
var ws_gpysfz={
|
|||
|
type:1,
|
|||
|
port:9456,
|
|||
|
text:"高拍仪与身份证识读机",
|
|||
|
url:"ws://127.0.0.1:9456/",
|
|||
|
ws:null,
|
|||
|
connected:false
|
|||
|
};
|
|||
|
//手写签名设备
|
|||
|
var ws_sxsb={
|
|||
|
type:2,
|
|||
|
port:9457,
|
|||
|
text:"手写签名",
|
|||
|
url:"ws://127.0.0.1:9457/",
|
|||
|
ws:null,
|
|||
|
connected:false
|
|||
|
};
|
|||
|
//扫描仪设备
|
|||
|
var ws_smy={
|
|||
|
type:3,
|
|||
|
port:9458,
|
|||
|
text:"扫描设备",
|
|||
|
url:"ws://127.0.0.1:9458/",
|
|||
|
ws:null,
|
|||
|
connected:false
|
|||
|
};
|
|||
|
//日志输出
|
|||
|
function addlog(obj){
|
|||
|
console.log(obj);
|
|||
|
if(typeof(obj)=="string" && typeof(addDebugLog)!="undefined"){
|
|||
|
addDebugLog(obj);
|
|||
|
}
|
|||
|
}
|
|||
|
function sendWsData(ws,msg){
|
|||
|
try{
|
|||
|
var jsData = typeof(msg)=="string"?msg:JSON.stringify(msg);
|
|||
|
if(typeof(addSendLog)!="undefined"){
|
|||
|
addSendLog(jsData);
|
|||
|
}
|
|||
|
ws.send(jsData);
|
|||
|
return true;
|
|||
|
}
|
|||
|
catch(e){
|
|||
|
addlog("发送 " + msg + " 消息失败");
|
|||
|
addlog(e);
|
|||
|
return false;
|
|||
|
}
|
|||
|
}
|
|||
|
function sendMessage(obj,msg){
|
|||
|
var bRet=false;
|
|||
|
if(obj.ws!=null&&obj.ws.readyState==1){
|
|||
|
bRet = sendWsData(obj.ws,msg);
|
|||
|
}
|
|||
|
else{
|
|||
|
addlog(obj.url + " 未连接成功!");
|
|||
|
}
|
|||
|
return bRet;
|
|||
|
}
|
|||
|
//发送高拍仪身份证消息
|
|||
|
function sendGpySfzMessage(msg){
|
|||
|
return sendMessage(ws_gpysfz,msg);
|
|||
|
}
|
|||
|
//发送手写签名消息
|
|||
|
function sendSxqmMessage(msg){
|
|||
|
return sendMessage(ws_sxsb,msg);
|
|||
|
}
|
|||
|
//发送扫描仪消息
|
|||
|
function sendSmyMessage(msg){
|
|||
|
return sendMessage(ws_smy,msg);
|
|||
|
}
|
|||
|
//接收消息 自动调用 processMessage 函数
|
|||
|
function recvMessage(msg){
|
|||
|
if(typeof(processMessage)!="undefined"){
|
|||
|
processMessage(msg);
|
|||
|
}
|
|||
|
}
|
|||
|
function onUpdateStatus(t,p,f){
|
|||
|
if(typeof(updateStatus)!="undefined"){
|
|||
|
updateStatus(t,p,f);
|
|||
|
}
|
|||
|
}
|
|||
|
//初始化WebSocket连接
|
|||
|
function ConnectServer(device) {
|
|||
|
try{
|
|||
|
device.connected = false;
|
|||
|
if ('WebSocket' in window || window.WebSocket) {
|
|||
|
device.ws = new WebSocket(device.url);
|
|||
|
}
|
|||
|
else if ('MozWebSocket' in window) {
|
|||
|
device.ws = new MozWebSocket(device.url);
|
|||
|
}
|
|||
|
else {
|
|||
|
alert("浏览器版本太低!请使用Chrome、Firefox浏览器!");
|
|||
|
return;
|
|||
|
}
|
|||
|
if(device.ws!=null){
|
|||
|
device.ws.onopen = function () {
|
|||
|
device.connected = true;
|
|||
|
onUpdateStatus(device.type,device.port,true);
|
|||
|
}
|
|||
|
device.ws.onclose = function (e) {
|
|||
|
device.connected = false;
|
|||
|
onUpdateStatus(device.type,device.port,false);
|
|||
|
}
|
|||
|
device.ws.onmessage = function (e) {
|
|||
|
var txt = "";
|
|||
|
if (typeof (e.data) == "string") {
|
|||
|
txt = e.data;
|
|||
|
}
|
|||
|
else{
|
|||
|
try {
|
|||
|
txt = JSON.stringify(e.data);
|
|||
|
}
|
|||
|
catch (e){
|
|||
|
txt = "";
|
|||
|
addlog("数据解析失败!");
|
|||
|
addlog(e);
|
|||
|
}
|
|||
|
}
|
|||
|
if(txt!="") {
|
|||
|
recvMessage(txt);
|
|||
|
}
|
|||
|
}
|
|||
|
device.ws.onerror = function (e) {
|
|||
|
addlog(e);
|
|||
|
};
|
|||
|
device.ws.open();//连接 websocket
|
|||
|
addlog(device.url+" 初始化完成!");
|
|||
|
}
|
|||
|
else{
|
|||
|
onUpdateStatus(device.type,device.port,false);
|
|||
|
addlog(device.url+" 初始化失败!");
|
|||
|
}
|
|||
|
}
|
|||
|
catch(e){
|
|||
|
addlog(device.url+" 连接失败!");
|
|||
|
addlog(e);
|
|||
|
}
|
|||
|
}
|
|||
|
//初始化司法厅设备
|
|||
|
function InitDevice(){
|
|||
|
ConnectServer(ws_gpysfz);
|
|||
|
ConnectServer(ws_sxsb);
|
|||
|
ConnectServer(ws_smy);
|
|||
|
}
|
|||
|
//高拍仪接口函数
|
|||
|
//发送获取视频设备列表消息
|
|||
|
function SendGetVideoDevices(){
|
|||
|
return sendGpySfzMessage({"Func":"GetVideoDevices","arg":"0"});
|
|||
|
}
|
|||
|
//发送获取音频设备列表消息
|
|||
|
function SendGetAudioDevices(){
|
|||
|
return sendGpySfzMessage({"Func":"GetAudioDevices","arg":"0"});
|
|||
|
}
|
|||
|
//发送获取分辨率列表消息
|
|||
|
function SendGetResolution(index){
|
|||
|
return sendGpySfzMessage({"Func":"GetResolution","arg":""+index});
|
|||
|
}
|
|||
|
//发送切换视频分辨率消息
|
|||
|
function SendChangeVideoResolution(index){
|
|||
|
return sendGpySfzMessage({"Func":"ChangeVideoResolution","arg":""+index});
|
|||
|
}
|
|||
|
//发送打开指定视频消息
|
|||
|
function SendStartVideo(index){
|
|||
|
return sendGpySfzMessage({"Func":"StartVideo","arg":""+index});
|
|||
|
}
|
|||
|
//发送打开主视频消息
|
|||
|
function SendStartRunMain(){
|
|||
|
return sendGpySfzMessage({"Func":"StartRunMain","arg":"0"});
|
|||
|
}
|
|||
|
//发送打开副视频消息
|
|||
|
function SendStartRunSub(){
|
|||
|
return sendGpySfzMessage({"Func":"StartRunSub","arg":"0"});
|
|||
|
}
|
|||
|
//发送关闭视频消息
|
|||
|
function SendStopVideo(){
|
|||
|
return sendGpySfzMessage({"Func":"StopVideo","arg":"0"});
|
|||
|
}
|
|||
|
//发送文件方式拍照消息
|
|||
|
function SendCaptureFile(filename){
|
|||
|
return sendGpySfzMessage({"Func":"CaptureFile","arg":""+filename});
|
|||
|
}
|
|||
|
//发送Base64方式拍照消息
|
|||
|
function SendCaptureBase64(format){
|
|||
|
return sendGpySfzMessage({"Func":"CaptureBase64","arg":""+format});
|
|||
|
}
|
|||
|
//发送左旋转消息
|
|||
|
function SendRotateLeft(angle){
|
|||
|
return sendGpySfzMessage({"Func":"RotateLeft","arg":""+angle});
|
|||
|
}
|
|||
|
//发送右旋转消息
|
|||
|
function SendRotateRight(angle){
|
|||
|
return sendGpySfzMessage({"Func":"RotateRight","arg":""+angle});
|
|||
|
}
|
|||
|
//发送放大消息
|
|||
|
function SendZoomIn(){
|
|||
|
return sendGpySfzMessage({"Func":"ZoomIn","arg":"0"});
|
|||
|
}
|
|||
|
//发送缩小消息
|
|||
|
function SendZoomOut(){
|
|||
|
return sendGpySfzMessage({"Func":"ZoomOut","arg":"0"});
|
|||
|
}
|
|||
|
//发送切换裁剪方式消息
|
|||
|
function SendChangeCutType(cutType){
|
|||
|
return sendGpySfzMessage({"Func":"ChangeCutType","arg":""+cutType});
|
|||
|
}
|
|||
|
//发送设置色彩模式消息
|
|||
|
function SendSetColorType(colorType){
|
|||
|
return sendGpySfzMessage({"Func":"SetColorType","arg":""+colorType});
|
|||
|
}
|
|||
|
//发送设置JPG图片压缩率消息
|
|||
|
function SendSetJPGQuality(quality){
|
|||
|
return sendGpySfzMessage({"Func":"SetJPGQuality","arg":""+quality});
|
|||
|
}
|
|||
|
|
|||
|
//身份证识读机接口函数
|
|||
|
//发送读取身份证消息
|
|||
|
function SendReadIDCard(){
|
|||
|
return sendGpySfzMessage({"Func":"ReadIDCard","arg":"0"});
|
|||
|
}
|
|||
|
|
|||
|
//手写签名设备接口函数
|
|||
|
//发送开始签字消息
|
|||
|
function SendStartSign(){
|
|||
|
return sendSxqmMessage({"Func":"StartSign","arg":"0"});
|
|||
|
}
|
|||
|
//发送关闭签字消息
|
|||
|
function SendCloseSign(){
|
|||
|
return sendSxqmMessage({"Func":"CloseSign","arg":"0"});
|
|||
|
}
|
|||
|
|
|||
|
//扫描设备接口函数
|
|||
|
//发送获取所有SANE/twain源名称消息
|
|||
|
function SendGetDeviceList(){
|
|||
|
return sendSmyMessage({"Func":"GetDeviceList","arg":"0"});
|
|||
|
}
|
|||
|
//发送选择SANE/twain源名称消息
|
|||
|
function SendSelectDevice(index){
|
|||
|
return sendSmyMessage({"Func":"SelectDevice","arg":""+index});
|
|||
|
}
|
|||
|
//发送设置色彩模式消息
|
|||
|
function SendSetScanColorType(colorType){
|
|||
|
return sendSmyMessage({"Func":"SetScanColorType","arg":""+colorType});
|
|||
|
}
|
|||
|
//发送设置扫描分辨率消息
|
|||
|
function SendSetDPI(dpi){
|
|||
|
return sendSmyMessage({"Func":"SetDPI","arg":""+dpi});
|
|||
|
}
|
|||
|
//发送设置单双面消息
|
|||
|
function SendSetDuplex(duplex){
|
|||
|
return sendSmyMessage({"Func":"SetDuplex","arg":""+duplex});
|
|||
|
}
|
|||
|
//发送设置JPG图片压缩率消息
|
|||
|
function SendSetScanJPGQuality(quality){
|
|||
|
return sendSmyMessage({"Func":"SetScanJPGQuality","arg":""+quality});
|
|||
|
}
|
|||
|
//发送开始扫描消息
|
|||
|
function SendStartScan(page){
|
|||
|
return sendSmyMessage({"Func":"StartScan","arg":""+page});
|
|||
|
}
|
|||
|
|