//加入运行日志 function addDebugLog(msg){ var val = $("#msg_run").val(); val += "\r\n"+msg; $("#msg_run").val(val); } //加入发送消息日志 function addSendLog(msg){ var val = $("#msg_send").val(); val += "\r\n"+msg; $("#msg_send").val(val); } //加入接收消息日志 function addRecvLog(msg){ if(msg.indexOf("ShowVideo")<0){ var val = $("#msg_recv").val(); val += "\r\n"+msg; $("#msg_recv").val(val); } } function createSelectItem(objid,obj){ $(objid).empty(); try{ for(i=0;i"+obj.result[i].name+""; $(objid).append(s); } } catch (e){ addDebugLog(e.message); } } function getSelectIndex(objid) { return $(objid).val(); } function getSelectValue(objid) { return $(objid).text(); } //视频设备 function changeGpyVideos(){ var index = getSelectIndex("#gpy_videos"); if(index!="") { SendGetResolution(index); } } //分辨率 function changeResolution(){ var index = getSelectIndex("#gpy_resolutions"); if(index!="") { SendChangeVideoResolution(index); } } //裁剪方式 function changeCutType(){ var index = getSelectIndex("#gpy_cuttypes"); if(index!="") { SendChangeCutType(index); } } //色彩模式 function changeSetColorType(){ var index = getSelectIndex("#gpy_colortypes"); if(index!="") { SendSetColorType(index); } } //JPG压缩率 function changeSetJPGQuality(){ var val = $("#gpy_jpgquality").val();//JPG压缩率 if(val==""){ val = "90"; } SendSetJPGQuality(val); } //扫描仪 源名称 function changeDevices(){ var index = getSelectName("#scan_devices"); if(index!="") { SendSelectDevice(index); } } //扫描仪 色彩模式 function changeSetScanColorType(){ var index = getSelectIndex("#scan_colortypes"); if(index!="") { SendSetScanColorType(index); } } //扫描仪 单双面 function changeDuplex(){ var index = getSelectIndex("#scan_duplex"); if(index!="") { SendSetDuplex(index); } } //扫描仪 扫描分辨率 function changeSetDPI(){ var val = $("#scan_dpi").val(); if(val==""){ val = "100"; } SendSetDPI(index); } //扫描仪 JPG压缩率 function changeSetScanJPGQuality(){ var val = $("#scan_jpgquality").val(); if(val==""){ val = "90"; } SendSetScanJPGQuality(val); } //显示图片 function showImage(id1,id2,obj){ try{ if(obj.code=="0") { var base64 = obj.result; if(base64!="") { $(id1).attr("src", "data:image/jpeg;base64," + base64); if(id2!=""){ $(id2).attr("src", "data:image/jpeg;base64," + base64); } } } } catch (e){ addDebugLog(e.message); } } //获取视频设备列表 请求返回 function GetVideoDevices(obj){ createSelectItem("#gpy_videos",obj); //changeGpyVideos(); //changeCutType(); //changeSetColorType(); //changeSetJPGQuality(); } //获取音频设备列表 请求返回 function GetAudioDevices(obj){ // createSelectItem("#gpy_audios",obj); } //获取分辨率列表 请求返回 function GetResolution(obj){ createSelectItem("#gpy_resolutions",obj); changeResolution(); } //切换视频分辨率 请求返回 function ChangeVideoResolution(obj){ } //打开指定视频 请求返回 function StartVideo(obj){ } //打开主视频 请求返回 function StartRunMain(obj){ } //打开副视频 请求返回 function StartRunSub(obj){ } //关闭视频 请求返回 function StopVideo(obj){ } //文件方式拍照 请求返回 function CaptureFile(obj){ } //Base64方式拍照 请求返回 function CaptureBase64(obj){ showImage("#imgpreview","",obj); } //左旋转 请求返回 function RotateLeft(obj){ } //右旋转 请求返回 function RotateRight(obj){ } //放大 请求返回 function ZoomIn(obj){ } //缩小 请求返回 function ZoomOut(obj){ } //切换裁剪方式 请求返回 function ChangeCutType(obj){ } //设置色彩模式 请求返回 function SetColorType(obj){ } //设置JPG图片压缩率 请求返回 function SetJPGQuality(obj){ } //视频帧画面发送 请求返回 function ShowVideo(obj){ showImage("#videopreview","",obj); } //读取身份证 请求返回 function ReadIDCard(obj){ addDebugLog("返回读取身份证信息"); var base64 = ""; try{ if(obj.code=="0") { $("#sfz_name").text("姓名:"+obj.result.Name); $("#sfz_sex").text("性别:"+obj.result.Sex); $("#sfz_nation").text("  民族:"+obj.result.Nation); $("#sfz_birthdate").text("出生:"+obj.result.BirthDate); $("#sfz_addr").text("地址:"+obj.result.Addr); $("#sfz_id").text("公民身份号码:"+obj.result.ID); $("#sfz_office").text("签发机关:"+obj.result.Office); $("#sfz_date").text("  有效期限:"+(obj.result.EndDate=="99999999"?"长期":obj.result.BeginDate + " - "+ obj.result.EndDate)); base64 = obj.result.HeadPic; if(base64!="") { $("#sfz_headpic").attr("src", "data:image/jpeg;base64," + base64); } } } catch (e){ addDebugLog(e.message); } } //开始签字 请求返回 function StartSign(obj){ addDebugLog("签名返回"); showImage("#sign_pic","#imgpreview",obj); } //关闭签字 请求返回 function CloseSign(obj){ } //获取所有SANE/twain源名称 请求返回 function GetDeviceList(obj){ createSelectItem("#scan_devices",obj); } //选择SANE/twain源 请求返回 function SelectDevice(obj){ } //设置色彩模式 请求返回 function SetScanColorType(obj){ } //设置分辨率 请求返回 function SetDPI(obj){ } //设置单双面 请求返回 function SetDuplex(obj){ } //设置JPG图片压缩率 请求返回 function SetScanJPGQuality(obj){ } //开始扫描 请求返回 function StartScan(obj){ } //每张图片保存完成后此返回消息 请求返回 function ImageSaveDone(obj){ addDebugLog("返回一页扫描图片"); showImage("#imgpreview","",obj); } //本次扫描完成返回此消息 请求返回 function ScanComplete(obj){ addDebugLog("扫描完成"); } //处理接收的消息 function processMessage(msg){ addRecvLog(msg); var obj = null; var func = ""; try { msg = "(" + msg + ")"; obj = eval(msg); func = obj.Func; } catch (e){ addDebugLog("解析数据失败"); return false; } console.log("Func="+func); switch (func) { case "GetVideoDevices"://获取视频设备列表 GetVideoDevices(obj); break; case "GetAudioDevices"://获取音频设备列表 GetAudioDevices(obj); break; case "GetResolution"://获取分辨率列表 GetResolution(obj); break; case "ChangeVideoResolution"://切换视频分辨率 ChangeVideoResolution(obj); break; case "StartVideo"://打开指定视频 StartVideo(obj); break; case "StartRunMain"://打开主视频 StartRunMain(obj); break; case "StartRunSub"://打开副视频 StartRunSub(obj); break; case "StopVideo"://关闭视频 StopVideo(obj); break; case "CaptureFile"://文件方式拍照 CaptureFile(obj); break; case "CaptureBase64"://Base64方式拍照 CaptureBase64(obj); break; case "RotateLeft"://左旋转 RotateLeft(obj); break; case "RotateRight"://右旋转 RotateRight(obj); break; case "ZoomIn"://放大 ZoomIn(obj); break; case "ZoomOut"://缩小 ZoomOut(obj); break; case "ChangeCutType"://切换裁剪方式 ChangeCutType(obj); break; case "SetColorType"://设置色彩模式 SetColorType(obj); break; case "SetJPGQuality"://设置JPG图片压缩率 SetJPGQuality(obj); break; case "ShowVideo"://视频帧画面发送 ShowVideo(obj); break; case "ReadIDCard"://读取身份证 ReadIDCard(obj); break; case "StartSign"://开始签字 StartSign(obj); break; case "CloseSign"://关闭签字 CloseSign(obj); break; case "GetDeviceList"://获取所有SANE/twain源名称 GetDeviceList(obj); break; case "SelectDevice"://选择SANE/twain源 SelectDevice(obj); break; case "SetScanColorType"://设置色彩模式 SetScanColorType(obj); break; case "SetDPI"://设置分辨率 SetDPI(obj); break; case "SetDuplex"://设置单双面 SetDuplex(obj); break; case "SetScanJPGQuality"://设置JPG图片压缩率 SetScanJPGQuality(obj); break; case "StartScan"://开始扫描 StartScan(obj); break; case "ImageSaveDone"://每张图片保存完成后此返回消息 ImageSaveDone(obj); break; case "ScanComplete"://本次扫描完成返回此消息 ScanComplete(obj); break; } return true; } //连接状态更新 function updateStatus(t,p,f){ var status = f?"已连接":"连接失败"; var flag = f?"false":"true"; var objid=""; addDebugLog("端口号 "+p+" "+status); if(t==1){ $("#gpy_status").text("  状态:"+status); $("#sfz_status").text("状态:"+status); objid = ".gpyobj"; if(f){ SendGetVideoDevices();//获取视频设备列表消息 //SendGetAudioDevices();//获取音频设备列表消息 } } else if(t==2){ $("#sign_status").text("状态:"+status); objid = ".signobj"; } else if(t==3){ $("#scan_status").text("    状态:"+status); objid = ".scanobj"; if(f){ SendGetDeviceList();//获取所有SANE/twain源名称消息 } } //$(objid).attr("disabled",flag); } function bindClick(){ //打开指定视频 $("#StartVideo").click(function (e) { var index = getSelectIndex("#gpy_videos"); if(index!=""){ SendStartVideo(index); } }); //打开主视频 $("#StartRunMain").click(function (e) { SendStartRunMain(); }); //打开副视频 $("#StartRunSub").click(function (e) { SendStartRunSub(); }); //关闭视频 $("#StopVideo").click(function (e) { SendStopVideo(); }); //文件方式拍照 $("#CaptureFile").click(function (e) { SendCaptureFile("c:\test.jpg"); }); //Base64方式拍照 $("#CaptureBase64").click(function (e) { SendCaptureBase64(); }); //左转 $("#RotateLeft").click(function (e) { SendRotateLeft("30"); }); //右转 $("#RotateRight").click(function (e) { SendRotateRight("30"); }); //放大 $("#ZoomIn").click(function (e) { SendZoomIn(); }); //缩小 $("#ZoomOut").click(function (e) { SendZoomOut(); }); //读取身份证 $("#ReadIDCard").click(function (e) { SendReadIDCard(); }); //开始签字 $("#StartSign").click(function (e) { SendStartSign(); }); //关闭签字 $("#CloseSign").click(function (e) { SendCloseSign(); }); //开始扫描 $("#StartScan").click(function (e) { var page = $("#scan_pagesize").val(); if(page==""){ page = "0"; } SendStartScan(page); }); //视频设备 $("#gpy_videos").change(function (e) { //changeGpyVideos(); }); //分辨率 $("#gpy_resolutions").change(function (e) { changeResolution(); }); //裁剪方式 $("#gpy_cuttypes").change(function (e) { changeCutType(); }); //色彩模式 $("#gpy_colortypes").change(function (e) { changeSetColorType(); }); //JPG压缩率 $("#gpy_jpgquality").change(function (e) { changeSetJPGQuality(); }); //扫描仪 源名称 $("#scan_devices").change(function (e) { changeDevices(); }); //扫描仪 色彩模式 $("#scan_colortypes").change(function (e) { changeSetScanColorType(); }); //扫描仪 单双面 $("#scan_duplex").change(function (e) { changeDuplex(); }); //扫描仪 扫描分辨率 $("#scan_dpi").change(function (e) { changeSetDPI(); }); //扫描仪 JPG压缩率 $("#scan_jpgquality").change(function (e) { changeSetScanJPGQuality(); }); } $(document).ready(function () { //初始化websocket InitDevice(); bindClick(); });