酒店门锁V10SDK接口说明-幽冥大陆(一百23)—东方仙盟
相关文件
系统环境
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
