function hgwebsdk() { } hgwebsdk.socket = null; hgwebsdk.scan = function(host, port, path) { if (hgwebsdk.socket != null) { return; } hgwebsdk.socket = new WebSocket("ws://127.0.0.1:38999"); hgwebsdk.socket.onopen = function(msg) { hgwebsdk.socket.send(JSON.stringify({ 'func':'is_device_init' })); hgwebsdk.socket.onmessage = function(msg) { console.log(msg.data); var message = JSON.parse(msg.data); if ("is_device_init" == message['func']) { if (message['ret'] != 0) { hgwebsdk.socket.send(JSON.stringify({ 'func':'init_device' })); } else { hgwebsdk.socket.send(JSON.stringify({ 'func':'get_curr_device_name' })); } } else if ("init_device" == message['func']) { if (0 == message['ret']) { hgwebsdk.socket.send(JSON.stringify({ 'func':'get_curr_device_name' })); } else { hgwebsdk.socket.close(); } } else if ("get_curr_device_name" == message['func']) { if (0 != message['ret']) { hgwebsdk.socket.send(JSON.stringify({ 'func':'open_device' })); } else { hgwebsdk.socket.send(JSON.stringify({ 'func':'is_device_scanning' })); } } else if ("open_device" == message['func']) { if (0 == message['ret']) { hgwebsdk.socket.send(JSON.stringify({ 'func':'is_device_scanning' })); } else { hgwebsdk.socket.close(); } } else if ("is_device_scanning" == message['func']) { if (0 != message['ret']) { var setDeviceParamJsonData = {}; setDeviceParamJsonData.func = 'set_device_param'; setDeviceParamJsonData.device_param = []; var ele1 = {}; ele1.name = '颜色模式'; ele1.value = '24位彩色'; setDeviceParamJsonData.device_param.push(ele1); var ele2 = {}; ele2.name = '扫描页面'; ele2.value = '双面'; setDeviceParamJsonData.device_param.push(ele2); var ele3 = {}; ele3.name = '分辨率'; ele3.value = 200; setDeviceParamJsonData.device_param.push(ele3); //alert(JSON.stringify(setDeviceParamJsonData)); hgwebsdk.socket.send(JSON.stringify(setDeviceParamJsonData)); } else { hgwebsdk.socket.close(); } } else if ("set_device_param" == message['func']) { if (0 == message['ret']) { var startScanJsonData = {}; startScanJsonData.func = 'start_scan'; startScanJsonData.get_base64 = false; //alert(JSON.stringify(startScanJsonData)); hgwebsdk.socket.send(JSON.stringify(startScanJsonData)); } else { hgwebsdk.socket.close(); } } else if ("start_scan" == message['func']) { if (0 != message['ret']) { hgwebsdk.socket.close(); } } else if ("scan_begin" == message['func']) { // } else if ("scan_end" == message['func']) { hgwebsdk.socket.close(); } else if ("scan_info" == message['func']) { // } else if ("scan_image" == message['func']) { var uploadJsonData = {}; uploadJsonData.func = 'upload_local_file'; uploadJsonData.file_path = message['image_path']; uploadJsonData.upload_mode = 'http'; uploadJsonData.http_host = host; uploadJsonData.http_port = port; uploadJsonData.http_path = path; //alert(JSON.stringify(uploadJsonData)); hgwebsdk.socket.send(JSON.stringify(uploadJsonData)); var deleteJsonData = {}; deleteJsonData.func = 'delete_local_file'; deleteJsonData.file_path = message['image_path']; //alert(JSON.stringify(deleteJsonData)); hgwebsdk.socket.send(JSON.stringify(deleteJsonData)); } } } hgwebsdk.socket.onclose = function(msg) { hgwebsdk.socket = null; } hgwebsdk.socket.onerror = function(msg) { //alert('socket.onerror'); } }