{"remainingRequest":"C:\\Users\\Admin\\Desktop\\education\\frontend\\node_modules\\babel-loader\\lib\\index.js!C:\\Users\\Admin\\Desktop\\education\\frontend\\src\\store\\modules\\permission.js","dependencies":[{"path":"C:\\Users\\Admin\\Desktop\\education\\frontend\\src\\store\\modules\\permission.js","mtime":1787567871567},{"path":"C:\\Users\\Admin\\Desktop\\education\\frontend\\babel.config.js","mtime":1787567871334},{"path":"C:\\Users\\Admin\\Desktop\\education\\frontend\\node_modules\\cache-loader\\dist\\cjs.js","mtime":1787309791955},{"path":"C:\\Users\\Admin\\Desktop\\education\\frontend\\node_modules\\babel-loader\\lib\\index.js","mtime":1787309793142}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:InVzZSBzdHJpY3QiOwoKdmFyIF9pbnRlcm9wUmVxdWlyZVdpbGRjYXJkMyA9IHJlcXVpcmUoIkM6L1VzZXJzL0FkbWluL0Rlc2t0b3AvZWR1Y2F0aW9uL2Zyb250ZW5kL25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS9oZWxwZXJzL2ludGVyb3BSZXF1aXJlV2lsZGNhcmQuanMiKS5kZWZhdWx0Owp2YXIgX2ludGVyb3BSZXF1aXJlRGVmYXVsdCA9IHJlcXVpcmUoIkM6L1VzZXJzL0FkbWluL0Rlc2t0b3AvZWR1Y2F0aW9uL2Zyb250ZW5kL25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS9oZWxwZXJzL2ludGVyb3BSZXF1aXJlRGVmYXVsdC5qcyIpLmRlZmF1bHQ7Ck9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCAiX19lc01vZHVsZSIsIHsKICB2YWx1ZTogdHJ1ZQp9KTsKZXhwb3J0cy5kZWZhdWx0ID0gdm9pZCAwOwpleHBvcnRzLmZpbHRlckR5bmFtaWNSb3V0ZXMgPSBmaWx0ZXJEeW5hbWljUm91dGVzOwpleHBvcnRzLmxvYWRWaWV3ID0gdm9pZCAwOwp2YXIgX2ludGVyb3BSZXF1aXJlV2lsZGNhcmQyID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChyZXF1aXJlKCJDOi9Vc2Vycy9BZG1pbi9EZXNrdG9wL2VkdWNhdGlvbi9mcm9udGVuZC9ub2RlX21vZHVsZXMvQGJhYmVsL3J1bnRpbWUvaGVscGVycy9pbnRlcm9wUmVxdWlyZVdpbGRjYXJkLmpzIikpOwpyZXF1aXJlKCJjb3JlLWpzL21vZHVsZXMvZXMuYXJyYXkuY29uY2F0LmpzIik7CnJlcXVpcmUoImNvcmUtanMvbW9kdWxlcy9lcy5hcnJheS5maWx0ZXIuanMiKTsKcmVxdWlyZSgiY29yZS1qcy9tb2R1bGVzL2VzLmFycmF5LnB1c2guanMiKTsKcmVxdWlyZSgiY29yZS1qcy9tb2R1bGVzL2VzLmpzb24uc3RyaW5naWZ5LmpzIik7CnJlcXVpcmUoImNvcmUtanMvbW9kdWxlcy9lcy5vYmplY3Qua2V5cy5qcyIpOwpyZXF1aXJlKCJjb3JlLWpzL21vZHVsZXMvZXMub2JqZWN0LnRvLXN0cmluZy5qcyIpOwpyZXF1aXJlKCJjb3JlLWpzL21vZHVsZXMvZXNuZXh0Lml0ZXJhdG9yLmNvbnN0cnVjdG9yLmpzIik7CnJlcXVpcmUoImNvcmUtanMvbW9kdWxlcy9lc25leHQuaXRlcmF0b3IuZmlsdGVyLmpzIik7CnJlcXVpcmUoImNvcmUtanMvbW9kdWxlcy9lc25leHQuaXRlcmF0b3IuZm9yLWVhY2guanMiKTsKcmVxdWlyZSgiY29yZS1qcy9tb2R1bGVzL2VzbmV4dC5qc29uLnBhcnNlLmpzIik7CnJlcXVpcmUoImNvcmUtanMvbW9kdWxlcy93ZWIuZG9tLWNvbGxlY3Rpb25zLmZvci1lYWNoLmpzIik7CnZhciBfYXV0aCA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQocmVxdWlyZSgiQC9wbHVnaW5zL2F1dGgiKSk7CnZhciBfcm91dGVyID0gX2ludGVyb3BSZXF1aXJlV2lsZGNhcmQzKHJlcXVpcmUoIkAvcm91dGVyIikpOwp2YXIgX21lbnUgPSByZXF1aXJlKCJAL2FwaS9tZW51Iik7CnZhciBfaW5kZXggPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KHJlcXVpcmUoIkAvbGF5b3V0L2luZGV4IikpOwp2YXIgX1BhcmVudFZpZXcgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KHJlcXVpcmUoIkAvY29tcG9uZW50cy9QYXJlbnRWaWV3IikpOwp2YXIgX0lubmVyTGluayA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQocmVxdWlyZSgiQC9sYXlvdXQvY29tcG9uZW50cy9Jbm5lckxpbmsiKSk7CnZhciBwZXJtaXNzaW9uID0gewogIHN0YXRlOiB7CiAgICByb3V0ZXM6IFtdLAogICAgYWRkUm91dGVzOiBbXSwKICAgIGRlZmF1bHRSb3V0ZXM6IFtdLAogICAgdG9wYmFyUm91dGVyczogW10sCiAgICBzaWRlYmFyUm91dGVyczogW10KICB9LAogIG11dGF0aW9uczogewogICAgU0VUX1JPVVRFUzogZnVuY3Rpb24gU0VUX1JPVVRFUyhzdGF0ZSwgcm91dGVzKSB7CiAgICAgIHN0YXRlLmFkZFJvdXRlcyA9IHJvdXRlczsKICAgICAgc3RhdGUucm91dGVzID0gX3JvdXRlci5jb25zdGFudFJvdXRlcy5jb25jYXQocm91dGVzKTsKICAgIH0sCiAgICBTRVRfREVGQVVMVF9ST1VURVM6IGZ1bmN0aW9uIFNFVF9ERUZBVUxUX1JPVVRFUyhzdGF0ZSwgcm91dGVzKSB7CiAgICAgIHN0YXRlLmRlZmF1bHRSb3V0ZXMgPSBfcm91dGVyLmNvbnN0YW50Um91dGVzLmNvbmNhdChyb3V0ZXMpOwogICAgfSwKICAgIFNFVF9UT1BCQVJfUk9VVEVTOiBmdW5jdGlvbiBTRVRfVE9QQkFSX1JPVVRFUyhzdGF0ZSwgcm91dGVzKSB7CiAgICAgIHN0YXRlLnRvcGJhclJvdXRlcnMgPSByb3V0ZXM7CiAgICB9LAogICAgU0VUX1NJREVCQVJfUk9VVEVSUzogZnVuY3Rpb24gU0VUX1NJREVCQVJfUk9VVEVSUyhzdGF0ZSwgcm91dGVzKSB7CiAgICAgIHN0YXRlLnNpZGViYXJSb3V0ZXJzID0gcm91dGVzOwogICAgfQogIH0sCiAgYWN0aW9uczogewogICAgLy8g55Sf5oiQ6Lev55SxCiAgICBHZW5lcmF0ZVJvdXRlczogZnVuY3Rpb24gR2VuZXJhdGVSb3V0ZXMoX3JlZikgewogICAgICB2YXIgY29tbWl0ID0gX3JlZi5jb21taXQ7CiAgICAgIHJldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbiAocmVzb2x2ZSkgewogICAgICAgIC8vIOWQkeWQjuerr+ivt+axgui3r+eUseaVsOaNrgogICAgICAgICgwLCBfbWVudS5nZXRSb3V0ZXJzKSgpLnRoZW4oZnVuY3Rpb24gKHJlcykgewogICAgICAgICAgdmFyIHNkYXRhID0gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeShyZXMuZGF0YSkpOwogICAgICAgICAgdmFyIHJkYXRhID0gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeShyZXMuZGF0YSkpOwogICAgICAgICAgdmFyIHNpZGViYXJSb3V0ZXMgPSBmaWx0ZXJBc3luY1JvdXRlcihzZGF0YSk7CiAgICAgICAgICB2YXIgcmV3cml0ZVJvdXRlcyA9IGZpbHRlckFzeW5jUm91dGVyKHJkYXRhLCBmYWxzZSwgdHJ1ZSk7CiAgICAgICAgICB2YXIgYXN5bmNSb3V0ZXMgPSBmaWx0ZXJEeW5hbWljUm91dGVzKF9yb3V0ZXIuZHluYW1pY1JvdXRlcyk7CiAgICAgICAgICByZXdyaXRlUm91dGVzLnB1c2goewogICAgICAgICAgICBwYXRoOiAnKicsCiAgICAgICAgICAgIHJlZGlyZWN0OiAnLzQwNCcsCiAgICAgICAgICAgIGhpZGRlbjogdHJ1ZQogICAgICAgICAgfSk7CiAgICAgICAgICBfcm91dGVyLmRlZmF1bHQuYWRkUm91dGVzKGFzeW5jUm91dGVzKTsKICAgICAgICAgIGNvbW1pdCgnU0VUX1JPVVRFUycsIHJld3JpdGVSb3V0ZXMpOwogICAgICAgICAgY29tbWl0KCdTRVRfU0lERUJBUl9ST1VURVJTJywgX3JvdXRlci5jb25zdGFudFJvdXRlcy5jb25jYXQoc2lkZWJhclJvdXRlcykpOwogICAgICAgICAgY29tbWl0KCdTRVRfREVGQVVMVF9ST1VURVMnLCBzaWRlYmFyUm91dGVzKTsKICAgICAgICAgIGNvbW1pdCgnU0VUX1RPUEJBUl9ST1VURVMnLCBzaWRlYmFyUm91dGVzKTsKICAgICAgICAgIHJlc29sdmUocmV3cml0ZVJvdXRlcyk7CiAgICAgICAgfSk7CiAgICAgIH0pOwogICAgfQogIH0KfTsKCi8vIOmBjeWOhuWQjuWPsOS8oOadpeeahOi3r+eUseWtl+espuS4su+8jOi9rOaNouS4uue7hOS7tuWvueixoQpmdW5jdGlvbiBmaWx0ZXJBc3luY1JvdXRlcihhc3luY1JvdXRlck1hcCkgewogIHZhciBsYXN0Um91dGVyID0gYXJndW1lbnRzLmxlbmd0aCA+IDEgJiYgYXJndW1lbnRzWzFdICE9PSB1bmRlZmluZWQgPyBhcmd1bWVudHNbMV0gOiBmYWxzZTsKICB2YXIgdHlwZSA9IGFyZ3VtZW50cy5sZW5ndGggPiAyICYmIGFyZ3VtZW50c1syXSAhPT0gdW5kZWZpbmVkID8gYXJndW1lbnRzWzJdIDogZmFsc2U7CiAgcmV0dXJuIGFzeW5jUm91dGVyTWFwLmZpbHRlcihmdW5jdGlvbiAocm91dGUpIHsKICAgIGlmICh0eXBlICYmIHJvdXRlLmNoaWxkcmVuKSB7CiAgICAgIHJvdXRlLmNoaWxkcmVuID0gZmlsdGVyQ2hpbGRyZW4ocm91dGUuY2hpbGRyZW4pOwogICAgfQogICAgaWYgKHJvdXRlLmNvbXBvbmVudCkgewogICAgICAvLyBMYXlvdXQgUGFyZW50VmlldyDnu4Tku7bnibnmrorlpITnkIYKICAgICAgaWYgKHJvdXRlLmNvbXBvbmVudCA9PT0gJ0xheW91dCcpIHsKICAgICAgICByb3V0ZS5jb21wb25lbnQgPSBfaW5kZXguZGVmYXVsdDsKICAgICAgfSBlbHNlIGlmIChyb3V0ZS5jb21wb25lbnQgPT09ICdQYXJlbnRWaWV3JykgewogICAgICAgIHJvdXRlLmNvbXBvbmVudCA9IF9QYXJlbnRWaWV3LmRlZmF1bHQ7CiAgICAgIH0gZWxzZSBpZiAocm91dGUuY29tcG9uZW50ID09PSAnSW5uZXJMaW5rJykgewogICAgICAgIHJvdXRlLmNvbXBvbmVudCA9IF9Jbm5lckxpbmsuZGVmYXVsdDsKICAgICAgfSBlbHNlIHsKICAgICAgICByb3V0ZS5jb21wb25lbnQgPSBsb2FkVmlldyhyb3V0ZS5jb21wb25lbnQpOwogICAgICB9CiAgICB9CiAgICBpZiAocm91dGUuY2hpbGRyZW4gIT0gbnVsbCAmJiByb3V0ZS5jaGlsZHJlbiAmJiByb3V0ZS5jaGlsZHJlbi5sZW5ndGgpIHsKICAgICAgcm91dGUuY2hpbGRyZW4gPSBmaWx0ZXJBc3luY1JvdXRlcihyb3V0ZS5jaGlsZHJlbiwgcm91dGUsIHR5cGUpOwogICAgfSBlbHNlIHsKICAgICAgZGVsZXRlIHJvdXRlWydjaGlsZHJlbiddOwogICAgICBkZWxldGUgcm91dGVbJ3JlZGlyZWN0J107CiAgICB9CiAgICByZXR1cm4gdHJ1ZTsKICB9KTsKfQpmdW5jdGlvbiBmaWx0ZXJDaGlsZHJlbihjaGlsZHJlbk1hcCkgewogIHZhciBsYXN0Um91dGVyID0gYXJndW1lbnRzLmxlbmd0aCA+IDEgJiYgYXJndW1lbnRzWzFdICE9PSB1bmRlZmluZWQgPyBhcmd1bWVudHNbMV0gOiBmYWxzZTsKICB2YXIgY2hpbGRyZW4gPSBbXTsKICBjaGlsZHJlbk1hcC5mb3JFYWNoKGZ1bmN0aW9uIChlbCkgewogICAgZWwucGF0aCA9IGxhc3RSb3V0ZXIgPyBsYXN0Um91dGVyLnBhdGggKyAnLycgKyBlbC5wYXRoIDogZWwucGF0aDsKICAgIGlmIChlbC5jaGlsZHJlbiAmJiBlbC5jaGlsZHJlbi5sZW5ndGggJiYgZWwuY29tcG9uZW50ID09PSAnUGFyZW50VmlldycpIHsKICAgICAgY2hpbGRyZW4gPSBjaGlsZHJlbi5jb25jYXQoZmlsdGVyQ2hpbGRyZW4oZWwuY2hpbGRyZW4sIGVsKSk7CiAgICB9IGVsc2UgewogICAgICBjaGlsZHJlbi5wdXNoKGVsKTsKICAgIH0KICB9KTsKICByZXR1cm4gY2hpbGRyZW47Cn0KCi8vIOWKqOaAgei3r+eUsemBjeWOhu+8jOmqjOivgeaYr+WQpuWFt+Wkh+adg+mZkApmdW5jdGlvbiBmaWx0ZXJEeW5hbWljUm91dGVzKHJvdXRlcykgewogIHZhciByZXMgPSBbXTsKICByb3V0ZXMuZm9yRWFjaChmdW5jdGlvbiAocm91dGUpIHsKICAgIGlmIChyb3V0ZS5wZXJtaXNzaW9ucykgewogICAgICBpZiAoX2F1dGguZGVmYXVsdC5oYXNQZXJtaU9yKHJvdXRlLnBlcm1pc3Npb25zKSkgewogICAgICAgIHJlcy5wdXNoKHJvdXRlKTsKICAgICAgfQogICAgfSBlbHNlIGlmIChyb3V0ZS5yb2xlcykgewogICAgICBpZiAoX2F1dGguZGVmYXVsdC5oYXNSb2xlT3Iocm91dGUucm9sZXMpKSB7CiAgICAgICAgcmVzLnB1c2gocm91dGUpOwogICAgICB9CiAgICB9CiAgfSk7CiAgcmV0dXJuIHJlczsKfQp2YXIgbG9hZFZpZXcgPSBleHBvcnRzLmxvYWRWaWV3ID0gZnVuY3Rpb24gbG9hZFZpZXcodmlldykgewogIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gJ2RldmVsb3BtZW50JykgewogICAgcmV0dXJuIGZ1bmN0aW9uIChyZXNvbHZlKSB7CiAgICAgIHJldHVybiByZXF1aXJlKFsiQC92aWV3cy8iLmNvbmNhdCh2aWV3KV0sIHJlc29sdmUpOwogICAgfTsKICB9IGVsc2UgewogICAgLy8g5L2/55SoIGltcG9ydCDlrp7njrDnlJ/kuqfnjq/looPnmoTot6/nlLHmh5LliqDovb0KICAgIHJldHVybiBmdW5jdGlvbiAoKSB7CiAgICAgIHJldHVybiBmdW5jdGlvbiAoc3BlY2lmaWVyKSB7CiAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uIChyKSB7CiAgICAgICAgICByZXR1cm4gcihzcGVjaWZpZXIpOwogICAgICAgIH0pLnRoZW4oZnVuY3Rpb24gKHMpIHsKICAgICAgICAgIHJldHVybiAoMCwgX2ludGVyb3BSZXF1aXJlV2lsZGNhcmQyLmRlZmF1bHQpKHJlcXVpcmUocykpOwogICAgICAgIH0pOwogICAgICB9KCJAL3ZpZXdzLyIuY29uY2F0KHZpZXcpKTsKICAgIH07CiAgfQp9Owp2YXIgX2RlZmF1bHQgPSBleHBvcnRzLmRlZmF1bHQgPSBwZXJtaXNzaW9uOw=="},{"version":3,"names":["_auth","_interopRequireDefault","require","_router","_interopRequireWildcard3","_menu","_index","_ParentView","_InnerLink","permission","state","routes","addRoutes","defaultRoutes","topbarRouters","sidebarRouters","mutations","SET_ROUTES","constantRoutes","concat","SET_DEFAULT_ROUTES","SET_TOPBAR_ROUTES","SET_SIDEBAR_ROUTERS","actions","GenerateRoutes","_ref","commit","Promise","resolve","getRouters","then","res","sdata","JSON","parse","stringify","data","rdata","sidebarRoutes","filterAsyncRouter","rewriteRoutes","asyncRoutes","filterDynamicRoutes","dynamicRoutes","push","path","redirect","hidden","router","asyncRouterMap","lastRouter","arguments","length","undefined","type","filter","route","children","filterChildren","component","Layout","ParentView","InnerLink","loadView","childrenMap","forEach","el","permissions","auth","hasPermiOr","roles","hasRoleOr","exports","view","process","env","NODE_ENV","specifier","r","s","_interopRequireWildcard2","default","_default"],"sources":["C:/Users/Admin/Desktop/education/frontend/src/store/modules/permission.js"],"sourcesContent":["import auth from '@/plugins/auth'\r\nimport router, { constantRoutes, dynamicRoutes } from '@/router'\r\nimport { getRouters } from '@/api/menu'\r\nimport Layout from '@/layout/index'\r\nimport ParentView from '@/components/ParentView'\r\nimport InnerLink from '@/layout/components/InnerLink'\r\n\r\nconst permission = {\r\n state: {\r\n routes: [],\r\n addRoutes: [],\r\n defaultRoutes: [],\r\n topbarRouters: [],\r\n sidebarRouters: []\r\n },\r\n mutations: {\r\n SET_ROUTES: (state, routes) => {\r\n state.addRoutes = routes\r\n state.routes = constantRoutes.concat(routes)\r\n },\r\n SET_DEFAULT_ROUTES: (state, routes) => {\r\n state.defaultRoutes = constantRoutes.concat(routes)\r\n },\r\n SET_TOPBAR_ROUTES: (state, routes) => {\r\n state.topbarRouters = routes\r\n },\r\n SET_SIDEBAR_ROUTERS: (state, routes) => {\r\n state.sidebarRouters = routes\r\n },\r\n },\r\n actions: {\r\n // 生成路由\r\n GenerateRoutes({ commit }) {\r\n return new Promise(resolve => {\r\n // 向后端请求路由数据\r\n getRouters().then(res => {\r\n const sdata = JSON.parse(JSON.stringify(res.data))\r\n const rdata = JSON.parse(JSON.stringify(res.data))\r\n const sidebarRoutes = filterAsyncRouter(sdata)\r\n const rewriteRoutes = filterAsyncRouter(rdata, false, true)\r\n const asyncRoutes = filterDynamicRoutes(dynamicRoutes)\r\n rewriteRoutes.push({ path: '*', redirect: '/404', hidden: true })\r\n router.addRoutes(asyncRoutes)\r\n commit('SET_ROUTES', rewriteRoutes)\r\n commit('SET_SIDEBAR_ROUTERS', constantRoutes.concat(sidebarRoutes))\r\n commit('SET_DEFAULT_ROUTES', sidebarRoutes)\r\n commit('SET_TOPBAR_ROUTES', sidebarRoutes)\r\n resolve(rewriteRoutes)\r\n })\r\n })\r\n }\r\n }\r\n}\r\n\r\n// 遍历后台传来的路由字符串,转换为组件对象\r\nfunction filterAsyncRouter(asyncRouterMap, lastRouter = false, type = false) {\r\n return asyncRouterMap.filter(route => {\r\n if (type && route.children) {\r\n route.children = filterChildren(route.children)\r\n }\r\n if (route.component) {\r\n // Layout ParentView 组件特殊处理\r\n if (route.component === 'Layout') {\r\n route.component = Layout\r\n } else if (route.component === 'ParentView') {\r\n route.component = ParentView\r\n } else if (route.component === 'InnerLink') {\r\n route.component = InnerLink\r\n } else {\r\n route.component = loadView(route.component)\r\n }\r\n }\r\n if (route.children != null && route.children && route.children.length) {\r\n route.children = filterAsyncRouter(route.children, route, type)\r\n } else {\r\n delete route['children']\r\n delete route['redirect']\r\n }\r\n return true\r\n })\r\n}\r\n\r\nfunction filterChildren(childrenMap, lastRouter = false) {\r\n var children = []\r\n childrenMap.forEach(el => {\r\n el.path = lastRouter ? lastRouter.path + '/' + el.path : el.path\r\n if (el.children && el.children.length && el.component === 'ParentView') {\r\n children = children.concat(filterChildren(el.children, el))\r\n } else {\r\n children.push(el)\r\n }\r\n })\r\n return children\r\n}\r\n\r\n// 动态路由遍历,验证是否具备权限\r\nexport function filterDynamicRoutes(routes) {\r\n const res = []\r\n routes.forEach(route => {\r\n if (route.permissions) {\r\n if (auth.hasPermiOr(route.permissions)) {\r\n res.push(route)\r\n }\r\n } else if (route.roles) {\r\n if (auth.hasRoleOr(route.roles)) {\r\n res.push(route)\r\n }\r\n }\r\n })\r\n return res\r\n}\r\n\r\nexport const loadView = (view) => {\r\n if (process.env.NODE_ENV === 'development') {\r\n return (resolve) => require([`@/views/${view}`], resolve)\r\n } else {\r\n // 使用 import 实现生产环境的路由懒加载\r\n return () => import(`@/views/${view}`)\r\n }\r\n}\r\n\r\nexport default permission\r\n"],"mappings":"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","ignoreList":[]}]}