kylin-weather/model/dataparser.h

53 lines
2.7 KiB
C++

#ifndef DATAPARSER_H
#define DATAPARSER_H
#include <QObject>
#include <QJsonParseError>
#include <QJsonObject>
#include <QDebug>
#include <QTime>
#include <QJsonArray>
#include <QJsonValue>
#include "global/corevar.h"
#include "controller/core/errorreact.h"
class DataParser : public QObject
{
Q_OBJECT
public:
DataParser();
signals:
void showLifeStyle(LifeStyle lifeStyle); //发送信号,显示生活指数信息
void showCurrent(CurrentWeather currentWeather); //发送信号,显示当前城市信息
void showLeftCity(CurrentWeather currentWeather); //发送信号,显示左侧城市信息
void showRightCity(CurrentWeather currentWeather); //发送信号,显示右侧城市信息
void showForcast(ForecastWeather forecastWeather); //发送信号,显示城市预测信息
// void showForcast(QString forecastWeather);//发送信号,显示城市预测信息
void showCollectCode(QList<CollectItemData> collectItemList); //发送信号,显示收藏城市信息
void showLAndRCode(QList<CurrentWeather> citysWeather); //发送信号,显示左右城市信息
void showHourly(QVariant varHour); //逐小时天气信息
private:
void lifeStyle(QJsonObject lifestyleObj); //解析生活指数信息
CurrentWeather currentWeather(QJsonObject weatherObj); //解析当前城市信息
void forcastWeather(QJsonObject weatherObj, CurrentWeather currentWeather); //解析预报天气信息
void setGsettings(CurrentWeather currentWeather); //存当前城市信息于配置文件
void collectWeather(QString weatherList); //解析当前城市信息
QList<Hourly> hourlyWeather(QJsonObject hourlyObj); //解析逐小时信息
void tmphourlyWeather(QJsonObject hourlyObj, QList<Hourly> hourlist); //解析逐小时信息
void setCollectValue(int i, const QJsonObject &json, ForecastWeather &forecastweather,
const QString &dateTime); //给预报天气的结构体的每一天赋值
void dataAnalysis(QByteArray dataBa);
void lAndRWeather(QString weatherList); //解析左右城市信息
CurrentWeather m_currentWeather;
QList<Hourly> hourlist;
bool success = true;
public slots:
void dataReplyLAndR(QByteArray dataBa); //对左数据进行解析
void dataReplyL(QByteArray dataBa); //对左数据进行解析
void dataReply(QByteArray dataBa); //对发送来的数据进行解析
void dataReplyR(QByteArray dataBa); //对右数据进行解析
void dataReplyColl(QByteArray dataBa); //对收藏城市数据进行解析
};
#endif // DATAPARSER_H