diff --git a/frontend/src/assets/images/no_app.svg b/frontend/src/assets/images/no_app.svg
new file mode 100644
index 000000000..74c0fdd0f
--- /dev/null
+++ b/frontend/src/assets/images/no_app.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/frontend/src/assets/images/no_update_app.svg b/frontend/src/assets/images/no_update_app.svg
new file mode 100644
index 000000000..29474741c
--- /dev/null
+++ b/frontend/src/assets/images/no_update_app.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/frontend/src/components/app-status/index.vue b/frontend/src/components/app-status/index.vue
index 74246da74..0fa177a36 100644
--- a/frontend/src/components/app-status/index.vue
+++ b/frontend/src/components/app-status/index.vue
@@ -32,14 +32,22 @@
-
-
- {{ $t('app.checkInstalledWarn', [data.app]) }}
-
-
- {{ $t('database.goInstall') }}
-
-
+
+
+
+
+
{{ $t('app.checkInstalledWarn', [data.app]) }}
+
+
+ {{ $t('database.goInstall') }}
+
+
+

+
+
+
+
+
@@ -50,6 +58,7 @@ import { onMounted, reactive, ref } from 'vue';
import Status from '@/components/status/index.vue';
import { ElMessage, ElMessageBox } from 'element-plus';
import i18n from '@/lang';
+import LayoutContent from '@/layout/layout-content.vue';
const props = defineProps({
appKey: {
@@ -116,6 +125,17 @@ const onOperate = async (operation: string) => {
});
};
+const getTitle = (key: string) => {
+ switch (key) {
+ case 'nginx':
+ return i18n.global.t('website.website');
+ case 'mysql':
+ return 'Mysql ' + i18n.global.t('menu.database');
+ case 'redis':
+ return 'Redis ' + i18n.global.t('menu.database');
+ }
+};
+
onMounted(() => {
key.value = props.appKey;
onCheck();
@@ -145,11 +165,25 @@ onMounted(() => {
.app-warn {
text-align: center;
- margin-top: 200px;
- span {
- font-weight: 500;
- font-size: 16px;
+ margin-top: 100px;
+ span:first-child {
+ // font-weight: 500;
+ // font-size: 16px;
color: #bbbfc4;
}
+
+ span:nth-child(2) {
+ color: $primary-color;
+ cursor: pointer;
+ }
+
+ span:nth-child(2):hover {
+ color: #74a4f3;
+ }
+
+ img {
+ width: 300px;
+ height: 300px;
+ }
}
diff --git a/frontend/src/lang/modules/zh.ts b/frontend/src/lang/modules/zh.ts
index ad0b7a028..52e62c002 100644
--- a/frontend/src/lang/modules/zh.ts
+++ b/frontend/src/lang/modules/zh.ts
@@ -252,7 +252,7 @@ export default {
noMysql: '当前未检测到 {0} 数据库,请进入应用商店点击安装!',
mysqlBadStatus: '当前 mysql 应用状态异常,请在',
adjust: '中查看原因或修改配置',
- goInstall: '去安装',
+ goInstall: '去应用商店安装',
source: '来源',
backup: '备份',
permission: '权限',
diff --git a/frontend/src/views/app-store/index.scss b/frontend/src/views/app-store/index.scss
index 22b7ae9d1..059015f03 100644
--- a/frontend/src/views/app-store/index.scss
+++ b/frontend/src/views/app-store/index.scss
@@ -76,9 +76,14 @@
.update-prompt {
text-align: center;
+ margin-top: 100px;
+
span {
- font-weight: 500;
- font-size: 16px;
color: #bbbfc4;
}
+
+ img {
+ width: 300px;
+ height: 300px;
+ }
}
diff --git a/frontend/src/views/app-store/installed/index.vue b/frontend/src/views/app-store/installed/index.vue
index f899babfd..4a4f15642 100644
--- a/frontend/src/views/app-store/installed/index.vue
+++ b/frontend/src/views/app-store/installed/index.vue
@@ -3,20 +3,25 @@
-
-
- {{ $t('app.all') }}
+
+ {{ $t('app.all') }}
+
+
+
+ {{ item.name }}
-
-
- {{ item.name }}
-
-
@@ -39,8 +44,11 @@
{{ $t('app.sync') }}
-
-
{{ $t('app.updatePrompt') }}
+
+
{{ $t('app.updatePrompt') }}
+
+

+