From 437727fdd4529887fab12df28cda3b0bd0f57e1a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=B8=A5=E6=B5=A9?= Date: Tue, 21 Oct 2025 18:07:51 +0800 Subject: [PATCH] feat(menu): base-layout-sider.vue --- package.json | 2 +- pnpm-lock.yaml | 30 ++--- src/layouts/base-layout/base-layout-sider.vue | 106 ++++++++++++++++++ src/layouts/base-layout/base-layout.vue | 5 +- src/pages/Home.page.vue | 12 ++ src/pages/page/demo-api.page.vue | 5 + src/pages/page/demo-icons.page.vue | 5 + typed-router.d.ts | 76 +++++++++++-- worker-configuration.d.ts | 7 +- 9 files changed, 216 insertions(+), 32 deletions(-) create mode 100644 src/layouts/base-layout/base-layout-sider.vue create mode 100644 src/pages/Home.page.vue create mode 100644 src/pages/page/demo-api.page.vue create mode 100644 src/pages/page/demo-icons.page.vue diff --git a/package.json b/package.json index 23aea67..7ccf60c 100644 --- a/package.json +++ b/package.json @@ -57,7 +57,7 @@ "utils4u": "^4.2.3", "vue": "^3.5.21", "vue-i18n": "^11.1.12", - "vue-router": "^4.5.1" + "vue-router": "^4.6.3" }, "devDependencies": { "@cloudflare/vite-plugin": "^1.13.2", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index b75d60b..d8dc124 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -52,7 +52,7 @@ importers: version: 4.1.0 utils4u: specifier: ^4.2.3 - version: 4.2.3(@vueuse/core@13.9.0(vue@3.5.22(typescript@5.9.2)))(nprogress@0.2.0)(primevue@4.4.0(vue@3.5.22(typescript@5.9.2)))(vue-router@4.5.1(vue@3.5.22(typescript@5.9.2)))(vue@3.5.22(typescript@5.9.2)) + version: 4.2.3(@vueuse/core@13.9.0(vue@3.5.22(typescript@5.9.2)))(nprogress@0.2.0)(primevue@4.4.0(vue@3.5.22(typescript@5.9.2)))(vue-router@4.6.3(vue@3.5.22(typescript@5.9.2)))(vue@3.5.22(typescript@5.9.2)) vue: specifier: ^3.5.21 version: 3.5.22(typescript@5.9.2) @@ -60,8 +60,8 @@ importers: specifier: ^11.1.12 version: 11.1.12(vue@3.5.22(typescript@5.9.2)) vue-router: - specifier: ^4.5.1 - version: 4.5.1(vue@3.5.22(typescript@5.9.2)) + specifier: ^4.6.3 + version: 4.6.3(vue@3.5.22(typescript@5.9.2)) devDependencies: '@cloudflare/vite-plugin': specifier: ^1.13.2 @@ -218,7 +218,7 @@ importers: version: 29.2.0(vite@7.1.10(@types/node@22.18.12)(jiti@2.6.1)(lightningcss@1.30.1)(sass-embedded@1.93.2)(sass@1.93.2)(terser@5.44.0)(yaml@2.8.1)) unplugin-vue-router: specifier: ^0.16.0 - version: 0.16.0(@vue/compiler-sfc@3.5.22)(typescript@5.9.2)(vue-router@4.5.1(vue@3.5.22(typescript@5.9.2)))(vue@3.5.22(typescript@5.9.2)) + version: 0.16.0(@vue/compiler-sfc@3.5.22)(typescript@5.9.2)(vue-router@4.6.3(vue@3.5.22(typescript@5.9.2)))(vue@3.5.22(typescript@5.9.2)) vite: specifier: ^7.1.5 version: 7.1.10(@types/node@22.18.12)(jiti@2.6.1)(lightningcss@1.30.1)(sass-embedded@1.93.2)(sass@1.93.2)(terser@5.44.0)(yaml@2.8.1) @@ -236,7 +236,7 @@ importers: version: 8.0.3(vite@7.1.10(@types/node@22.18.12)(jiti@2.6.1)(lightningcss@1.30.1)(sass-embedded@1.93.2)(sass@1.93.2)(terser@5.44.0)(yaml@2.8.1))(vue@3.5.22(typescript@5.9.2)) vite-plugin-vue-meta-layouts: specifier: ^0.6.1 - version: 0.6.1(vite@7.1.10(@types/node@22.18.12)(jiti@2.6.1)(lightningcss@1.30.1)(sass-embedded@1.93.2)(sass@1.93.2)(terser@5.44.0)(yaml@2.8.1))(vue-router@4.5.1(vue@3.5.22(typescript@5.9.2))) + version: 0.6.1(vite@7.1.10(@types/node@22.18.12)(jiti@2.6.1)(lightningcss@1.30.1)(sass-embedded@1.93.2)(sass@1.93.2)(terser@5.44.0)(yaml@2.8.1))(vue-router@4.6.3(vue@3.5.22(typescript@5.9.2))) vite-plugin-webfont-dl: specifier: ^3.11.1 version: 3.11.1(vite@7.1.10(@types/node@22.18.12)(jiti@2.6.1)(lightningcss@1.30.1)(sass-embedded@1.93.2)(sass@1.93.2)(terser@5.44.0)(yaml@2.8.1)) @@ -5243,10 +5243,10 @@ packages: peerDependencies: vue: ^2.7.0 || ^3.2.25 - vue-router@4.5.1: - resolution: {integrity: sha512-ogAF3P97NPm8fJsE4by9dwSYtDwXIY1nFY9T6DyQnGHd1E2Da94w9JIolpe42LJGIl0DwOHBi8TcRPlPGwbTtw==} + vue-router@4.6.3: + resolution: {integrity: sha512-ARBedLm9YlbvQomnmq91Os7ck6efydTSpRP3nuOKCvgJOHNrhRoJDSKtee8kcL1Vf7nz6U+PMBL+hTvR3bTVQg==} peerDependencies: - vue: ^3.2.0 + vue: ^3.5.0 vue-tsc@3.1.0: resolution: {integrity: sha512-fbMynMG7kXSnqZTRBSCh9ROYaVpXfCZbEO0gY3lqOjLbp361uuS88n6BDajiUriDIF+SGLWoinjvf6stS2J3Gg==} @@ -10149,7 +10149,7 @@ snapshots: unplugin-utils: 0.3.1 vite: 7.1.10(@types/node@22.18.12)(jiti@2.6.1)(lightningcss@1.30.1)(sass-embedded@1.93.2)(sass@1.93.2)(terser@5.44.0)(yaml@2.8.1) - unplugin-vue-router@0.16.0(@vue/compiler-sfc@3.5.22)(typescript@5.9.2)(vue-router@4.5.1(vue@3.5.22(typescript@5.9.2)))(vue@3.5.22(typescript@5.9.2)): + unplugin-vue-router@0.16.0(@vue/compiler-sfc@3.5.22)(typescript@5.9.2)(vue-router@4.6.3(vue@3.5.22(typescript@5.9.2)))(vue@3.5.22(typescript@5.9.2)): dependencies: '@babel/generator': 7.28.3 '@vue-macros/common': 3.1.1(vue@3.5.22(typescript@5.9.2)) @@ -10170,7 +10170,7 @@ snapshots: unplugin-utils: 0.3.1 yaml: 2.8.1 optionalDependencies: - vue-router: 4.5.1(vue@3.5.22(typescript@5.9.2)) + vue-router: 4.6.3(vue@3.5.22(typescript@5.9.2)) transitivePeerDependencies: - typescript - vue @@ -10194,13 +10194,13 @@ snapshots: util-deprecate@1.0.2: {} - utils4u@4.2.3(@vueuse/core@13.9.0(vue@3.5.22(typescript@5.9.2)))(nprogress@0.2.0)(primevue@4.4.0(vue@3.5.22(typescript@5.9.2)))(vue-router@4.5.1(vue@3.5.22(typescript@5.9.2)))(vue@3.5.22(typescript@5.9.2)): + utils4u@4.2.3(@vueuse/core@13.9.0(vue@3.5.22(typescript@5.9.2)))(nprogress@0.2.0)(primevue@4.4.0(vue@3.5.22(typescript@5.9.2)))(vue-router@4.6.3(vue@3.5.22(typescript@5.9.2)))(vue@3.5.22(typescript@5.9.2)): optionalDependencies: '@vueuse/core': 13.9.0(vue@3.5.22(typescript@5.9.2)) nprogress: 0.2.0 primevue: 4.4.0(vue@3.5.22(typescript@5.9.2)) vue: 3.5.22(typescript@5.9.2) - vue-router: 4.5.1(vue@3.5.22(typescript@5.9.2)) + vue-router: 4.6.3(vue@3.5.22(typescript@5.9.2)) varint@6.0.0: {} @@ -10318,11 +10318,11 @@ snapshots: transitivePeerDependencies: - supports-color - vite-plugin-vue-meta-layouts@0.6.1(vite@7.1.10(@types/node@22.18.12)(jiti@2.6.1)(lightningcss@1.30.1)(sass-embedded@1.93.2)(sass@1.93.2)(terser@5.44.0)(yaml@2.8.1))(vue-router@4.5.1(vue@3.5.22(typescript@5.9.2))): + vite-plugin-vue-meta-layouts@0.6.1(vite@7.1.10(@types/node@22.18.12)(jiti@2.6.1)(lightningcss@1.30.1)(sass-embedded@1.93.2)(sass@1.93.2)(terser@5.44.0)(yaml@2.8.1))(vue-router@4.6.3(vue@3.5.22(typescript@5.9.2))): dependencies: local-pkg: 0.5.1 vite: 7.1.10(@types/node@22.18.12)(jiti@2.6.1)(lightningcss@1.30.1)(sass-embedded@1.93.2)(sass@1.93.2)(terser@5.44.0)(yaml@2.8.1) - vue-router: 4.5.1(vue@3.5.22(typescript@5.9.2)) + vue-router: 4.6.3(vue@3.5.22(typescript@5.9.2)) vite-plugin-webfont-dl@3.11.1(vite@7.1.10(@types/node@22.18.12)(jiti@2.6.1)(lightningcss@1.30.1)(sass-embedded@1.93.2)(sass@1.93.2)(terser@5.44.0)(yaml@2.8.1)): dependencies: @@ -10475,7 +10475,7 @@ snapshots: - vue-tsc - webpack - vue-router@4.5.1(vue@3.5.22(typescript@5.9.2)): + vue-router@4.6.3(vue@3.5.22(typescript@5.9.2)): dependencies: '@vue/devtools-api': 6.6.4 vue: 3.5.22(typescript@5.9.2) diff --git a/src/layouts/base-layout/base-layout-sider.vue b/src/layouts/base-layout/base-layout-sider.vue new file mode 100644 index 0000000..495a5e6 --- /dev/null +++ b/src/layouts/base-layout/base-layout-sider.vue @@ -0,0 +1,106 @@ + + + diff --git a/src/layouts/base-layout/base-layout.vue b/src/layouts/base-layout/base-layout.vue index c65c08c..30f805d 100644 --- a/src/layouts/base-layout/base-layout.vue +++ b/src/layouts/base-layout/base-layout.vue @@ -1,6 +1,7 @@ + + diff --git a/src/pages/page/demo-api.page.vue b/src/pages/page/demo-api.page.vue new file mode 100644 index 0000000..d6da621 --- /dev/null +++ b/src/pages/page/demo-api.page.vue @@ -0,0 +1,5 @@ + + + diff --git a/src/pages/page/demo-icons.page.vue b/src/pages/page/demo-icons.page.vue new file mode 100644 index 0000000..54a0a22 --- /dev/null +++ b/src/pages/page/demo-icons.page.vue @@ -0,0 +1,5 @@ + + + diff --git a/typed-router.d.ts b/typed-router.d.ts index 155fc7f..24c65d7 100644 --- a/typed-router.d.ts +++ b/typed-router.d.ts @@ -1,10 +1,15 @@ /* eslint-disable */ /* prettier-ignore */ // @ts-nocheck +// noinspection ES6UnusedImports // Generated by unplugin-vue-router. ‼️ DO NOT MODIFY THIS FILE ‼️ // It's recommended to commit this file. // Make sure to add this file to your tsconfig.json file as an "includes" or "files" entry. +declare module 'vue-router/auto-resolver' { + export type ParamParserCustom = never +} + declare module 'vue-router/auto-routes' { import type { RouteRecordInfo, @@ -18,13 +23,46 @@ declare module 'vue-router/auto-routes' { * Route name map generated by unplugin-vue-router */ export interface RouteNamedMap { - 'Root': RouteRecordInfo<'Root', '/', Record, Record>, - '$Path': RouteRecordInfo<'$Path', '/:path(.*)', { path: ParamValue }, { path: ParamValue }>, + 'Root': RouteRecordInfo< + 'Root', + '/', + Record, + Record, + | never + >, + '$Path': RouteRecordInfo< + '$Path', + '/:path(.*)', + { path: ParamValue }, + { path: ParamValue }, + | never + >, + 'Home': RouteRecordInfo< + 'Home', + '/Home', + Record, + Record, + | never + >, + 'PageDemoApi': RouteRecordInfo< + 'PageDemoApi', + '/page/demo-api', + Record, + Record, + | never + >, + 'PageDemoIcons': RouteRecordInfo< + 'PageDemoIcons', + '/page/demo-icons', + Record, + Record, + | never + >, } /** * Route file to route info map by unplugin-vue-router. - * Used by the volar plugin to automatically type useRoute() + * Used by the \`sfc-typed-router\` Volar plugin to automatically type \`useRoute()\`. * * Each key is a file path relative to the project root with 2 properties: * - routes: union of route names of the possible routes when in this page (passed to useRoute<...>()) @@ -34,18 +72,40 @@ declare module 'vue-router/auto-routes' { */ export interface _RouteFileInfoMap { 'src/pages/index.page.vue': { - routes: 'Root' - views: never + routes: + | 'Root' + views: + | never } 'src/pages/[...path].page.vue': { - routes: '$Path' - views: never + routes: + | '$Path' + views: + | never + } + 'src/pages/Home.page.vue': { + routes: + | 'Home' + views: + | never + } + 'src/pages/page/demo-api.page.vue': { + routes: + | 'PageDemoApi' + views: + | never + } + 'src/pages/page/demo-icons.page.vue': { + routes: + | 'PageDemoIcons' + views: + | never } } /** * Get a union of possible route names in a certain route component file. - * Used by the volar plugin to automatically type useRoute() + * Used by the \`sfc-typed-router\` Volar plugin to automatically type \`useRoute()\`. * * @internal */ diff --git a/worker-configuration.d.ts b/worker-configuration.d.ts index 35d9123..bd2a08a 100644 --- a/worker-configuration.d.ts +++ b/worker-configuration.d.ts @@ -1,5 +1,5 @@ /* eslint-disable */ -// Generated by Wrangler by running `wrangler types` (hash: c8d566f9236103c3d936718f23f1bb71) +// Generated by Wrangler by running `wrangler types` (hash: 7094267439eea3789640d49ba1e25377) // Runtime types generated with workerd@1.20251008.0 2025-09-09 declare namespace Cloudflare { interface GlobalProps { @@ -7,11 +7,6 @@ declare namespace Cloudflare { } interface Env { KV: KVNamespace; - VITE_APP_TITLE: string; - VITE_APP_BASE: string; - VITE_APP_BUILD_SOURCE_MAP: string; - VITE_APP_BUILD_COMMIT: string; - VITE_APP_BUILD_TIME: string; } } interface Env extends Cloudflare.Env {}