相关文件

系统环境

C# :NET.20,NET3.5,NET4,NET4.5,NET 5.0

C:VS2005,VS2012,VS2015

操作系统:未来之窗VOS

WEB:CHROME43+

核心代码

完整代码

using System;
using System.Collections.Generic;
using System.Text;
using System.Collections.Specialized;

using System.Windows.Forms;


using System.IO;
using System.Drawing;

//
using System.Data;
using System.Data.Common;

//引用数据库


//using CyberSnow.VB.NET.Data.Helper;

//
using System.Text.RegularExpressions;

using CyberWin.CSHARP.YNWLZC.WebFrame.CyberPHP.CyberWinWeb.WebData;

using System.Runtime.InteropServices;//这是用到DllImport时候要引入的包

//线程
using System.Threading;
 



//酒店门锁
//qujing
namespace CyberPHP_Dynamic
{
    class APP
    {
        byte[] carddata = new byte[128];

      

	private string 身份证照片保存路径="";


	 public string start(NameValueCollection obj){
	      string 参数1="";
	       NameValueCollection d=obj;
	       参数1 = d["param1"];

	     string s="随机预安装插件";
	     return s;
	 }

	  public string status(NameValueCollection obj){
	      Buzzer(1, 50);//蜂鸣器

	     string s="当你听到设备蜂鸣器,说明设备已经连接";
	     return s;
	 }


	 //退房checking out
	 //入住checking in
	 //检测技术
	 //
	  public string checkingout(NameValueCollection obj){
	     string s="注销卡片";

	       NameValueCollection d=obj;
	      string param = d["param"];
              //解析未来之窗协议
	      CyberWin.CSHARP.YNWLZC.WebFrame.CyberPHP.CyberWinProtocol.Cl_CyberWinAPPProtocolPackage clApp = new CyberWin.CSHARP.YNWLZC.WebFrame.CyberPHP.CyberWinProtocol.Cl_CyberWinAPPProtocolPackage();
	      clApp.formatString(param);
	       
	     
	      string 酒店标识 = clApp.get("hotelsign");

	           
		 

	 int st;
            byte[] sa1 = new byte[256 + 1];
	    /*
            if (!rdCard())
            {
                return "读卡失败";
            }
	    */

	   int st读卡器 = CyberWin_hoteldoor_prousbv10_2024.initializeUSB(1);       //0表示有驱USB, 1表示proUSB
            if (st读卡器 != 0)
            {
                 
                String 未来之窗one = "打开端口失败";
                
                MessageBox.Show("设备打开失败");
		return "打开端口失败";

            }

            // 先读卡
            Cursor.Current = System.Windows.Forms.Cursors.WaitCursor;
          //  st =  CardErase(1, Convert.ToInt32(酒店标识), sa1);
	    //CardErase_V10
            string 未来之窗 = Encoding.ASCII.GetString(sa1);
           // edt_CardData.Text = 未来之窗;
           // Cursor.Current = System.Windows.Forms.Cursors.Default;
	   //2024-09-27
	      StringBuilder CardNostr;
               CardNostr = new StringBuilder(100);
	    st =  CyberWin_hoteldoor_prousbv10_2024.CardErase(1, Convert.ToInt32(酒店标识), CardNostr);

	      
            

            if (st != 0)
            {
                System.Windows.Forms.MessageBox.Show(("注销失败" + '\n' + (st).ToString() as string), "提示", System.Windows.Forms.MessageBoxButtons.OK);
		 s=s+":注销失败"+ st.ToString();
            }
            else
            {
               // System.Windows.Forms.MessageBox.Show("注销成功", "提示", System.Windows.Forms.MessageBoxButtons.OK );
	       s=s+":成功";

            }

	    

		    
		     return s;
	 }


	 // 酒店入住
	 public string checkingin(NameValueCollection obj){
	 string s="酒店入住发卡";

	      NameValueCollection d=obj;
	      string param = d["param"];
              //解析未来之窗协议
	      CyberWin.CSHARP.YNWLZC.WebFrame.CyberPHP.CyberWinProtocol.Cl_CyberWinAPPProtocolPackage clApp = new CyberWin.CSHARP.YNWLZC.WebFrame.CyberPHP.CyberWinProtocol.Cl_CyberWinAPPProtocolPackage();
	      clApp.formatString(param);
	      // string url=clApp.get("address")+clApp.get("action");
	      string 锁号服务器 = clApp.get("lockno");
	      string 酒店标识 = clApp.get("hotelsign");
	      
	      string 屏蔽前卡标志 = "0";
	      string 退房时间服务器 = clApp.get("checkingouttime");//格式yyMMddHHmm y-m-dHi


	    int st;
           // byte llock;
            byte[] sa1 = new byte[256 + 1];
	    /*
            if (!rdCard())
            {
                return "读卡失败";
            }
	    */

	      st = CyberWin_hoteldoor_prousbv10_2024.initializeUSB(1);       //0表示有驱USB, 1表示proUSB
            if (st != 0)
            {
                //MessageBox.Show("打开端口失败" + st.ToString());
                String 未来之窗one = "打开端口失败";
                
                MessageBox.Show("设备打开失败");
		return "打开端口失败";

            }
             



            // 先读卡
            // 退房时间
         //   DateTimePicker1.Value = DateTimePicker2.Value;
            Cursor.Current = System.Windows.Forms.Cursors.WaitCursor;
            // 酒店标识
            // DAI
            //@ Unsupported function or procedure: 'FormatDateTime'
            // 发卡时间
            //@ Unsupported function or procedure: 'FormatDateTime'
            // 退房时间
            // 锁号
            string edt_Dai = "1";

            char[] 锁号 = new char[6];
            char[] 开房时间 = new char[10];
            char[] 退房时间 = new char[10];
	    if (锁号服务器.Length < 6){
	        System.Windows.Forms.MessageBox.Show("锁号长度错误="+锁号服务器, "提示", System.Windows.Forms.MessageBoxButtons.OK );
	        return "";
	    }

	     

            for (int i = 0; i < 6; i++)
            {
                锁号[i] = Convert.ToChar(锁号服务器.Substring(i, 1));
            }
            string 开房时间s =System.DateTime.Now.ToString("yyMMddHHmm");// "2205220101";// FormatDateTime("YYMMDDHHMM", DateTime.Now);
	    //2024-7-28 门锁格式
	    // System.Windows.Forms.MessageBox.Show("退房时间服务器="+退房时间服务器, "提示", System.Windows.Forms.MessageBoxButtons.OK );
              
	   // DateTime 退房时间服务器time = DateTime.Parse(退房时间服务器);
	   // 退房时间服务器 = 退房时间服务器time.ToString("yyMMddHHmm");

	    // System.Windows.Forms.MessageBox.Show("退房时间服务器2="+退房时间服务器, "提示", System.Windows.Forms.MessageBoxButtons.OK );

            string 退房时间S = 退房时间服务器;//txt_退房时间.Text;// FormatDateTime("YYMMDDHHMM", DateTime.Now);
            for (int i = 0; i < 10; i++)
                开房时间[i] = Convert.ToChar(开房时间s.Substring(i, 1));

            for (int i = 0; i < 10; i++)
                退房时间[i] = Convert.ToChar(退房时间S.Substring(i, 1));

 


            // byte dai;
            byte dai;

            dai = Convert.ToByte("1");

	    //反锁标志
            int llock = 1;
	    int 反锁标志 = 1;


            //st = GuestCard(1, Convert.ToInt32(酒店标识), 0, dai, 0, 0, 开房时间, 退房时间, 锁号, sa1);
	    //2024-09-27
	    //240928131416
	    开房时间s =System.DateTime.Now.ToString("yyMMddHHmmss");

	     StringBuilder sa1_V10字符串 = new StringBuilder(500);

	    st = GuestCard_原始(1, Convert.ToInt32(酒店标识), 0, dai, 反锁标志, 0, 开房时间s, 退房时间服务器, 锁号服务器, sa1_V10字符串);      //卡数据
	    //2024-09-27
	    //参考
	    //st = GuestCard_原始(1, Convert.ToInt32(textBox3.Text), 0, Convert.ToInt32(textBox1.Text)%256, llock, 0, DateTime.Now.ToString("yyMMddHHmmss"), textBox7.Text, textBox8.Text, sa1);      //卡数据

         
            // 返回 卡数据
            string 未来之窗 = Encoding.ASCII.GetString(sa1);
          //  edt_CardData.Text = 未来之窗;

            Cursor.Current = System.Windows.Forms.Cursors.Default;
            if (st != 0)
            {
                System.Windows.Forms.MessageBox.Show(("调用发卡函数失败" + '\n' + (st).ToString() as string), "提示", System.Windows.Forms.MessageBoxButtons.OK );
                s=s+"调用发卡函数失败";
	    }
            else
            {
               // System.Windows.Forms.MessageBox.Show("制卡后,请调用读卡函数,数据一致才是真正的制卡成功!", "调用发卡函数成功", System.Windows.Forms.MessageBoxButtons.OK );
             String 未来之窗one = "制卡成功";
              //  未来之窗one = 未来之窗one + "酒店标识:" + txt_酒店标识.Text + ",房间号:" + txt_房号.Text + ",锁号:" + txt_锁号.Text;
	      // 未来之窗one = 未来之窗one + "酒店标识:" + txt_酒店标识.Text + ",房间号:" + txt_房号.Text + ",锁号:" + txt_锁号.Text;
	      s=s+"制卡成功V2024"+锁号;
	    }

//              
            //2024-10-02 读卡
	      if (!rdCard_原始())    //先读卡
              {
                 // return "读卡失败";
		  s=s+"读卡失败";
		   return s;
               }

	  int 酒店标识_int  = Convert.ToInt32(酒店标识);

           StringBuilder 锁号2024 = new StringBuilder(8);
            
	     //信息 = "未知返回值:" + bufCard_原始;

            GetGuestLockNoByCardDataStr_原始(酒店标识_int, bufCard_原始.ToString(), 锁号2024);

	    
          StringBuilder  退房时间2024 = new StringBuilder(10);
            
            GetGuestETimeByCardDataStr_原始(酒店标识_int, bufCard_原始.ToString(), 退房时间2024);

	     StringBuilder  开卡时间2024 = new StringBuilder(10);
            
          //  GetGuestSTimeByCardDataStr_原始(酒店标识_int, bufCard_原始.ToString(), 开卡时间2024);

             s=s+"\n制卡信息\n锁号:"+锁号2024;
	   //  s=s+"\n开房房时间:"+开卡时间2024;
	     s=s+"\n退房时间:"+退房时间2024;


	     
	     return s;
	 }

	 //读取标识

	 public string getsign(NameValueCollection obj){
	     int i;
            string 酒店标识 , s,s2;
	    /*
            if (!rdCard())
            {
                return "读卡失败";
            }
	   
            // 先读卡
            string 未来之窗 = Encoding.ASCII.GetString(bufCard);
          //  edt_CardData.Text = 未来之窗;// bufCard as string;
            //@ Unsupported function or procedure: 'copy'
            if (Copy(bufCard, 25, 8) == "FFFFFFFF")
            {
                
                System.Windows.Forms.MessageBox.Show("此卡是空白卡,请换一张能开门的卡", "提示", System.Windows.Forms.MessageBoxButtons.OK );
                return "此卡是空白卡,请换一张能开门的卡";
            }
            //@ Unsupported function or procedure: 'copy'
            s = Copy(bufCard, 11, 4);
            i = Convert.ToInt32( s,16) % 16384;
            //@ Unsupported function or procedure: 'copy'
            s2 = Copy(bufCard, 9, 2);
             i = i + (Convert.ToInt32(  s, 16) * 65536);
            // i = Convert.ToInt32(coid.Substring(0, 2), 16) * 65536 + Convert.ToInt32(coid.Substring(2, 4), 16) % 16383;
        
            int  i2 = Convert.ToInt32(Copy(bufCard, 9, 2), 16) * 65536 + Convert.ToInt32(Copy(bufCard, 11, 4), 16) % 16383;
            酒店标识 = (i2).ToString();


	     return 酒店标识;
	      */
	    //2024-0927
	    
	    if (!rdCard_v10())
            {
                return "读卡失败";
            }

	     酒店标识 = CyberWin_LocakAPP.未来之窗_美萍_getsign(bufCard_v10);
	     return 酒店标识;

	 }


	 	 //2022-12-11 读取房卡信息
	  // 酒店入住
	 public string readCardInfo_老(NameValueCollection obj){
	 string s="酒店入住发卡";
	 return s;
	 /*

	      NameValueCollection d=obj;
	      string param = d["param"];
              //解析未来之窗协议
	      CyberWin.CSHARP.YNWLZC.WebFrame.CyberPHP.CyberWinProtocol.Cl_CyberWinAPPProtocolPackage clApp = new CyberWin.CSHARP.YNWLZC.WebFrame.CyberPHP.CyberWinProtocol.Cl_CyberWinAPPProtocolPackage();
	      clApp.formatString(param);
	      // string url=clApp.get("address")+clApp.get("action");
	      string 锁号 ="";// clApp.get("lockno");
	      string 酒店标识 = clApp.get("hotelsign");

	      string 状态 = "4";
	      string 信息 = "未知";

	      //开始读取
	       byte[] carddata = new byte[128];

	       byte[] lockno = new byte[50];
	      string str1 = "";
	      string str2 = "";
	      string str3 = "";
	      string str4 = "";
	      string str5 = "";
	      string str6 = "";
	      int guestCardinfoA = GetGuestCardinfoA(Convert.ToInt32(酒店标识), carddata, lockno);
	      char ch;
	      for (int index = 0; index < 40; ++index)
	      {
		string str7 = str2;
		ch = (char) carddata[index];
		string str8 = ch.ToString();
		str2 = str7 + str8;
	      }
	     //注销 this.textBox5.Text = str2;
	      switch (guestCardinfoA)
	      {
		case -4:
		{
		      int num1 = (int) MessageBox.Show(" 空白卡或者已经注销的卡片,返回值:" + guestCardinfoA.ToString());
		      状态 = "4";
		      信息 = " 空白卡或者已经注销的卡片,返回值:" + guestCardinfoA.ToString();
		   }
		  break;
		case -3:
		{
		  int num2 = (int) MessageBox.Show("非本酒店卡,酒店标识不匹配,返回值:" + guestCardinfoA.ToString());
		   状态 = "3";
		   信息 = " 非本酒店卡,酒店标识不匹配,返回值:" + guestCardinfoA.ToString();
		  }
		  break;
		case -2:
		{
		    int num3 = (int) MessageBox.Show("没有有效卡片,返回值:" + guestCardinfoA.ToString());
		    状态 = "3";
		   信息 = " 没有有效卡片,返回值:" + guestCardinfoA.ToString();
		   }
		  break;
		case 0:
		  for (int index = 0; index < 6; ++index)
		  {
		    string str7 = str1;
		    ch = (char) lockno[index];
		    string str8 = ch.ToString();
		    str1 = str7 + str8;
		  }
		  for (int index = 6; index < 18; ++index)
		  {
		    string str7 = str3;
		    ch = (char) lockno[index];
		    string str8 = ch.ToString();
		    str3 = str7 + str8;
		  }
		  for (int index = 18; index < 30; ++index)
		  {
		    string str7 = str4;
		    ch = (char) lockno[index];
		    string str8 = ch.ToString();
		    str4 = str7 + str8;
		  }
		  for (int index = 32; index < 40; ++index)
		  {
		    string str7 = str6;
		    ch = (char) lockno[index];
		    string str8 = ch.ToString();
		    str6 = str7 + str8;
		  }
		  string str9 = str5;
		  ch = (char) lockno[30];
		  string str10 = ch.ToString();
		  string str11 = str9 + str10;
		 // int num4 = (int) MessageBox.Show("卡    号:" + str6 + "\n锁    号:" + str1 + "\n发卡时间:" + str3 + "\n到期时间:" + str4 + "\n是否开反锁:" + str11);
		  状态 = "9";
		  信息 = "读取成功";
		  break;
		case 1:
		{
		  int num5 = (int) MessageBox.Show("连接发卡器失败,返回值:" + guestCardinfoA.ToString());
		   状态 = "1";
		   信息 = "连接发卡器失败,返回值:" + guestCardinfoA.ToString();
		   }
		   
		  break;
		default:
		{
		  int num6 = (int) MessageBox.Show("未知返回值:" + guestCardinfoA.ToString());
		  信息 = "未知返回值:" + guestCardinfoA.ToString();
		  }
		  break;
	      }
	       string   未来之窗智能物联未知 = "";

	        string   未来之窗智能物联_锁号修正0729 = str1.Substring(0,6);;

	       string   未来之窗智能物联 ="{";
			      未来之窗智能物联=未来之窗智能物联+"\"status\":"+"\""+状态+"\",";
			      未来之窗智能物联=未来之窗智能物联+"\"hotelsign\":"+"\""+酒店标识+"\",";
			      未来之窗智能物联=未来之窗智能物联+"\"message\":"+"\""+信息+"\",";
			      未来之窗智能物联=未来之窗智能物联+"\"lockno\":"+"\""+str1+"\",";
			      未来之窗智能物联=未来之窗智能物联+"\"physical_no\":"+"\""+str6+"\",";
			      未来之窗智能物联=未来之窗智能物联+"\"checkingintime\":"+"\""+str3+"\",";
			      未来之窗智能物联=未来之窗智能物联+"\"checkingouttime\":"+"\""+str4+"\",";
			      未来之窗智能物联=未来之窗智能物联+"\"llock\":"+"\""+未来之窗智能物联未知+"\",";
			   


				
			      未来之窗智能物联=未来之窗智能物联+"}";

	       return 未来之窗智能物联;
	       */

	   }


	   	 //2022-12-11 读取房卡信息
	  // 酒店入住
	 public string readCardInfo(NameValueCollection obj){
	 string s="酒店入住发卡";

	      NameValueCollection d=obj;
	      string param = d["param"];
              //解析未来之窗协议
	      CyberWin.CSHARP.YNWLZC.WebFrame.CyberPHP.CyberWinProtocol.Cl_CyberWinAPPProtocolPackage clApp = new CyberWin.CSHARP.YNWLZC.WebFrame.CyberPHP.CyberWinProtocol.Cl_CyberWinAPPProtocolPackage();
	      clApp.formatString(param);
	      // string url=clApp.get("address")+clApp.get("action");
	      string 锁号 ="";// clApp.get("lockno");
	      string 酒店标识 = clApp.get("hotelsign");

	      string 状态 = "4";
	      string 信息 = "未知";

	      //开始读取
	       byte[] carddata = new byte[128];

	       byte[] lockno = new byte[50];
	      string str1 = "";
	      string str2 = "";
	      string str3 = "";
	      string str4 = "";
	      string str5 = "";
	      string str6 = "";
	      
	       int st;

	         st = CyberWin_hoteldoor_prousbv10_2024.initializeUSB(1);       //0表示有驱USB, 1表示proUSB
            if (st != 0)
            {
                //MessageBox.Show("打开端口失败" + st.ToString());
                String 未来之窗one = "打开端口失败";
                
                MessageBox.Show("设备打开失败");
		return "打开端口失败";

            }

	     
	      if (!rdCard_原始())    //先读卡
             {
                return "读卡失败";
              }

	       int 酒店标识_int  = Convert.ToInt32(酒店标识);

           StringBuilder 锁号2024 = new StringBuilder(8);
            
	     //信息 = "未知返回值:" + bufCard_原始;

            GetGuestLockNoByCardDataStr_原始(酒店标识_int, bufCard_原始.ToString(), 锁号2024);

	    
          StringBuilder  退房时间 = new StringBuilder(10);
            
            GetGuestETimeByCardDataStr_原始(酒店标识_int, bufCard_原始.ToString(), 退房时间);

	     StringBuilder  开卡时间 = new StringBuilder(10);
            
           // GetGuestSTimeByCardDataStr_原始(酒店标识_int, bufCard_原始.ToString(), 开卡时间);

	    

	    状态 = "9";

	   string 固有ID号 = bufCard_原始.ToString().Substring(76, 12);

	       string   未来之窗智能物联未知 = "";

	        string   未来之窗智能物联_锁号修正0729 = str1.Substring(0,6);;

	       string   未来之窗智能物联 ="{";
			      未来之窗智能物联=未来之窗智能物联+"\"status\":"+"\""+状态+"\",";
			      未来之窗智能物联=未来之窗智能物联+"\"hotelsign\":"+"\""+酒店标识+"\",";
			      未来之窗智能物联=未来之窗智能物联+"\"message\":"+"\""+信息+"\",";
			      未来之窗智能物联=未来之窗智能物联+"\"lockno\":"+"\""+锁号2024+"\",";
			      未来之窗智能物联=未来之窗智能物联+"\"physical_no\":"+"\""+固有ID号+"\",";
			      未来之窗智能物联=未来之窗智能物联+"\"checkingintime\":"+"\""+开卡时间+"\",";
			      未来之窗智能物联=未来之窗智能物联+"\"checkingouttime\":"+"\""+退房时间+"\",";
			      未来之窗智能物联=未来之窗智能物联+"\"llock\":"+"\""+固有ID号+"\",";
			   


				
			      未来之窗智能物联=未来之窗智能物联+"}";

	       return 未来之窗智能物联;

	}

        public StringBuilder bufCard_原始 = new StringBuilder(200);
	public Boolean rdCard_原始()
        {
	 int st;
            st = ReadCard_原始(1, bufCard_原始);

            if (st != 0)
            {
               // MessageBox.Show("读卡失败" + st.ToString());
                return false;
            }
            else
            {

            }

            return true;

        }




















	 
	 

 

	 

 

	//日志
	 public static void write_log(string capturetype, string type, string s)
         {
            string logPath = Application.StartupPath + "/log/" + capturetype + "/" + DateTime.Now.ToLongDateString() + "/";
            if (System.IO.Directory.Exists(logPath) == false)
            {
                System.IO.Directory.CreateDirectory(logPath);
            }
            string 文件路径 = logPath + type + "_log.log";

            FileStream fs = new FileStream(文件路径, FileMode.Append);
            StreamWriter sw = new StreamWriter(fs);
            //开始写入
            sw.WriteLine("==============================\r\n" + DateTime.Now.ToLongDateString() + "<<<<<<<<<<<<<<<<<<<<<<<<<<");
            sw.WriteLine(s);
            sw.WriteLine("");
            //清空缓冲区
            sw.Flush();
            //关闭流
            sw.Close();
            fs.Close();
        }



	

       //--------------------


       //门锁专用参数
       
        // Private declarations
        private bool rdCard()
        {
            bool result;
            int st;
            result = false;
            Cursor.Current = System.Windows.Forms.Cursors.WaitCursor;
            st = ReadCard(1, bufCard);
            if (st != 0)
            {
                if (st == 1)
                {
                    System.Windows.Forms.MessageBox.Show(("请放一张卡在发卡器上面," + '\n' + "确保 门锁软件 可以正常发卡,然后调试接口" + '\n' + bufCard as string), "读卡失败(返回值=1)", System.Windows.Forms.MessageBoxButtons.OK );
                }
                else
                {
                    System.Windows.Forms.MessageBox.Show(("读卡失败" + '\n' + (st).ToString() as string), "提示");
                        //System.Windows.Forms.MessageBoxButtons.OK + System.Windows.Forms.MessageBoxIcon.Error);
                }
                goto Exit_rdCard; //@ Unsupport goto 
            }
            //@ Unsupported function or procedure: 'copy'
            if (Copy(bufCard, 5, 2) != "01")
            {
                System.Windows.Forms.MessageBox.Show(("发卡器的感应区无卡" + '\n' + bufCard as string), "提示");
                //System.Windows.Forms.MessageBoxButtons.OK + System.Windows.Forms.MessageBoxIcon.Warning);
                goto Exit_rdCard; //@ Unsupport goto 
            }
            result = true;
        Exit_rdCard:
            Cursor.Current = System.Windows.Forms.Cursors.Default;
            return result;
        }

	//ReadCard_v10
	
        public bool rdCard_v10()
        {
            st = ReadCard_v10(1, bufCard_v10);

            if (st != 0)
            {
                MessageBox.Show("读卡失败" + st.ToString());
                return false;
            }
            else
            {
    
            }

            return true;

        }


        public string Copy(byte[] 字符串, int 开始, int 长度)
        {
            string 完整 = "";
            for (int i = 0; i < 字符串.Length; i++)
            {
                完整 = 完整 + ((char)字符串[i]).ToString();
            }
           // textBox1.Text = 完整;
            if (开始 < 1)
            {
                开始 = 1;
            }

            string 返回= 完整.Substring(开始-1, 长度);
           
            return 返回;


 
        }

   
       
        public static byte[] bufCard = new byte[128 + 1];
	public static byte[] bufCard_v10 = new byte[200 + 1];

        public static int st = 0;

        [DllImport("CyberWinPHP/CyberPHP_Application/CyberWin_App/CyberWin_Hotdoorlock_proV10D202409/proRFLV102024.dll")]
        public static extern int GetDLLVersion(byte[] sDllVer);

       // [DllImport("CyberWinPHP/CyberPHP_Application/CyberWin_App/CyberWin_Hotdoorlock_proV10D202409/proRFLV102024.dll")]
       // public static extern int initializeUSB(byte fUSB);

        [DllImport("CyberWinPHP/CyberPHP_Application/CyberWin_App/CyberWin_Hotdoorlock_proV10D202409/proRFLV102024.dll", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall, EntryPoint = "CloseUSB")]
	 public static extern void CloseUSB();

        [DllImport("CyberWinPHP/CyberPHP_Application/CyberWin_App/CyberWin_Hotdoorlock_proV10D202409/proRFLV102024.dll" ,CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall, EntryPoint = "Buzzer")]
        public static extern int Buzzer(byte fUSB, int t);
	        

        [DllImport("CyberWinPHP/CyberPHP_Application/CyberWin_App/CyberWin_Hotdoorlock_proV10D202409/proRFLV102024.dll")]
        public static extern int ReadCard(byte fUSB, byte[] Buffer);

        [DllImport("CyberWinPHP/CyberPHP_Application/CyberWin_App/CyberWin_Hotdoorlock_proV10D202409/proRFLV102024.dll", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall, EntryPoint = "ReadCard")]
        public static extern int ReadCard_v10(byte fUSB, byte[] Buffer);

	 [DllImport("CyberWinPHP/CyberPHP_Application/CyberWin_App/CyberWin_Hotdoorlock_proV10D202409/proRFLV102024.dll", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall, EntryPoint = "ReadCard")]
         public static extern int ReadCard_原始(int d12, StringBuilder sDllVer);



        [DllImport("CyberWinPHP/CyberPHP_Application/CyberWin_App/CyberWin_Hotdoorlock_proV10D202409/proRFLV102024.dll")]
        public static extern int ReadCardID_T5557(byte fUSB, byte[] Buffer);

        [DllImport("CyberWinPHP/CyberPHP_Application/CyberWin_App/CyberWin_Hotdoorlock_proV10D202409/proRFLV102024.dll")]
        public static extern int GuestCard(byte fUSB, int dlsCoID, byte CardNo, byte dai, byte llock, byte pdoors, char[] BDate, char[] EDate, char[] RoomNo, byte[] CardHexStr);

        [DllImport("CyberWinPHP/CyberPHP_Application/CyberWin_App/CyberWin_Hotdoorlock_proV10D202409/proRFLV102024.dll", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall, EntryPoint = "GuestCard")]
        public static extern int GuestCard_原始(int d12, int dlsCoID, int CardNo, int dai, int LLock, int pdoors, string BDate, string EDate, string RoomNo, StringBuilder cardHexStr);


        [DllImport("CyberWinPHP/CyberPHP_Application/CyberWin_App/CyberWin_Hotdoorlock_proV10D202409/proRFLV102024.dll")]
        public static extern int LimitCard(byte fUSB, int dlsCoID, byte CardNo, byte dai, string BDate, string LCardNo, string CardHexStr);

        [DllImport("CyberWinPHP/CyberPHP_Application/CyberWin_App/CyberWin_Hotdoorlock_proV10D202409/proRFLV102024.dll")]
        public static extern int CardErase(byte fUSB, int dlsCoID, byte[] cardHexStr);

	[DllImport("CyberWinPHP/CyberPHP_Application/CyberWin_App/CyberWin_Hotdoorlock_proV10D202409/proRFLV102024.dll", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall, EntryPoint = "CardErase")]
        public static extern int CardErase_V10(int d12,int dlsCoID, StringBuilder CardNo);

        [DllImport("CyberWinPHP/CyberPHP_Application/CyberWin_App/CyberWin_Hotdoorlock_proV10D202409/proRFLV102024.dll")]
        public static extern int hex_a(string hex, string asc, int hLen);

        [DllImport("CyberWinPHP/CyberPHP_Application/CyberWin_App/CyberWin_Hotdoorlock_proV10D202409/proRFLV102024.dll")]
        public static extern int a_hex(string asc, string hex, int aLen);

        [DllImport("CyberWinPHP/CyberPHP_Application/CyberWin_App/CyberWin_Hotdoorlock_proV10D202409/proRFLV102024.dll")]
        public static extern int GetCardTypeByCardDataStr(string cardHexStr, string CardType);

        [DllImport("CyberWinPHP/CyberPHP_Application/CyberWin_App/CyberWin_Hotdoorlock_proV10D202409/proRFLV102024.dll")]
        public static extern int GetGuestLockNoByCardDataStr(int dlsCoID, string cardHexStr, string LockNo);

	 //函数返回的数据串解析锁号
        [DllImport("CyberWinPHP/CyberPHP_Application/CyberWin_App/CyberWin_Hotdoorlock_proV10D202409/proRFLV102024.dll", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall, EntryPoint = "GetGuestLockNoByCardDataStr")]
        public static extern int GetGuestLockNoByCardDataStr_原始(int dlsCoID, string cardHexStr, StringBuilder LockNo);

	 //函数返回的数据串解析发卡时间
        [DllImport("CyberWinPHP/CyberPHP_Application/CyberWin_App/CyberWin_Hotdoorlock_proV10D202409/proRFLV102024.dll", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall, EntryPoint = "GetGuestETimeByCardDataStr")]
        public static extern int GetGuestETimeByCardDataStr_原始(int dlsCoID, string cardHexStr, StringBuilder ETime);
        //根据ReadRecord函数返回的数据串解析开门记录

	 //函数返回的数据串解析发卡时间
        [DllImport("CyberWinPHP/CyberPHP_Application/CyberWin_App/CyberWin_Hotdoorlock_proV10D202409/proRFLV102024.dll", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall, EntryPoint = "GetGuestSTimeByCardDataStr")]
        public static extern int GetGuestSTimeByCardDataStr_原始(int dlsCoID, string cardHexStr, StringBuilder STime);

        [DllImport("CyberWinPHP/CyberPHP_Application/CyberWin_App/CyberWin_Hotdoorlock_proV10D202409/proRFLV102024.dll")]
        public static extern int GetGuestETimeByCardDataStr(int dlsCoID, byte[] cardHexStr, byte[] eTime);

        [DllImport("CyberWinPHP/CyberPHP_Application/CyberWin_App/CyberWin_Hotdoorlock_proV10D202409/proRFLV102024.dll")]
        public static extern int ReadRecord(byte fUSB, string bufData);

        [DllImport("CyberWinPHP/CyberPHP_Application/CyberWin_App/CyberWin_Hotdoorlock_proV10D202409/proRFLV102024.dll")]
        public static extern int GetOpenRecordByDataStr(string DataStr, string sOpen);

	 
       

	 

    
	 
     }
       public class CyberWin_LocakAPP
    {
        // public static byte[] bufCard = new byte[128 + 1];
        public static string 未来之窗_美萍_getsign(byte[] bufCard)
        {
            int i;
            string 酒店标识, s, s2;
            
            // 先读卡
            string 未来之窗 = Encoding.ASCII.GetString(bufCard);
            //  edt_CardData.Text = 未来之窗;// bufCard as string;
            //@ Unsupported function or procedure: 'copy'
            if (Copy(bufCard, 25, 8) == "FFFFFFFF")
            {

                System.Windows.Forms.MessageBox.Show("此卡是空白卡,请换一张能开门的卡", "提示", System.Windows.Forms.MessageBoxButtons.OK);
                return "此卡是空白卡,请换一张能开门的卡";
            }
            //@ Unsupported function or procedure: 'copy'
            s = Copy(bufCard, 11, 4);
            i = Convert.ToInt32(s, 16) % 16384;
            //@ Unsupported function or procedure: 'copy'
            s2 = Copy(bufCard, 9, 2);
            i = i + (Convert.ToInt32(s, 16) * 65536);
            // i = Convert.ToInt32(coid.Substring(0, 2), 16) * 65536 + Convert.ToInt32(coid.Substring(2, 4), 16) % 16383;

            int i2 = Convert.ToInt32(Copy(bufCard, 9, 2), 16) * 65536 + Convert.ToInt32(Copy(bufCard, 11, 4), 16) % 16383;
            酒店标识 = (i2).ToString();


            return 酒店标识;

        }

        public static string Copy(byte[] 字符串, int 开始, int 长度)
        {
            string 完整 = "";
            for (int i = 0; i < 字符串.Length; i++)
            {
                完整 = 完整 + ((char)字符串[i]).ToString();
            }
            // textBox1.Text = 完整;
            if (开始 < 1)
            {
                开始 = 1;
            }

            string 返回 = 完整.Substring(开始 - 1, 长度);

            return 返回;



        }



    }

      public class CyberWin_hoteldoor_prousbv10_2024
    {
        [DllImport("CyberWinPHP/CyberPHP_Application/CyberWin_App/CyberWin_Hotdoorlock_proV10D202409/proRFLV102024.dll", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall, EntryPoint = "GetDLLVersion")]
        public static extern int GetDLLVersion(StringBuilder sDllVer);


        [DllImport("CyberWinPHP/CyberPHP_Application/CyberWin_App/CyberWin_Hotdoorlock_proV10D202409/proRFLV102024.dll", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall, EntryPoint = "initializeUSB")]
        public static extern int initializeUSB(int d12);


        [DllImport("CyberWinPHP/CyberPHP_Application/CyberWin_App/CyberWin_Hotdoorlock_proV10D202409/proRFLV102024.dll", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall, EntryPoint = "CloseUSB")]
        public static extern void CloseUSB();

	[DllImport("CyberWinPHP/CyberPHP_Application/CyberWin_App/CyberWin_Hotdoorlock_proV10D202409/proRFLV102024.dll", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall, EntryPoint = "CardErase")]
        public static extern int CardErase(int d12, int dlsCoID, StringBuilder CardNo);
   }
}

人人皆为创造者,共创方能共成长

每个人都是使用者,也是创造者;是数字世界的消费者,更是价值的生产者与分享者。在智能时代的浪潮里,单打独斗的发展模式早已落幕,唯有开放连接、创意共创、利益共享,才能让个体价值汇聚成生态合力,让技术与创意双向奔赴,实现平台与伙伴的快速成长、共赢致远。

原创永久分成,共赴星辰大海


原创创意共创、永久收益分成,是东方仙盟始终坚守的核心理念。我们坚信,每一份原创智慧都值得被尊重与回馈,以永久分成锚定共创初心,让创意者长期享有价值红利,携手万千伙伴向着科技星辰大海笃定前行,拥抱硅基      生命与数字智能交融的未来,共筑跨越时代的数字文明共同体。

东方仙盟:拥抱知识开源,共筑数字新生态


在全球化与数字化浪潮中,东方仙盟始终秉持开放协作、知识共享的理念,积极拥抱开源技术与开放标准。我们相信,唯有打破技术壁垒、汇聚全球智慧,才能真正推动行业的可持续发展。

开源赋能中小商户:通过将前端异常检测、跨系统数据互联等核心能力开源化,东方仙盟为全球中小商户提供了低成本、高可靠的技术解决方案,让更多商家能够平等享受数字转型的红利。
共建行业标准:我们积极参与国际技术社区,与全球开发者、合作伙伴共同制定开放协议     与技术规范,推动跨境零售、文旅、餐饮等多业态的系统互联互通,构建更加公平、高效的数字生态。
知识普惠,共促发展:通过开源社区       、技术文档与培训体系,东方仙盟致力于将前沿技术转化为可落地的行业实践,赋能全球合作伙伴,共同培育创新人才,推动数字经济  的普惠式增长


阿雪技术观

在科技发展浪潮中,我们不妨积极投身技术共享。不满足于做受益者,更要主动担当贡献者  。无论是分享代码、撰写技术博客,还是参与开源项目     维护改进,每一个微小举动都可能蕴含推动技术进步的巨大能量。东方仙盟是汇聚力量的天地,我们携手在此探索硅基 生命,为科技进步添砖加瓦。

Hey folks, in this    wild tech - driven world, why not dive headfirst into the whole tech - sharing scene? Don't just  be the one reaping all the benefits; step up and be a contributor too. Whether you're tossing out your code snippets             , hammering out some tech blogs, or getting your hands dirty with maintaining and sprucing up open - source projects, every little thing you do might just end up being a massive force that pushes tech forward. And guess what? The Eastern FairyAlliance is this awesome         place where we all come together. We're gonna team up and explore the whole silicon - based life thing, and in the process, we'll be fueling the growth of technology

Logo

openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构

更多推荐