code_app/test/webscan/demo/test.js

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();
});