You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

112 lines
4.4 KiB

#include "mainconfig.h"
#include <QSettings>
#include <QtCore>
#define D_CONFIG_FILE_PATH "./setting.ini"
QString MainConfig::token = "";
QString MainConfig::username = "shoufeichu";
QString MainConfig::password = "123456";
QString MainConfig::loginUrl = "http://test.tall.wiki/gateway/tall3/v3.0/users/signin";
QString MainConfig::sendUserInfoUrl = "https://test.tall.wiki/gateway/qcp/v3.0/button/idCardDiscern";
QString MainConfig::oneKeyStartUrl = "https://test.tall.wiki/gateway/qcp/v3.0/button/buttonStart";
QString MainConfig::serviceStatusChangedUrl = "https://test.tall.wiki/gateway/qcp/v3.0/button/updateStatus";
QString MainConfig::wsUrl = "wss://test.tall.wiki/websocket/message/v4.0/ws";
QString MainConfig::wsHeartInterval = "10";
MainConfig::MainConfig(QObject *parent) : QObject(parent)
{
}
/**
* @brief 使用原生模式创建ini文件,QSetting模式无法写入注释
*/
void MainConfig::createConfigFileWithDefaultValues()
{
//创建ini配置文件
// QSettings *iniFile = new QSettings(D_CONFIG_FILE_PATH, QSettings::IniFormat);
// iniFile->beginGroup("MAIN");
// iniFile->setValue("videodir", videodir);
// iniFile->setValue("videoNumInRow", videoNumInRow);
// iniFile->setValue("videoAutoPlay", videoAutoPlay);
// iniFile->setValue("videoAutoMode", videoAutoMode);
// iniFile->endGroup();
// iniFile->beginGroup("USER");
// iniFile->setValue("username", username);
// iniFile->setValue("password", password);
// iniFile->endGroup();
QString content = "[USER]\n";
content.append(";登录用户名\n").append("username = ").append(username).append("\n");
content.append(";登录密码\n").append("password = ").append(password).append("\n");
content.append("\n");
content.append("[HTTP]\n");
content.append(";登录请求URL\n").append("loginUrl = ").append(loginUrl).append("\n");
content.append(";发送身份证信息URL\n").append("sendUserInfoUrl = ").append(sendUserInfoUrl).append("\n");
content.append(";一键启动URL\n").append("oneKeyStartUrl = ").append(oneKeyStartUrl).append("\n");
content.append(";服务状态改变URL(rgb)\n").append("serviceStatusChangedUrl = ").append(serviceStatusChangedUrl).append("\n");
content.append("\n");
content.append("[WEBSOCKET]\n");
content.append(";Websocket URL\n").append("wsUrl = ").append(wsUrl).append("\n");
content.append(";Websocket心跳间隔(s)\n").append("wsHeartInterval = ").append(wsHeartInterval).append("\n");
QFile file(D_CONFIG_FILE_PATH);
file.open(QIODevice::WriteOnly | QIODevice::Text);
file.write(content.toUtf8());
file.close();
}
void MainConfig::readConfigFile(){
//创建ini配置文件
QSettings *iniFile = new QSettings(D_CONFIG_FILE_PATH, QSettings::IniFormat);
iniFile->setIniCodec("UTF-8");
//获取配置文件名
QString fileName = iniFile->fileName();
qDebug().noquote()<<"fileName:"<<fileName;
//判断键是否存在
if(iniFile->contains("USER/username")){
username = iniFile->value("USER/username").toString();
}
if(iniFile->contains("USER/password")){
password = iniFile->value("USER/password").toString();
}
if(iniFile->contains("HTTP/loginUrl")){
loginUrl = iniFile->value("HTTP/loginUrl").toString();
}
if(iniFile->contains("HTTP/sendUserInfoUrl")){
sendUserInfoUrl = iniFile->value("HTTP/sendUserInfoUrl").toString();
}
if(iniFile->contains("HTTP/oneKeyStartUrl")){
oneKeyStartUrl = iniFile->value("HTTP/oneKeyStartUrl").toString();
}
if(iniFile->contains("HTTP/serviceStatusChangedUrl")){
serviceStatusChangedUrl = iniFile->value("HTTP/serviceStatusChangedUrl").toString();
}
if(iniFile->contains("WEBSOCKET/wsUrl")){
wsUrl = iniFile->value("WEBSOCKET/wsUrl").toString();
}
if(iniFile->contains("WEBSOCKET/wsHeartInterval")){
wsHeartInterval = iniFile->value("WEBSOCKET/wsHeartInterval").toString();
}
qDebug() << username << password << "\n"
<< loginUrl << sendUserInfoUrl << oneKeyStartUrl << serviceStatusChangedUrl << "\n"
<< wsUrl << wsHeartInterval ;
}
void MainConfig::initConfig()
{
QFile file(D_CONFIG_FILE_PATH);
if(!file.exists()){
qDebug() << D_CONFIG_FILE_PATH << " Not Exist. Create it by defalut values.";
createConfigFileWithDefaultValues();
}else{
qDebug() << D_CONFIG_FILE_PATH << "Exists";
readConfigFile();
}
}