Browse Source

提交签字版优化

master
胡超1 1 year ago
parent
commit
53448a3faa
  1. 18
      DevicesService/Commen/COMUtils.cs
  2. 4
      DevicesService/Commen/Func.cs
  3. 44
      DevicesService/Commen/ScriptCallbackObject.cs
  4. 84
      DevicesService/Commen/TcpServer.cs
  5. 4
      DevicesService/Devices/HScamera.cs
  6. 353
      DevicesService/Devices/SignDll.cs
  7. 8
      DevicesService/DevicesService.csproj
  8. 1
      DevicesService/Program.cs

18
DevicesService/Commen/COMUtils.cs

@ -58,7 +58,7 @@ namespace DevicesService.Common
timer.Elapsed += OnTimedEvent; timer.Elapsed += OnTimedEvent;
timer.AutoReset = true;//重复执行 timer.AutoReset = true;//重复执行
timer.Enabled = true;//启动定时器 timer.Enabled = true;//启动定时器
Log.Info("硬件服务启动成功"); //Log.Info("硬件服务启动成功");
} }
catch (Exception ex) catch (Exception ex)
{ {
@ -87,7 +87,7 @@ namespace DevicesService.Common
{ {
indata = _json + indata; indata = _json + indata;
string result = Util.Base64str2(indata); string result = Util.Base64str2(indata);
Log.Info("接收到COM口传来数据:" + result); //Log.Info("接收到COM口传来数据:" + result);
if (!string.IsNullOrEmpty(result)) if (!string.IsNullOrEmpty(result))
{ {
JObject jo = (JObject)JsonConvert.DeserializeObject(result); JObject jo = (JObject)JsonConvert.DeserializeObject(result);
@ -107,7 +107,7 @@ namespace DevicesService.Common
data = joparam["data"].ToString(); data = joparam["data"].ToString();
resultback = scriptCallback.IDCardRead(data, callback); resultback = scriptCallback.IDCardRead(data, callback);
//Console.WriteLine(resultback); //Console.WriteLine(resultback);
Log.Info("读取身份证 返回数据:" + resultback); //Log.Info("读取身份证 返回数据:" + resultback);
base64 = Util.str2Base64(resultback); base64 = Util.str2Base64(resultback);
//向com对方发送数据 //向com对方发送数据
SendData(base64); SendData(base64);
@ -122,7 +122,7 @@ namespace DevicesService.Common
string qrcode = joparam["qrcode"].ToString(); string qrcode = joparam["qrcode"].ToString();
string ywmc = joparam["ywmc"].ToString(); string ywmc = joparam["ywmc"].ToString();
resultback = scriptCallback.SendByPrint(ph, ddrs, qrcode, ywmc, callback); resultback = scriptCallback.SendByPrint(ph, ddrs, qrcode, ywmc, callback);
Log.Info("打印排队票据 返回数据:" + resultback); //Log.Info("打印排队票据 返回数据:" + resultback);
base64 = Util.str2Base64(resultback); base64 = Util.str2Base64(resultback);
//向com对方发送数据 //向com对方发送数据
SendData(base64); SendData(base64);
@ -135,7 +135,7 @@ namespace DevicesService.Common
string content = joparam["content"].ToString(); string content = joparam["content"].ToString();
string phone = joparam["phone"].ToString(); string phone = joparam["phone"].ToString();
resultback = scriptCallback.SendSSM(content, phone, callback); resultback = scriptCallback.SendSSM(content, phone, callback);
Log.Info("发送短信 返回数据:" + resultback); //Log.Info("发送短信 返回数据:" + resultback);
base64 = Util.str2Base64(resultback); base64 = Util.str2Base64(resultback);
//向com对方发送数据 //向com对方发送数据
SendData(base64); SendData(base64);
@ -147,7 +147,7 @@ namespace DevicesService.Common
joparam = (JObject)JsonConvert.DeserializeObject(param); joparam = (JObject)JsonConvert.DeserializeObject(param);
data = joparam["url"].ToString(); data = joparam["url"].ToString();
resultback = scriptCallback.openCamera(data, callback); resultback = scriptCallback.openCamera(data, callback);
Log.Info("打开高拍仪并且进行快速扫描文件 返回数据:" + resultback); //Log.Info("打开高拍仪并且进行快速扫描文件 返回数据:" + resultback);
//base64 = Util.str2Base64(resultback); //base64 = Util.str2Base64(resultback);
//向com对方发送数据 //向com对方发送数据
SendData(resultback); SendData(resultback);
@ -159,7 +159,7 @@ namespace DevicesService.Common
joparam = (JObject)JsonConvert.DeserializeObject(param); joparam = (JObject)JsonConvert.DeserializeObject(param);
data = joparam["data"].ToString(); data = joparam["data"].ToString();
resultback = scriptCallback.OpenSign(data, callback); resultback = scriptCallback.OpenSign(data, callback);
Log.Info("打开签字版数据 返回数据:" + resultback); //Log.Info("打开签字版数据 返回数据:" + resultback);
base64 = Util.str2Base64(resultback); base64 = Util.str2Base64(resultback);
//向com对方发送数据 //向com对方发送数据
SendData(base64); SendData(base64);
@ -171,7 +171,7 @@ namespace DevicesService.Common
joparam = (JObject)JsonConvert.DeserializeObject(param); joparam = (JObject)JsonConvert.DeserializeObject(param);
data = joparam["data"].ToString(); data = joparam["data"].ToString();
resultback = scriptCallback.CloseSign(data, callback); resultback = scriptCallback.CloseSign(data, callback);
Log.Info("关闭签字版数据 返回数据:" + resultback); //Log.Info("关闭签字版数据 返回数据:" + resultback);
base64 = Util.str2Base64(resultback); base64 = Util.str2Base64(resultback);
//向com对方发送数据 //向com对方发送数据
SendData(base64); SendData(base64);
@ -213,7 +213,7 @@ namespace DevicesService.Common
{ {
resultback = Util.str2Base64("400"); resultback = Util.str2Base64("400");
} }
Log.Info("获取签字版数据 返回数据:" + resultback); //Log.Info("获取签字版数据 返回数据:" + resultback);
// base64 = Util.str2Base64(resultback); // base64 = Util.str2Base64(resultback);
//向com对方发送数据 //向com对方发送数据
SendData(resultback); SendData(resultback);

4
DevicesService/Commen/Func.cs

@ -56,5 +56,9 @@ namespace DevicesService.Commen
/// 音频文件播放与暂停 /// 音频文件播放与暂停
/// </summary> /// </summary>
public const int Paly = 12; public const int Paly = 12;
/// <summary>
/// 读取指纹
/// </summary>
public const int Finger = 13;
} }
} }

44
DevicesService/Commen/ScriptCallbackObject.cs

@ -228,7 +228,7 @@ namespace DevicesService.Common
} }
catch (Exception ex) catch (Exception ex)
{ {
Log.Info("扫描仪异常:" + ex.Message); //Log.Info("扫描仪异常:" + ex.Message);
return Util.str2Base64("400"); return Util.str2Base64("400");
} }
} }
@ -344,7 +344,7 @@ namespace DevicesService.Common
} }
catch (Exception ex) catch (Exception ex)
{ {
Log.Info("获取签字版数据异常:" + ex.Message); //Log.Info("获取签字版数据异常:" + ex.Message);
return Util.str2Base64("400"); return Util.str2Base64("400");
} }
} }
@ -467,7 +467,7 @@ namespace DevicesService.Common
{ {
string filename = Path.GetFileName(srpath); string filename = Path.GetFileName(srpath);
string path = ConfigurationManager.AppSettings["rootPath"].ToString() + "Record/" + filename; string path = ConfigurationManager.AppSettings["rootPath"].ToString() + "Record/" + filename;
Log.Info("结束录音上传文件" + path); //Log.Info("结束录音上传文件" + path);
return path; return path;
} }
else if (isopen)//开始录音 else if (isopen)//开始录音
@ -491,6 +491,32 @@ namespace DevicesService.Common
} }
} }
/// <summary>
/// 获取指纹数据
/// </summary>
/// <returns></returns>
public string ReadFingerData(string callback)
{
try
{
Task<ResultModel> resultModel = deviceCaller.ReadFingerData();
if (resultModel.Result.Code == "1")
{
string json = JsonConvert.SerializeObject(resultModel.Result);
return "{\"callback\":\"" + callback + "\",\"message\":\"success\",\"code\":\"200\",\"status\":true,\"data\":" + json + "}";
}
else
{
return "{\"callback\":\"" + callback + "\",\"message\":\"fali\",\"code\":\"400\",\"status\":false,\"data\":\"" + resultModel.Result.Message + "\"}";
}
}
catch (Exception ex)
{
return "{\"callback\":\"" + callback + "\",\"message\":\"fali\",\"code\":\"400\",\"status\":false,\"data\":\"" + ex.Message + "\"}";
}
}
/// <summary> /// <summary>
/// 播放与暂停 /// 播放与暂停
/// </summary> /// </summary>
@ -521,7 +547,7 @@ namespace DevicesService.Common
if (string.IsNullOrEmpty(url)) if (string.IsNullOrEmpty(url))
{ {
player.Play(); player.Play();
Log.Info("恢复播放"); //Log.Info("恢复播放");
return "{\"callback\":\"" + callback + "\",\"message\":\"success\",\"code\":\"200\",\"status\":true,\"data\":\"" + "恢复播放" + "\"}"; return "{\"callback\":\"" + callback + "\",\"message\":\"success\",\"code\":\"200\",\"status\":true,\"data\":\"" + "恢复播放" + "\"}";
} }
else else
@ -552,7 +578,7 @@ namespace DevicesService.Common
if (string.IsNullOrEmpty(url)) if (string.IsNullOrEmpty(url))
{ {
player.Pause(); player.Pause();
Log.Info("暂停播放"); //Log.Info("暂停播放");
return "{\"callback\":\"" + callback + "\",\"message\":\"success\",\"code\":\"200\",\"status\":true,\"data\":\"" + "暂停播放" + "\"}"; return "{\"callback\":\"" + callback + "\",\"message\":\"success\",\"code\":\"200\",\"status\":true,\"data\":\"" + "暂停播放" + "\"}";
} }
else else
@ -563,7 +589,7 @@ namespace DevicesService.Common
audioFileReader.Dispose(); audioFileReader.Dispose();
player = null; player = null;
File.Delete(WaveOutPath); File.Delete(WaveOutPath);
Log.Info("停止播放"); //Log.Info("停止播放");
return "{\"callback\":\"" + callback + "\",\"message\":\"success\",\"code\":\"200\",\"status\":true,\"data\":\"" + "停止播放" + "\"}"; return "{\"callback\":\"" + callback + "\",\"message\":\"success\",\"code\":\"200\",\"status\":true,\"data\":\"" + "停止播放" + "\"}";
} }
} }
@ -628,7 +654,7 @@ namespace DevicesService.Common
} }
} }
} }
Log.Info("开始播放"); //Log.Info("开始播放");
} }
/// <summary> /// <summary>
@ -646,11 +672,11 @@ namespace DevicesService.Common
audioFileReader.Dispose(); audioFileReader.Dispose();
player = null; player = null;
File.Delete(WaveOutPath); File.Delete(WaveOutPath);
Log.Info("播放完成"); //Log.Info("播放完成");
} }
catch (Exception ex) catch (Exception ex)
{ {
Log.Info("播放完成,清除本地文件异常" + ex.Message); //Log.Info("播放完成,清除本地文件异常" + ex.Message);
} }
} }

84
DevicesService/Commen/TcpServer.cs

@ -34,7 +34,7 @@ namespace DevicesService.Commen
TcpListener listener = new TcpListener(IPAddress.Any, 1234); TcpListener listener = new TcpListener(IPAddress.Any, 1234);
listener.Start(); listener.Start();
Console.WriteLine("服务器已启动,等待客户端连接..."); Console.WriteLine("服务器已启动,等待客户端连接...");
Timer timer = new Timer(SendHelloMessage, null, TimeSpan.Zero, TimeSpan.FromSeconds(20)); Timer timer = new Timer(SendHelloMessage, null, TimeSpan.Zero, TimeSpan.FromSeconds(200));
while (true) while (true)
{ {
TcpClient client = listener.AcceptTcpClient(); TcpClient client = listener.AcceptTcpClient();
@ -44,7 +44,10 @@ namespace DevicesService.Commen
ThreadPool.QueueUserWorkItem(ReceiveMessage, client); ThreadPool.QueueUserWorkItem(ReceiveMessage, client);
} }
} }
catch (Exception ex) { Console.WriteLine(ex.Message); } catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
finally { } finally { }
} }
@ -68,7 +71,10 @@ namespace DevicesService.Commen
stream.Write(data, 0, data.Length); stream.Write(data, 0, data.Length);
} }
} }
catch (Exception ex) { Console.WriteLine(ex.Message); } catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
finally { } finally { }
} }
@ -108,7 +114,6 @@ namespace DevicesService.Commen
if (client != null) if (client != null)
{ {
NetworkStream stream = client.GetStream(); NetworkStream stream = client.GetStream();
while (true) while (true)
{ {
try try
@ -136,7 +141,7 @@ namespace DevicesService.Commen
{ {
string result = Util.Base64str2(indata); string result = Util.Base64str2(indata);
Log.Info("接收到COM口传来数据:" + result); //Log.Info("接收到COM口传来数据:" + result);
if (!string.IsNullOrEmpty(result)) if (!string.IsNullOrEmpty(result))
{ {
JObject jo = (JObject)JsonConvert.DeserializeObject(result); JObject jo = (JObject)JsonConvert.DeserializeObject(result);
@ -158,7 +163,7 @@ namespace DevicesService.Commen
data = joparam["data"].ToString(); data = joparam["data"].ToString();
resultback = scriptCallback.IDCardRead(data, callback); resultback = scriptCallback.IDCardRead(data, callback);
//Console.WriteLine(resultback); //Console.WriteLine(resultback);
Log.Info("读取身份证 返回数据:" + resultback); //Log.Info("读取身份证 返回数据:" + resultback);
base64 = Util.str2Base64(resultback); base64 = Util.str2Base64(resultback);
//向com对方发送数据 //向com对方发送数据
SendDataWithHeader(client, base64); SendDataWithHeader(client, base64);
@ -182,7 +187,7 @@ namespace DevicesService.Commen
string qrcode = joparam["qrcode"].ToString(); string qrcode = joparam["qrcode"].ToString();
string ywmc = joparam["ywmc"].ToString(); string ywmc = joparam["ywmc"].ToString();
resultback = scriptCallback.SendByPrint(ph, ddrs, qrcode, ywmc, callback); resultback = scriptCallback.SendByPrint(ph, ddrs, qrcode, ywmc, callback);
Log.Info("打印排队票据 返回数据:" + resultback); //Log.Info("打印排队票据 返回数据:" + resultback);
base64 = Util.str2Base64(resultback); base64 = Util.str2Base64(resultback);
//向com对方发送数据 //向com对方发送数据
SendDataWithHeader(client, base64); SendDataWithHeader(client, base64);
@ -205,7 +210,7 @@ namespace DevicesService.Commen
bool ispaye = Convert.ToBoolean(joparam["ispaye"].ToString()); bool ispaye = Convert.ToBoolean(joparam["ispaye"].ToString());
resultback = scriptCallback.payleText(data, ispaye, callback); resultback = scriptCallback.payleText(data, ispaye, callback);
//Console.WriteLine(resultback); //Console.WriteLine(resultback);
Log.Info("文字语音播报 返回数据:" + resultback); //Log.Info("文字语音播报 返回数据:" + resultback);
base64 = Util.str2Base64(resultback); base64 = Util.str2Base64(resultback);
//向com对方发送数据 //向com对方发送数据
SendDataWithHeader(client, base64); SendDataWithHeader(client, base64);
@ -227,7 +232,7 @@ namespace DevicesService.Commen
string content = joparam["content"].ToString(); string content = joparam["content"].ToString();
string phone = joparam["phone"].ToString(); string phone = joparam["phone"].ToString();
resultback = scriptCallback.SendSSM(content, phone, callback); resultback = scriptCallback.SendSSM(content, phone, callback);
Log.Info("发送短信 返回数据:" + resultback); //Log.Info("发送短信 返回数据:" + resultback);
base64 = Util.str2Base64(resultback); base64 = Util.str2Base64(resultback);
//向com对方发送数据 //向com对方发送数据
SendDataWithHeader(client, base64); SendDataWithHeader(client, base64);
@ -248,7 +253,7 @@ namespace DevicesService.Commen
joparam = (JObject)JsonConvert.DeserializeObject(param); joparam = (JObject)JsonConvert.DeserializeObject(param);
data = joparam["url"].ToString(); data = joparam["url"].ToString();
resultback = scriptCallback.openCamera(data, callback); resultback = scriptCallback.openCamera(data, callback);
Log.Info("打开高拍仪并且进行快速扫描文件 返回数据:" + resultback); //Log.Info("打开高拍仪并且进行快速扫描文件 返回数据:" + resultback);
//base64 = Util.str2Base64(resultback); //base64 = Util.str2Base64(resultback);
//向com对方发送数据 //向com对方发送数据
SendDataWithHeader(client, resultback); SendDataWithHeader(client, resultback);
@ -269,7 +274,7 @@ namespace DevicesService.Commen
joparam = (JObject)JsonConvert.DeserializeObject(param); joparam = (JObject)JsonConvert.DeserializeObject(param);
data = joparam["data"].ToString(); data = joparam["data"].ToString();
resultback = scriptCallback.OpenSign(data, callback); resultback = scriptCallback.OpenSign(data, callback);
Log.Info("打开签字版数据 返回数据:" + resultback); //Log.Info("打开签字版数据 返回数据:" + resultback);
base64 = Util.str2Base64(resultback); base64 = Util.str2Base64(resultback);
//向com对方发送数据 //向com对方发送数据
SendDataWithHeader(client, base64); SendDataWithHeader(client, base64);
@ -290,7 +295,7 @@ namespace DevicesService.Commen
joparam = (JObject)JsonConvert.DeserializeObject(param); joparam = (JObject)JsonConvert.DeserializeObject(param);
data = joparam["data"].ToString(); data = joparam["data"].ToString();
resultback = scriptCallback.CloseSign(data, callback); resultback = scriptCallback.CloseSign(data, callback);
Log.Info("关闭签字版数据 返回数据:" + resultback); //Log.Info("关闭签字版数据 返回数据:" + resultback);
base64 = Util.str2Base64(resultback); base64 = Util.str2Base64(resultback);
//向com对方发送数据 //向com对方发送数据
SendDataWithHeader(client, base64); SendDataWithHeader(client, base64);
@ -309,7 +314,7 @@ namespace DevicesService.Commen
try try
{ {
resultback = scriptCallback.GetSignData(data, callback); resultback = scriptCallback.GetSignData(data, callback);
Log.Info("获取签字版数据 返回数据:" + resultback); //Log.Info("获取签字版数据 返回数据:" + resultback);
//base64 = Util.str2Base64(resultback); //base64 = Util.str2Base64(resultback);
//向com对方发送数据 //向com对方发送数据
SendDataWithHeader(client, resultback); SendDataWithHeader(client, resultback);
@ -333,7 +338,30 @@ namespace DevicesService.Commen
string url = joparam["url"].ToString(); string url = joparam["url"].ToString();
bool isopen = Convert.ToBoolean(joparam["isopen"].ToString()); bool isopen = Convert.ToBoolean(joparam["isopen"].ToString());
resultback = scriptCallback.SoundRecording(isopen, url, callback); resultback = scriptCallback.SoundRecording(isopen, url, callback);
Log.Info("开始录音、取消录音、结束录音 返回数据:" + resultback); //Log.Info("开始录音、取消录音、结束录音 返回数据:" + resultback);
base64 = Util.str2Base64(resultback);
//向com对方发送数据
SendDataWithHeader(client, base64);
}
catch (Exception ex)
{
string rest = "{\"callback\":\"" + "callback" + "\",\"message\":\"fali\",\"code\":\"400\",\"status\":false,\"data\":\"" + ex.Message + "\"}";
base64 = Util.str2Base64(rest);
SendDataWithHeader(client, base64);
}
#endregion
break;
//{"type":"13","param":{"data":""}}
case Func.Finger:
#region 读取指纹
try
{
joparam = (JObject)JsonConvert.DeserializeObject(param);
data = joparam["data"].ToString();
resultback = scriptCallback.IDCardRead(data, callback);
//Console.WriteLine(resultback);
//Log.Info("读取指纹 返回数据:" + resultback);
base64 = Util.str2Base64(resultback); base64 = Util.str2Base64(resultback);
//向com对方发送数据 //向com对方发送数据
SendDataWithHeader(client, base64); SendDataWithHeader(client, base64);
@ -344,6 +372,7 @@ namespace DevicesService.Commen
base64 = Util.str2Base64(rest); base64 = Util.str2Base64(rest);
SendDataWithHeader(client, base64); SendDataWithHeader(client, base64);
} }
#endregion #endregion
break; break;
default: default:
@ -373,6 +402,7 @@ namespace DevicesService.Commen
} }
catch { } catch { }
finally { } finally { }
GC.Collect();
} }
} }
} }
@ -427,6 +457,32 @@ namespace DevicesService.Commen
catch { return -1; } catch { return -1; }
finally { } finally { }
} }
/// <summary>
/// 回传签字图片
/// </summary>
/// <param name="Message"></param>
public static void SendImages(string Message) {
try
{
foreach (TcpClient client in clients)
{
try
{
SendDataWithHeader(client, " heartbeatService");
}
catch (Exception ex)
{
Console.WriteLine("向客户端 {0} 发送消息失败:{1}", client.Client.RemoteEndPoint, ex.Message);
clients.Remove(client);
break;
}
}
}
catch { }
finally { }
}
} }
} }

4
DevicesService/Devices/HScamera.cs

@ -143,7 +143,7 @@ namespace DevicesService.Devices
} }
catch (Exception ex) catch (Exception ex)
{ {
Log.Info("扫描图片旋转异常1:" + ex.Message); //Log.Info("扫描图片旋转异常1:" + ex.Message);
return ""; return "";
} }
} }
@ -190,7 +190,7 @@ namespace DevicesService.Devices
} }
catch (Exception ex) catch (Exception ex)
{ {
Log.Info("扫描图片旋转异常:" + ex.Message); //Log.Info("扫描图片旋转异常:" + ex.Message);
return ex.Message; return ex.Message;
} }
} }

353
DevicesService/Devices/SignDll.cs

@ -1,4 +1,5 @@
using DevicesService.Commen; using DevicesService.Commen;
using DevicesService.Common;
using Functions.FileExt; using Functions.FileExt;
using Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http; using Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http;
using System; using System;
@ -7,6 +8,7 @@ using System.Globalization;
using System.IO; using System.IO;
using System.Runtime.InteropServices; using System.Runtime.InteropServices;
using System.Text; using System.Text;
using System.Threading.Tasks;
//0816加实时报点 //0816加实时报点
[StructLayout(LayoutKind.Sequential)] [StructLayout(LayoutKind.Sequential)]
public struct TOUCH_INFO public struct TOUCH_INFO
@ -19,40 +21,42 @@ public struct TOUCH_INFO
} }
namespace DevicesService.Devices namespace DevicesService.Devices
{ {
public class SignDll public class SignDll
{ {
public static PointF endPos; //public static PointF endPos;
public static PointF beginPos; //public static PointF beginPos;
public static PointF frontPos; //public static PointF frontPos;
private static int xypointcount = 0; //private static int xypointcount = 0;
private static int[] lastpointx = new int[3]; //private static int[] lastpointx = new int[3];
private static int[] lastpointy = new int[3]; //private static int[] lastpointy = new int[3];
Point mPoint = new Point(-1, -1); //Point mPoint = new Point(-1, -1);
private static System.Drawing.SolidBrush myBrush = new System.Drawing.SolidBrush(System.Drawing.Color.Red); // private static System.Drawing.SolidBrush myBrush = new System.Drawing.SolidBrush(System.Drawing.Color.Red);
//private Graphics mGraphicsBuffer; //private Graphics mGraphicsBuffer;
private static Pen pen = new Pen(Color.Black); // // private static Pen pen = new Pen(Color.Black); //
public static int status = -1; public static int status = -1;
private static Bitmap bitmap = new Bitmap(594, 392); //private static Bitmap bitmap = new Bitmap(594, 392);
public SignDll() public SignDll()
{ {
try try
{ {
endPos = new PointF(-1F, -1f); //endPos = new PointF(-1F, -1f);
beginPos = new PointF(-1F, -1f); //beginPos = new PointF(-1F, -1f);
frontPos = new PointF(-1F, -1f); //frontPos = new PointF(-1F, -1f);
lastpointx[0] = -1; //lastpointx[0] = -1;
lastpointy[0] = -1; //lastpointy[0] = -1;
lastpointx[1] = -1; //lastpointx[1] = -1;
lastpointy[1] = -1; //lastpointy[1] = -1;
lastpointx[2] = -1; //lastpointx[2] = -1;
lastpointy[2] = -1; //lastpointy[2] = -1;
xypointcount = 0; //xypointcount = 0;
} }
catch (Exception ex) { Log.Info(ex.Message); } catch (Exception ex) { }
finally { } finally { }
} }
public static void GetTouchNumber(int number) public static void DevGetTouchNumber(int number)
{ {
try try
{ {
@ -63,6 +67,12 @@ namespace DevicesService.Devices
int ret = FiveInchDll.ComSignOK(); int ret = FiveInchDll.ComSignOK();
Console.WriteLine("ComSignOK:" + ret); Console.WriteLine("ComSignOK:" + ret);
FiveInchDll.ComSetBackGroundAdv(); FiveInchDll.ComSetBackGroundAdv();
Task.Run(() => {
ScriptCallbackObject script = new ScriptCallbackObject();
string str = script.GetSignData("","'");
str = "@" + str;
TcpServer.SendImages(str);
});
} }
else if (number == 3) else if (number == 3)
{ {
@ -72,17 +82,16 @@ namespace DevicesService.Devices
} }
else else
{ {
lastpointx[0] = -1; //lastpointx[0] = -1;
lastpointy[0] = -1; //lastpointy[0] = -1;
lastpointx[1] = -1; //lastpointx[1] = -1;
lastpointy[1] = -1; //lastpointy[1] = -1;
lastpointx[2] = -1; //lastpointx[2] = -1;
lastpointy[2] = -1; //lastpointy[2] = -1;
FiveInchDll.ComSetBackGroundAdv(); FiveInchDll.ComSetBackGroundAdv();
} }
} }
catch (Exception ex) { Log.Info(ex.Message); } catch { }
finally { } finally { }
} }
@ -90,142 +99,172 @@ namespace DevicesService.Devices
public static void GetTouchPoint(TOUCH_INFO[] info1) public static void GetTouchPoint(TOUCH_INFO[] info1)
{ {
return; return;
int x = 0, y = 0; //int x = 0, y = 0;
int pressurevl; //int pressurevl;
int dx = 0, dy = 0; //int dx = 0, dy = 0;
for (int k = 0; k < 80; k++) //for (int k = 0; k < 80; k++)
{ //{
x = info1[k].X; // x = info1[k].X;
y = info1[k].Y; // y = info1[k].Y;
//落笔 // //落笔
if (info1[k].Pressure > 0) // if (info1[k].Pressure > 0)
{ // {
if (info1[k].Pressure > 0 && info1[k].Pressure < 500) // if (info1[k].Pressure > 0 && info1[k].Pressure < 500)
{ // {
pressurevl = 1; // pressurevl = 1;
pen.Width = 1; // pen.Width = 1;
} // }
else if (info1[k].Pressure >= 500 && info1[k].Pressure < 1000) // else if (info1[k].Pressure >= 500 && info1[k].Pressure < 1000)
{ // {
pressurevl = 2; // pressurevl = 2;
pen.Width = 2; // pen.Width = 2;
} // }
else if (info1[k].Pressure >= 1000 && info1[k].Pressure < 1500) // else if (info1[k].Pressure >= 1000 && info1[k].Pressure < 1500)
{ // {
pressurevl = 3; // pressurevl = 3;
pen.Width = 3; // pen.Width = 3;
} // }
else if (info1[k].Pressure >= 1500 && info1[k].Pressure < 2048) // else if (info1[k].Pressure >= 1500 && info1[k].Pressure < 2048)
{ // {
pressurevl = 4; // pressurevl = 4;
pen.Width = 4; // pen.Width = 4;
} // }
else // else
{ // {
pressurevl = 0; // pressurevl = 0;
pen.Width = 1; // pen.Width = 1;
} // }
// }
// else
// {
// //抬笔
// pressurevl = 0;
// lastpointx[0] = -1;
// lastpointy[0] = -1;
// lastpointx[1] = -1;
// lastpointy[1] = -1;
// lastpointx[2] = -1;
// lastpointy[2] = -1;
// continue;
// }
// if (info1[k].Pressure > 10) //有画线宽度
// {
// lastpointx[2] = x;
// lastpointy[2] = y;
// if (lastpointx[2] != -1)
// {
// if (lastpointx[1] != -1 && lastpointx[0] != -1)
// {
// //float dx = Math.Abs(lastpointx[2] - beginPos.X);
// //float dy = Math.Abs(endPos.Y - beginPos.Y);
// dx = Math.Abs(lastpointx[2] - lastpointx[1]);
// dy = Math.Abs(lastpointy[2] - lastpointy[1]);
// if ((dx != 0) && (dy != 0))
// {
// if (lastpointy[1] != -1 && lastpointy[2] != -1) //y轴相同的点不画,直接跳过
// {
// if (lastpointx[1] != -1 && lastpointx[2] != -1) //第3个点和第二个点比较是否x坐标在同一个位置,不是就执行画第一个点到第二个点的线
// {
// //painter->drawLine(frontPos, beginPos); //画线
// //g.DrawLine(pen, lastpointx[0], lastpointy[0], lastpointx[1], lastpointy[1]);
// //painter->drawPoint(beginPos); //画点
// //frontPos = beginPos;
// //beginPos = endPos;
// lastpointx[0] = lastpointx[1];
// lastpointy[0] = lastpointy[1];
// lastpointx[1] = lastpointx[2];
// lastpointy[1] = lastpointy[2];
// }
// else
// {
// //是就执行画第一个点到第三个点的线
// //painter->drawLine(frontPos, endPos);
// //g.DrawLine(pen, lastpointx[0], lastpointy[0], lastpointx[2], lastpointy[2]);
// //frontPos = endPos; //第三个点赋值第一个点
// //beginPos = QPointF(0, 0); //第二个点置空
// //beginPos.X = -1;
// //beginPos.Y = -1;
// lastpointx[0] = lastpointx[2];
// lastpointy[0] = lastpointy[2];
// lastpointx[1] = -1;
// lastpointy[1] = -1;
// }
// }
// }
// }//
// else
// {
// if (lastpointx[1] != -1) //不为空在赋值,防止丢弃点时赋空值
// {
// lastpointx[0] = lastpointx[1];
// lastpointy[0] = lastpointy[1];
// }
// lastpointx[1] = lastpointx[2];
// lastpointy[1] = lastpointy[2];
// }
// }
// }
// else
// {
// dx = dy = 0;
// lastpointx[0] = -1;
// lastpointy[0] = -1;
// lastpointx[1] = -1;
// lastpointy[1] = -1;
// lastpointx[2] = -1;
// lastpointy[2] = -1;
// }
//}
} }
else
{
//抬笔
pressurevl = 0;
lastpointx[0] = -1;
lastpointy[0] = -1;
lastpointx[1] = -1;
lastpointy[1] = -1;
lastpointx[2] = -1;
lastpointy[2] = -1;
continue;
}
if (info1[k].Pressure > 10) //有画线宽度
{
lastpointx[2] = x;
lastpointy[2] = y;
if (lastpointx[2] != -1) //打开签字版
{ public static int OpenComDevice()
if (lastpointx[1] != -1 && lastpointx[0] != -1)
{
//float dx = Math.Abs(lastpointx[2] - beginPos.X);
//float dy = Math.Abs(endPos.Y - beginPos.Y);
dx = Math.Abs(lastpointx[2] - lastpointx[1]);
dy = Math.Abs(lastpointy[2] - lastpointy[1]);
if ((dx != 0) && (dy != 0))
{ {
//GetTouchNumber m_GetTouchCB = new(DevGetTouchNumber);
if (lastpointy[1] != -1 && lastpointy[2] != -1) //y轴相同的点不画,直接跳过 try
{ {
if (lastpointx[1] != -1 && lastpointx[2] != -1) //第3个点和第二个点比较是否x坐标在同一个位置,不是就执行画第一个点到第二个点的线 status = FiveInchDll.OpenComDevice(DevGetTouchNumber);
if (status == -1)
{ {
//painter->drawLine(frontPos, beginPos); //画线 status = FiveInchDll.OpenComDevice(DevGetTouchNumber);
//g.DrawLine(pen, lastpointx[0], lastpointy[0], lastpointx[1], lastpointy[1]); Console.WriteLine("OpenComDevice:" + status);
//painter->drawPoint(beginPos); //画点 //清空界面
//frontPos = beginPos; // GetTouchNumber(2);
//beginPos = endPos; if (status == 0)
lastpointx[0] = lastpointx[1];
lastpointy[0] = lastpointy[1];
lastpointx[1] = lastpointx[2];
lastpointy[1] = lastpointy[2];
}
else
{
//是就执行画第一个点到第三个点的线
//painter->drawLine(frontPos, endPos);
//g.DrawLine(pen, lastpointx[0], lastpointy[0], lastpointx[2], lastpointy[2]);
//frontPos = endPos; //第三个点赋值第一个点
//beginPos = QPointF(0, 0); //第二个点置空
//beginPos.X = -1;
//beginPos.Y = -1;
lastpointx[0] = lastpointx[2];
lastpointy[0] = lastpointy[2];
lastpointx[1] = -1;
lastpointy[1] = -1;
}
}
}
}//
else
{ {
if (lastpointx[1] != -1) //不为空在赋值,防止丢弃点时赋空值 //关闭报点
int ret = FiveInchDll.ComSendPoint(0, GetTouchPoint);
if (true)
{ {
lastpointx[0] = lastpointx[1]; string UIFile = System.IO.Directory.GetCurrentDirectory() + "\\adv_ui.jpg";
lastpointy[0] = lastpointy[1]; int ret1 = FiveInchDll.ComSendAdvantageImage(UIFile);
} Console.WriteLine("ComSendAdvantageImage:" + ret1);
lastpointx[1] = lastpointx[2]; FiveInchDll.ComSetBackGroundAdv();
lastpointy[1] = lastpointy[2];
}
} }
} if (true)
else
{ {
dx = dy = 0; string UIFile = System.IO.Directory.GetCurrentDirectory() + "\\sign_ui.jpg";
lastpointx[0] = -1; int ret1 = FiveInchDll.ComSetSignBackgroundImage(UIFile);
lastpointy[0] = -1; Console.WriteLine("ComSetSignBackgroundImage:" + ret1);
lastpointx[1] = -1;
lastpointy[1] = -1;
lastpointx[2] = -1;
lastpointy[2] = -1;
} }
} }
} }
else
//打开签字版
public static int OpenComDevice()
{
try
{ {
status = FiveInchDll.OpenComDevice(GetTouchNumber); //清空界面
Console.WriteLine("OpenComDevice:" + status); //GetTouchNumber(2);
if (status == 0) if (status == 0)
{ {
//关闭报点 //关闭报点
@ -246,7 +285,9 @@ namespace DevicesService.Devices
} }
} }
} }
catch(Exception ex) { Log.Info(ex.Message); }
}
catch { }
finally { } finally { }
return status; return status;
} }
@ -272,7 +313,7 @@ namespace DevicesService.Devices
} }
//保存签字版数据 //保存签字版数据
public static string ComSetPictureSavePath() public string ComSetPictureSavePath()
{ {
try try
{ {
@ -303,9 +344,9 @@ namespace DevicesService.Devices
class FiveInchDll class FiveInchDll
{ {
[System.Runtime.InteropServices.UnmanagedFunctionPointerAttribute(System.Runtime.InteropServices.CallingConvention.StdCall)] [System.Runtime.InteropServices.UnmanagedFunctionPointerAttribute(System.Runtime.InteropServices.CallingConvention.StdCall)]
public delegate void GetTouchNumber(int number); public delegate void GetTouchNumber(int number);
//0816加报点 //0816加报点
[System.Runtime.InteropServices.UnmanagedFunctionPointerAttribute(System.Runtime.InteropServices.CallingConvention.StdCall)] [System.Runtime.InteropServices.UnmanagedFunctionPointerAttribute(System.Runtime.InteropServices.CallingConvention.StdCall)]
public delegate void TOUCH_INFO_FUNC([MarshalAs(UnmanagedType.LPArray, SizeConst = 160)] TOUCH_INFO[] info); public delegate void TOUCH_INFO_FUNC([MarshalAs(UnmanagedType.LPArray, SizeConst = 160)] TOUCH_INFO[] info);

8
DevicesService/DevicesService.csproj

@ -1,4 +1,4 @@
<Project Sdk="Microsoft.NET.Sdk"> <Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup> <PropertyGroup>
<OutputType>Exe</OutputType> <OutputType>Exe</OutputType>
@ -14,20 +14,22 @@
<AllowUnsafeBlocks>true</AllowUnsafeBlocks> <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
<DefineConstants /> <DefineConstants />
<PlatformTarget>AnyCPU</PlatformTarget> <PlatformTarget>AnyCPU</PlatformTarget>
<Optimize>False</Optimize>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x86'"> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x86'">
<AllowUnsafeBlocks>true</AllowUnsafeBlocks> <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
<DefineConstants /> <DefineConstants />
<PlatformTarget>AnyCPU</PlatformTarget> <PlatformTarget>AnyCPU</PlatformTarget>
<Optimize>False</Optimize>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|AnyCPU'"> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|AnyCPU'">
<Optimize>True</Optimize> <Optimize>False</Optimize>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x86'"> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x86'">
<Optimize>True</Optimize> <Optimize>False</Optimize>
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>

1
DevicesService/Program.cs

@ -34,7 +34,6 @@ namespace DevicesService
FileProvider = new PhysicalFileProvider(pathToFiles), FileProvider = new PhysicalFileProvider(pathToFiles),
RequestPath = "/wwwroot" RequestPath = "/wwwroot"
}); });
// 处理文件未找到的情况 // 处理文件未找到的情况
app.Use((context, next) => app.Use((context, next) =>
{ {

Loading…
Cancel
Save