diff --git a/CPF_Cef/Common/ChunkedUpload.cs b/CPF_Cef/Common/ChunkedUpload.cs
index ca4e4c1..efe1799 100644
--- a/CPF_Cef/Common/ChunkedUpload.cs
+++ b/CPF_Cef/Common/ChunkedUpload.cs
@@ -11,6 +11,7 @@ using System.Threading.Tasks;
using CPF.Controls;
using AKSWebBrowser.Commen;
using System.Collections;
+using System.Net.NetworkInformation;
namespace AksWebBrowser.Common
{
@@ -93,27 +94,84 @@ namespace AksWebBrowser.Common
/// 获取签字版数据
///
///
- public async Task PostSign(string type, string _callback)
+ public async Task PostSign(string type, int typeCode, string _callback)
{
try
{
callback = _callback;
var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Post, Parame.signUrl);
- var content = new StringContent("{\r\n command: \"sign\",\r\n command_num: 111,\r\n data: {\r\n operation: \"" + type + "\",\r\n operation_code: 1,\r\n parameters: {\r\n data_type: 1,\r\n title_name: \"\",\r\n }\r\n }\r\n }", null, "text/plain");
+ var content = new StringContent("{\r\n \"command\": \"sign\",\r\n \"command_num\": 111,\r\n \"data\": {\r\n \"operation\": \"" + type + "\",\r\n \"operation_code\": " + typeCode + ",\r\n \"parameters\": {\r\n \"data_type\": 1\r\n }\r\n }\r\n}", null, "application/json");
request.Content = content;
var response = await client.SendAsync(request);
response.EnsureSuccessStatusCode();
if (response.StatusCode.ToString() == "OK")
{
- // 读取响应内容
- string body = await response.Content.ReadAsStringAsync();
- Log.Info(body);
+ if (type == "open" && typeCode == 1)
+ {
+ // 读取响应内容
+ string body = await response.Content.ReadAsStringAsync();
+ JObject jo = (JObject)JsonConvert.DeserializeObject(body);
+ string ret = jo["ret_info"].ToString();
+ JObject jo2 = (JObject)JsonConvert.DeserializeObject(ret);
+ if (jo2["code"].ToString() == "0")
+ {
+ //读取data数据
+ string data = jo["data"].ToString();
+ JObject jo3 = (JObject)JsonConvert.DeserializeObject(data);
+ //读取parameters数据
+ string parameters = jo3["parameters"].ToString();
+ JObject jo4 = (JObject)JsonConvert.DeserializeObject(parameters);
+ //读取签字base64
+ string sign_pic = jo4["sign_pic"].ToString();
+ //读取签字版主动回复数据
+ string result = "{\"message\":\"success\",\"code\":\"200\",\"status\":true,\"suffix\":\"png\",\"data\":\"" + sign_pic + "\"}";
+ string _parm = callback + "('" + result + "')";
+ Task.Run(async () =>
+ {
+ await Parame.webBrowser.ExecuteJavaScript(_parm);
+ });
+ Log.Info(sign_pic);
+ }
+ else
+ {
+ Log.Error("请求签字失败" + jo["message"].ToString());
+ string result = "{\"message\":\"fail\",\"code\":\"400\",\"status\":false,\"suffix\":\"png\",\"data\":\"" + "签字失败" + "\"}";
+ string _parm = callback + "('" + result + "')";
+ Task.Run(async () =>
+ {
+ await Parame.webBrowser.ExecuteJavaScript(_parm);
+ });
+ }
+ }
+ }
+ else
+ {
+ if (type == "open" && typeCode == 1)
+ {
+ string result = "{\"message\":\"fail\",\"code\":\"400\",\"status\":false,\"suffix\":\"png\",\"data\":\"" + "签字失败" + "\"}";
+ string _parm = callback + "('" + result + "')";
+ Task.Run(async () =>
+ {
+ await Parame.webBrowser.ExecuteJavaScript(_parm);
+ });
+
+ }
+ Log.Error("请求签字失败");
}
}
catch (Exception ex)
{
- Log.Error("签字版post请求: " + ex.Message);
+ if (type == "open" && typeCode == 1)
+ {
+ string result = "{\"message\":\"fail\",\"code\":\"400\",\"status\":false,\"suffix\":\"png\",\"data\":\"" + "签字失败" + "\"}";
+ string _parm = "callback('" + result + "')";
+ Task.Run(async () =>
+ {
+ await Parame.webBrowser.ExecuteJavaScript(_parm);
+ });
+ }
+ Log.Error("签字异常:" + ex.Message);
}
}
}
diff --git a/CPF_Cef/FrmMain.cs b/CPF_Cef/FrmMain.cs
index 5e4b445..97fa598 100644
--- a/CPF_Cef/FrmMain.cs
+++ b/CPF_Cef/FrmMain.cs
@@ -103,10 +103,10 @@ namespace AKS.EnterpriseLibrary.WebBrowser
}
//获取授权
GetSQObject();
- //删除临时文件
- Task.Run(() => { DeleteFile(); });
- //开启定时清理任务
- Task.Run(() => { Time(); });
+ ////删除临时文件
+ //Task.Run(() => { DeleteFile(); });
+ ////开启定时清理任务
+ //Task.Run(() => { Time(); });
}
//凌晨2点执行,清理当天缓存文件
@@ -142,7 +142,7 @@ namespace AKS.EnterpriseLibrary.WebBrowser
{
Log.Info("定时任务执行时间: " + DateTime.Now);
string file = System.IO.Directory.GetCurrentDirectory();
- file = file + @"/aks/wwwroot";
+ file = file + @"/wwwroot";
// 这里添加你的任务代码
Utils.DeleteAllFiles(file);
}
diff --git a/CPF_Cef/MainModel.cs b/CPF_Cef/MainModel.cs
index b725e6c..1c520fd 100644
--- a/CPF_Cef/MainModel.cs
+++ b/CPF_Cef/MainModel.cs
@@ -254,7 +254,7 @@ namespace AKS.EnterpriseLibrary.WebBrowser
}
else
{
- Task.Run(() => HttpPostResponseBySign("open", callback));
+ Task.Run(() => HttpPostResponseBySign("open", 1, callback));
string result = "{\"callback\":\"" + callback + "\",\"message\":\"success\",\"code\":\"200\",\"status\":true,\"suffix\":\"jpg\",\"data\":\"" + "签字版已打开" + "\"}";
SubmitLogs(result, "openCamera");
return result;
@@ -286,10 +286,9 @@ namespace AKS.EnterpriseLibrary.WebBrowser
}
else
{
-
-
- string result = "{\"callback\":\"" + callback + "\",\"message\":\"success\",\"code\":\"200\",\"status\":true,\"suffix\":\"png\",\"data\":\"" + "成功" + "\"}";
- SubmitLogs(result, "OpenSign");
+ Task.Run(() => HttpPostResponseBySign("close", 2, ""));
+ string result = "{\"callback\":\"" + callback + "\",\"message\":\"success\",\"code\":\"200\",\"status\":true,\"suffix\":\"jpg\",\"data\":\"" + "签字版已关闭" + "\"}";
+ SubmitLogs(result, "openCamera");
return result;
}
}
@@ -444,7 +443,8 @@ namespace AKS.EnterpriseLibrary.WebBrowser
DateTime dateTime = DateTime.Now;
string time = DateTime.Now.ToString(
"yyyyMMddHHmmss", DateTimeFormatInfo.InvariantInfo);
- var dirpath = System.IO.Path.Combine(Environment.CurrentDirectory, "wwwroot", "PrintFile");
+ string dirpath = System.IO.Directory.GetCurrentDirectory();
+ dirpath = dirpath + @"/wwwroot/PrintFile";
if (!Directory.Exists(dirpath))
{
Directory.CreateDirectory(dirpath);
@@ -503,7 +503,8 @@ namespace AKS.EnterpriseLibrary.WebBrowser
DateTime dateTime = DateTime.Now;
string time = DateTime.Now.ToString(
"yyyyMMddHHmmss", DateTimeFormatInfo.InvariantInfo);
- var dirpath = System.IO.Path.Combine(Environment.CurrentDirectory, "wwwroot", "PrintFile");
+ string dirpath = System.IO.Directory.GetCurrentDirectory();
+ dirpath = dirpath + @"/wwwroot/PrintFile";
if (!Directory.Exists(dirpath))
{
Directory.CreateDirectory(dirpath);
@@ -568,12 +569,13 @@ namespace AKS.EnterpriseLibrary.WebBrowser
DateTime dateTime = DateTime.Now;
string time = DateTime.Now.ToString(
"yyyyMMddHHmmss", DateTimeFormatInfo.InvariantInfo);
- var dirpath = System.IO.Path.Combine(Environment.CurrentDirectory, "wwwroot", "WaveOutFile");
+ string dirpath = System.IO.Directory.GetCurrentDirectory();
+ dirpath = dirpath + @"/wwwroot/WaveOutFile";
if (!Directory.Exists(dirpath))
{
Directory.CreateDirectory(dirpath);
}
- string path = dirpath + @"/" + time + "." + ext;
+ string path = dirpath + @"/" + time + ext;
WebRequest request = WebRequest.Create(url);
WebResponse response = request.GetResponse();
using (Stream stream = response.GetResponseStream())
@@ -903,11 +905,11 @@ namespace AKS.EnterpriseLibrary.WebBrowser
///
/// 签字版
///
- private async void HttpPostResponseBySign(string type,string callback)
+ private async void HttpPostResponseBySign(string type, int typeCode, string callback)
{
var httpClient = new HttpClient();
var uploader = new ChunkedUpload(httpClient);
- await uploader.PostSign(type, callback);
+ await uploader.PostSign(type, typeCode, callback);
}
///
@@ -994,7 +996,8 @@ namespace AKS.EnterpriseLibrary.WebBrowser
}
string time = DateTime.Now.ToString(
"yyyyMMddHHmmss", DateTimeFormatInfo.InvariantInfo);
- var dirpath = System.IO.Path.Combine(Environment.CurrentDirectory, "wwwroot", "Record");
+ string dirpath = System.IO.Directory.GetCurrentDirectory();
+ dirpath = dirpath + @"/wwwroot/Record";
if (!Directory.Exists(dirpath))
{
Directory.CreateDirectory(dirpath);
@@ -1082,7 +1085,8 @@ namespace AKS.EnterpriseLibrary.WebBrowser
{
string time = DateTime.Now.ToString(
"yyyyMMddHHmmss", DateTimeFormatInfo.InvariantInfo);
- var dirpath = System.IO.Path.Combine(Environment.CurrentDirectory, "wwwroot", "WavFile");
+ string dirpath = System.IO.Directory.GetCurrentDirectory();
+ dirpath = dirpath + @"/wwwroot/WavFile";
if (!Directory.Exists(dirpath))
{
Directory.CreateDirectory(dirpath);
@@ -1128,7 +1132,11 @@ namespace AKS.EnterpriseLibrary.WebBrowser
return isFunc;
}
- //提交设备操作日志
+ ///
+ /// 提交设备操作日志
+ ///
+ ///
+ ///
public static void SubmitLogs(string Describer, string funcName)
{
Task.Run(async () =>
diff --git a/CPF_Cef/Ramark.txt b/CPF_Cef/Ramark.txt
index 42eb7bd..8987814 100644
--- a/CPF_Cef/Ramark.txt
+++ b/CPF_Cef/Ramark.txt
@@ -1,9 +1,27 @@
-sudo apt-get update
+//sudo apt-get upgrade
+sudo apt-get update
sudo apt-get install libudev1 libudev-dev
sudo apt-get install build-essential
-sudo apt install sox
+
sudo apt install libsox-fmt-all
sudo apt-get install libgdiplus
sudo apt-get install alsa-utils
sudo apt-get install espeak
-sudo apt-get install gcc-c++ libstdc++-devel
\ No newline at end of file
+sudo apt-get install gcc-c++ libstdc++-devel
+sudo apt-get install gcc
+sudo apt-get install g++
+sudo apt-get install zh
+
+
+sudo apt install sox
+sudo apt install lame
+sudo apt install libsox-fmt-all
+
+git clone https://github.com/caixxiong/espeak-data/
+cd espeak-data/
+unzip espeak-data.zip
+sudo cp -r * /usr/lib/x86_64-linux-gnu/espeak-data/
+espeak --compile=zh
+
+sudo apt-get update
+sudo apt-get install gcc make zlib1g-dev libphonon-dev