541 lines
13 KiB
JavaScript
541 lines
13 KiB
JavaScript
//加入运行日志
|
|
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.length;i++){
|
|
s="<option value='"+obj.result[i].index+"'>"+obj.result[i].name+"</option>";
|
|
$(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();
|
|
});
|
|
|
|
|