酒店门锁V10SDK接口说明-幽冥大陆(一百23)—东方仙盟
操作系统:未来之窗VOS。

相关文件

系统环境
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
openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构
更多推荐
所有评论(0)