当前位置: 首页 > wzjs >正文

智能网站建设系统营销推广活动策划

智能网站建设系统,营销推广活动策划,怎么在中国移动做网站备案,网站备案取名一.首先需要准备两个数组: 1.基础路由配置 2.所有可能的路由配置(包括嵌套路由) // 基础路由配置 const routes [{path: /,name: Login,component: Login,meta: { title: 登录 } // 添加页面标题元数据},{path: /all,name: all,component…

一.首先需要准备两个数组:


1.基础路由配置
2.所有可能的路由配置(包括嵌套路由)
 

// 基础路由配置
const routes = [{path: '/',name: 'Login',component: Login,meta: { title: '登录' } // 添加页面标题元数据},{path: '/all',name: 'all',component: () => import('@/components/all.vue'),children: [] // 初始时子路由为空,后续动态添加}
];// 所有可能的路由配置(包括嵌套路由)
const allPossibleRoutes = [{path: '/home',name: 'Home',component: () => import('@/views/Home.vue'),meta: { title: '首页', requiresAuth: true, role: ['*'] }},{path: '/control',name: 'Control',component: () => import('@/views/Control.vue'),meta: { title: '菜单管理', requiresAuth: true, role: ['2'] }},{path: '/role',name: 'Role',component: () => import('@/views/Role.vue'),meta: { title: '角色管理', requiresAuth: true, role: ['1'] }},{path: '/nested',name: 'Nested',component: () => import('@/views/Nested.vue'),meta: { title: '嵌套页面', requiresAuth: true, role: ['1', '2'] },children: [{path: 'subpage1',name: 'SubPage1',component: () => import('@/views/SubPage1.vue'),meta: { title: '子页面1', requiresAuth: true, role: ['1'] }},{path: 'subpage2',name: 'SubPage2',component: () => import('@/views/SubPage2.vue'),meta: { title: '子页面2', requiresAuth: true, role: ['2'] }},{path: 'subpage3',name: 'SubPage3',component: () => import('@/views/SubPage3.vue'),meta: { title: '子页面3', requiresAuth: true, role: ['1', '2'] },children: [{path: 'subsubpage1',name: 'SubSubPage1',component: () => import('@/views/SubSubPage1.vue'),meta: { title: '子子页面1', requiresAuth: true, role: ['1'] }}]}]}
];

二.创建路由实例
 

// 创建路由实例const router = createRouter({history: createWebHistory(import.meta.env.BASE_URL),routes: routes});

三.获取本地存储的 role(用于根据用户角色判断哪个页面显示)

// 获取本地存储的 role
const role = sessionStorage.getItem('role');
console.log('本地存储的 role:', role);

四.递归处理多维数组(嵌套路由)的权限过滤,并添加新路由

const filterNestedRoutes = (routes, role) => {return routes.map(route => {const newRoute = { ...route };const requiredRoles = newRoute.meta?.role || [];if (requiredRoles.includes('*') || requiredRoles.includes(role + '')) {if (newRoute.children && newRoute.children.length > 0) {newRoute.children = filterNestedRoutes(newRoute.children, role);}return newRoute;}return null;}).filter(route => route !== null);
};// 权限过滤方法
const filterRoutes = (routes, role) => {console.log('全部的路由', routes);return filterNestedRoutes(routes, role);
};// 过滤并添加新路由
const allowedRoutes = filterRoutes(allPossibleRoutes, role);
allowedRoutes.forEach(route => {if (route.children && route.children.length > 0) {// 如果有子路由,先添加父路由router.addRoute('all', route);route.children.forEach(childRoute => {router.addRoute(route.name, childRoute);});} else {router.addRoute('all', route);}
});
console.log(allowedRoutes);
sessionStorage.setItem('allowedRoutes', JSON.stringify(allowedRoutes));


五.添加路由守卫
 

router.beforeEach((to, from, next) => {const requiredAuth = to.meta?.requiresAuth;const requiredRoles = to.meta?.role || [];if (requiredAuth &&!role) {// 如果需要认证且没有角色信息,重定向到登录页面next('/');} else if (requiredAuth && role &&!requiredRoles.includes('*') &&!requiredRoles.includes(role + '')) {// 如果需要认证且角色不匹配,重定向到登录页面next('/');} else {next();}
});

http://www.dtcms.com/wzjs/370315.html

相关文章:

  • 谷歌翻译做多语言网站百度视频推广
  • 一个网站怎么赚钱北京网站推广助理
  • 怎样做党史网站网站建设有哪些公司
  • 导航栏网站模板特效国内新闻最新消息
  • 网站建设 中企动力洛阳分公司宁波网站推广怎么做
  • 做网站服务公司百度人工服务24小时电话
  • 网站建设结束的售后服务搜狗站长平台打不开
  • 网站做的相似百度广告联盟app下载官网
  • adsence wordpress优化大师平台
  • 艾纳网站建设电商运营数据六大指标
  • 没有注册公司怎么做网站安徽seo优化
  • 2018年静安区品牌网站建设营销网站类型
  • wordpress 分类导航seo英文
  • 网站正在建设中模板下载网络营销课程个人总结
  • 磁县企业做网站推广google官方版下载
  • 南通市建设局网站马建明中国国家培训网官网入口
  • 免费微网站有哪些石家庄网络seo推广
  • 怎么做科技小制作视频网站windows优化大师是什么软件
  • 基于html做电商网站论文今日小说搜索百度风云榜
  • 海南智能网站建设报价一个公司可以做几个百度推广
  • 网站设计风格升级在线制作网站免费
  • 龙岗做网站凡科建站和华为云哪个好
  • 淄博政府网站建设公司百度关键词推广帝搜软件
  • 抖音代运营合作模式seo发包技术教程
  • 国外做宠物用品的网站下载百度软件
  • 网站建设服务哪家安卓优化大师
  • flash 如何做游戏下载网站百度帐号管家
  • 来广营做网站整站seo优化公司
  • 写网站方案万网官网域名查询
  • 做网站的公司有多少家百度搜索引擎优化指南最新版