You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
105 lines
2.3 KiB
105 lines
2.3 KiB
10 months ago
|
# Updater
|
||
|
|
||
|
> 联网更新模块
|
||
|
|
||
|
![image-20231226165227506](assets/README/image-20231226165227506.png)
|
||
|
|
||
|
## 使用
|
||
|
|
||
|
### 待升级程序配置
|
||
|
|
||
|
```c++
|
||
|
//升级进程
|
||
|
QProcess *m_UpdateProc{nullptr};
|
||
|
```
|
||
|
|
||
|
|
||
|
|
||
|
```c++
|
||
|
if(!m_UpdateProc)
|
||
|
{
|
||
|
m_UpdateProc = new QProcess;
|
||
|
}
|
||
|
#if defined Q_OS_WIN
|
||
|
m_UpdateProc->setProgram("updater.exe");
|
||
|
#elif defined Q_OS_LINUX
|
||
|
m_UpdateProc->setProgram("./updater");
|
||
|
#endif
|
||
|
QStringList argList;
|
||
|
argList.append(qAppName());
|
||
|
argList.append(APP_VERSION);
|
||
|
extern QDateTime buildDateTime();
|
||
|
const QDateTime _dateTime = buildDateTime();
|
||
|
argList.append(_dateTime.date().toString("yyyyMMdd"));
|
||
|
argList.append(QString::number(APP_MODIFYCNT));
|
||
|
m_UpdateProc->setArguments(argList);
|
||
|
m_UpdateProc->start();
|
||
|
m_UpdateProc->waitForStarted();
|
||
|
QApplication::quit();
|
||
|
```
|
||
|
|
||
|
### updater程序配置
|
||
|
|
||
|
main函数中配置
|
||
|
|
||
|
```c++
|
||
|
int main(int argc, char *argv[])
|
||
|
{
|
||
|
QApplication a(argc, argv);
|
||
|
|
||
|
loadQss();
|
||
|
|
||
|
if(argc > 1)
|
||
|
{
|
||
|
APPNAME = argv[1];
|
||
|
APPVERSION = argv[2];
|
||
|
APPDATE = argv[3];
|
||
|
MODIFYCNT = argv[4];
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
//配置项目名称和版本号
|
||
|
APPNAME = "LaunchControl";
|
||
|
APPVERSION = "0";
|
||
|
}
|
||
|
CHECK_URL = CHECK_URL + APPNAME + "/updates.json";
|
||
|
|
||
|
UpdaterDialog w;
|
||
|
w.show();
|
||
|
return a.exec();
|
||
|
}
|
||
|
```
|
||
|
|
||
|
updaterdialog.cpp中配置url
|
||
|
|
||
|
```c++
|
||
|
QString CHECK_URL = "http://www.tianzd.cn:1995/TianZD/deploy/raw/branch/master/";
|
||
|
```
|
||
|
|
||
|
### 远程仓库配置
|
||
|
|
||
|
远程仓库包含更新版本检测文件:updater.json和升级包(完整安装包和增量升级包)
|
||
|
|
||
|
![image-20231226165035278](assets/README/image-20231226165035278.png)
|
||
|
|
||
|
```json
|
||
|
{
|
||
|
"updates":
|
||
|
{
|
||
|
"windows":
|
||
|
{
|
||
|
"full-url": "http://www.tianzd.cn:1995/TianZD/deploy/raw/branch/master/",
|
||
|
"full-version": "2.2.3",
|
||
|
"download-full":false,
|
||
|
|
||
|
"patch-url": "http://www.tianzd.cn:1995/TianZD/deploy/raw/branch/master/",
|
||
|
"patch-version": "2.2.3",
|
||
|
"changelog": "1.增加充电状态显示;2.改变发射角度时弹窗提示;3.优化更新模块",
|
||
|
"modify-time": "20231216",
|
||
|
"modifyCnt": "1"
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
```
|
||
|
|