Browse Source

feat: 应用重建改为响应式 (#2091)

pull/2095/head
zhengkunwang 1 year ago committed by GitHub
parent
commit
8b1098fc9d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 28
      backend/app/service/app_utils.go
  2. 1
      backend/constant/app.go
  3. 2
      frontend/src/components/status/index.vue
  4. 1
      frontend/src/lang/modules/en.ts
  5. 1
      frontend/src/lang/modules/tw.ts
  6. 1
      frontend/src/lang/modules/zh.ts
  7. 18
      frontend/src/views/app-store/installed/index.vue

28
backend/app/service/app_utils.go

@ -694,16 +694,24 @@ func upApp(appInstall *model.AppInstall) {
}
func rebuildApp(appInstall model.AppInstall) error {
dockerComposePath := appInstall.GetComposePath()
out, err := compose.Down(dockerComposePath)
if err != nil {
return handleErr(appInstall, err, out)
}
out, err = compose.Up(dockerComposePath)
if err != nil {
return handleErr(appInstall, err, out)
}
return syncById(appInstall.ID)
appInstall.Status = constant.Rebuilding
_ = appInstallRepo.Save(context.Background(), &appInstall)
go func() {
dockerComposePath := appInstall.GetComposePath()
out, err := compose.Down(dockerComposePath)
if err != nil {
_ = handleErr(appInstall, err, out)
return
}
out, err = compose.Up(dockerComposePath)
if err != nil {
_ = handleErr(appInstall, err, out)
return
}
appInstall.Status = constant.Running
_ = appInstallRepo.Save(context.Background(), &appInstall)
}()
return nil
}
func getAppDetails(details []model.AppDetail, versions []dto.AppConfigVersion) map[string]model.AppDetail {

1
backend/constant/app.go

@ -12,6 +12,7 @@ const (
Upgrading = "Upgrading"
UpgradeErr = "UpgradeErr"
PullErr = "PullErr"
Rebuilding = "Rebuilding"
ContainerPrefix = "1Panel-"

2
frontend/src/components/status/index.vue

@ -34,7 +34,7 @@ const getType = (status: string) => {
}
};
const loadingStatus = ['installing', 'building', 'restarting', 'upgrading'];
const loadingStatus = ['installing', 'building', 'restarting', 'upgrading', 'rebuilding'];
const loadingIcon = (status: string): boolean => {
return loadingStatus.indexOf(status) > -1;

1
frontend/src/lang/modules/en.ts

@ -221,6 +221,7 @@ const message = {
upgrading: 'Upgrading',
upgradeerr: 'Upgrade Error',
pullerr: 'Pull Image Error',
rebuilding: '重建中',
},
units: {
second: 'Second',

1
frontend/src/lang/modules/tw.ts

@ -219,6 +219,7 @@ const message = {
upgrading: '升級中',
upgradeerr: '升級失敗',
pullerr: '鏡像拉取失敗',
rebuilding: '重建中',
},
units: {
second: '秒',

1
frontend/src/lang/modules/zh.ts

@ -219,6 +219,7 @@ const message = {
upgrading: '升级中',
upgradeerr: '升级失败',
pullerr: '镜像拉取失败',
rebuilding: '重建中',
},
units: {
second: '秒',

18
frontend/src/views/app-store/installed/index.vue

@ -430,7 +430,7 @@ const buttons = [
openOperate(row, 'sync');
},
disabled: (row: any) => {
return row.status === 'DownloadErr' || row.status === 'Upgrading';
return row.status === 'DownloadErr' || row.status === 'Upgrading' || row.status === 'Rebuilding';
},
},
{
@ -439,7 +439,7 @@ const buttons = [
openOperate(row, 'rebuild');
},
disabled: (row: any) => {
return row.status === 'DownloadErr' || row.status === 'Upgrading';
return row.status === 'DownloadErr' || row.status === 'Upgrading' || row.status === 'Rebuilding';
},
},
{
@ -448,7 +448,7 @@ const buttons = [
openOperate(row, 'restart');
},
disabled: (row: any) => {
return row.status === 'DownloadErr' || row.status === 'Upgrading';
return row.status === 'DownloadErr' || row.status === 'Upgrading' || row.status === 'Rebuilding';
},
},
{
@ -461,7 +461,8 @@ const buttons = [
row.status === 'Running' ||
row.status === 'Error' ||
row.status === 'DownloadErr' ||
row.status === 'Upgrading'
row.status === 'Upgrading' ||
row.status === 'Rebuilding'
);
},
},
@ -471,7 +472,12 @@ const buttons = [
openOperate(row, 'stop');
},
disabled: (row: any) => {
return row.status !== 'Running' || row.status === 'DownloadErr' || row.status === 'Upgrading';
return (
row.status !== 'Running' ||
row.status === 'DownloadErr' ||
row.status === 'Upgrading' ||
row.status === 'Rebuilding'
);
},
},
{
@ -486,7 +492,7 @@ const buttons = [
openParam(row);
},
disabled: (row: any) => {
return row.status === 'DownloadErr' || row.status === 'Upgrading';
return row.status === 'DownloadErr' || row.status === 'Upgrading' || row.status === 'Rebuilding';
},
},
];

Loading…
Cancel
Save