1 |
- {"remainingRequest":"D:\\qianger\\7\\jindouyunNewFront\\node_modules\\babel-loader\\lib\\index.js!D:\\qianger\\7\\jindouyunNewFront\\node_modules\\eslint-loader\\index.js??ref--13-0!D:\\qianger\\7\\jindouyunNewFront\\src\\vab\\plugins\\permissions.js","dependencies":[{"path":"D:\\qianger\\7\\jindouyunNewFront\\src\\vab\\plugins\\permissions.js","mtime":1660019506349},{"path":"D:\\qianger\\7\\jindouyunNewFront\\babel.config.js","mtime":1655374732000},{"path":"D:\\qianger\\7\\jindouyunNewFront\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\qianger\\7\\jindouyunNewFront\\node_modules\\babel-loader\\lib\\index.js","mtime":315532800000},{"path":"D:\\qianger\\7\\jindouyunNewFront\\node_modules\\eslint-loader\\index.js","mtime":499162500000}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:LyoqCgogKiBAZGVzY3JpcHRpb24g6Lev55Sx5a6I5Y2r77yM55uu5YmN5Lik56eN5qih5byP77yaYWxs5qih5byP5LiOaW50ZWxsaWdlbmNl5qih5byPCiAqLwppbXBvcnQgcm91dGVyIGZyb20gIkAvcm91dGVyIjsKaW1wb3J0IHN0b3JlIGZyb20gIkAvc3RvcmUiOwppbXBvcnQgVmFiUHJvZ3Jlc3MgZnJvbSAibnByb2dyZXNzIjsKaW1wb3J0ICJucHJvZ3Jlc3MvbnByb2dyZXNzLmNzcyI7CmltcG9ydCBnZXRQYWdlVGl0bGUgZnJvbSAiQC91dGlscy9wYWdlVGl0bGUiOwppbXBvcnQgeyBmb3JtYXRSb3V0ZXIgfSBmcm9tICJAL3V0aWxzIjsKaW1wb3J0IHsgYXV0aGVudGljYXRpb24sIGxvZ2luSW50ZXJjZXB0aW9uLCByZWNvcmRSb3V0ZSwgcm91dGVzV2hpdGVMaXN0IH0gZnJvbSAiQC9jb25maWcvc2V0dGluZ3MiOwppbXBvcnQgeyBjaGVja1JvdXRlckFjY2VzcyB9IGZyb20gIkAvYWNjZXNzL2NoZWNrIjsKVmFiUHJvZ3Jlc3MuY29uZmlndXJlKHsKICBlYXNpbmc6ICJlYXNlIiwKICBzcGVlZDogNTAwLAogIHRyaWNrbGVTcGVlZDogMjAwLAogIHNob3dTcGlubmVyOiBmYWxzZQp9KTsKcm91dGVyLmJlZm9yZUVhY2goYXN5bmMgKHRvLCBmcm9tLCBuZXh0KSA9PiB7CiAgY29uc3Qgc2hvd1Byb2dyZXNzQmFyID0gc3RvcmUuZ2V0dGVyc1sic2V0dGluZ3Mvc2hvd1Byb2dyZXNzQmFyIl07CiAgaWYgKHNob3dQcm9ncmVzc0JhcikgVmFiUHJvZ3Jlc3Muc3RhcnQoKTsKICBsZXQgaGFzVG9rZW4gPSBzdG9yZS5nZXR0ZXJzWyJ1c2VyL2FjY2Vzc1Rva2VuIl07CiAgbGV0IGhhc0VuVG9rZW4gPSBzdG9yZS5nZXR0ZXJzWyJ1c2VyL2VuVG9rZW4iXTsKICBpZiAoIWxvZ2luSW50ZXJjZXB0aW9uKSBoYXNUb2tlbiA9IHRydWU7CgogIGlmIChyb3V0ZXNXaGl0ZUxpc3QuaW5kZXhPZih0by5wYXRoKSAhPT0gLTEpIHsKICAgIGlmICh0by5wYXRoID09PSAiL2xvZ2luIiAmJiBoYXNUb2tlbikgbmV4dCh7CiAgICAgIHBhdGg6ICIvIgogICAgfSk7ZWxzZSBuZXh0KCk7CiAgfSBlbHNlIHsKICAgIGlmIChoYXNUb2tlbikgewogICAgICBjb25zdCBoYXNSb2xlcyA9IHN0b3JlLmdldHRlcnNbImFjbC9hZG1pbiJdIHx8IHN0b3JlLmdldHRlcnNbImFjbC9yb2xlIl0ubGVuZ3RoID4gMCB8fCBzdG9yZS5nZXR0ZXJzWyJhY2wvYWJpbGl0eSJdLmxlbmd0aCA+IDA7CgogICAgICBpZiAoaGFzUm9sZXMpIHsKICAgICAgICBuZXh0KCk7IC8vIOWIpOaWreadg+mZkAoKICAgICAgICBpZiAoY2hlY2tSb3V0ZXJBY2Nlc3ModG8pKSB7CiAgICAgICAgICBuZXh0KCk7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgIG5leHQoewogICAgICAgICAgICBwYXRoOiAiLzQwMSIsCiAgICAgICAgICAgIHJlcGxhY2U6IHRydWUKICAgICAgICAgIH0pOwogICAgICAgIH0KICAgICAgfSBlbHNlIHsKICAgICAgICB0cnkgewogICAgICAgICAgaWYgKGxvZ2luSW50ZXJjZXB0aW9uKSB7CiAgICAgICAgICAgIGF3YWl0IHN0b3JlLmRpc3BhdGNoKCJ1c2VyL2dldFVzZXJJbmZvIik7CiAgICAgICAgICB9IC8vIHNldHRpbmdzLmpzIGxvZ2luSW50ZXJjZXB0aW9u5Li6ZmFsc2XvvIjlhbPpl63nmbvlvZXmi6bmiKrml7bvvInml7bvvIzliJvlu7romZrmi5/op5LoibIKICAgICAgICAgIGVsc2UgewogICAgICAgICAgICBhd2FpdCBzdG9yZS5kaXNwYXRjaCgidXNlci9zZXRWaXJ0dWFsUm9sZXMiKTsKICAgICAgICAgIH0KCiAgICAgICAgICBpZiAoISFoYXNFblRva2VuKSB7CiAgICAgICAgICAgIGxldCBhY2Nlc3NSb3V0ZXMgPSBbXTsgLy8g5YmN56uv5a+85Ye66Lev55SxCgogICAgICAgICAgICBpZiAoYXV0aGVudGljYXRpb24gPT09ICJpbnRlbGxpZ2VuY2UiKSB7CiAgICAgICAgICAgICAgYWNjZXNzUm91dGVzID0gYXdhaXQgc3RvcmUuZGlzcGF0Y2goInJvdXRlcy9zZXRSb3V0ZXMiKTsKICAgICAgICAgICAgfSBlbHNlIGlmIChhdXRoZW50aWNhdGlvbiA9PT0gImFsbCIpIHsKICAgICAgICAgICAgICAvLyDlkI7nq6/lr7zlh7rot6/nlLEKICAgICAgICAgICAgICBhY2Nlc3NSb3V0ZXMgPSBhd2FpdCBzdG9yZS5kaXNwYXRjaCgicm91dGVzL3NldEFsbFJvdXRlcyIpOwogICAgICAgICAgICB9CgogICAgICAgICAgICByb3V0ZXIuYWRkUm91dGVzKGFjY2Vzc1JvdXRlcyk7CiAgICAgICAgICB9CgogICAgICAgICAgbmV4dCh7IC4uLnRvLAogICAgICAgICAgICByZXBsYWNlOiB0cnVlCiAgICAgICAgICB9KTsKICAgICAgICB9IGNhdGNoIHsKICAgICAgICAgIGF3YWl0IHN0b3JlLmRpc3BhdGNoKCJ1c2VyL3Jlc2V0QWxsIik7CiAgICAgICAgICBpZiAocmVjb3JkUm91dGUpIG5leHQoewogICAgICAgICAgICBwYXRoOiAiL2xvZ2luIiwKICAgICAgICAgICAgcXVlcnk6IHsKICAgICAgICAgICAgICByZWRpcmVjdDogdG8ucGF0aAogICAgICAgICAgICB9LAogICAgICAgICAgICByZXBsYWNlOiB0cnVlCiAgICAgICAgICB9KTtlbHNlIG5leHQoewogICAgICAgICAgICBwYXRoOiAiL2xvZ2luIiwKICAgICAgICAgICAgcmVwbGFjZTogdHJ1ZQogICAgICAgICAgfSk7CiAgICAgICAgfQogICAgICB9CiAgICB9IGVsc2UgewogICAgICBpZiAocmVjb3JkUm91dGUpIG5leHQoewogICAgICAgIHBhdGg6ICIvbG9naW4iLAogICAgICAgIHF1ZXJ5OiB7CiAgICAgICAgICByZWRpcmVjdDogdG8ucGF0aAogICAgICAgIH0sCiAgICAgICAgcmVwbGFjZTogdHJ1ZQogICAgICB9KTtlbHNlIG5leHQoewogICAgICAgIHBhdGg6ICIvbG9naW4iLAogICAgICAgIHJlcGxhY2U6IHRydWUKICAgICAgfSk7CiAgICB9CiAgfQp9KTsKcm91dGVyLmFmdGVyRWFjaCh0byA9PiB7CiAgZG9jdW1lbnQudGl0bGUgPSBnZXRQYWdlVGl0bGUodG8ubWV0YS50aXRsZSk7CiAgaWYgKFZhYlByb2dyZXNzLnN0YXR1cykgVmFiUHJvZ3Jlc3MuZG9uZSgpOwp9KTs="},{"version":3,"names":["router","store","VabProgress","getPageTitle","formatRouter","authentication","loginInterception","recordRoute","routesWhiteList","checkRouterAccess","configure","easing","speed","trickleSpeed","showSpinner","beforeEach","to","from","next","showProgressBar","getters","start","hasToken","hasEnToken","indexOf","path","hasRoles","length","replace","dispatch","accessRoutes","addRoutes","query","redirect","afterEach","document","title","meta","status","done"],"sources":["D:/qianger/7/jindouyunNewFront/src/vab/plugins/permissions.js"],"sourcesContent":["/**\n\n * @description 路由守卫,目前两种模式:all模式与intelligence模式\n */\nimport router from \"@/router\";\nimport store from \"@/store\";\nimport VabProgress from \"nprogress\";\nimport \"nprogress/nprogress.css\";\nimport getPageTitle from \"@/utils/pageTitle\";\nimport { formatRouter } from \"@/utils\";\nimport {\n authentication,\n loginInterception,\n recordRoute,\n routesWhiteList,\n} from \"@/config/settings\";\n\nimport { checkRouterAccess } from \"@/access/check\";\n\nVabProgress.configure({\n easing: \"ease\",\n speed: 500,\n trickleSpeed: 200,\n showSpinner: false,\n});\nrouter.beforeEach(async (to, from, next) => {\n const showProgressBar = store.getters[\"settings/showProgressBar\"];\n if (showProgressBar) VabProgress.start();\n let hasToken = store.getters[\"user/accessToken\"];\n let hasEnToken = store.getters[\"user/enToken\"];\n if (!loginInterception) hasToken = true;\n\n if (routesWhiteList.indexOf(to.path) !== -1) {\n if (to.path === \"/login\" && hasToken) next({ path: \"/\" });\n else next();\n } else {\n if (hasToken) {\n const hasRoles =\n store.getters[\"acl/admin\"] ||\n store.getters[\"acl/role\"].length > 0 ||\n store.getters[\"acl/ability\"].length > 0;\n if (hasRoles) {\n next();\n // 判断权限\n if (checkRouterAccess(to)) {\n next();\n } else {\n next({\n path: \"/401\",\n replace: true,\n });\n }\n } else {\n try {\n if (loginInterception) {\n await store.dispatch(\"user/getUserInfo\");\n }\n // settings.js loginInterception为false(关闭登录拦截时)时,创建虚拟角色\n else {\n await store.dispatch(\"user/setVirtualRoles\");\n }\n if (!!hasEnToken) {\n let accessRoutes = [];\n // 前端导出路由\n if (authentication === \"intelligence\") {\n accessRoutes = await store.dispatch(\"routes/setRoutes\");\n } else if (authentication === \"all\") {\n // 后端导出路由\n accessRoutes = await store.dispatch(\"routes/setAllRoutes\");\n }\n router.addRoutes(accessRoutes);\n }\n\n next({ ...to, replace: true });\n } catch {\n await store.dispatch(\"user/resetAll\");\n if (recordRoute)\n next({\n path: \"/login\",\n query: { redirect: to.path },\n replace: true,\n });\n else next({ path: \"/login\", replace: true });\n }\n }\n } else {\n if (recordRoute)\n next({ path: \"/login\", query: { redirect: to.path }, replace: true });\n else next({ path: \"/login\", replace: true });\n }\n }\n});\nrouter.afterEach((to) => {\n document.title = getPageTitle(to.meta.title);\n if (VabProgress.status) VabProgress.done();\n});\n"],"mappings":"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"}]}
|