diff --git a/src/layouts/sakai-vue/AppMenu.vue b/src/layouts/sakai-vue/AppMenu.vue index 01d606c..19397e3 100644 --- a/src/layouts/sakai-vue/AppMenu.vue +++ b/src/layouts/sakai-vue/AppMenu.vue @@ -1,7 +1,33 @@ - + diff --git a/src/pages/[...path].page.vue b/src/pages/[...path].page.vue index ad999be..02edde2 100644 --- a/src/pages/[...path].page.vue +++ b/src/pages/[...path].page.vue @@ -1,7 +1,8 @@ diff --git a/src/plugins/router.ts b/src/plugins/router.ts index 1af60ef..cf424e0 100644 --- a/src/plugins/router.ts +++ b/src/plugins/router.ts @@ -1,13 +1,19 @@ import { DataLoaderPlugin } from 'unplugin-vue-router/data-loaders'; -import { setupLayouts } from 'virtual:generated-layouts'; +import { setupLayouts, createGetRoutes } from 'virtual:generated-layouts'; import { createRouter, createWebHistory } from 'vue-router/auto'; import { handleHotUpdate, routes } from 'vue-router/auto-routes'; const router = createRouter({ history: createWebHistory(import.meta.env.BASE_URL), - routes: setupLayouts(routes), + routes: /* routes ?? */ setupLayouts(routes), strict: true, - scrollBehavior: () => ({ left: 0, top: 0 }), + scrollBehavior: (_to, _from, savedPosition) => { + if (savedPosition) { + return savedPosition; + } else { + return { left: 0, top: 0 }; + } + }, }); if (import.meta.hot) handleHotUpdate(router); if ($__DEV__) Object.assign(window, { router }); @@ -22,6 +28,14 @@ export function install({ app }: { app: import('vue').App }) { .use(DataLoaderPlugin, { router }) // adding the router will trigger the initial navigation .use(router); + if ('2' === ('1' as never)) { + const getRoutes = createGetRoutes(router); + const setupLayoutsResult = setupLayouts(routes); + + console.debug(`routes :>> `, routes); + console.debug(`getRoutes() :>> `, getRoutes()); // 获取路由表但是不包含布局路由 + console.debug(`setupLayoutsResult :>> `, setupLayoutsResult); + } } // ======================================================================== // =========================== Router Guards ============================== diff --git a/typed-router.d.ts b/typed-router.d.ts index 312a654..0c2a479 100644 --- a/typed-router.d.ts +++ b/typed-router.d.ts @@ -21,6 +21,8 @@ declare module 'vue-router/auto-routes' { 'Root': RouteRecordInfo<'Root', '/', Record, Record>, '$Path': RouteRecordInfo<'$Path', '/:path(.*)', { path: ParamValue }, { path: ParamValue }>, '中文页面': RouteRecordInfo<'中文页面', '/中文-页面', Record, Record>, + 'A': RouteRecordInfo<'A', '/a', Record, Record>, + 'AA': RouteRecordInfo<'AA', '/a/a', Record, Record>, 'Api': RouteRecordInfo<'Api', '/api', Record, Record>, 'DataLoadersId': RouteRecordInfo<'DataLoadersId', '/data-loaders/:id', { id: ParamValue }, { id: ParamValue }>, 'DataLoadersIdSub1UserId': RouteRecordInfo<'DataLoadersIdSub1UserId', '/data-loaders/:id/sub-1/:userId', { id: ParamValue, userId: ParamValue }, { id: ParamValue, userId: ParamValue }>,