| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586 |
- #ifndef APPEVENT_H
- #define APPEVENT_H
- #include <QElapsedTimer>
- #include <QObject>
- #include "qdebug.h"
- class OpTime
- {
- public:
- OpTime(const QString &_name)
- : name(_name)
- {
- elapsedTimer.restart();
- }
- ~OpTime() { qDebug() << name << elapsedTimer.elapsed(); }
- private:
- QString name;
- QElapsedTimer elapsedTimer;
- };
- class AppEvent : public QObject
- {
- Q_OBJECT
- explicit AppEvent(QObject *parent = nullptr);
- ~AppEvent();
- public:
- static AppEvent *instance(); // 静态方法返回单例实例
- static qint64 time();
- // 教室判断是否登录
- bool isLogin();
- void setJwtToken(const QString &token);
- QString jwtToken() const;
- bool isRefreshToken() const;
- void setRefreshTime(qint64 time) const;
- // 考试配置
- void setExam(const QString &examRoom, const QString &examNumber);
- QString examRoom() const;
- QString examNumber() const;
- // 配置
- bool setConfigValue(const QString &key, const QVariant &value);
- QVariant configValue(const QString &key);
- bool configLoadJson(const QJsonObject &object);
- bool configLoad();
- bool configSave();
- QJsonObject config() const;
- // 自己得配置不导出到客户端的
- QStringList configFilter() const;
- ;
- // 通知考试开始
- void beginExam();
- // 更新数据
- void loginUser(qint64 id);
- void loginOutUser(qint64 id);
- //更新考试信息
- void examsTestUpdate();
- void webSocketUpdata();
- void examQuestionChenge() { emit examQuestionChengeSignal(); }
- signals:
- void beginExamSignal();
- void loginUserSignal(qint64 id);
- void loginOutUserSignal(qint64 id);
- void examsTestUpdateSignal();
- void webSocketUpdataSignal();
- void examQuestionChengeSignal();
- private:
- class AppEventPrivate *d;
- };
- #endif // APPEVENT_H
|