You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

1499 lines
34 KiB

import '@/utils/jquery-1.9.1.min.js';
import io from '@/utils/socket.io.2.3.1';
(function (window,undefined) {
$.support.cors=true;
var Result=function(code,msg,data){
this.code=code;
this.msg=msg;
this.data=data;
}
function WebScan(options) {
if(options.url=='' || options.url ==null ||options.url==undefined){
WebScan.prototype.url="http://localhost:18989/WebScan/";
}else{
WebScan.prototype.url=options.url;
}
if(options.wsUrl==''||options.wsUrl==null||options.wsUrl==undefined){
WebScan.prototype.wsUrl="http://localhost:28989";
}else{
WebScan.prototype.wsUrl=options.wsUrl;
}
WebScan.prototype.licence=options.licence;
return WebScan.prototype;
}
WebScan.prototype = {
constructor:WebScan,
clientId:'',
isInit:false,
isInUse:false,
callback:null,
compressCallBack:null,
/**
* 初始化
* @param {Object} pid 批次号
* @param {Object} callback 回调函数
*/
initSef:function(pid,callback){
var that=this;
jQuery.ajax({
type:'post',
url:this.url+"/getVersionInfo",
dataType:'json',
cache:false,
data:{
"licence":this.licence,
"pid":pid
},
success:function(data){
if(data.code==200){
that.initSocketIo(data.data);
that.clientId=data.data;
that.isInit=true;
}
callback(data);
},
error:function(dat){
console.log('http异常['+dat.status+']'+'结果['+dat.statusText+']')
var result = new Result(500,"网络错误",null);
callback(result);
}
})
},
/**
* 获取设备
* @param {Object} callback 回调函数
*/
getDevices:function(callback){
jQuery.ajax({
type:'get',
url:this.url+"/getDevices",
cache:false,
data:{
"pid":this.clientId
},
success:function(data){
callback(data);
},
error:function(dat){
console.log('http异常['+dat.status+']'+'结果['+dat.statusText+']')
var result = new Result(500,"网络错误",null);
callback(result);
}
})
},
/**
* 设置参数
* @param {Object} params 参数字符串
* @param {Object} callback 回调函数
*/
setParams:function(params,callback){
jQuery.ajax({
type:"post",
url:this.url+"/setParams",
cache:false,
data:{
"pid":this.clientId,
"params":JSON.stringify(params)
},
success:function(data){
callback(data);
},
error:function(){
var result = new Result(500,"网络错误",null);
callback(result);
}
})
},
/**
* 追加授权
* @param {Object} licence 授权码
* @param {Object} callback 回调函数
*/
saveLicence:function(licence,callback){
jQuery.ajax({
type:"post",
url:this.url+"/saveLicence",
cache:false,
data:{
"pid":this.clientId,
"licence":licence
},
success:function(data){
callback(data);
},
error:function(){
var result = new Result(500,"网络错误",null);
callback(result);
}
})
},
/**
* 获取系统设置参数
* @param {Object} callback 回调函数
*/
getParams:function(callback){
jQuery.ajax({
type:'get',
url:this.url+"/getParams",
cache:false,
data:{
"pid":this.clientId
},
success:function(data){
callback(data);
},
error:function(){
var result = new Result(500,"网络错误",null);
callback(result);
}
})
},
/**
* 获取序列号
* @param {Object} device 设备
* @param {Object} callback 回调函数
*/
getSerialNumber:function(device,callback){
jQuery.ajax({
type:'get',
url:this.url+"/getSerialNumber",
cache:false,
data:{
"device":device
},
success:function(data){
callback(data);
},
error:function(){
var result = new Result(500,"网络错误",null);
callback(result);
}
})
},
/**
* 获取系统路径
* @param {Object} parentPath 上级目录
* @param {Object} isDirectory 是否只显示文件夹
* @param {Object} callback 回调函数
*/
getFileExplore:function(parentPath,isDirectory,callback){
jQuery.ajax({
type:"get",
url:this.url+"/getFilePath",
data:{
"parentPath":parentPath,
"isDirectory":isDirectory
},
success:function(data){
callback(data);
},
error:function(){
var result = new Result(500,"网络错误",null);
callback(result);
}
})
},
/**
* 根据图像名称获取图像
* @param {Object} name 图像名称
* @param {Object} callback
*/
getImageByName:function(name,callback){
jQuery.ajax({
type:'get',
url:this.url+"/image/getImageByName",
cache:false,
data:{
"pid":this.clientId,
"imageName":name
},
success:function(data){
callback(data);
},
error:function(){
var result = new Result(500,"网络错误",null);
callback(result);
}
})
},
/**
* 合成OFD
* @param {Object} isAuto 是否自动图像大小
* @param {Object} isDouble 是否双层
* @param {Object} callback 回调函数
* @param {Object} compressCallback 双层合车较慢支持进度回调回调函数
*/
majorOFD:function(isAuto,isDouble,callback,compressCallback){
var formData={
"isAuto":isAuto,
"isDouble":isDouble,
"pid":this.clientId
};
var that = this;
jQuery.ajax({
type:'post',
url:this.url+"/majorOfd",
cache:false,
data:{
"formDataString":JSON.stringify(formData)
},
success:function(data){
callback(data);
that.compressCallBack=compressCallback;
},
error:function(){
var result = new Result(500,"网络错误",null)
callback(result);
}
})
},
/**
* 合成OFD
* @param {Object} isDouble 是否双层
* @param {Object} callback 回调函数
*/
majorOFDWithBlob:function(isAuto,isDouble,callback){
// 创建 XMLHttpRequest 对象
var xhr = new XMLHttpRequest();
// 设置请求处理函数
xhr.onreadystatechange = function() {
if (xhr.readyState === XMLHttpRequest.DONE) {
if (xhr.status === 200) {
var blob = xhr.response;
var result = new Result(200,"合成完成",blob);
callback(result);
// 处理获取到的 blob 数据
} else {
var blob = xhr.response;
if(blob!=null){
var fr = new FileReader();
fr.readAsText(blob);
fr.onload=function(e){
var result = fr.result;
var responseJSON = JSON.parse(result);
var result = new Result(xhr.status,responseJSON.message);
callback(result);
}
}else{
var result = new Result(500,"网络错误,状态为:"+xhr.status);
}
console.error('发生错误,状态码:'+ xhr.status);
}
}
};
// 发起请求
xhr.open('GET', this.url+"/majorOfdBlob?pid="+this.clientId+"&isDouble="+isDouble+"&isAuto="+isAuto, true);
xhr.responseType = 'blob';
xhr.send();
},
/**
* 合成PDF
* @param {Object} isDouble 是否双层
* @param {Object} callback 回调函数
*/
majorPDF:function(isDouble,callback){
var formData={
"pid":this.clientId,
"isDouble":isDouble
}
jQuery.ajax({
type:'post',
url:this.url+"/majorPdf",
cache:false,
data:{
"formDataString":JSON.stringify(formData)
},
success:function(data){
callback(data);
},
error:function(){
var result = new Result(500,"网络错误",null);
callback(result);
}
})
},
/**
* 合成PDF
* @param {Object} isDouble 是否双层
* @param {Object} callback 回调函数
*/
majorPDFWithBlob:function(isDouble,callback){
// 创建 XMLHttpRequest 对象
var xhr = new XMLHttpRequest();
// 设置请求处理函数
xhr.onreadystatechange = function() {
if (xhr.readyState === XMLHttpRequest.DONE) {
if (xhr.status === 200) {
var blob = xhr.response;
var result = new Result(200,"合成完成",blob);
callback(result);
// 处理获取到的 blob 数据
} else {
var blob = xhr.response;
if(blob!=null){
var fr = new FileReader();
fr.readAsText(blob);
fr.onload=function(e){
var result = fr.result;
var responseJSON = JSON.parse(result);
var result = new Result(xhr.status,responseJSON.message);
callback(result);
}
}else{
var result = new Result(500,"网络错误,状态为:"+xhr.status);
}
console.error('发生错误,状态码:'+ xhr.status);
}
}
};
// 发起请求
xhr.open('GET', this.url+"/majorPdfBlob?pid="+this.clientId+"&isDouble="+isDouble, true);
xhr.responseType = 'blob';
xhr.send();
},
/**
* 合成docx
* @param {Object} isDouble 是否双层
* @param {Object} callback 回调函数
*/
majorDocx:function(callback,compressCallBack){
var that = this;
that.compressCallBack=compressCallBack;
jQuery.ajax({
type:'post',
url:this.url+"/majorDocx",
cache:false,
data:{
"pid":this.clientId
},
success:function(data){
callback(data);
},
error:function(){
var result = new Result(500,"网络错误",null);
callback(result);
}
})
},
/**
* 上传图像
* @param {Object} uploadParam 上传参数对象
* @param {Object} callback 回调函数
*/
uploadImage:function(uploadParam,callback){
uploadParam.pid=this.clientId;
jQuery.ajax({
type:'post',
url:this.url+"/uploadImage",
cache:false,
data:{
"formDataString":JSON.stringify(uploadParam)
},
success:function(data){
callback(data);
},
error:function(){
var result = new Result(500,"网络错误",null);
callback(result);
}
})
},
/**
* 根据索引获取图像
* @param {Object} startIndex 开始索引
* @param {Object} endIndex 结束索引
* @param {Object} callback 回调函数
*/
getBatchImage:function(startIndex,endIndex,callback){
jQuery.ajax({
type:'post',
url:this.url+"/image/getBatchImage",
cache:false,
data:{
"pid":this.clientId,
"startIndex":startIndex,
"endIndex":endIndex
},
success:function(data){
callback(data);
},
error:function(){
var result = new Result(500,"网络错误",null);
callback(result);
}
})
},
/**
* 保存图像
* @param {Object} imageName 图像名称
* @param {Object} base64 图像的base64
* @param {Object} callback
*/
saveImage:function(imageName,base64,callback){
jQuery.ajax({
type:"post",
url:this.url+'/image/saveImage',
cache:false,
data:{
"pid":this.clientId,
"imageName":imageName,
"image":base64
},success:function(data){
callback(data);
},
error:function(){
var result = new Result(500,"网络错误",null);
callback(result);
}
})
},
/**
* 获取所有图像
* @param {Object} callback 回调函数
*/
getAllImages:function(callback){
jQuery.ajax({
type:'get',
url:this.url+"/image/getImageByPid",
cache:false,
data:{
"pid":this.clientId
},
success:function(data){
callback(data);
},
error:function(){
var result = new Result(500,"网络错误",null);
callback(result);
}
})
},
/**
* 删除图像
* @param {Object} imageName 图像名称
* @param {Object} callback 回调函数
*/
deleteImage:function(imageName,callback){
jQuery.ajax({
type:'post',
url:this.url+"/image/deleteImage",
cache:false,
data:{
"pid":this.clientId,
"imageName":imageName
},
success:function(data){
callback(data);
},
error:function(){
var result = new Result(500,"网络错误",null);
callback(result);
}
})
},
/**
* 根据索引删除图像
* @param {Object} indexs 索引数组
* @param {Object} callback 回调函数
*/
deleteByIndexes:function(indexs,callback){
jQuery.ajax({
type:'post',
url:this.url+"/image/deleteByIndexes",
cache:false,
data:{
"pid":this.clientId,
"indexs":indexs
},
success:function(data){
callback(data);
},
error:function(){
result = new Result(500,"网络错误",null);
callback(result);
}
})
},
/**
* 删除所有的图像
* @param {Object} callback
*/
deleteAllImage:function(callback){
jQuery.ajax({
type:'post',
url:this.url+"/image/deleteAllImage",
cache:false,
data:{
"pid":this.clientId,
},
success:function(data){
callback(data);
},
error:function(){
result = new Result(500,"网络错误",null);
callback(result);
}
})
},
/**
* 拆分图像
* @param {Object} imageName 图像名称
* @param {Object} isHorizontal 水平|垂直
* @param {Object} x1 坐标起始点X轴
* @param {Object} y1 坐标起始点Y轴
* @param {Object} x2 坐标终止点X轴
* @param {Object} y2 坐标终止点Y轴
* @param {Object} callback 回调函数
*/
split:function(imageName,isHorizontal,x1,y1,x2,y2,callback){
jQuery.ajax({
type:'post',
url:this.url+"/image/split",
cache:false,
data:{
"pid":this.clientId,
"imageName":imageName,
"isHorizontal":isHorizontal,
"x1":parseInt(x1),
"y1":parseInt(y1),
"x2":parseInt(x2),
"y2":parseInt(y2)
},
success:function(data){
callback(data);
},
error:function(){
result = new Result(500,"网络错误",null);
callback(result);
}
})
},
/**
* 合并图像
* @param {Object} isHorizontal 水平|垂直
* @param {Object} indexs 图像索引
* @param {Object} callback 回调函数
*/
merge:function(isHorizontal,indexs,callback){
jQuery.ajax({
type:'post',
url:this.url+"/image/mergeHorizontal",
cache:false,
data:{
"pid":this.clientId,
"isHorizontal":isHorizontal,
"indexs":indexs
},
success:function(data){
callback(data);
},
error:function(){
result = new Result(500,"网络错误",null);
callback(result);
}
})
},
/**
* 获取最后一个批次
* @param {Object} callback 回调函数
*/
getLastBatch:function(callback){
jQuery.ajax({
type:'get',
url:this.url+"/getLastBatch",
cache:false,
success:function(data){
callback(data);
},
error:function(){
result = new Result(500,"网络错误",null);
callback(result);
}
})
},
/**
* 开始扫描
* @param {Object} callback 回调函数
* @param {Object} scanData 扫描参数
*/
startScan:function(callback,scanData){
if(this.isInUse==true){
return new Result(500,"设备使用中",null)
}
if(this.SocketClient!=null && this.SocketClient!=undefined){
this.SocketClient.emit('scan',JSON.stringify(scanData));
this.callback=callback;
this.isInUse=true;
return new Result(200,"开启成功",null);
}else{
return new Result(500,"连接失败",null)
}
},
/**
* 初始化socketIO
* @param {Object} id 批次ID
*/
initSocketIo:function(id){
var transports=[];
if(typeof(WebSocket)!=="undefined"){
transports=['websocket'];
}else{
transports=['polling'];
}
this.SocketClient=io.connect(this.wsUrl+"?id="+id,{
transports:transports,
rejectUnauthorized: false
});
var that=this;
if(this.SocketClient!=null && this.SocketClient!=undefined){
this.SocketClient.on("error",function(data){
if(that.callback!=null && that.callback !=undefined){
var result={"code":500,"msg":data};
that.callback(result);
}
that.isInUse=false;
});
this.SocketClient.on("success",function(data){
if(that.callback!=null && that.callback !=undefined){
var result={"code":200,"msg":data};
that.callback(result);
}
that.isInUse=false;
});
this.SocketClient.on("image",function(data){
if(that.callback!=null && that.callback !=undefined){
that.callback(data);
}
});
this.SocketClient.on("result",function(data){
if(that.callback!=null && that.callback !=undefined){
that.callback(data);
}
that.isInUse=false;
});
this.SocketClient.on("connect_error",function(){
return new Result(500,"初始化连接服务失败");
});
this.SocketClient.on('compress_process',function(data){
if(that.compressCallBack!=null && that.compressCallBack !=undefined){
that.compressCallBack(data);
}
})
}
},
/**
* 获取批次ID
*/
getClientId:function(){
return this.clientId;
},
/**
* 设置批次ID,重新连接socketIO
* @param {Object} pid
*/
setClientId:function(pid){
if(this.clientId!=pid){
this.SocketClient.disconnect()
this.clientId=pid;
this.initSocketIo(pid);
}
},
/**
* 更改图像位置
* @param {Object} oldIndex 原索引
* @param {Object} newIndex 新索引
* @param {Object} callback 回调函数
*/
changeIndex:function(oldIndex,newIndex,callback){
jQuery.ajax({
type:'post',
url:this.url+"/image/changeIndex",
cache:false,
data:{
"pid":this.clientId,
"oldIndex":oldIndex,
"newIndex":newIndex
},
success:function(data){
callback(data);
},
error:function(){
result = new Result(500,"网络错误",null);
callback(result);
}
})
},
/**
* 骑订排序
* @param {Object} mode 模式
* @param {Object} callback 回调函数
*/
sortImage:function(mode,callback){
jQuery.ajax({
type:'post',
url:this.url+"/image/sortImage",
cache:false,
data:{
"pid":this.clientId,
"mode":mode
},
success:function(data){
callback(data);
},
error:function(){
result = new Result(500,"网络错误",null);
callback(result);
}
})
},
/**
* 获取所有已授权限
* @param callback 回调函数
*/
getPermission:function(callback){
jQuery.ajax({
type:'get',
url:this.url+"/custom/getPermission",
cache:false,
success:function(data){
callback(data);
},
error:function(){
result = new Result(500,"网络错误",null);
callback(result);
}
})
},
/**
* 合成ZIP
* @param {Object} callback
*/
majorZip:function(callback){
jQuery.ajax({
type:'post',
url:this.url+"/downLoadZip",
cache:false,
data:{
"pid":this.clientId
},
success:function(data){
callback(data);
},
error:function(){
result = new Result(500,"网络错误",null);
callback(result);
}
})
},
/**
* 合成ZIP
* @param {Object} callback 回调函数
*/
majorZipWithBlob:function(callback){
// 创建 XMLHttpRequest 对象
var xhr = new XMLHttpRequest();
// 设置请求处理函数
xhr.onreadystatechange = function() {
if (xhr.readyState === XMLHttpRequest.DONE) {
if (xhr.status === 200) {
var blob = xhr.response;
var result = new Result(200,"合成完成",blob);
callback(result);
// 处理获取到的 blob 数据
} else {
var blob = xhr.response;
if(blob!=null){
var fr = new FileReader();
fr.readAsText(blob);
fr.onload=function(e){
var result = fr.result;
var responseJSON = JSON.parse(result);
var result = new Result(xhr.status,responseJSON.message);
callback(result);
}
}else{
var result = new Result(500,"网络错误,状态为:"+xhr.status);
}
console.error('发生错误,状态码:'+ xhr.status);
}
}
};
// 发起请求
xhr.open('GET', this.url+"/downLoadZipBlob?pid="+this.clientId, true);
xhr.responseType = 'blob';
xhr.send();
},
/**
* 生成多页tiff
* @param callback 回调函数返回tiff文件的base64
*/
majorTiff:function(callback){
jQuery.ajax({
type:'post',
url:this.url+"/majorTiff",
cache:false,
data:{
"pid":this.clientId
},
success:function(data){
callback(data);
},
error:function(){
result = new Result(500,"网络错误",null);
callback(result);
}
})
},
/**
* 多个图像合成文档
* @param images 图片名称
* @param type 文档类型,0:pdf,1:ofd,2:tiff
* @param callback 回调函数,返回tiff文件的base64
*/
majorMuiltyDoc:function(images,type,callback){
jQuery.ajax({
type:'post',
url:this.url+"/createMuityDoc",
cache:false,
data:{
"imageNames":images,
"type":type,
"pid":this.clientId
},
success:function(data){
callback(data);
},
error:function(){
result = new Result(500,"网络错误",null);
callback(result);
}
})
},
/**
* 合成多页文档
* @param {Object} callback 回调函数
*/
majorMuiltyDocWithBlob:function(images,type,callback){
// 创建 XMLHttpRequest 对象
var xhr = new XMLHttpRequest();
// 设置请求处理函数
xhr.onreadystatechange = function() {
if (xhr.readyState === XMLHttpRequest.DONE) {
if (xhr.status === 200) {
var blob = xhr.response;
var result = new Result(200,"合成完成",blob);
callback(result);
} else {
var blob = xhr.response;
if(blob!=null){
var fr = new FileReader();
fr.readAsText(blob);
fr.onload=function(e){
var result = fr.result;
var responseJSON = JSON.parse(result);
var result = new Result(xhr.status,responseJSON.message);
callback(result);
}
}else{
var result = new Result(500,"网络错误,状态为:"+xhr.status);
}
console.error('发生错误,状态码:'+ xhr.status);
}
}
};
var form = new FormData();
form.append('pid',this.clientId);
form.append('type',type);
form.append('imageNames',images);
// 发起请求
xhr.open('POST', this.url+"/createMuityDocBlob", true);
xhr.responseType = 'blob';
xhr.send(form);
},
/**
* 下一张图像
* @param {Object} imageName 当前图像名称
* @param {Object} callback
*/
next:function(imageName,callback){
jQuery.ajax({
type:'get',
url:this.url+"/image/nextImage",
cache:false,
data:{
"imageName":imageName,
"pid":this.clientId
},
success:function(data){
callback(data);
},
error:function(){
result = new Result(500,"网络错误",null);
callback(result);
}
})
},
/**
* 前一张图像
* @param {Object} imageName 当前图像名称
* @param {Object} callback
*/
pre:function(imageName,callback){
jQuery.ajax({
type:'get',
url:this.url+"/image/preImage",
cache:false,
data:{
"imageName":imageName,
"pid":this.clientId
},
success:function(data){
callback(data);
},
error:function(){
result = new Result(500,"网络错误",null);
callback(result);
}
})
},
/**
* 通过http上传单张图像
* @param {Object} imageName 图像名称
* @param {Object} url 图像地址
* @param {Object} fileName 接受文件参数名称
* @param {Object} httpMethod HTTP方法
* @param {Object} header
* @param {Object} params 额外参数
* @param {Object} type 文件格式1:PDF或0:OFD
* @param {Object} callback
*/
uploadOneImageByHttp:function(imageName,url,fileName,httpMethod,header,params,type,callback){
jQuery.ajax({
type:'post',
url:this.url+"/image/uploadOneByHttp",
cache:false,
data:{
"pid":this.clientId,
"imageName":imageName,
"url":url,
"fileName":fileName,
"httpMethod":httpMethod,
"header":header,
"params":params,
"type":type
},
success:function(data){
callback(data);
},
error:function(){
var result = new Result(500,"网络错误",null);
callback(result);
}
})
},
/**
* 通过Zxing获取图像的二维码信息(不保证质量)
* @param {Object} imageName 图像名称
* @param {Object} callback
*/
getQrCode:function(imageName,callback){
jQuery.ajax({
type:'post',
url:this.url+"/ocr/getQrCode",
cache:false,
data:{
"pid":this.clientId,
"imageName":imageName
},
success:function(data){
callback(data);
},
error:function(){
var result = new Result(500,"网络错误",null);
callback(result);
}
})
},
/**
* 获取条码
* @param {Object} imageName 图像名称
* @param {Object} callback
*/
getBarCode:function(imageName,callback){
jQuery.ajax({
type:'post',
url:this.url+"/image/getBarCode",
cache:false,
data:{
"pid":this.clientId,
"imageName":imageName
},
success:function(data){
callback(data);
},
error:function(){
var result = new Result(500,"网络错误",null);
callback(result);
}
})
},
/**
* 根据文件名称识别图像返回json
* @param {Object} callback
* @param {Object} imageName 图像名称
*/
recognize:function(imageName,callback){
jQuery.ajax({
type:'post',
url:this.url+"/ocr/recognizeForJson",
cache:false,
data:{
"imageName":imageName,
"pid":this.clientId
},
success:function(data){
callback(data);
},
error:function(){
result = new Result(500,"网络错误",null);
callback(result);
}
})
},
/**
* 根据文件名称识别图像返回string
* @param {Object} imageName 文件名称
* @param {Object} callback
*/
recognizeImage:function(imageName,callback){
jQuery.ajax({
type:'post',
url:this.url+"/ocr/recognizeImage",
cache:false,
data:{
"imageName":imageName,
"pid":this.clientId
},
success:function(data){
callback(data);
},
error:function(){
result = new Result(500,"网络错误",null);
callback(result);
}
})
},
/**
* 区域识别
* @param {Object} imageName 文件名称
* @param {Object} left 左上角X轴坐标
* @param {Object} top 左上角Y轴坐标
* @param {Object} right 右上角X轴坐标
* @param {Object} bottom 右上角Y轴坐标
* @param {Object} callback
*/
recognizeRegion:function(imageName,left,top,right,bottom,callback){
jQuery.ajax({
type:'post',
url:this.url+"/ocr/recognizeRegion",
cache:false,
data:{
"imageName":imageName,
"left":left,
"top" : top,
"right" : right,
"bottom" : bottom,
"pid":this.clientId
},
success:function(data){
callback(data);
},
error:function(){
result = new Result(500,"网络错误",null);
callback(result);
}
})
},
/**
* 区域识别
* @param {Object} imageName 文件名称
* @param {Object} left 左上角X轴坐标
* @param {Object} top 左上角Y轴坐标
* @param {Object} right 右上角X轴坐标
* @param {Object} bottom 右上角Y轴坐标
* @param {Object} callback
*/
recognizeRegionText:function(imageName,left,top,right,bottom,callback){
jQuery.ajax({
type:'post',
url:this.url+"/ocr/recognizeRegionText",
cache:false,
data:{
"imageName":imageName,
"left":left,
"top" : top,
"right" : right,
"bottom" : bottom,
"pid":this.clientId
},
success:function(data){
callback(data);
},
error:function(){
result = new Result(500,"网络错误",null);
callback(result);
}
})
},
/**
* 公文关键字段提取
* @param {Object} imageName 图像名称
* @param {Object} callback
*/
extractText:function(imageName,callback){
jQuery.ajax({
type:'post',
url:this.url+"/ocr/extractTextByImageName",
cache:false,
data:{
"imageName":imageName,
"pid":this.clientId
},
success:function(data){
callback(data);
},
error:function(){
result = new Result(500,"网络错误",null);
callback(result);
}
})
},
/**
* 设置日志级别
* @param {Object} level DEBUGINFOWARNERROR
* @param {Object} callback
*/
setLogLevel:function(level,callback){
jQuery.ajax({
type:'post',
url:this.url+"/log/setLevel",
cache:false,
data:{
"level":level
},
success:function(data){
callback(data);
},
error:function(){
result = new Result(500,"网络错误",null);
callback(result);
}
})
},
/**
* 获取系统当前日志级别
* @param {Object} callback
*/
getLogLevel:function(callback){
jQuery.ajax({
type:'get',
url:this.url+"/log/getLevel",
cache:false,
success:function(data){
callback(data);
},
error:function(){
result = new Result(500,"网络错误",null);
callback(result);
}
})
},
/**
* 旋转图像
* @param {Object} imageName 图像名称
* @param {Object} angle 角度
* @param {Object} callback
*/
rotate:function(imageName,angle,callback){
jQuery.ajax({
type:'post',
url:this.url+"/image/rotate",
cache:false,
data:{
"imageName":imageName,
"angle":angle,
"pid":this.clientId
},
success:function(data){
callback(data);
},
error:function(){
result = new Result(500,"网络错误",null);
callback(result);
}
})
},
downloadLogs:function(){
window.location.href=this.url+"/log/downloadLogs";
},
extractByImageName:function(imageName,callback){
jQuery.ajax({
type:'post',
url:this.url+"/ocr/extractTextByImageName",
cache:false,
data:{
"imageName":imageName,
"pid":this.clientId
},
success:function(data){
callback(data);
},
error:function(){
result = new Result(500,"网络错误",null);
callback(result);
}
})
},
/**
* 加载模板
* @param {Object} callback 回调函数
*/
loadModels:function(callback){
jQuery.ajax({
type:'get',
url:this.url+"/model/modelList",
cache:false,
success:function(data){
callback(data);
},
error:function(){
result = new Result(500,"网络错误",null);
callback(result);
}
})
},
/**
* 加载模板
* @param id 模板ID
* @param {Object} callback 回调函数
*/
loadModelById:function(id,callback){
jQuery.ajax({
type:'get',
url:this.url+"/model/modelById",
cache:false,
data:{
"id":id
},
success:function(data){
callback(data);
},
error:function(){
result = new Result(500,"网络错误",null);
callback(result);
}
})
},
addModel:function(name,value,callback){
jQuery.ajax({
type:'post',
url:this.url+"/model/addModel",
cache:false,
data:{
"name":name,
"value":value
},
success:function(data){
callback(data);
},
error:function(){
result = new Result(500,"网络错误",null);
callback(result);
}
})
},
deleteModel:function(id,callback){
jQuery.ajax({
type:'post',
url:this.url+"/model/deleteModel",
cache:false,
data:{
"id":id
},
success:function(data){
callback(data);
},
error:function(){
result = new Result(500,"网络错误",null);
callback(result);
}
})
},
editModel:function(id,name,callback){
jQuery.ajax({
type:'post',
url:this.url+"/model/editModel",
cache:false,
data:{
"id":id,
"name":name
},
success:function(data){
callback(data);
},
error:function(){
result = new Result(500,"网络错误",null);
callback(result);
}
})
},
extractImageByPid:function(callback){
jQuery.ajax({
type:'post',
url:this.url+"/ocr/extractImageByPid",
cache:false,
data:{
"pid":this.clientId,
},
success:function(data){
callback(data);
},
error:function(){
result = new Result(500,"网络错误",null);
callback(result);
}
})
},
getSystemValue:function(code,callback){
jQuery.ajax({
type:'get',
url:this.url+"/custom/getSystemValue",
cache:false,
data:{
"code":code
},
success:function(data){
callback(data);
},
error:function(){
result = new Result(500,"网络错误",null);
callback(result);
}
})
},
setSystemValue:function(code,value,callback){
jQuery.ajax({
type:'post',
url:this.url+"/custom/saveSystemValue",
cache:false,
data:{
"code":code,
"value":value
},
success:function(data){
callback(data);
},
error:function(){
result = new Result(500,"网络错误",null);
callback(result);
}
})
},
writeOfd:function(name,callback,saveOfdCallback){
var that = this;
jQuery.ajax({
type:'post',
url:this.url+"/custom/writeOfd",
cache:false,
data:{
"name":name,
"pid":this.clientId
},
success:function(data){
callback(data);
that.compressCallBack=saveOfdCallback;
},
error:function(){
result = new Result(500,"网络错误",null);
callback(result);
}
})
},
getTodayOfd:function(callback){
jQuery.ajax({
type:'get',
url:this.url+"/custom/getTodayOfd",
cache:false,
success:function(data){
callback(data);
},
error:function(){
result = new Result(500,"网络错误",null);
callback(result);
}
})
},
getTableLocation:function(imageName,callback){
jQuery.ajax({
type:'post',
url:this.url+"/ocr/getTableLocationByPid",
cache:false,
data:{
"imageName":imageName,
"pid":this.clientId
},
success:function(data){
callback(data);
},
error:function(){
result = new Result(500,"网络错误",null);
callback(result);
}
})
},
importImage:function(importImages,callback){
var formData = new FormData();
for(var i=0;i<importImages.length;i++){
formData.append("imageFiles[]",importImages[i].raw)
}
formData.append("pid",this.clientId);
var xhr = new XMLHttpRequest();
xhr.open("POST",this.url+"/image/image-upload",true);
// 设置请求处理函数
xhr.onreadystatechange = function() {
if (xhr.readyState === XMLHttpRequest.DONE) {
if (xhr.status === 200) {
var responseJSON = JSON.parse(xhr.responseText);
if(responseJSON.code==200){
window.location.reload();
}else{
var result = new Result(500,"上传失败,"+responseJSON.msg);
callback(result);
}
} else {
var result = new Result(500,"上传失败,网络异常");
callback(result);
}
}
};
xhr.onerror=function(){
var result = new Result(500,"上传失败,网络异常");
callback(result);
}
xhr.send(formData);
}
};
window.WebScan = WebScan;
})(window);