formstatus.cpp 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143
  1. #include "formstatus.h"
  2. #include "ui_formstatus.h"
  3. #include "wssso.h"
  4. #include "wscube.h"
  5. #include "respgetuserjsjcserviceinfo.h"
  6. #include "respgetservertime.h"
  7. #include "respencrypt.h"
  8. #include "sncdatabase.h"
  9. FormStatus::FormStatus(QWidget *parent) :
  10. QWidget(parent),
  11. ui(new Ui::FormStatus)
  12. {
  13. ui->setupUi(this);
  14. this->setFixedWidth(240);
  15. this->setFixedHeight(185);
  16. connect(ui->labelUserType,SIGNAL(linkActivated(QString)),this,SLOT(onLinkClick(QString)));
  17. ui->pushButtonLogin->setProperty("class","big");
  18. ui->pushButtonRefresh->setProperty("class","big");
  19. ui->pushButtonRegister->setProperty("class","big");
  20. ui->pushButtonConnect->setProperty("class","big");
  21. //ui->labelTip->setProperty("class","servicetip");
  22. setUIForServiceNotAvaiable();
  23. }
  24. FormStatus::~FormStatus()
  25. {
  26. delete ui;
  27. qDebug()<<QDateTime::currentDateTime().toString("yyyy-MM-dd HH:mm:ss")\
  28. <<"FormRiddle.FormStatus Destroyed.";
  29. }
  30. void FormStatus::setUIForServiceNotAvaiable()
  31. {
  32. ui->widgetServiceNotAvailable->setVisible(true);
  33. ui->widgetSSOServiceOnline->setVisible(false);
  34. ui->widgetSSOServiceOffline->setVisible(false);
  35. ui->widgetSSOServiceReady->setVisible(false);
  36. ui->labelTip->setText("您需要登录才可以使用该功能!");
  37. changeImage(1);
  38. }
  39. void FormStatus::setUIForServiceReady()
  40. {
  41. ui->labelTip->setText("实号快检服务尚未开通!");
  42. ui->widgetServiceNotAvailable->setVisible(false);
  43. ui->widgetSSOServiceOnline->setVisible(false);
  44. ui->widgetSSOServiceOffline->setVisible(false);
  45. ui->widgetSSOServiceReady->setVisible(true);
  46. changeImage(2);
  47. }
  48. void FormStatus::setUIForServiceOffline()
  49. {
  50. ui->labelTip->setText("实号快检服务暂不可用!");
  51. ui->widgetServiceNotAvailable->setVisible(false);
  52. ui->widgetSSOServiceOnline->setVisible(false);
  53. ui->widgetSSOServiceOffline->setVisible(true);
  54. ui->widgetSSOServiceReady->setVisible(false);
  55. changeImage(3);
  56. }
  57. void FormStatus::setUIForServiceOnline()
  58. {
  59. ui->labelTip->setText("实号快检服务已经开通!");
  60. ui->widgetServiceNotAvailable->setVisible(false);
  61. ui->widgetSSOServiceOnline->setVisible(true);
  62. ui->widgetSSOServiceOffline->setVisible(false);
  63. ui->widgetSSOServiceReady->setVisible(false);
  64. changeImage(0);
  65. onRefreshUserState();
  66. // ui->widgetSSOServiceOnline->setStyleSheet("background:red");
  67. // ui->labelUserType->setStyleSheet("background:blue");
  68. }
  69. void FormStatus::setUserHash(QString userHash)
  70. {
  71. this->userHash = userHash;
  72. }
  73. void FormStatus::setHost(QString host,QString port)
  74. {
  75. this->host = host;
  76. this->port = port;
  77. }
  78. void FormStatus::onLinkClick(QString txt)
  79. {
  80. WSSSO sso;
  81. QString json = sso.encrypt(this->userHash);
  82. qDebug()<<json;
  83. RespEncrypt resp1(json);
  84. QString data = resp1.getEncryptData();
  85. json = sso.getServerTime();
  86. RespGetServerTime resp2(json);
  87. QString authCode;
  88. QByteArray ba;
  89. QString str = SNCDataBase::getAuthCodeUrl().arg(resp2.getServerTime().mid(0,16));
  90. ba = QCryptographicHash::hash ( str.toAscii(), QCryptographicHash::Md5 );
  91. authCode.append(ba.toHex());
  92. QString url = SNCDataBase::getSSOPayUrl() + "?s=mf&r="+authCode+"&u="+data+"&p=zxcz";
  93. QDesktopServices::openUrl(QUrl(url));
  94. }
  95. void FormStatus::onRefreshUserState()
  96. {
  97. }
  98. void FormStatus::on_pushButtonLogin_clicked()
  99. {
  100. emit logonSSO();
  101. }
  102. void FormStatus::on_pushButtonRefresh_clicked()
  103. {
  104. ui->pushButtonRefresh->setEnabled(false);
  105. onRefreshUserState();
  106. ui->pushButtonRefresh->setEnabled(true);
  107. }
  108. void FormStatus::on_pushButtonConnect_clicked()
  109. {
  110. emit reconnectService();
  111. }
  112. void FormStatus::on_pushButtonRegister_clicked()
  113. {
  114. emit registerService();
  115. }
  116. void FormStatus::changeImage(int state)
  117. {
  118. QPixmap pixamp(":/service_state.png");
  119. int nHeight = pixamp.height();
  120. int nWidth = pixamp.width()/4;
  121. ui->labelStateImage->setPixmap(pixamp.copy(QRect(state * nWidth , 0, nWidth, nHeight)));
  122. }