diff --git a/agent/app/dto/response/app.go b/agent/app/dto/response/app.go index 1a5aefedc7fb..d9966fe8611b 100644 --- a/agent/app/dto/response/app.go +++ b/agent/app/dto/response/app.go @@ -66,6 +66,7 @@ type AppInstalledCheck struct { InstallPath string `json:"installPath"` HttpPort int `json:"httpPort"` HttpsPort int `json:"httpsPort"` + WebsiteDir string `json:"websiteDir"` } type AppDetailDTO struct { diff --git a/agent/app/service/app_install.go b/agent/app/service/app_install.go index f5e57fa3bd0b..bf23626fb0d6 100644 --- a/agent/app/service/app_install.go +++ b/agent/app/service/app_install.go @@ -164,6 +164,11 @@ func (a *AppInstallService) CheckExist(req request.AppInstalledInfo) (*response. res.HttpPort = appInstall.HttpPort res.HttpsPort = appInstall.HttpsPort + if appInstall.App.Key == "openresty" { + websiteDir, _ := settingRepo.GetValueByKey("WEBSITE_DIR") + res.WebsiteDir = websiteDir + } + return res, nil } diff --git a/frontend/src/api/interface/app.ts b/frontend/src/api/interface/app.ts index 67b8f47af5dd..c7e8eff7dc99 100644 --- a/frontend/src/api/interface/app.ts +++ b/frontend/src/api/interface/app.ts @@ -202,6 +202,7 @@ export namespace App { installPath: string; httpPort: number; httpsPort: number; + websiteDir: string; } export interface DatabaseConnInfo { diff --git a/frontend/src/components/app-status/index.vue b/frontend/src/components/app-status/index.vue index 63c1bd1231fa..41acf72a51c3 100644 --- a/frontend/src/components/app-status/index.vue +++ b/frontend/src/components/app-status/index.vue @@ -46,9 +46,7 @@ type="primary" @click="setting" link - :disabled=" - data.status === 'Installing' || (data.status !== 'Running' && data.app === 'OpenResty') - " + :disabled="data.status === 'Installing'" > {{ $t('commons.button.set') }} diff --git a/frontend/src/components/table-search/index.vue b/frontend/src/components/table-search/index.vue index 98abdfdda915..82ebbb30ea87 100644 --- a/frontend/src/components/table-search/index.vue +++ b/frontend/src/components/table-search/index.vue @@ -7,6 +7,7 @@ @clear="search()" suffix-icon="Search" @change="search()" + :disabled="props.disabled" :placeholder="props.placeholder || $t('commons.button.search')" > @@ -21,6 +22,10 @@ const emit = defineEmits(['search', 'update:searchName']); const searchInfo = ref(); const props = defineProps({ placeholder: String, + disabled: { + type: Boolean, + default: false, + }, }); const search = () => { diff --git a/frontend/src/lang/modules/en.ts b/frontend/src/lang/modules/en.ts index 6e578a54ef3a..9e02c1bcd60d 100644 --- a/frontend/src/lang/modules/en.ts +++ b/frontend/src/lang/modules/en.ts @@ -2522,6 +2522,7 @@ const message = { browserCacheTimeHelper: 'The time static resources are cached locally in the browser, reducing redundant requests. Users will use the local cache directly before it expires when refreshing the page.', donotLinkeDB: 'Do Not Link Database', + toWebsiteDir: 'Enter Website Directory', }, php: { short_open_tag: 'Short tag support', diff --git a/frontend/src/lang/modules/ja.ts b/frontend/src/lang/modules/ja.ts index 939a1c0ab18f..b786378d81ba 100644 --- a/frontend/src/lang/modules/ja.ts +++ b/frontend/src/lang/modules/ja.ts @@ -2437,6 +2437,7 @@ const message = { browserCacheTimeHelper: '静的リソースがブラウザのローカルにキャッシュされる時間、冗長なリクエストを減らします。有効期限前にユーザーがページをリフレッシュすると、ローカルキャッシュが直接使用されます。', donotLinkeDB: 'データベースをリンクしない', + toWebsiteDir: 'ウェブサイトディレクトリに入る', }, php: { short_open_tag: '短いタグサポート', diff --git a/frontend/src/lang/modules/ko.ts b/frontend/src/lang/modules/ko.ts index f6ee68aaf73c..15019ca1130f 100644 --- a/frontend/src/lang/modules/ko.ts +++ b/frontend/src/lang/modules/ko.ts @@ -2395,6 +2395,7 @@ const message = { browserCacheTimeHelper: '정적 리소스가 브라우저 로컬에 캐시되는 시간, 중복 요청을 줄입니다. 유효기간 전에 사용자가 페이지를 새로 고치면 로컬 캐시가 직접 사용됩니다.', donotLinkeDB: '데이터베이스 연결하지 않기', + toWebsiteDir: '웹사이트 디렉토리로 이동', }, php: { short_open_tag: '짧은 태그 지원', diff --git a/frontend/src/lang/modules/ms.ts b/frontend/src/lang/modules/ms.ts index d17580ffadd1..2a400431b39a 100644 --- a/frontend/src/lang/modules/ms.ts +++ b/frontend/src/lang/modules/ms.ts @@ -2494,6 +2494,7 @@ const message = { browserCacheTimeHelper: 'Masa sumber statik di-cache secara tempatan di pelayar, mengurangkan permintaan berulang. Pengguna akan menggunakan cache tempatan secara langsung sebelum tamat tempoh semasa menyegarkan halaman.', donotLinkeDB: 'Jangan Sambungkan Pangkalan Data', + toWebsiteDir: 'Masuk ke Direktori Laman Web', }, php: { short_open_tag: 'Sokongan tag pendek', diff --git a/frontend/src/lang/modules/pt-br.ts b/frontend/src/lang/modules/pt-br.ts index 510107d04d3f..6d19e4986c18 100644 --- a/frontend/src/lang/modules/pt-br.ts +++ b/frontend/src/lang/modules/pt-br.ts @@ -2494,6 +2494,7 @@ const message = { browserCacheTimeHelper: 'O tempo que os recursos estáticos são armazenados em cache localmente no navegador, reduzindo requisições redundantes. Os usuários usarão o cache local diretamente antes de expirar ao atualizar a página.', donotLinkeDB: 'Não Vincular Banco de Dados', + toWebsiteDir: 'Entrar no Diretório do Site', }, php: { short_open_tag: 'Suporte para short tags', diff --git a/frontend/src/lang/modules/ru.ts b/frontend/src/lang/modules/ru.ts index f618ee6ffe9a..d179d1f9bf09 100644 --- a/frontend/src/lang/modules/ru.ts +++ b/frontend/src/lang/modules/ru.ts @@ -2491,6 +2491,7 @@ const message = { browserCacheTimeHelper: 'Время, в течение которого статические ресурсы кешируются локально в браузере, уменьшая повторные запросы. Пользователи будут использовать локальный кеш напрямую, если срок его действия не истек при обновлении страницы.', donotLinkeDB: 'Не связывать с базой данных', + toWebsiteDir: 'Перейти в каталог сайта', }, php: { short_open_tag: 'Поддержка коротких тегов', diff --git a/frontend/src/lang/modules/tr.ts b/frontend/src/lang/modules/tr.ts index cab52856c09b..1900bd6d6c69 100644 --- a/frontend/src/lang/modules/tr.ts +++ b/frontend/src/lang/modules/tr.ts @@ -2553,6 +2553,7 @@ const message = { browserCacheTimeHelper: 'Statik kaynakların tarayıcıda yerel olarak önbelleğe alındığı süre, tekrarlayan istekleri azaltır. Kullanıcılar süre dolmadan önce sayfayı yenilediğinde yerel önbelleği doğrudan kullanır.', donotLinkeDB: 'Veritabanına Bağlanma', + toWebsiteDir: 'Web Sitesi Dizinine Gir', }, php: { short_open_tag: 'Kısa etiket desteği', diff --git a/frontend/src/lang/modules/zh-Hant.ts b/frontend/src/lang/modules/zh-Hant.ts index a86c4014d338..b0a3892897c5 100644 --- a/frontend/src/lang/modules/zh-Hant.ts +++ b/frontend/src/lang/modules/zh-Hant.ts @@ -2352,6 +2352,7 @@ const message = { browserCacheTime: '瀏覽器緩存時間', browserCacheTimeHelper: '靜態資源在瀏覽器本地緩存的時間,減少重複請求。到期前用戶刷新頁面會直接使用本地緩存。', donotLinkeDB: '不關聯數據庫', + toWebsiteDir: '進入網站目錄', }, php: { short_open_tag: '短標簽支持', diff --git a/frontend/src/lang/modules/zh.ts b/frontend/src/lang/modules/zh.ts index 8da66746f96b..f4a08fa9ef57 100644 --- a/frontend/src/lang/modules/zh.ts +++ b/frontend/src/lang/modules/zh.ts @@ -2341,6 +2341,7 @@ const message = { browserCacheTime: '浏览器缓存时间', browserCacheTimeHelper: '静态资源在浏览器本地缓存的时间,减少重复请求。到期前用户刷新页面会直接使用本地缓存。', donotLinkeDB: '不关联数据库', + toWebsiteDir: '进入网站目录', }, php: { short_open_tag: '短标签支持', diff --git a/frontend/src/views/app-store/installed/index.vue b/frontend/src/views/app-store/installed/index.vue index 4bc1ba87c68a..44531ac46050 100644 --- a/frontend/src/views/app-store/installed/index.vue +++ b/frontend/src/views/app-store/installed/index.vue @@ -107,11 +107,8 @@ type="primary" link @click="routerToFileWithPath(installed.path)" - > - - - - + icon="FolderOpened" + > diff --git a/frontend/src/views/website/website/index.vue b/frontend/src/views/website/website/index.vue index 73b78445f050..e1dd9258571c 100644 --- a/frontend/src/views/website/website/index.vue +++ b/frontend/src/views/website/website/index.vue @@ -19,21 +19,21 @@ >