diff --git a/src/composables/useProjects.js b/src/composables/useProjects.js
index feb4257..9ccf489 100644
--- a/src/composables/useProjects.js
+++ b/src/composables/useProjects.js
@@ -2,7 +2,8 @@ import modules from '../modules/index.js'
import { ref } from 'vue'
// 读取已注册模块列表,供 TabNav 渲染页签
+// hidden 模块(如日历页)不显示在导航中,但仍可通过路由直接访问
export function useProjects() {
- const projects = ref(modules)
+ const projects = ref(modules.filter((m) => !m.hidden))
return { projects }
}
diff --git a/src/i18n/locales/en.js b/src/i18n/locales/en.js
index 17e795b..c4ed1bd 100644
--- a/src/i18n/locales/en.js
+++ b/src/i18n/locales/en.js
@@ -9,7 +9,8 @@ export default {
notAvailable: 'Not available'
},
tabs: {
- mobileGame: 'Mobile Game Project'
+ mobileGame: 'Mobile Game Project',
+ calendar: 'Calendar'
},
mobileGame: {
hero: {
diff --git a/src/i18n/locales/zh-CN.js b/src/i18n/locales/zh-CN.js
index 0e613fc..6d58965 100644
--- a/src/i18n/locales/zh-CN.js
+++ b/src/i18n/locales/zh-CN.js
@@ -8,7 +8,8 @@ export default {
notAvailable: '暂不可用'
},
tabs: {
- mobileGame: '移动游戏项目'
+ mobileGame: '移动游戏项目',
+ calendar: '日历'
},
mobileGame: {
hero: {
diff --git a/src/modules/calendar/Calendar.vue b/src/modules/calendar/Calendar.vue
new file mode 100644
index 0000000..e59da6d
--- /dev/null
+++ b/src/modules/calendar/Calendar.vue
@@ -0,0 +1,48 @@
+
+
+
+
+
+
+
diff --git a/src/modules/calendar/index.js b/src/modules/calendar/index.js
new file mode 100644
index 0000000..ece9336
--- /dev/null
+++ b/src/modules/calendar/index.js
@@ -0,0 +1,10 @@
+// 模块元数据 -- 隐藏页,仅可通过手动访问 /cqy 进入
+// hidden: true 使其不出现在 TabNav 导航中,但路由仍正常生成
+export default {
+ id: 'cqy',
+ tabKey: 'tabs.calendar',
+ order: 99,
+ hidden: true,
+ // 懒加载组件 -> 独立 chunk
+ component: () => import('./Calendar.vue')
+}