feat: 增加hideSidebar配置
This commit is contained in:
@ -3,11 +3,13 @@ import { useAppStore } from '@/stores';
|
||||
import { useResponsive } from '@/hooks';
|
||||
import JoinModal from '@/components/join-modal.vue';
|
||||
import { getQueryParam } from '@/utils/helper';
|
||||
import { ref, onMounted } from 'vue';
|
||||
import { ref, onMounted, computed } from 'vue';
|
||||
import { useRoute } from 'vue-router';
|
||||
|
||||
const joinEnterpriseVisible = ref(false);
|
||||
const appStore = useAppStore();
|
||||
const router = useRouter();
|
||||
const route = useRoute();
|
||||
|
||||
useResponsive(true);
|
||||
const navbarHeight = `60px`;
|
||||
@ -26,11 +28,10 @@ const paddingStyle = computed(() => {
|
||||
const paddingTop = navbar.value ? { paddingTop: navbarHeight } : {};
|
||||
return { ...paddingLeft, ...paddingTop };
|
||||
});
|
||||
const showSidebar = ref(false);
|
||||
const route = useRoute();
|
||||
// onMounted(() => {
|
||||
// showSidebar.value = route.meta.requiresSidebar == true;
|
||||
// });
|
||||
const showSidebar = computed(() => {
|
||||
return !(route.meta && route.meta.hideSidebar);
|
||||
});
|
||||
|
||||
onMounted(() => {
|
||||
checkHasInviteCode();
|
||||
});
|
||||
@ -62,7 +63,7 @@ provide('toggleDrawerMenu', () => {
|
||||
<a-layout>
|
||||
<a-layout>
|
||||
<a-layout-sider
|
||||
v-if="renderMenu"
|
||||
v-if="renderMenu && showSidebar"
|
||||
v-show="!hideMenu"
|
||||
class="layout-sider"
|
||||
breakpoint="xl"
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
* @Author: 田鑫
|
||||
* @Date: 2023-03-05 18:14:17
|
||||
* @LastEditors: Please set LastEditors
|
||||
* @LastEditTime: 2025-06-20 05:35:27
|
||||
* @LastEditTime: 2025-06-22 22:46:01
|
||||
* @Description:
|
||||
*/
|
||||
import { createRouter, createWebHistory } from 'vue-router';
|
||||
@ -20,17 +20,20 @@ const router = createRouter({
|
||||
routes: [
|
||||
{
|
||||
path: '/login',
|
||||
name: 'UserLogin',
|
||||
name: 'login',
|
||||
component: () => import('@/views/components/login'),
|
||||
},
|
||||
{
|
||||
path: '/workplace',
|
||||
name: 'workplace',
|
||||
component: () => import('@/views/components/workplace'),
|
||||
meta: {
|
||||
hideSidebar: true,
|
||||
},
|
||||
},
|
||||
{
|
||||
path: '/',
|
||||
name: 'Home',
|
||||
name: 'dataEngine',
|
||||
redirect: '/dataEngine/dataEngine/hotTranslation',
|
||||
children: [...appRoutes, REDIRECT_MAIN, NOT_FOUND_ROUTE],
|
||||
},
|
||||
|
||||
3
src/router/typeings.d.ts
vendored
3
src/router/typeings.d.ts
vendored
@ -3,7 +3,7 @@ import { RouteComponent } from 'vue-router';
|
||||
declare module 'vue-router' {
|
||||
interface RouteMeta {
|
||||
roles?: string[]; // Controls roles that have access to the page
|
||||
requiresAuth: boolean; // Whether login is required to access the current page (every route must declare)
|
||||
requiresAuth?: boolean; // Whether login is required to access the current page (every route must declare)
|
||||
icon?: RouteComponent; // The icon show in the side menu
|
||||
locale?: string; // The locale name show in side menu and breadcrumb
|
||||
needNavigate?: boolean; // if set true, the breadcrumb will support navigate
|
||||
@ -13,5 +13,6 @@ declare module 'vue-router' {
|
||||
order?: number; // Sort routing menu items. If set key, the higher the value, the more forward it is
|
||||
noAffix?: boolean; // if set true, the tag will not affix in the tab-bar
|
||||
ignoreCache?: boolean; // if set true, the page will not be cached
|
||||
hideSidebar?: boolean;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user