From f546ffee9066d5d1f41edcb425caa2ef959e97ce Mon Sep 17 00:00:00 2001 From: zhengkunwang <31820853+zhengkunwang223@users.noreply.github.com> Date: Fri, 25 Aug 2023 18:44:11 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E5=BA=94=E7=94=A8=E5=95=86=E5=BA=97?= =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E7=89=88=E6=9C=AC=E6=8E=A7=E5=88=B6=20(#2068?= =?UTF-8?q?)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- backend/app/dto/app.go | 3 ++- backend/app/service/app.go | 15 +++++++++++++++ backend/i18n/lang/en.yaml | 1 + backend/i18n/lang/zh-Hant.yaml | 1 + backend/i18n/lang/zh.yaml | 1 + 5 files changed, 20 insertions(+), 1 deletion(-) diff --git a/backend/app/dto/app.go b/backend/app/dto/app.go index 75ff0897c..1cfa4a69e 100644 --- a/backend/app/dto/app.go +++ b/backend/app/dto/app.go @@ -67,7 +67,8 @@ type LocalAppInstallDefine struct { } type ExtraProperties struct { - Tags []Tag `json:"tags"` + Tags []Tag `json:"tags"` + Version string `json:"version"` } type AppProperty struct { diff --git a/backend/app/service/app.go b/backend/app/service/app.go index e5c86571c..23572dec7 100644 --- a/backend/app/service/app.go +++ b/backend/app/service/app.go @@ -670,6 +670,21 @@ func (a AppService) GetAppUpdate() (*response.AppUpdateRes, error) { res.CanUpdate = true return res, err } + if err = getAppFromRepo(fmt.Sprintf("%s/%s/1panel.json.zip", global.CONF.System.AppRepo, global.CONF.System.Mode)); err != nil { + return nil, err + } + listFile := path.Join(constant.ResourceDir, "1panel.json") + content, err := os.ReadFile(listFile) + if err != nil { + return nil, err + } + list := &dto.AppList{} + if err = json.Unmarshal(content, list); err != nil { + return nil, err + } + if list.Extra.Version != "" && !common.CompareVersion(setting.SystemVersion, list.Extra.Version) { + return nil, buserr.New("ErrVersionTooLow") + } return res, nil } diff --git a/backend/i18n/lang/en.yaml b/backend/i18n/lang/en.yaml index c52ae82a3..bd402b9d1 100644 --- a/backend/i18n/lang/en.yaml +++ b/backend/i18n/lang/en.yaml @@ -46,6 +46,7 @@ ErrContainerNotFound: '{{ .name }} container does not exist' ErrContainerMsg: '{{ .name }} container is abnormal, please check the log on the container page for details' ErrAppBackup: '{{ .name }} application backup failed err {{.err}}' ErrImagePull: '{{ .name }} image pull failed err {{.err}}' +ErrVersionTooLow: 'The current 1Panel version is too low to update the app store, please upgrade the version' #file ErrFileCanNotRead: "File can not read" diff --git a/backend/i18n/lang/zh-Hant.yaml b/backend/i18n/lang/zh-Hant.yaml index b1e851eb3..9d32b42bf 100644 --- a/backend/i18n/lang/zh-Hant.yaml +++ b/backend/i18n/lang/zh-Hant.yaml @@ -46,6 +46,7 @@ ErrContainerNotFound: '{{ .name }} 容器不存在' ErrContainerMsg: '{{ .name }} 容器異常,具體請在容器頁面查看日誌' ErrAppBackup: '{{ .name }} 應用備份失敗 err {{.err}}' ErrImagePull: '{{ .name }} 鏡像拉取失敗 err {{.err}}' +ErrVersionTooLow: '當前 1Panel 版本過低,無法更新應用商店,請升級版本之後操作' #file ErrFileCanNotRead: "此文件不支持預覽" diff --git a/backend/i18n/lang/zh.yaml b/backend/i18n/lang/zh.yaml index 741e15f74..24488f31d 100644 --- a/backend/i18n/lang/zh.yaml +++ b/backend/i18n/lang/zh.yaml @@ -46,6 +46,7 @@ ErrContainerNotFound: '{{ .name }} 容器不存在' ErrContainerMsg: '{{ .name }} 容器异常,具体请在容器页面查看日志' ErrAppBackup: '{{ .name }} 应用备份失败 err {{.err}}' ErrImagePull: '镜像拉取失败 {{.err}}' +ErrVersionTooLow: '当前 1Panel 版本过低,无法更新应用商店,请升级版本之后操作' #file ErrFileCanNotRead: "此文件不支持预览"