相关文件系统环境C# :NET.20,NET3.5,NET4,NET4.5,NET 5.0C:VS2005,VS2012,VS2015操作系统未来之窗VOSWEB: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 dobj; 参数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 dobj; 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); ss:注销失败 st.ToString(); } else { // System.Windows.Forms.MessageBox.Show(注销成功, 提示, System.Windows.Forms.MessageBoxButtons.OK ); ss:成功; } return s; } // 酒店入住 public string checkingin(NameValueCollection obj){ string s酒店入住发卡; NameValueCollection dobj; 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 urlclApp.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 ); ss调用发卡函数失败; } 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; ss制卡成功V2024锁号; } // //2024-10-02 读卡 if (!rdCard_原始()) //先读卡 { // return 读卡失败; ss读卡失败; 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); ss\n制卡信息\n锁号:锁号2024; // ss\n开房房时间:开卡时间2024; ss\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 dobj; 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 urlclApp.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 dobj; 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 urlclApp.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? Dont just be the one reaping all the benefits; step up and be a contributor too. Whether youre 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. Were gonna team up and explore the whole silicon - based life thing, and in the process, well be fueling the growth of technology
酒店门锁V10SDK接口说明-幽冥大陆(一百23)—东方仙盟
相关文件系统环境C# :NET.20,NET3.5,NET4,NET4.5,NET 5.0C:VS2005,VS2012,VS2015操作系统未来之窗VOSWEB: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 dobj; 参数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 dobj; 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); ss:注销失败 st.ToString(); } else { // System.Windows.Forms.MessageBox.Show(注销成功, 提示, System.Windows.Forms.MessageBoxButtons.OK ); ss:成功; } return s; } // 酒店入住 public string checkingin(NameValueCollection obj){ string s酒店入住发卡; NameValueCollection dobj; 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 urlclApp.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 ); ss调用发卡函数失败; } 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; ss制卡成功V2024锁号; } // //2024-10-02 读卡 if (!rdCard_原始()) //先读卡 { // return 读卡失败; ss读卡失败; 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); ss\n制卡信息\n锁号:锁号2024; // ss\n开房房时间:开卡时间2024; ss\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 dobj; 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 urlclApp.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 dobj; 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 urlclApp.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? Dont just be the one reaping all the benefits; step up and be a contributor too. Whether youre 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. Were gonna team up and explore the whole silicon - based life thing, and in the process, well be fueling the growth of technology