diff --git a/frontend/src/components/app-status/index.vue b/frontend/src/components/app-status/index.vue
index 23aac8b27..725d63515 100644
--- a/frontend/src/components/app-status/index.vue
+++ b/frontend/src/components/app-status/index.vue
@@ -130,7 +130,7 @@ const setting = () => {
};
const goRouter = async (key: string) => {
- router.push({ name: 'AppDetail', params: { appKey: key } });
+ router.push({ name: 'AppAll', query: { install: key } });
};
const onCheck = async () => {
diff --git a/frontend/src/routers/modules/app-store.ts b/frontend/src/routers/modules/app-store.ts
index 61dc2367c..d056def49 100644
--- a/frontend/src/routers/modules/app-store.ts
+++ b/frontend/src/routers/modules/app-store.ts
@@ -28,17 +28,6 @@ const appStoreRouter = {
requiresAuth: false,
},
},
- {
- path: 'detail/:appKey',
- name: 'AppDetail',
- component: () => import('@/views/app-store/detail/index.vue'),
- props: true,
- hidden: true,
- meta: {
- activeMenu: '/apps',
- requiresAuth: false,
- },
- },
{
path: 'installed',
name: 'AppInstalled',
diff --git a/frontend/src/views/app-store/apps/index.vue b/frontend/src/views/app-store/apps/index.vue
index a44839cb8..b91b29ddb 100644
--- a/frontend/src/views/app-store/apps/index.vue
+++ b/frontend/src/views/app-store/apps/index.vue
@@ -176,6 +176,7 @@ const canUpdate = ref(false);
const syncing = ref(false);
const detailRef = ref();
const installRef = ref();
+const installKey = ref('');
const getColor = (index: number) => {
return colorArr[index];
@@ -245,6 +246,15 @@ const searchByName = (name: string) => {
};
onMounted(() => {
+ if (router.currentRoute.value.query.install) {
+ installKey.value = String(router.currentRoute.value.query.install);
+ const params = {
+ app: {
+ key: installKey.value,
+ },
+ };
+ installRef.value.acceptParams(params);
+ }
search(req);
});
diff --git a/frontend/src/views/app-store/detail/index.vue b/frontend/src/views/app-store/detail/index.vue
index 0c76fd613..a4942e967 100644
--- a/frontend/src/views/app-store/detail/index.vue
+++ b/frontend/src/views/app-store/detail/index.vue
@@ -4,41 +4,35 @@
-
-
-
-
-
+
+
+
-
-
-
- {{ app.name }}
-
-
-
- {{ language == 'zh' || language == 'tw' ? app.shortDescZh : app.shortDescEn }}
-
-
-
-
-
-
-
-
- {{ $t('app.install') }}
-
-
+
+
+ {{ app.name }}
-
-
+
+
+ {{ language == 'zh' || language == 'tw' ? app.shortDescZh : app.shortDescEn }}
+
+
+
+
+
+
+
+ {{ $t('app.install') }}
+
+
+
@@ -170,7 +164,9 @@ defineExpose({
}
}
- .detail {
+ .icon {
+ width: 180px;
+ height: 180px;
}
.version {
diff --git a/frontend/src/views/app-store/detail/install/index.vue b/frontend/src/views/app-store/detail/install/index.vue
index 637142d71..01529b403 100644
--- a/frontend/src/views/app-store/detail/install/index.vue
+++ b/frontend/src/views/app-store/detail/install/index.vue
@@ -11,7 +11,13 @@
-
+
([]);
const handleClose = () => {
open.value = false;
resetForm();
+ if (router.currentRoute.value.query.install) {
+ router.push({ name: 'AppAll' });
+ }
};
const paramKey = ref(1);
diff --git a/frontend/src/views/app-store/detail/params/index.vue b/frontend/src/views/app-store/detail/params/index.vue
index 0e48a3be1..bce021313 100644
--- a/frontend/src/views/app-store/detail/params/index.vue
+++ b/frontend/src/views/app-store/detail/params/index.vue
@@ -249,8 +249,8 @@ const getLabel = (row: ParamObj): string => {
}
};
-const toPage = (appKey: string) => {
- router.push({ name: 'AppDetail', params: { appKey: appKey } });
+const toPage = (key: string) => {
+ router.push({ name: 'AppAll', query: { install: key } });
};
onMounted(() => {
diff --git a/frontend/src/views/database/mysql/index.vue b/frontend/src/views/database/mysql/index.vue
index 5ff82e399..39de419a6 100644
--- a/frontend/src/views/database/mysql/index.vue
+++ b/frontend/src/views/database/mysql/index.vue
@@ -355,7 +355,7 @@ const loadDB = async () => {
};
const goRouter = async () => {
- router.push({ name: 'AppDetail', params: { appKey: 'mysql' } });
+ router.push({ name: 'AppAll', query: { install: 'mysql' } });
};
const onChange = async (info: any) => {
@@ -372,7 +372,7 @@ const goDashboard = async () => {
};
const getAppDetail = (key: string) => {
- router.push({ name: 'AppDetail', params: { appKey: key } });
+ router.push({ name: 'AppAll', query: { install: key } });
};
const loadDashboardPort = async () => {
diff --git a/frontend/src/views/database/redis/index.vue b/frontend/src/views/database/redis/index.vue
index e088547bf..44f9b501a 100644
--- a/frontend/src/views/database/redis/index.vue
+++ b/frontend/src/views/database/redis/index.vue
@@ -102,7 +102,7 @@ const goDashboard = async () => {
dialogPortJumpRef.value.acceptParams({ port: redisCommandPort.value });
};
const getAppDetail = (key: string) => {
- router.push({ name: 'AppDetail', params: { appKey: key } });
+ router.push({ name: 'AppAll', query: { install: key } });
};
const loadDashboardPort = async () => {
diff --git a/frontend/src/views/home/app/index.vue b/frontend/src/views/home/app/index.vue
index ece018cc2..ac3e83074 100644
--- a/frontend/src/views/home/app/index.vue
+++ b/frontend/src/views/home/app/index.vue
@@ -64,7 +64,7 @@ const acceptParams = (): void => {
};
const goInstall = (key: string) => {
- router.push({ name: 'AppDetail', params: { appKey: key } });
+ router.push({ name: 'AppAll', query: { install: key } });
};
const search = async (req: App.AppReq) => {
diff --git a/frontend/src/views/host/file-management/index.vue b/frontend/src/views/host/file-management/index.vue
index aca67108c..8c4ba1c95 100644
--- a/frontend/src/views/host/file-management/index.vue
+++ b/frontend/src/views/host/file-management/index.vue
@@ -635,6 +635,8 @@ onMounted(() => {