formuser.cpp 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106
  1. #include "formuser.h"
  2. #include "ui_formuser.h"
  3. FormUser::FormUser(QWidget *parent) :
  4. QWidget(parent),
  5. ui(new Ui::FormUser)
  6. {
  7. ui->setupUi(this);
  8. ui->gridLayout->addWidget(&formLogon, 0,0,1,1);
  9. ui->gridLayout->addWidget(&formEditUserInfo, 0,1,1,1);
  10. ui->gridLayout->addWidget(&formMfFee, 1,0,1,2);
  11. ui->gridLayout->addWidget(&formSrvInfo, 2,0,1,2);
  12. ui->gridLayout->addWidget(&formSSOWelcome, 0,2,3,1);
  13. formSSOWelcome.setNoticeUrl("http://www.baidu.com/img/baidu_jgylogo3.gif");
  14. connect(&formSSOWelcome,SIGNAL(needShowLoginDialog()),this,SLOT(onNeedShowLoginDialog()));
  15. connect(&formSrvInfo,SIGNAL(updateMingYuanAccount(QMap<QString,QString>)),SLOT(onMingyuan(QMap<QString,QString>)));
  16. connect(&formSrvInfo,SIGNAL(updateShunShiAccount(QMap<QString,QString>)),SLOT(onShunshi(QMap<QString,QString>)));
  17. showSSOWelcome();
  18. heartBeat = new HeartBeat("");
  19. connect(heartBeat,SIGNAL(multiLogin()),this,SLOT(onMultiLogin()));
  20. }
  21. FormUser::~FormUser()
  22. {
  23. delete ui;
  24. if(heartBeat)
  25. {
  26. heartBeat->abort();
  27. heartBeat->wait();
  28. delete heartBeat;
  29. }
  30. qDebug()<<QDateTime::currentDateTime().toString("yyyy-MM-dd HH:mm:ss")\
  31. <<"SNCUser.FormUser Destroyed.";
  32. }
  33. void FormUser::setAccountInfo(QMap<QString, QString> info)
  34. {
  35. formLogon.setAccountInfo(info);
  36. formEditUserInfo.setUserHash(info.value("userhash"));
  37. formSrvInfo.setUserHash(info.value("userhash"));
  38. formMfFee.setUserHash(info.value("userhash"));
  39. heartBeat->setUserHash(info.value("userhash"));
  40. if(heartBeat->isFinished())
  41. heartBeat->start();
  42. else
  43. {
  44. heartBeat->abort();
  45. heartBeat->wait();
  46. heartBeat->start();
  47. }
  48. showSSOLoginSucceed();
  49. }
  50. void FormUser::resetAccountInfo()
  51. {
  52. formEditUserInfo.setUserHash("");
  53. formSrvInfo.setUserHash("");
  54. formMfFee.setUserHash("");
  55. QMap<QString,QString> info;
  56. formLogon.setAccountInfo(info);
  57. heartBeat->abort();
  58. heartBeat->setUserHash("");
  59. }
  60. void FormUser::refreshSrvInfo()
  61. {
  62. formSrvInfo.refreshSrvInfo();
  63. }
  64. void FormUser::showSSOWelcome()
  65. {
  66. formLogon.show();
  67. formEditUserInfo.show();
  68. formSrvInfo.show();
  69. formSSOWelcome.show();
  70. }
  71. void FormUser::showSSOLoginSucceed()
  72. {
  73. formLogon.show();
  74. formEditUserInfo.show();
  75. formSrvInfo.show();
  76. formSSOWelcome.show();
  77. }
  78. void FormUser::onNeedShowLoginDialog()
  79. {
  80. emit needShowLoginDialog();
  81. }
  82. void FormUser::onShunshi(QMap<QString, QString> info)
  83. {
  84. emit updateShunShiAccount(info);
  85. }
  86. void FormUser::onMingyuan(QMap<QString, QString> info)
  87. {
  88. emit updateMingYuanAccount(info);
  89. }
  90. void FormUser::onMultiLogin()
  91. {
  92. QMessageBox::critical(this,"提示","您的账号已经在别处登录,系统自动下线,请重新登录!",QMessageBox::Ok);
  93. emit needLogout();
  94. }