d7b894f22d96fa37429ed8f6ae0eb949.json 14 KB

1
  1. {"remainingRequest":"D:\\test\\ssi-satoken\\ui\\node_modules\\babel-loader\\lib\\index.js!D:\\test\\ssi-satoken\\ui\\src\\permission.js","dependencies":[{"path":"D:\\test\\ssi-satoken\\ui\\src\\permission.js","mtime":1697610533811},{"path":"D:\\test\\ssi-satoken\\ui\\babel.config.js","mtime":1696909835000},{"path":"D:\\test\\ssi-satoken\\ui\\node_modules\\cache-loader\\dist\\cjs.js","mtime":1697005520931},{"path":"D:\\test\\ssi-satoken\\ui\\node_modules\\babel-loader\\lib\\index.js","mtime":1697005523218}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:InVzZSBzdHJpY3QiOwoKdmFyIF9pbnRlcm9wUmVxdWlyZURlZmF1bHQgPSByZXF1aXJlKCJEOi90ZXN0L3NzaS1zYXRva2VuL3VpL25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS9oZWxwZXJzL2ludGVyb3BSZXF1aXJlRGVmYXVsdC5qcyIpLmRlZmF1bHQ7CnJlcXVpcmUoImNvcmUtanMvbW9kdWxlcy9lcy5hcnJheS5tYXAuanMiKTsKdmFyIF9yZWdlbmVyYXRvclJ1bnRpbWUyID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChyZXF1aXJlKCJEOi90ZXN0L3NzaS1zYXRva2VuL3VpL25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS9oZWxwZXJzL3JlZ2VuZXJhdG9yUnVudGltZS5qcyIpKTsKdmFyIF9vYmplY3RTcHJlYWQyID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChyZXF1aXJlKCJEOi90ZXN0L3NzaS1zYXRva2VuL3VpL25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS9oZWxwZXJzL29iamVjdFNwcmVhZDIuanMiKSk7CnZhciBfYXN5bmNUb0dlbmVyYXRvcjIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KHJlcXVpcmUoIkQ6L3Rlc3Qvc3NpLXNhdG9rZW4vdWkvbm9kZV9tb2R1bGVzL0BiYWJlbC9ydW50aW1lL2hlbHBlcnMvYXN5bmNUb0dlbmVyYXRvci5qcyIpKTsKdmFyIF9yb3V0ZXIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KHJlcXVpcmUoIi4vcm91dGVyIikpOwp2YXIgX3N0b3JlID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChyZXF1aXJlKCJAL3N0b3JlIikpOwp2YXIgX2VsZW1lbnRVaSA9IHJlcXVpcmUoImVsZW1lbnQtdWkiKTsKdmFyIF9ucHJvZ3Jlc3MgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KHJlcXVpcmUoIm5wcm9ncmVzcyIpKTsKcmVxdWlyZSgibnByb2dyZXNzL25wcm9ncmVzcy5jc3MiKTsKdmFyIF9jb21tb25GdWMgPSByZXF1aXJlKCIuL3V0aWxzL2NvbW1vbkZ1YyIpOwp2YXIgX2dldFBhZ2VUaXRsZSA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQocmVxdWlyZSgiQC91dGlscy9nZXQtcGFnZS10aXRsZSIpKTsKdmFyIF9zbXV0aWwgPSByZXF1aXJlKCJAL3V0aWxzL3NtdXRpbCIpOwp2YXIgX3JlcXVlc3QgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KHJlcXVpcmUoIi4vdXRpbHMvcmVxdWVzdCIpKTsKdmFyIF9hdXRoID0gcmVxdWlyZSgiQC91dGlscy9hdXRoIik7Ci8vIHByb2dyZXNzIGJhcgovLyBwcm9ncmVzcyBiYXIgc3R5bGUKLy8gZ2V0IHRva2VuIGZyb20gY29va2llCgpfbnByb2dyZXNzLmRlZmF1bHQuY29uZmlndXJlKHsKICBzaG93U3Bpbm5lcjogZmFsc2UKfSk7IC8vIE5Qcm9ncmVzcyBDb25maWd1cmF0aW9uCgp2YXIgd2hpdGVMaXN0ID0gWycvbG9naW4nXTsgLy8gbm8gcmVkaXJlY3Qgd2hpdGVsaXN0Cgpfcm91dGVyLmRlZmF1bHQuYmVmb3JlRWFjaCggLyojX19QVVJFX18qL2Z1bmN0aW9uICgpIHsKICB2YXIgX3JlZiA9ICgwLCBfYXN5bmNUb0dlbmVyYXRvcjIuZGVmYXVsdCkoIC8qI19fUFVSRV9fKi8oMCwgX3JlZ2VuZXJhdG9yUnVudGltZTIuZGVmYXVsdCkoKS5tYXJrKGZ1bmN0aW9uIF9jYWxsZWUodG8sIGZyb20sIG5leHQpIHsKICAgIHJldHVybiAoMCwgX3JlZ2VuZXJhdG9yUnVudGltZTIuZGVmYXVsdCkoKS53cmFwKGZ1bmN0aW9uIF9jYWxsZWUkKF9jb250ZXh0KSB7CiAgICAgIHdoaWxlICgxKSBzd2l0Y2ggKF9jb250ZXh0LnByZXYgPSBfY29udGV4dC5uZXh0KSB7CiAgICAgICAgY2FzZSAwOgogICAgICAgICAgLy8gc3RhcnQgcHJvZ3Jlc3MgYmFyCiAgICAgICAgICBfbnByb2dyZXNzLmRlZmF1bHQuc3RhcnQoKTsKICAgICAgICAgIC8vIHNldCBwYWdlIHRpdGxlCiAgICAgICAgICBkb2N1bWVudC50aXRsZSA9ICgwLCBfZ2V0UGFnZVRpdGxlLmRlZmF1bHQpKHRvLm1ldGEudGl0bGUpOwogICAgICAgICAgaWYgKCFsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgnanknKSkgewogICAgICAgICAgICBfY29udGV4dC5uZXh0ID0gMTQ7CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgfQogICAgICAgICAgaWYgKCEodG8ucGF0aCA9PT0gJy9sb2dpbicpKSB7CiAgICAgICAgICAgIF9jb250ZXh0Lm5leHQgPSA4OwogICAgICAgICAgICBicmVhazsKICAgICAgICAgIH0KICAgICAgICAgIC8vIGlmIGlzIGxvZ2dlZCBpbiwgcmVkaXJlY3QgdG8gdGhlIGhvbWUgcGFnZQogICAgICAgICAgbmV4dCh7CiAgICAgICAgICAgIHBhdGg6ICcvZGFzaGJvYXJkJwogICAgICAgICAgfSk7CiAgICAgICAgICBfbnByb2dyZXNzLmRlZmF1bHQuZG9uZSgpOwogICAgICAgICAgX2NvbnRleHQubmV4dCA9IDEyOwogICAgICAgICAgYnJlYWs7CiAgICAgICAgY2FzZSA4OgogICAgICAgICAgaWYgKCEoX3N0b3JlLmRlZmF1bHQuZ2V0dGVycy5wZXJtaXNzaW9uX3JvdXRlcy5sZW5ndGggPT0gMCkpIHsKICAgICAgICAgICAgX2NvbnRleHQubmV4dCA9IDExOwogICAgICAgICAgICBicmVhazsKICAgICAgICAgIH0KICAgICAgICAgIF9jb250ZXh0Lm5leHQgPSAxMTsKICAgICAgICAgIHJldHVybiBfc3RvcmUuZGVmYXVsdC5kaXNwYXRjaCgnR2VuZXJhdGVSb3V0ZXMnKS50aGVuKGZ1bmN0aW9uIChhY2Nlc3NSb3V0ZXMpIHsKICAgICAgICAgICAgaWYgKHRvLnBhdGggIT09ICcvZGFzaGJvYXJkJyAmJiB0by5wYXRoICE9PSAnL3VzZXIvcHJvZmlsZScpIHsKICAgICAgICAgICAgICB2YXIgZmYgPSBmYWxzZTsKICAgICAgICAgICAgICBhY2Nlc3NSb3V0ZXMubWFwKGZ1bmN0aW9uIChpdGVtKSB7CiAgICAgICAgICAgICAgICBpZiAoaXRlbS5jaGlsZHJlbikgewogICAgICAgICAgICAgICAgICB2YXIgZnBhdGggPSBpdGVtLnBhdGg7CiAgICAgICAgICAgICAgICAgIHZhciBMaXRlbSA9IGl0ZW0uY2hpbGRyZW47CiAgICAgICAgICAgICAgICAgIExpdGVtLm1hcChmdW5jdGlvbiAoQ2l0ZW0pIHsKICAgICAgICAgICAgICAgICAgICBpZiAoZnBhdGggKyAnLycgKyBDaXRlbS5wYXRoID09IHRvLnBhdGgpIHsKICAgICAgICAgICAgICAgICAgICAgIGZmID0gdHJ1ZTsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgIGlmICghZmYpIHsKICAgICAgICAgICAgICAgICgwLCBfZWxlbWVudFVpLk1lc3NhZ2UpKHsKICAgICAgICAgICAgICAgICAgbWVzc2FnZTogJ+i2iuadg+iuv+mXrumhtemdouS4jeWtmOWcqO+8gScsCiAgICAgICAgICAgICAgICAgIHR5cGU6ICdlcnJvcicsCiAgICAgICAgICAgICAgICAgIGR1cmF0aW9uOiA1ICogMTAwMAogICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICAoMCwgX2F1dGgucmVtb3ZlVG9rZW4pKCk7CiAgICAgICAgICAgICAgICBuZXh0KCcvNDA0Jyk7IC8vIOWIpOaWreatpOi3s+i9rOi3r+eUseeahOadpea6kOi3r+eUseaYr+WQpuWtmOWcqO+8jOWtmOWcqOeahOaDheWGtei3s+i9rOWIsOadpea6kOi3r+eUse+8jOWQpuWImei3s+i9rOWIsDQwNOmhtemdogogICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQoKICAgICAgICAgICAgLy8g5qC55o2ucm9sZXPmnYPpmZDnlJ/miJDlj6/orr/pl67nmoTot6/nlLHooagKICAgICAgICAgICAgX3JvdXRlci5kZWZhdWx0LmFkZFJvdXRlcyhhY2Nlc3NSb3V0ZXMpOyAvLyDliqjmgIHmt7vliqDlj6/orr/pl67ot6/nlLHooagKICAgICAgICAgICAgbmV4dCgoMCwgX29iamVjdFNwcmVhZDIuZGVmYXVsdCkoKDAsIF9vYmplY3RTcHJlYWQyLmRlZmF1bHQpKHt9LCB0byksIHt9LCB7CiAgICAgICAgICAgICAgcmVwbGFjZTogdHJ1ZQogICAgICAgICAgICB9KSk7IC8vIGhhY2vmlrnms5Ug56Gu5L+dYWRkUm91dGVz5bey5a6M5oiQCiAgICAgICAgICB9KS5jYXRjaChmdW5jdGlvbiAoZXJyKSB7CiAgICAgICAgICAgIF9zdG9yZS5kZWZhdWx0LmRpc3BhdGNoKCdjaGFuZ2VSb3V0ZXJzJywgW10pOwogICAgICAgICAgICBjb25zb2xlLmxvZygn55Sf5oiQ6Lev55Sx5byC5bi477yM6L6T5Ye6cm91dGVzOicgKyBfc3RvcmUuZGVmYXVsdC5nZXR0ZXJzLnBlcm1pc3Npb25fcm91dGVzLmxlbmd0aCk7CiAgICAgICAgICAgIG5leHQoewogICAgICAgICAgICAgIHBhdGg6ICcvZGFzaGJvYXJkJwogICAgICAgICAgICB9KTsKICAgICAgICAgIH0pOwogICAgICAgIGNhc2UgMTE6CiAgICAgICAgICBuZXh0KCk7CiAgICAgICAgY2FzZSAxMjoKICAgICAgICAgIF9jb250ZXh0Lm5leHQgPSAxNTsKICAgICAgICAgIGJyZWFrOwogICAgICAgIGNhc2UgMTQ6CiAgICAgICAgICAvLyDmsqHmnIl0b2tlbgogICAgICAgICAgaWYgKHdoaXRlTGlzdC5pbmRleE9mKHRvLnBhdGgpICE9PSAtMSkgewogICAgICAgICAgICAvLyDlnKjlhY3nmbvlvZXnmb3lkI3ljZXvvIznm7TmjqXov5vlhaUKICAgICAgICAgICAgbmV4dCgpOwogICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgaWYgKHRvLnBhdGggPT09ICcvJykgewogICAgICAgICAgICAgIG5leHQoJy9sb2dpbicpOwogICAgICAgICAgICAgIF9ucHJvZ3Jlc3MuZGVmYXVsdC5kb25lKCk7CiAgICAgICAgICAgIH0gZWxzZSBpZiAodG8ucGF0aCA9PT0gJy80MDQnKSB7CiAgICAgICAgICAgICAgbmV4dCgpOwogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgIC8vIOWQpuWImeWFqOmDqOmHjeWumuWQkeWIsOeZu+W9lemhtQogICAgICAgICAgICAgIG5leHQoIi9sb2dpbj9yZWRpcmVjdD0iLmNvbmNhdCh0by5wYXRoKSk7CiAgICAgICAgICAgICAgX25wcm9ncmVzcy5kZWZhdWx0LmRvbmUoKTsKICAgICAgICAgICAgfQogICAgICAgICAgfQogICAgICAgIGNhc2UgMTU6CiAgICAgICAgY2FzZSAiZW5kIjoKICAgICAgICAgIHJldHVybiBfY29udGV4dC5zdG9wKCk7CiAgICAgIH0KICAgIH0sIF9jYWxsZWUpOwogIH0pKTsKICByZXR1cm4gZnVuY3Rpb24gKF94LCBfeDIsIF94MykgewogICAgcmV0dXJuIF9yZWYuYXBwbHkodGhpcywgYXJndW1lbnRzKTsKICB9Owp9KCkpOwpfcm91dGVyLmRlZmF1bHQuYWZ0ZXJFYWNoKGZ1bmN0aW9uICgpIHsKICAvLyBmaW5pc2ggcHJvZ3Jlc3MgYmFyCiAgX25wcm9ncmVzcy5kZWZhdWx0LmRvbmUoKTsKfSk7"},{"version":3,"names":["_router","_interopRequireDefault","require","_store","_elementUi","_nprogress","_commonFuc","_getPageTitle","_smutil","_request","_auth","NProgress","configure","showSpinner","whiteList","router","beforeEach","_ref","_asyncToGenerator2","default","_regeneratorRuntime2","mark","_callee","to","from","next","wrap","_callee$","_context","prev","start","document","title","getPageTitle","meta","localStorage","getItem","path","done","store","getters","permission_routes","length","dispatch","then","accessRoutes","ff","map","item","children","fpath","Litem","Citem","Message","message","type","duration","removeToken","addRoutes","_objectSpread2","replace","catch","err","console","log","indexOf","concat","stop","_x","_x2","_x3","apply","arguments","afterEach"],"sources":["D:/test/ssi-satoken/ui/src/permission.js"],"sourcesContent":["import router from './router'\r\nimport store from '@/store'\r\nimport { Message } from 'element-ui'\r\nimport NProgress from 'nprogress' // progress bar\r\nimport 'nprogress/nprogress.css' // progress bar style\r\nimport { getBrowserToken } from './utils/commonFuc' // get token from cookie\r\nimport getPageTitle from '@/utils/get-page-title'\r\nimport {doEncrypt, doDecryptStr,doSign,doVerifySignature,userinfoEncrypt,userinfoDecrypt} from '@/utils/smutil'\r\nimport service from './utils/request'\r\nimport {removeToken} from \"@/utils/auth\";\r\n\r\nNProgress.configure({ showSpinner: false }) // NProgress Configuration\r\n\r\nconst whiteList = ['/login'] // no redirect whitelist\r\n\r\nrouter.beforeEach(async (to, from, next) => {\r\n // start progress bar\r\n NProgress.start()\r\n // set page title\r\n document.title = getPageTitle(to.meta.title)\r\n if (localStorage.getItem('jy')) {\r\n if (to.path === '/login') {\r\n // if is logged in, redirect to the home page\r\n next({ path: '/dashboard' })\r\n NProgress.done()\r\n } else {\r\n // 登录成功时将路由置空\r\n if (store.getters.permission_routes.length==0) {\r\n await store.dispatch('GenerateRoutes').then(accessRoutes => {\r\n if (to.path!=='/dashboard' && to.path!=='/user/profile'){\r\n let ff = false\r\n accessRoutes.map((item)=>{\r\n if (item.children){\r\n let fpath = item.path\r\n let Litem = item.children\r\n Litem.map((Citem)=>{\r\n if (fpath+'/'+Citem.path==to.path){\r\n ff = true\r\n }\r\n })\r\n }\r\n })\r\n\r\n if (!ff){\r\n Message({\r\n message: '越权访问页面不存在!',\r\n type: 'error',\r\n duration: 5 * 1000\r\n })\r\n removeToken()\r\n next('/404') // 判断此跳转路由的来源路由是否存在,存在的情况跳转到来源路由,否则跳转到404页面\r\n }\r\n }\r\n\r\n // 根据roles权限生成可访问的路由表\r\n router.addRoutes(accessRoutes) // 动态添加可访问路由表\r\n next({ ...to, replace: true }) // hack方法 确保addRoutes已完成\r\n }).catch(err => {\r\n store.dispatch('changeRouters',[])\r\n console.log('生成路由异常,输出routes:'+store.getters.permission_routes.length)\r\n next({ path: '/dashboard' })\r\n })\r\n }\r\n\r\n next()\r\n\r\n }\r\n } else {\r\n // 没有token\r\n if (whiteList.indexOf(to.path) !== -1) {\r\n // 在免登录白名单,直接进入\r\n next()\r\n } else {\r\n if (to.path === '/') {\r\n next('/login')\r\n NProgress.done()\r\n }else if (to.path === '/404') {\r\n next()\r\n }\r\n else{\r\n // 否则全部重定向到登录页\r\n next(`/login?redirect=${to.path}`)\r\n NProgress.done()\r\n }\r\n }\r\n }\r\n})\r\n\r\nrouter.afterEach(() => {\r\n // finish progress bar\r\n NProgress.done()\r\n})\r\n"],"mappings":"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"}]}