#include #include #include #include #include "common/QtAppGlobalSet.h" #include "pub_sysinfo_api/SysInfoApi.h" #include "pub_sysinfo_api/SysInfoBase.h" using namespace iot_public; std::string m_ServerNode[2]; std::string m_ServerAddr[2]; bool m_changeAddr = false; int m_addrNum = 0; QString m_ip; enum CommandLineParseResult { CommandLineOk, CommandLineError, CommandLineVersionRequested, CommandLineHelpRequested }; CommandLineParseResult parseCommandline(QApplication& app) { QCommandLineParser parser; parser.addHelpOption(); //是否升级数据库 m_ip = ""; QCommandLineOption _ip(QStringList() << "ip","ip","ip"); parser.addOption(_ip); parser.process(app); m_ip = parser.value(_ip); return CommandLineOk; } void initIp() { CSysInfoInterfacePtr sysInfoPtr; if (createSysInfoInstance(sysInfoPtr)) { SNodeInfo LocalNode,ServerNode1,ServerNode2; sysInfoPtr->getLocalNodeInfo(LocalNode); //获取当前节点信息 int DomainId=LocalNode.nDomainId; //获取当前节点所属域ID SAppInfo AppInfo; sysInfoPtr->getAppInfoByName("COMAPP", AppInfo); int AppId = AppInfo.nId; SAppDeploy AppDeploy; sysInfoPtr->getAppDeployById(DomainId,AppId,AppDeploy); //获取当前域公共应用部署信息 std::string ServerNodeName1 = AppDeploy.strNode1; //获取当前域公共应用部署的第一个节点名 sysInfoPtr->getNodeInfoByName(ServerNodeName1,ServerNode1); //获取公共应用部署的节点信息 m_ServerAddr[0] = ServerNode1.strNic1Addr; //获取公共应用部署的节点IP地址 m_ServerNode[0] = ServerNodeName1; if(AppDeploy.strNode2 != "") { std::string ServerNodeName2 = AppDeploy.strNode2; sysInfoPtr->getNodeInfoByName(ServerNodeName2,ServerNode2); m_ServerAddr[1] = ServerNode2.strNic1Addr; m_ServerNode[1] = ServerNodeName2; m_changeAddr = true; } } } int main(int argc, char *argv[]) { kbd_common::doQtAppGlobalSet(); QApplication a(argc, argv); initIp(); switch (parseCommandline(a)) { case CommandLineError: qApp->quit(); exit(1); break; case CommandLineOk: if(m_ip.isEmpty()) { if(m_changeAddr && m_ServerAddr[1] !="") { QString addr = QString("http://%1:1120/page/design.html").arg(QString::fromStdString(m_ServerAddr[1])); QDesktopServices::openUrl(QUrl(QLatin1String(addr.toStdString().c_str()))); }else if(m_changeAddr && m_ServerAddr[1] =="") { QString addr = QString("http://127.0.0.1:1120/page/design.html"); QDesktopServices::openUrl(QUrl(QLatin1String(addr.toStdString().c_str()))); }else if(!m_changeAddr && m_ServerAddr[0] !="") { QString addr = QString("http://%1:1120/page/design.html").arg(QString::fromStdString(m_ServerAddr[0])); QDesktopServices::openUrl(QUrl(QLatin1String(addr.toStdString().c_str()))); }else if(!m_changeAddr && m_ServerAddr[0] =="") { QString addr = QString("http://127.0.0.1:1120/page/design.html"); QDesktopServices::openUrl(QUrl(QLatin1String(addr.toStdString().c_str()))); } }else { QString addr = QString("http://%1:1120/page/design.html").arg(m_ip); QDesktopServices::openUrl(QUrl(QLatin1String(addr.toStdString().c_str()))); } qApp->quit(); exit(0); break; default: break; } return a.exec(); }