282 lines
9.1 KiB
C++
282 lines
9.1 KiB
C++
#ifndef INTERACTION_H
|
||
#define INTERACTION_H
|
||
|
||
#include <QObject>
|
||
#include <QPixmap>
|
||
#include <QVariant>
|
||
#include <QFileInfo>
|
||
#include <QStandardItemModel>
|
||
#include "global/corevar.h"
|
||
#include <QPersistentModelIndex>
|
||
class coreinteraction;
|
||
|
||
class Interaction : public QObject
|
||
{
|
||
Q_OBJECT
|
||
|
||
signals:
|
||
/*
|
||
* 接口功能:后端初始化后,初始化前端
|
||
* 接口场景:网络诊断完成后,初始化前端
|
||
* 接口类型:信号,需要绑定
|
||
* 参数类型:无
|
||
* 参数描述:无
|
||
*/
|
||
void toStartView();
|
||
/*
|
||
* 接口功能:网络错误,给ui层传递无网络信息
|
||
* 接口场景:程序启动时,检测网络连接状况
|
||
* 接口类型:信号,需要绑定
|
||
* 参数类型:QString
|
||
* 参数描述:返回网络错误信息
|
||
*/
|
||
void netUiShow(QString);
|
||
/*
|
||
* 接口功能:请求服务器错误
|
||
* 接口场景:访问服务器拿数据--目前返回的是code值
|
||
* 接口类型:信号,需要绑定
|
||
* 参数类型:int
|
||
* 参数描述:返回访问服务器错误信息
|
||
*/
|
||
|
||
void serverUiShow(QString);
|
||
/*
|
||
* 接口功能:数据解析
|
||
* 接口场景:服务器返回数据为空或不全
|
||
* 接口类型:信号,需要绑定
|
||
* 参数类型:QString
|
||
* 参数描述:返回数据解析错误信息
|
||
*/
|
||
void dataUiShow(QString);
|
||
/*
|
||
* 接口功能:定位失败
|
||
* 接口场景:定位时
|
||
* 接口类型:信号,需要绑定
|
||
* 参数类型:QString
|
||
* 参数描述:返回定位失败
|
||
*/
|
||
void geoUiShow(QString);
|
||
/*
|
||
* 接口功能:网络超时
|
||
* 接口场景:各处需要检测超时的地方
|
||
* 接口类型:信号,需要绑定
|
||
* 参数类型:bool
|
||
* 参数描述:网络超时
|
||
*/
|
||
void netTimeout(QString);
|
||
/*
|
||
* 接口功能:显示生活指数信息
|
||
* 接口场景:显示生活指数信息
|
||
* 接口类型:信号,需要绑定
|
||
* 参数类型:struct
|
||
* 参数描述:生活指数信息
|
||
*/
|
||
void showLifeStyle(LifeStyle m_lifeStyle); //发送信号,显示生活指数信息
|
||
/*
|
||
* 接口功能:显示当前城市信息
|
||
* 接口场景:显示当前城市信息
|
||
* 接口类型:信号,需要绑定
|
||
* 参数类型:struct
|
||
* 参数描述:当前城市信息
|
||
*/
|
||
void showCurrent(CurrentWeather m_currentWeather); //发送信号,显示当前城市信息
|
||
/*
|
||
* 接口功能:显示城市预测信息
|
||
* 接口场景:显示城市预测信息
|
||
* 接口类型:信号,需要绑定
|
||
* 参数类型:struct
|
||
* 参数描述:当前城市信息
|
||
*/
|
||
void showForcast(ForecastWeather forecastWeather); //发送信号,显示城市预测信息
|
||
/*
|
||
* 接口功能:显示逐小时信息
|
||
* 接口场景:显示逐小时信息
|
||
* 接口类型:信号,需要绑定
|
||
* 参数类型:QVariant
|
||
* 参数描述:逐小时信息
|
||
*/
|
||
void showHourly(QVariant var); //发送信号,显示逐小时信息
|
||
/*
|
||
* 接口功能:搜索错误,给ui层传递无搜索结果信息
|
||
* 接口场景:输入或不输入字符,无搜索内容
|
||
* 接口类型:信号,需要绑定
|
||
* 参数类型:无
|
||
* 参数描述:返回搜索错误信息
|
||
*/
|
||
void searchNull();
|
||
/*
|
||
* 接口功能:搜索结果,给ui层传递搜索结果信息
|
||
* 接口场景:输入或不输入字符,有/无搜索内容
|
||
* 接口类型:信号,需要绑定
|
||
* 参数类型:bool
|
||
* 参数描述:返回有/无搜索结果
|
||
*/
|
||
void searchUiShow(bool hasCity);
|
||
/*
|
||
* 接口功能:收藏城市为空
|
||
* 接口场景:判断收藏城市是否为空
|
||
* 接口类型:信号,需要绑定
|
||
* 参数类型:无
|
||
* 参数描述:无
|
||
*/
|
||
void collectNull();
|
||
/*
|
||
* 接口功能:收藏城市不为空
|
||
* 接口场景:判断收藏城市是否为空
|
||
* 接口类型:信号,需要绑定
|
||
* 参数类型:无
|
||
* 参数描述:无
|
||
*/
|
||
void collectShow();
|
||
/*
|
||
* 接口功能:关闭程序
|
||
* 接口场景:点击关闭按钮和托盘退出选项
|
||
* 接口类型:信号,需要绑定
|
||
* 参数类型:无
|
||
* 参数描述:无
|
||
*/
|
||
void closePro();
|
||
/*
|
||
* 接口功能:在屏幕中间显示
|
||
* 接口场景:显示
|
||
* 接口类型:信号,需要绑定
|
||
* 参数类型:无
|
||
* 参数描述:无
|
||
*/
|
||
void showInCenter();
|
||
|
||
public:
|
||
/*
|
||
* 接口功能:单例取指针,供UI层实例化接口对象
|
||
* 接口场景:程序启动时,首次调用要放到主界面构造函数的第一行
|
||
* 接口类型:函数,直接调用
|
||
* 返回类型:Interaction
|
||
* 返回描述:接口对象
|
||
*/
|
||
static Interaction *getInstance();
|
||
|
||
/*
|
||
* 接口功能:初始化核心模块
|
||
* 接口场景:程序启动时,放在主界面构造函数的第二行,只需调用这一次,多次调用无效果
|
||
* 接口类型:函数,直接调用
|
||
* 参数类型:QStringList
|
||
* 参数描述:程序启动时传入的参数,一般来自QApplication::arguments()
|
||
*/
|
||
virtual void creatCore(const QStringList &list) = 0;
|
||
/*
|
||
* 接口功能:切换城市
|
||
* 接口场景:点击城市切换主界面城市
|
||
* 接口类型:函数,直接调用
|
||
*/
|
||
virtual void changeCity(QString cityCode) = 0; //切换到目标城市
|
||
|
||
/*
|
||
* 接口功能:搜索城市
|
||
* 接口场景:在搜索框输入字符
|
||
* 接口类型:函数,直接调用
|
||
*/
|
||
virtual void searchResult(QString inputText) = 0; //切换到目标城市
|
||
/*
|
||
* 接口功能:获取model指针
|
||
* 接口场景:获取城市列表
|
||
* 接口类型:函数,直接调用
|
||
* 备注:对应QTabelView
|
||
*/
|
||
virtual QStandardItemModel *getCityModel() = 0; //获取搜索model指针
|
||
/*
|
||
* 接口功能:获取收藏model指针
|
||
* 接口场景:获取城市列表
|
||
* 接口类型:函数,直接调用
|
||
* 备注:对应QTabelView
|
||
*/
|
||
virtual QStandardItemModel *getCollectModel() = 0; //获取收藏model指针
|
||
|
||
/*
|
||
* 接口功能:从搜索列表切换城市
|
||
* 接口场景:点击城市切换主界面城市
|
||
* 接口类型:函数,直接调用
|
||
*/
|
||
virtual void changeCityFromSearch(QModelIndex index) = 0; //切换到目标城市
|
||
/*
|
||
* 接口功能:从搜索列表添加城市到收藏城市
|
||
* 接口场景:点击“+”号按钮添加城市
|
||
* 接口类型:函数,直接调用
|
||
*/
|
||
virtual void addCollectCity(QModelIndex index) = 0; //切换到目标城市
|
||
/*
|
||
* 接口功能:从收藏城市列表切换城市
|
||
* 接口场景:点击城市切换主界面城市
|
||
* 接口类型:函数,直接调用
|
||
*/
|
||
virtual void changeCityFromCollect(QModelIndex index) = 0; //切换到目标城市
|
||
/*
|
||
* 接口功能:删除收藏城市列表的城市
|
||
* 接口场景:点击删除按钮添加城市
|
||
* 接口类型:函数,直接调用
|
||
*/
|
||
virtual void delCollectCity(QModelIndex index) = 0; //切换到目标城市
|
||
/*
|
||
* 接口功能:初始化核心模块
|
||
* 接口场景:程序启动时,放在主界面构造函数的第二行,只需调用这一次,多次调用无效果
|
||
* 接口类型:函数,直接调用
|
||
* 参数类型:QStringList
|
||
* 参数描述:程序启动时传入的参数,一般来自QApplication::arguments()
|
||
*/
|
||
virtual void test() = 0;
|
||
/*
|
||
* 接口功能:加载收藏城市列表
|
||
* 接口场景:show收藏城市列表时,发送此信号
|
||
* 接口类型:函数,直接调用
|
||
* 参数类型:无
|
||
* 参数描述:无
|
||
*/
|
||
virtual void loadCollectCity() = 0;
|
||
/*
|
||
* 接口功能:加载收藏城市列表
|
||
* 接口场景:show收藏城市列表时,发送此信号
|
||
* 接口类型:函数,直接调用
|
||
* 参数类型:无
|
||
* 参数描述:无
|
||
*/
|
||
virtual void showCenterAfter() = 0;
|
||
/*
|
||
* 接口功能:退出程序
|
||
* 接口场景:点击关闭,退出等按键
|
||
* 接口类型:函数,可直接调用
|
||
* 参数类型:无
|
||
* 参数描述:无
|
||
*/
|
||
virtual void closePrograme() = 0;
|
||
/*
|
||
* 接口功能:允许定位
|
||
* 接口场景:点击菜单栏定位选项的允许定位
|
||
* 接口类型:
|
||
* 参数类型:无
|
||
* 参数描述:无
|
||
*/
|
||
virtual void allowLocationYes() = 0;
|
||
/*
|
||
* 接口功能:不允许定位
|
||
* 接口场景:点击菜单栏定位选项的不允许定位
|
||
* 接口类型:
|
||
* 参数类型:无
|
||
* 参数描述:无
|
||
*/
|
||
virtual void allowLocationNo() = 0;
|
||
|
||
/*
|
||
* 接口功能:重试刷新网络
|
||
* 接口场景:点击网络异常界面重试按钮
|
||
* 接口类型:
|
||
* 参数类型:无
|
||
* 参数描述:无
|
||
*/
|
||
virtual void refresh() = 0;
|
||
|
||
private:
|
||
static Interaction *m_interaction; //单例指针
|
||
};
|
||
|
||
|
||
#endif // INTERACTION_H
|