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 Icon
- -
-
- {{ 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(() => {