iwebrequest.h 1.34 KB
#ifndef IWebRequest_H
#define IWebRequest_H

#include <QObject>
#include <QNetworkReply>
#include <QThread>
enum REQ_COMMAND
{
    REQ_LOGIN = 0,
    REQ_GETJUSIG,
    REQ_USER_ONLINE,
    REQ_USER_OFFLINE,
    REQ_USER_GET,
    REQ_USER_COURSE_LIST_GET,
    REQ_USER_COURSE_PPT_GET,
    REQ_USER_COURSE_CALL_GET,
    REQ_USER_ORDER_GET,
    REQ_USER_ORDER_EARNING_RANK,
    REQ_USER_REMARK_GET,
    REQ_LOGOUT
};
class IWebRequest : public QObject
{
    Q_OBJECT
public:
    explicit IWebRequest(QObject *parent = 0);
    void readData(QByteArray &data);
    static IWebRequest *Instance();

public:
    void sendRequestToServer(int, QStringList params);                      //信息的请求,参数为获取信息的cmd命令值,没有附带信息

public slots:
    void getResponseFromServer();                       //返回用户请求后服务器下发的数据
    void httpFinish();                                  //会话结束
    void slot_downloadProgress(qint64 bytesReceived, qint64 bytesTotal);
signals:
    void response(int, int, QString, QString);          //消息类型,成功失败标志,返回消息,其他解析的内容
    void errorConnect(QString);
    void UseLogOut(int);

private:
    QNetworkAccessManager *qam;
    QNetworkReply *reply;
    QString answer;
    static IWebRequest *m_WebRequest;
};

#endif // IWebRequest_H