一个网站集成了NFC读写器的功能,如何才能跨系统运行呢,既要在windows系统下正常运行,也需要在银河麒麟,统信UOS等信创系统下运行。
友我科技NFC读写器web插件很好的解决了这个问题,在客户端不仅支持windows系统,也支持银河麒麟,统信UOS等信创系统,网站工程师只需要专注于网站的业务逻辑,而不需要关心客户端的系统类型,客户端系统问题交给了友我科技NFC读写器web插件。
在windows客户端,自动下载web插件安装文件YOWORFIDReaderCloudForWeb.exe。
下载完成后,点击安装即可。
在Linux客户端,系统自动判断arm64还是x64格式,自动下载对应的安装文件,如yoworeaderforweb_arm64.run。
客户端不同的系统只需要下载安装对应的插件即可。
而对于网站开发着,不需要关心客户端使用的是windows系统还是linux系统,首先引入js文件:
<script language="javascript" src="http://127.0.0.1:8008/YOWOCloudRFIDReaderAsync.js"></script></script>
然后创建NFC读写器操作类,如果创建失败,则说明系统没有安装NFC读写器web插件,则提示下载安装
try
{
var rfidreader=YOWORFIDReader.createNew();
}
catch(e)
{
var os=detectPlatform();
if(/Win32/i.test(os))
{
alert("没有检测到rfid读写器web插件,请先下载安装!\n如果是最新版google浏览器,请使用诊断工具点击诊断即可!");
top.location = "https://www.youwokeji.com.cn/CloudReader/YOWORFIDReaderCloudForWeb.exe";
}else if(/Linux aarch64/i.test(os))
{
alert("linux aarch64架构,点击确定后下载.\n先赋予执行权限:chmod +x yoworeaderforweb_arm64.run.\n然后使用sudo ./yoworeaderforweb_arm64.run执行安装。");
top.location = "https://www.youwokeji.com.cn/CloudReader/yoworeaderforweb_arm64.run";
}else if(/Linux x86_64/i.test(os))
{
alert("linux x86_64架构,点击确定后下载.\n先赋予执行权限:chmod +x yoworeaderforweb_arm64.run.\n然后使用sudo ./yoworeaderforweb_arm64.run执行安装。");
top.location = "https://www.youwokeji.com.cn/CloudReader/yoworeaderforweb_x64.run";
}
else
{
alert("暂时不支持的系统,请咨询友我科技");
}
}
然后就可以根据网站的业务逻辑,执行读写卡操作,例如:
var BlockID;
var Key;
BlockID = document.getElementById("BlockIDRead").value;
Key =document.getElementById("KeyRead").value;
rfidreader.KeyMode=0;
rfidreader.KeyStringMode=0;
rfidreader.KeyString=Key;
let result = await rfidreader.M1ReadBlock(BlockID, 0);
if(result.Result>0)
{
document.getElementById("CardNo").value = result.CardNo;
document.getElementById("DataRead").value = result.strData;
}
else
{
document.getElementById("DataRead").value = GetErrStr(result.Result);
}
这样同一份代码就可以在windows和linux上同时运行了,代码执行界面如下图:
更多NFC读写器web插件信息可以参考NFC读写器web插件官网