1 Star 1 Fork 0

xiongqiumin/LockServer

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
console_main.cpp 1.74 KB
一键复制 编辑 原始数据 按行查看 历史
xiongqiumin 提交于 2021-01-25 23:23 . init
#include <QString>
#include <json\json.h>
#include "Card_CVR100UDDLL.h"
#include <QTextCodec>
#include <QApplication>
char buffer[4096];
int console_main(int argc, char *argv[])
{
QApplication app(argc, argv);
QTextCodec::setCodecForTr(QTextCodec::codecForLocale());
QTextCodec::setCodecForCStrings(QTextCodec::codecForLocale());
AbstractLock *lock = NULL;
Json::Value json_param;
json_param["cardType"] = 1;
Card_CVR100UDDLL *dll = new Card_CVR100UDDLL();
dll->DealCommand("ReadIDCard",json_param);
return 0;
bool m_run = true;
while(m_run)
{
fgets(buffer,4096,stdin);
Json::FastWriter w;
Json::Reader r;
Json::Value json_cmd;
Json::Value json_ret;
QByteArray recv = buffer;
recv = QByteArray::fromBase64(recv);
if(r.parse(recv.data(),json_cmd))
{
QString cmd = json_cmd["InternalCommand"].asCString();
if(cmd == "init")
{
QString dll = json_cmd["dll"].asCString();
if(dll == "CVR100UDDLL")
{
Card_CVR100UDDLL *dll = new Card_CVR100UDDLL();
if(dll->isVaild())
lock = dll;
else
delete dll;
}
if(lock)
{
json_ret.clear();
json_ret["code"] = 0;
}
else
{
json_ret.clear();
json_ret["code"] = -1;
json_ret["message"] = "Dll init failed";
m_run = false;
}
}
else if(cmd == "exit")
{
json_ret["code"] = 0;
m_run = false;
}
else
{
json_ret = lock->DealCommand(cmd,json_cmd);
}
}
else
{
json_ret.clear();
json_ret["code"] = -1;
json_ret["message"] = "Dll input invalid";
}
//send
string str_ret = w.write(json_ret);
QByteArray data(str_ret.data(),str_ret.size());
data = data.toBase64();
printf("%s\n",data.data());
}
if(lock)
delete lock;
return 0;
}
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/xiongqiumin/lock-server.git
[email protected]:xiongqiumin/lock-server.git
xiongqiumin
lock-server
LockServer
master

搜索帮助