HisCallFace.cs 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. using PTMedicalInsurance.Variables;
  2. using System;
  3. using System.Collections.Generic;
  4. using System.Linq;
  5. using System.Runtime.InteropServices;
  6. using System.Text;
  7. using System.Threading.Tasks;
  8. using System.Windows.Forms;
  9. namespace PTMedicalInsurance.Helper
  10. {
  11. class HisCallFace
  12. {
  13. //人脸验证
  14. [DllImport("HisCallFace.dll", EntryPoint = "zjHisFunCall", CharSet = CharSet.Ansi, ExactSpelling = false, CallingConvention = CallingConvention.Cdecl)]
  15. static extern int zjHisFunCall(StringBuilder inputJson, StringBuilder outJson);
  16. //考勤
  17. [DllImport("HisCallFace.dll", EntryPoint = "HisCallAtten", CharSet = CharSet.Ansi, ExactSpelling = false, CallingConvention = CallingConvention.Cdecl)]
  18. static extern int HisCallAtten(string hisMsg, ref byte outMsg);
  19. public int zjHisFunCall( string inputJson, out string outJson)
  20. {
  21. outJson = "";
  22. try
  23. {
  24. StringBuilder sbIn= new StringBuilder(inputJson);
  25. StringBuilder sbOut = new StringBuilder(50*1024);
  26. int iRtn = zjHisFunCall(sbIn,sbOut);
  27. outJson = sbOut.ToString();
  28. return iRtn;
  29. }
  30. catch (Exception ex)
  31. {
  32. outJson = "zjHisFunCall 异常:" + ex.Message;
  33. return -1;
  34. }
  35. finally
  36. {
  37. Global.writeLog("人脸验证", inputJson, outJson);
  38. }
  39. }
  40. //public int HisCallAtten(string hisMsg, out string outMsg)
  41. //{
  42. // outMsg = "";
  43. // try
  44. // {
  45. // StringBuilder sbIn = new StringBuilder(hisMsg);
  46. // StringBuilder sbOut = new StringBuilder(50*1024);
  47. // int iRtn = HisCallAtten(sbIn, sbOut);
  48. // outMsg = sbOut.ToString();
  49. // return iRtn;
  50. // }
  51. // catch (Exception ex)
  52. // {
  53. // outMsg = "HisCallAtten 异常:" + ex.Message;
  54. // return -1;
  55. // }
  56. // finally
  57. // {
  58. // Global.writeLog("医师考勤", hisMsg, outMsg);
  59. // }
  60. //}
  61. public int HisCallAtten(string hisMsg, out string outMsg)
  62. {
  63. outMsg = "";
  64. try
  65. {
  66. Byte[] bPara = new Byte[10*1024];
  67. int i = HisCallAtten(hisMsg, ref bPara[0]);
  68. outMsg = System.Text.Encoding.Default.GetString(bPara, 0, bPara.Length);
  69. return i;
  70. }
  71. catch (Exception ex)
  72. {
  73. Global.writeLog_encrypt("签名异常" + ex.Message);
  74. return -1;
  75. }
  76. }
  77. }
  78. }