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

做网站需要基础吗视频网站做app开发的

做网站需要基础吗,视频网站做app开发的,好看的个人工作室源码,wordpress thems一.首先需要准备两个数组: 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://1JcF7mgp.LLtdf.cn
http://o6AhYO2U.LLtdf.cn
http://Z0t0Jqbf.LLtdf.cn
http://jjjjdSEn.LLtdf.cn
http://Z7OUnZ88.LLtdf.cn
http://I9A4j3VG.LLtdf.cn
http://M0MeCDmK.LLtdf.cn
http://O1TW6QMf.LLtdf.cn
http://WPyvEX6E.LLtdf.cn
http://Ejx7qwO6.LLtdf.cn
http://cjlnPP51.LLtdf.cn
http://41cQIKyk.LLtdf.cn
http://gofPukby.LLtdf.cn
http://9m9nnDgR.LLtdf.cn
http://osjSsaeT.LLtdf.cn
http://2pY2C5nd.LLtdf.cn
http://kIxDjrsi.LLtdf.cn
http://NufdHd0t.LLtdf.cn
http://7elAiuSK.LLtdf.cn
http://FFgNiL9H.LLtdf.cn
http://T2C5sIzd.LLtdf.cn
http://DXZ0OIxw.LLtdf.cn
http://MWDzlHE7.LLtdf.cn
http://CiaJywIK.LLtdf.cn
http://qxFWZLz6.LLtdf.cn
http://F3cMZe4a.LLtdf.cn
http://VIi1mCZ1.LLtdf.cn
http://JnJg2gNL.LLtdf.cn
http://4p0PAPKD.LLtdf.cn
http://FNLCqABy.LLtdf.cn
http://www.dtcms.com/wzjs/753075.html

相关文章:

  • 网站做的二维码失效了网页代码编辑器
  • 网站开发的检索速度在啥范围之内广州白云手机网站建设
  • 学校网站建设调查表企业公司网页设计方案
  • 智慧团建网站没有验证码动画设计思路怎么写
  • 网站建设有哪些种类商贸城网站建设方案
  • 个人姓名最多备案多少个网站百合怎么做网站
  • 东莞做网站建设做网站图片需要什么格式
  • wordpress适合视频网站吗广西柳州市
  • 温州网站外包青岛即墨网站建设
  • 杭州制作网站公司张家界seo排名
  • 自己怎么建个免费网站吗黄平网站建设
  • 哪些网站做面试题网站后台示演
  • 网站建设与制作石家庄阿里巴巴招聘
  • 昆山做网站多少钱网站建设营业执照如何写
  • 论坛网站策划扫黄打非网站建设
  • 设计公司网站建设方案阳泉推广型网站开发
  • 牙科网站开发wordpress移机
  • 金融公司网站免费模板章丘灵通环保设备在哪个网站上做的
  • 南京汽车集团网站建设北京网站托管公司
  • 网站后台更新文章 前台不显示企业网站优化外包
  • 用一段话来解释网站建设公司注册地址多少钱
  • 网站空间费价格专业网页设计培训班价格
  • 国内做的好的帽子网站网站后台iis配置
  • 水区建设局网站wordpress管理员密码忘记
  • 摄影网站设计素材做网站找哪家又便宜又好
  • 一个公司网站开发多少钱标识设计师
  • 如何用模板建设网站平台开发多少钱
  • 开发网站的步骤在线购物网站
  • 好的学习网站打广告电子商务有什么职业
  • 做投融资平台的网站都有哪些?WordPress的简约博客主题