courseList.h 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131
  1. #ifndef COURSELIST_H
  2. #define COURSELIST_H
  3. #include <QWidget>
  4. #include <QTimer>
  5. #include "clNoticePopWidget.h"
  6. #include "clMobileLogin.h"
  7. #include "clStudentInfo.h"
  8. #include "clNoticeDetail.h"
  9. #include "clopResultList.h"
  10. #include "welcomeWidget.h"
  11. #include "privacyWidget.h"
  12. #include "clopReport.h"
  13. #include "etWhetherEnvTest.h"
  14. #include "faceCompare.h"
  15. #include "cloeUploadFile.h"
  16. #include "awBackground.h"
  17. #include "clOnlineExam.h"
  18. #include "clOnlineHomework.h"
  19. #include "clOnlinePractice.h"
  20. #include "clOfflineExam.h"
  21. #include "clNoticeList.h"
  22. #include "clEditPassword.h"
  23. #include "CHttpBll.h"
  24. #include "environmentalTest.h"
  25. #include "faceLiveness.h"
  26. namespace Ui {
  27. class courseList;
  28. }
  29. enum class COURSE_MENU_BTN_TYPE
  30. {
  31. cmbt_online_exam = 1,
  32. cmbt_online_homework,
  33. cmbt_online_practice,
  34. cmbt_offline_exam,
  35. cmbt_notice,
  36. cmbt_edit_password
  37. };
  38. class courseList : public QWidget
  39. {
  40. Q_OBJECT
  41. public:
  42. explicit courseList(QWidget *parent = nullptr);
  43. ~courseList();
  44. signals:
  45. void minisize();
  46. private slots:
  47. void on_btn_minisize_clicked();
  48. void on_btn_cl_close_clicked();
  49. void on_btn_onlineExam_clicked();
  50. void on_btn_onlineHomework_clicked();
  51. void on_btn_onlinePractice_clicked();
  52. void on_btn_offlineExam_clicked();
  53. void on_btn_notice_clicked();
  54. void on_btn_editPassword_clicked();
  55. void on_btn_exit_clicked();
  56. void hideStudentInfoBtn();
  57. void hideMobileLoginBtn();
  58. //进入考试
  59. void onEnterExam(CL_OPERATION_TYPE cot, __int64 nExamId, __int64 nExamStudentId,
  60. QString sCourseCode, QString sCourseName);
  61. void onAppDownLoadUrl(CAppDownLoadUrl appDownLoadUrl);
  62. void onDownLoadFile(CDownLoadFileInfo downLoadFileInfo);
  63. void onGetStudentInfoBySession(CGetStudentInfoBySession getStudentInfoBySession);
  64. void onSpecialtyNameList(CSpecialtyNameList specialtyNameList);
  65. void onCheckExamInProgress(CCheckExamInProgress checkExamInProgress);
  66. void onGetStudentClientMenu(CGetStudentClientMenu getStudentClientMenu);
  67. void onGetUserNoticeList(CGetUserNoticeList getUserNoticeList);
  68. void onStartExamLimit(CStartExamLimit startExamLimit);
  69. void onIpLimit(CIpLimit ipLimit);
  70. void onGetExamProperty(CGetExamProperty getExamProperty);
  71. void onFaceCheckEnabled(CFaceCheckEnabled faceCheckEnabled);
  72. void onLivenessEnabled(CLivenessEnabled livenessEnabled);
  73. void onGetOrgPropertiesByGroupWithoutCache(CGetOrgPropertiesByGroupWithoutCache orgProperties);
  74. void onEndExam(CEndExam endExam);
  75. void onSkipFaceCheckParam(CSkipFaceCheckParam skipFaceCheckParam);
  76. private:
  77. void initUI();
  78. void setCheck(COURSE_MENU_BTN_TYPE cmbt);
  79. bool eventFilter(QObject *obj, QEvent *ev);
  80. void menuBtnRePosistion();
  81. void getStudentInfoBySession();
  82. void logout();
  83. void enterWaitExam();
  84. void GetOrgPropertiesByGroupWithoutCache();
  85. void doFaceCompare();
  86. void doLiveness();
  87. void getExamProperty();
  88. void getSkipFaceCheckParam();
  89. Ui::courseList *ui;
  90. std::shared_ptr<QTimer> m_pStudentInfoBtnTimer;
  91. std::shared_ptr<QTimer> m_pMobileLoginBtnTimer;
  92. std::shared_ptr<QTimer> m_pServerTime;
  93. std::shared_ptr<QTimer> m_pRefreshMenuTimer;
  94. std::shared_ptr<QTimer> m_pOnlineTimer;
  95. std::shared_ptr<clNoticePopWidget> m_pNoticePopWidget;
  96. std::shared_ptr<clMobileLogin> m_pMobileLogin;
  97. std::shared_ptr<clStudentInfo> m_pStudentInfo;
  98. std::shared_ptr<clNoticeDetail> m_pNoticeDetail;
  99. std::shared_ptr<clopResultList> m_pClopResultList;
  100. std::shared_ptr<welcomeWidget> m_pWelcomeWidget;
  101. std::shared_ptr<privacyWidget> m_pPrivacyWidget;
  102. std::shared_ptr<clOnlineExam> m_pOnlineExam;
  103. std::shared_ptr<clOnlineHomework> m_pOnlineHomework;
  104. std::shared_ptr<clOnlinePractice> m_pOnlinePractice;
  105. std::shared_ptr<clOfflineExam> m_pOfflineExam;
  106. std::shared_ptr<clNoticeList> m_pNoticeList;
  107. std::shared_ptr<clEditPassword> m_pEditPassword;
  108. std::shared_ptr<clopReport> m_pClopReport;
  109. std::shared_ptr<etWhetherEnvTest> m_pWhetherEnvTest;
  110. std::shared_ptr<environmentalTest> m_pEnvironmentalTest;
  111. std::shared_ptr<faceCompare> m_pFaceCompare;
  112. // std::shared_ptr<cloeUploadFile> m_pCloeUploadFile;
  113. std::shared_ptr<awBackground> m_pBackground;
  114. std::shared_ptr<awResumeExam> m_pResumeExam;
  115. std::shared_ptr<faceLiveness> m_pFaceLiveness;
  116. int m_nRetryCount = 0;
  117. };
  118. #endif // COURSELIST_H