| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091 |
- using Newtonsoft.Json.Linq;
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- using System.IO.Ports;
- using DGPosPay.Window;
- using System.Timers;
- using System.Windows.Forms;
- using Ini;
- namespace DGPosPay
- {
- public class DGPosPayClass
- {
- IniFile ini = new IniFile();
- private SerialPort serialPort = new SerialPort();
- public string DGPosPay(string inParams)
- {
- //System.Diagnostics.Debugger.Launch();
- string errorCode = "-1";
- string errorMessage = "";
- string readData = "";
- JObject jObject = new JObject();
- try
- {
- JObject inParamsobj = JObject.Parse(inParams);
- var paramsobj = inParamsobj["result"][0];
- string posData = paramsobj["posData"].ToString();
- string remarks= paramsobj["remarks"].ToString();
- string portName = ini.IniReadValue("Config", "portName");
- using (serialPort)
- {
- serialPort.PortName = portName; // 设置串口名称
- serialPort.Encoding = System.Text.Encoding.GetEncoding("GB2312");
- serialPort.BaudRate = 9600; // 设置波特率
- serialPort.Parity = Parity.None; // 设置奇偶校验
- serialPort.DataBits = 8; // 设置数据位数
- serialPort.StopBits = StopBits.One; // 设置停止位
- serialPort.Handshake = Handshake.None; // 设置握手协议
- //serialPort.DataReceived += new SerialDataReceivedEventHandler(DataReceivedHandler); // 接收到数据时的事件
- if (!serialPort.IsOpen)
- {
- serialPort.Open();
- }
- if (serialPort.IsOpen)
- {
- WaitWindow waitWindow = new WaitWindow(serialPort);
- waitWindow.label3data = remarks;
- serialPort.WriteLine(posData); // 写入数据
- if (waitWindow.ShowDialog() == DialogResult.OK)
- {
- }
- else
- {
- }
- string outstring = waitWindow.outstring;
- return outstring;
- }
- else
- {
- errorCode = "-1";
- errorMessage = "串口打开失败";
- }
- }
-
- }
- catch (Exception ex2)
- {
- errorCode = "-1";
- errorMessage = ex2.Message;
- }
- if (serialPort.IsOpen)
- {
- serialPort.Close();
- }
- jObject.Add("errorCode", errorCode);
- jObject.Add("errorMessage", errorMessage);
- jObject.Add("posData", readData);
- return jObject.ToString();
- }
- private void DataReceivedHandler(object sender, SerialDataReceivedEventArgs e)
- {
- SerialPort sp = (SerialPort)sender;
- string indata = sp.ReadExisting();
- Console.WriteLine("Data Received:");
- Console.Write(indata);
- }
- }
- }
|