|
|
@ -14,6 +14,10 @@ using System.Collections; |
|
|
|
using System.Net.NetworkInformation; |
|
|
|
using System.Net.NetworkInformation; |
|
|
|
using AKS.EnterpriseLibrary.WebBrowser; |
|
|
|
using AKS.EnterpriseLibrary.WebBrowser; |
|
|
|
using System.Globalization; |
|
|
|
using System.Globalization; |
|
|
|
|
|
|
|
using CPF; |
|
|
|
|
|
|
|
using CPF.Windows; |
|
|
|
|
|
|
|
using static System.Net.Mime.MediaTypeNames; |
|
|
|
|
|
|
|
using System.Text.RegularExpressions; |
|
|
|
|
|
|
|
|
|
|
|
namespace AksWebBrowser.Common |
|
|
|
namespace AksWebBrowser.Common |
|
|
|
{ |
|
|
|
{ |
|
|
@ -49,7 +53,7 @@ namespace AksWebBrowser.Common |
|
|
|
fileStream.Dispose(); |
|
|
|
fileStream.Dispose(); |
|
|
|
ret = responseString; |
|
|
|
ret = responseString; |
|
|
|
JObject jo = (JObject)JsonConvert.DeserializeObject(ret); |
|
|
|
JObject jo = (JObject)JsonConvert.DeserializeObject(ret); |
|
|
|
Log.Error("上传文件返回:" + ret); |
|
|
|
Log.Info("上传文件返回:" + ret); |
|
|
|
if (Convert.ToBoolean(jo["IsSucceed"].ToString()) == true) |
|
|
|
if (Convert.ToBoolean(jo["IsSucceed"].ToString()) == true) |
|
|
|
{ |
|
|
|
{ |
|
|
|
string result = jo["result"].ToString(); |
|
|
|
string result = jo["result"].ToString(); |
|
|
@ -69,6 +73,41 @@ namespace AksWebBrowser.Common |
|
|
|
public async Task<string> getReq(string query) |
|
|
|
public async Task<string> getReq(string query) |
|
|
|
{ |
|
|
|
{ |
|
|
|
string ret = string.Empty; |
|
|
|
string ret = string.Empty; |
|
|
|
|
|
|
|
ret = await NewMethod(query, ret); |
|
|
|
|
|
|
|
if (query.Contains("getFrame")) |
|
|
|
|
|
|
|
{ |
|
|
|
|
|
|
|
string img = string.Empty; |
|
|
|
|
|
|
|
int num = 0; |
|
|
|
|
|
|
|
while (string.IsNullOrEmpty(img) && num < 5) |
|
|
|
|
|
|
|
{ |
|
|
|
|
|
|
|
JObject jo = (JObject)JsonConvert.DeserializeObject(ret); |
|
|
|
|
|
|
|
if (jo["returnCode"].ToString() == "0") |
|
|
|
|
|
|
|
{ |
|
|
|
|
|
|
|
string data = jo["data"].ToString(); |
|
|
|
|
|
|
|
JObject jo1 = (JObject)JsonConvert.DeserializeObject(data); |
|
|
|
|
|
|
|
//Log.Info("img" + num + (jo1["img"].ToString())); |
|
|
|
|
|
|
|
if (string.IsNullOrEmpty(jo1["img"].ToString())) |
|
|
|
|
|
|
|
{ |
|
|
|
|
|
|
|
ret = await NewMethod(query, ret); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
else |
|
|
|
|
|
|
|
{ |
|
|
|
|
|
|
|
img = jo1["img"].ToString(); |
|
|
|
|
|
|
|
num = 6; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
else |
|
|
|
|
|
|
|
{ |
|
|
|
|
|
|
|
ret = await NewMethod(query, ret); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
num++; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
return ret; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
private static async Task<string> NewMethod(string query, string ret) |
|
|
|
|
|
|
|
{ |
|
|
|
using (var httpClient = new HttpClient()) |
|
|
|
using (var httpClient = new HttpClient()) |
|
|
|
{ |
|
|
|
{ |
|
|
|
// 构建带参数的请求URI |
|
|
|
// 构建带参数的请求URI |
|
|
@ -90,6 +129,7 @@ namespace AksWebBrowser.Common |
|
|
|
//Log.Error(" get请求: " + e.Message); |
|
|
|
//Log.Error(" get请求: " + e.Message); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
return ret; |
|
|
|
return ret; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
@ -124,32 +164,19 @@ namespace AksWebBrowser.Common |
|
|
|
//读取parameters数据 |
|
|
|
//读取parameters数据 |
|
|
|
string parameters = jo3["parameters"].ToString(); |
|
|
|
string parameters = jo3["parameters"].ToString(); |
|
|
|
JObject jo4 = (JObject)JsonConvert.DeserializeObject(parameters); |
|
|
|
JObject jo4 = (JObject)JsonConvert.DeserializeObject(parameters); |
|
|
|
//读取签字base64 |
|
|
|
string sign_pic_path = jo4["sign_pic_path"].ToString(); |
|
|
|
string sign_pic = jo4["sign_pic"].ToString(); |
|
|
|
|
|
|
|
string time = DateTime.Now.ToString("yyyyMMddHHmmss", DateTimeFormatInfo.InvariantInfo); |
|
|
|
string dirpath = Utils.getSystemPaht() + @"/wwwroot/SignFile"; |
|
|
|
string dirpath = Utils.getSystemPaht() + @"/wwwroot/FileTxt"; |
|
|
|
|
|
|
|
if (!Directory.Exists(dirpath)) |
|
|
|
if (!Directory.Exists(dirpath)) |
|
|
|
{ |
|
|
|
{ |
|
|
|
Directory.CreateDirectory(dirpath); |
|
|
|
Directory.CreateDirectory(dirpath); |
|
|
|
} |
|
|
|
} |
|
|
|
var tempFile = dirpath + "/" + time + ".txt"; |
|
|
|
var tempFile = dirpath + "/sign.jpg"; |
|
|
|
using (StreamWriter sw = new StreamWriter(tempFile)) |
|
|
|
string command = $"convert {sign_pic_path} -quality 10 {tempFile}"; |
|
|
|
{ |
|
|
|
MainModel.ShllCommad(command); |
|
|
|
sw.Write(sign_pic); |
|
|
|
byte[] byteArray = File.ReadAllBytes(tempFile); |
|
|
|
sw.Close(); |
|
|
|
string base64String = Convert.ToBase64String(byteArray); |
|
|
|
sw.Dispose(); |
|
|
|
return "{\"keycode\":\"" + code + "\",\"message\":\"success\",\"code\":200,\"status\":true,\"suffix\":\"jpg\",\"data\":\"" + base64String + "\"}"; |
|
|
|
} |
|
|
|
|
|
|
|
string base64 = ""; |
|
|
|
|
|
|
|
string[] lines = File.ReadAllLines(tempFile); |
|
|
|
|
|
|
|
foreach (string line in lines) |
|
|
|
|
|
|
|
{ |
|
|
|
|
|
|
|
base64 = base64 + line; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
File.Delete(tempFile); |
|
|
|
|
|
|
|
//读取签字版主动回复数据 |
|
|
|
|
|
|
|
//"data:image/png;base64, " + |
|
|
|
|
|
|
|
//Log.Info("读取签字版主动回复数据" + base64); |
|
|
|
|
|
|
|
return "{\"keycode\":\"" + code + "\",\"message\":\"success\",\"code\":\"200\",\"status\":true,\"suffix\":\"png\",\"data\":\"" + base64 + "\"}"; |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
else |
|
|
|
else |
|
|
|
{ |
|
|
|
{ |
|
|
@ -191,7 +218,7 @@ namespace AksWebBrowser.Common |
|
|
|
{ |
|
|
|
{ |
|
|
|
var client = new HttpClient(); |
|
|
|
var client = new HttpClient(); |
|
|
|
var request = new HttpRequestMessage(HttpMethod.Post, Parame.signUrl); |
|
|
|
var request = new HttpRequestMessage(HttpMethod.Post, Parame.signUrl); |
|
|
|
var content = new StringContent("{\r\n \"command\": \"tts\",\r\n \"command_num\": 201,\r\n \"data\": {\r\n \"operation\": \"text_to_wav\",\r\n \"operation_code\": 1,\r\n \"parameters\": {\r\n \"data_type\": 1,\r\n \"tts_text\": \""+ tts_text + "\"\r\n }\r\n }\r\n }", null, "application/json"); |
|
|
|
var content = new StringContent("{\r\n \"command\": \"tts\",\r\n \"command_num\": 201,\r\n \"data\": {\r\n \"operation\": \"text_to_wav\",\r\n \"operation_code\": 1,\r\n \"parameters\": {\r\n \"data_type\": 1,\r\n \"tts_text\": \"" + tts_text + "\"\r\n }\r\n }\r\n }", null, "application/json"); |
|
|
|
request.Content = content; |
|
|
|
request.Content = content; |
|
|
|
var response = await client.SendAsync(request); |
|
|
|
var response = await client.SendAsync(request); |
|
|
|
response.EnsureSuccessStatusCode(); |
|
|
|
response.EnsureSuccessStatusCode(); |
|
|
@ -199,7 +226,7 @@ namespace AksWebBrowser.Common |
|
|
|
{ |
|
|
|
{ |
|
|
|
// 读取响应内容 |
|
|
|
// 读取响应内容 |
|
|
|
string body = await response.Content.ReadAsStringAsync(); |
|
|
|
string body = await response.Content.ReadAsStringAsync(); |
|
|
|
Log.Info("文字转语音:" + body); |
|
|
|
// Log.Info("文字转语音:" + body); |
|
|
|
JObject jo = (JObject)JsonConvert.DeserializeObject(body); |
|
|
|
JObject jo = (JObject)JsonConvert.DeserializeObject(body); |
|
|
|
string ret = jo["ret_info"].ToString(); |
|
|
|
string ret = jo["ret_info"].ToString(); |
|
|
|
JObject jo2 = (JObject)JsonConvert.DeserializeObject(ret); |
|
|
|
JObject jo2 = (JObject)JsonConvert.DeserializeObject(ret); |
|
|
@ -252,7 +279,7 @@ namespace AksWebBrowser.Common |
|
|
|
{ |
|
|
|
{ |
|
|
|
// 读取响应内容 |
|
|
|
// 读取响应内容 |
|
|
|
string body = await response.Content.ReadAsStringAsync(); |
|
|
|
string body = await response.Content.ReadAsStringAsync(); |
|
|
|
Log.Info("获取指纹:" + body); |
|
|
|
// Log.Info("获取指纹:" + body); |
|
|
|
JObject jo = (JObject)JsonConvert.DeserializeObject(body); |
|
|
|
JObject jo = (JObject)JsonConvert.DeserializeObject(body); |
|
|
|
string ret = jo["ret_info"].ToString(); |
|
|
|
string ret = jo["ret_info"].ToString(); |
|
|
|
JObject jo2 = (JObject)JsonConvert.DeserializeObject(ret); |
|
|
|
JObject jo2 = (JObject)JsonConvert.DeserializeObject(ret); |
|
|
@ -296,16 +323,16 @@ namespace AksWebBrowser.Common |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
/// <summary> |
|
|
|
/// <summary> |
|
|
|
/// 录音与停止 |
|
|
|
/// 读取身份证 |
|
|
|
/// </summary> |
|
|
|
/// </summary> |
|
|
|
/// <returns></returns> |
|
|
|
/// <returns></returns> |
|
|
|
public async Task<string> PostRecord(string type, int typeCode, string path) |
|
|
|
public async Task<string> OpenGetIdcard(string type, int typeCode) |
|
|
|
{ |
|
|
|
{ |
|
|
|
try |
|
|
|
try |
|
|
|
{ |
|
|
|
{ |
|
|
|
var client = new HttpClient(); |
|
|
|
var client = new HttpClient(); |
|
|
|
var request = new HttpRequestMessage(HttpMethod.Post, Parame.signUrl); |
|
|
|
var request = new HttpRequestMessage(HttpMethod.Post, Parame.signUrl); |
|
|
|
var content = new StringContent("{\r\n \"command\": \"tts\",\r\n \"command_num\": 201,\r\n \"data\": {\r\n \"operation\": \"" + type + "\",\r\n \"operation_code\": " + typeCode + ",\r\n \"parameters\": {\r\n \"data_type\": 1,\r\n \" tts_text\": \"" + path + "\"}\r\n }\r\n}", null, "application/json"); |
|
|
|
var content = new StringContent("{\r\n \"command\": \"idcard\",\r\n \"command_num\": 141,\r\n \"data\": {\r\n \"operation\": \"open\",\r\n \"operation_code\": 1,\r\n \"parameters\": {\r\n }\r\n }\r\n}", null, "text/plain"); |
|
|
|
request.Content = content; |
|
|
|
request.Content = content; |
|
|
|
var response = await client.SendAsync(request); |
|
|
|
var response = await client.SendAsync(request); |
|
|
|
response.EnsureSuccessStatusCode(); |
|
|
|
response.EnsureSuccessStatusCode(); |
|
|
@ -313,16 +340,42 @@ namespace AksWebBrowser.Common |
|
|
|
{ |
|
|
|
{ |
|
|
|
// 读取响应内容 |
|
|
|
// 读取响应内容 |
|
|
|
string body = await response.Content.ReadAsStringAsync(); |
|
|
|
string body = await response.Content.ReadAsStringAsync(); |
|
|
|
|
|
|
|
|
|
|
|
Log.Info("录音与停止:" + body); |
|
|
|
|
|
|
|
JObject jo = (JObject)JsonConvert.DeserializeObject(body); |
|
|
|
JObject jo = (JObject)JsonConvert.DeserializeObject(body); |
|
|
|
string ret = jo["ret_info"].ToString(); |
|
|
|
string ret = jo["ret_info"].ToString(); |
|
|
|
JObject jo2 = (JObject)JsonConvert.DeserializeObject(ret); |
|
|
|
JObject jo2 = (JObject)JsonConvert.DeserializeObject(ret); |
|
|
|
if (jo2["code"].ToString() == "0") |
|
|
|
if (jo2["code"].ToString() == "0") |
|
|
|
{ |
|
|
|
{ |
|
|
|
//读取data数据 |
|
|
|
//读取指纹 |
|
|
|
string details = jo["details"].ToString(); |
|
|
|
if (typeCode == 1) |
|
|
|
return details; |
|
|
|
{ |
|
|
|
|
|
|
|
//读取data数据 |
|
|
|
|
|
|
|
string data = jo["data"].ToString(); |
|
|
|
|
|
|
|
JObject jo3 = (JObject)JsonConvert.DeserializeObject(data); |
|
|
|
|
|
|
|
//读取parameters数据 |
|
|
|
|
|
|
|
string parameters = jo3["parameters"].ToString(); |
|
|
|
|
|
|
|
JObject jo4 = (JObject)JsonConvert.DeserializeObject(parameters); |
|
|
|
|
|
|
|
IDCardModel iDCardModel = new IDCardModel(); |
|
|
|
|
|
|
|
iDCardModel.Name = jo4["cn_name"].ToString(); |
|
|
|
|
|
|
|
iDCardModel.Sex = jo4["sex"].ToString(); |
|
|
|
|
|
|
|
iDCardModel.Nation = jo4["nation"].ToString(); |
|
|
|
|
|
|
|
iDCardModel.BirthDay = jo4["birth_date"].ToString(); |
|
|
|
|
|
|
|
iDCardModel.Addr = jo4["address"].ToString(); |
|
|
|
|
|
|
|
iDCardModel.Id = jo4["idcard_number"].ToString(); |
|
|
|
|
|
|
|
iDCardModel.Regorg = jo4["deparment"].ToString(); |
|
|
|
|
|
|
|
iDCardModel.StartDate = jo4["validity_begin"].ToString(); |
|
|
|
|
|
|
|
iDCardModel.EndDate = jo4["balidity_end"].ToString(); |
|
|
|
|
|
|
|
iDCardModel.ImageBase64 = "data:image/jpg;base64," + jo4["face_data"].ToString(); |
|
|
|
|
|
|
|
var OBJ = new |
|
|
|
|
|
|
|
{ |
|
|
|
|
|
|
|
Data = iDCardModel |
|
|
|
|
|
|
|
}; |
|
|
|
|
|
|
|
return JsonConvert.SerializeObject(OBJ); ; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
else |
|
|
|
|
|
|
|
{ |
|
|
|
|
|
|
|
//关闭 |
|
|
|
|
|
|
|
return "200"; |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
else |
|
|
|
else |
|
|
|
{ |
|
|
|
{ |
|
|
|