{"remainingRequest":"D:\\源码\\vue-element-admin-master\\node_modules\\babel-loader\\lib\\index.js!D:\\源码\\vue-element-admin-master\\node_modules\\eslint-loader\\index.js??ref--13-0!D:\\源码\\vue-element-admin-master\\src\\permission.js","dependencies":[{"path":"D:\\源码\\vue-element-admin-master\\src\\permission.js","mtime":1649647926000},{"path":"D:\\源码\\vue-element-admin-master\\babel.config.js","mtime":1649647926000},{"path":"D:\\源码\\vue-element-admin-master\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\源码\\vue-element-admin-master\\node_modules\\babel-loader\\lib\\index.js","mtime":315532800000},{"path":"D:\\源码\\vue-element-admin-master\\node_modules\\eslint-loader\\index.js","mtime":499162500000}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:aW1wb3J0IF9vYmplY3RTcHJlYWQgZnJvbSAiRDovXHU2RTkwXHU3ODAxL3Z1ZS1lbGVtZW50LWFkbWluLW1hc3Rlci9ub2RlX21vZHVsZXMvQGJhYmVsL3J1bnRpbWUvaGVscGVycy9lc20vb2JqZWN0U3ByZWFkMi5qcyI7CmltcG9ydCBfYXN5bmNUb0dlbmVyYXRvciBmcm9tICJEOi9cdTZFOTBcdTc4MDEvdnVlLWVsZW1lbnQtYWRtaW4tbWFzdGVyL25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS9oZWxwZXJzL2VzbS9hc3luY1RvR2VuZXJhdG9yLmpzIjsKaW1wb3J0ICJyZWdlbmVyYXRvci1ydW50aW1lL3J1bnRpbWUuanMiOwppbXBvcnQgcm91dGVyIGZyb20gJy4vcm91dGVyJzsKaW1wb3J0IHN0b3JlIGZyb20gJy4vc3RvcmUnOwppbXBvcnQgeyBNZXNzYWdlIH0gZnJvbSAnZWxlbWVudC11aSc7CmltcG9ydCBOUHJvZ3Jlc3MgZnJvbSAnbnByb2dyZXNzJzsgLy8gcHJvZ3Jlc3MgYmFyCgppbXBvcnQgJ25wcm9ncmVzcy9ucHJvZ3Jlc3MuY3NzJzsgLy8gcHJvZ3Jlc3MgYmFyIHN0eWxlCgppbXBvcnQgeyBnZXRUb2tlbiB9IGZyb20gJ0AvdXRpbHMvYXV0aCc7IC8vIGdldCB0b2tlbiBmcm9tIGNvb2tpZQoKaW1wb3J0IGdldFBhZ2VUaXRsZSBmcm9tICdAL3V0aWxzL2dldC1wYWdlLXRpdGxlJzsKTlByb2dyZXNzLmNvbmZpZ3VyZSh7CiAgc2hvd1NwaW5uZXI6IGZhbHNlCn0pOyAvLyBOUHJvZ3Jlc3MgQ29uZmlndXJhdGlvbgoKdmFyIHdoaXRlTGlzdCA9IFsnL2xvZ2luJywgJy9hdXRoLXJlZGlyZWN0J107IC8vIG5vIHJlZGlyZWN0IHdoaXRlbGlzdAoKcm91dGVyLmJlZm9yZUVhY2goIC8qI19fUFVSRV9fKi9mdW5jdGlvbiAoKSB7CiAgdmFyIF9yZWYgPSBfYXN5bmNUb0dlbmVyYXRvciggLyojX19QVVJFX18qL3JlZ2VuZXJhdG9yUnVudGltZS5tYXJrKGZ1bmN0aW9uIF9jYWxsZWUodG8sIGZyb20sIG5leHQpIHsKICAgIHZhciBoYXNUb2tlbiwgaGFzUm9sZXMsIF95aWVsZCRzdG9yZSRkaXNwYXRjaCwgcm9sZXMsIGFjY2Vzc1JvdXRlczsKCiAgICByZXR1cm4gcmVnZW5lcmF0b3JSdW50aW1lLndyYXAoZnVuY3Rpb24gX2NhbGxlZSQoX2NvbnRleHQpIHsKICAgICAgd2hpbGUgKDEpIHsKICAgICAgICBzd2l0Y2ggKF9jb250ZXh0LnByZXYgPSBfY29udGV4dC5uZXh0KSB7CiAgICAgICAgICBjYXNlIDA6CiAgICAgICAgICAgIC8vIHN0YXJ0IHByb2dyZXNzIGJhcgogICAgICAgICAgICBOUHJvZ3Jlc3Muc3RhcnQoKTsgLy8gc2V0IHBhZ2UgdGl0bGUKCiAgICAgICAgICAgIGRvY3VtZW50LnRpdGxlID0gZ2V0UGFnZVRpdGxlKHRvLm1ldGEudGl0bGUpOyAvLyBkZXRlcm1pbmUgd2hldGhlciB0aGUgdXNlciBoYXMgbG9nZ2VkIGluCgogICAgICAgICAgICBoYXNUb2tlbiA9IGdldFRva2VuKCk7CgogICAgICAgICAgICBpZiAoIWhhc1Rva2VuKSB7CiAgICAgICAgICAgICAgX2NvbnRleHQubmV4dCA9IDM1OwogICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICB9CgogICAgICAgICAgICBpZiAoISh0by5wYXRoID09PSAnL2xvZ2luJykpIHsKICAgICAgICAgICAgICBfY29udGV4dC5uZXh0ID0gOTsKICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgLy8gaWYgaXMgbG9nZ2VkIGluLCByZWRpcmVjdCB0byB0aGUgaG9tZSBwYWdlCiAgICAgICAgICAgIG5leHQoewogICAgICAgICAgICAgIHBhdGg6ICcvJwogICAgICAgICAgICB9KTsKICAgICAgICAgICAgTlByb2dyZXNzLmRvbmUoKTsgLy8gaGFjazogaHR0cHM6Ly9naXRodWIuY29tL1BhbkppYUNoZW4vdnVlLWVsZW1lbnQtYWRtaW4vcHVsbC8yOTM5CgogICAgICAgICAgICBfY29udGV4dC5uZXh0ID0gMzM7CiAgICAgICAgICAgIGJyZWFrOwoKICAgICAgICAgIGNhc2UgOToKICAgICAgICAgICAgLy8gZGV0ZXJtaW5lIHdoZXRoZXIgdGhlIHVzZXIgaGFzIG9idGFpbmVkIGhpcyBwZXJtaXNzaW9uIHJvbGVzIHRocm91Z2ggZ2V0SW5mbwogICAgICAgICAgICBoYXNSb2xlcyA9IHN0b3JlLmdldHRlcnMucm9sZXMgJiYgc3RvcmUuZ2V0dGVycy5yb2xlcy5sZW5ndGggPiAwOwoKICAgICAgICAgICAgaWYgKCFoYXNSb2xlcykgewogICAgICAgICAgICAgIF9jb250ZXh0Lm5leHQgPSAxNDsKICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgbmV4dCgpOwogICAgICAgICAgICBfY29udGV4dC5uZXh0ID0gMzM7CiAgICAgICAgICAgIGJyZWFrOwoKICAgICAgICAgIGNhc2UgMTQ6CiAgICAgICAgICAgIF9jb250ZXh0LnByZXYgPSAxNDsKICAgICAgICAgICAgX2NvbnRleHQubmV4dCA9IDE3OwogICAgICAgICAgICByZXR1cm4gc3RvcmUuZGlzcGF0Y2goJ3VzZXIvZ2V0SW5mbycpOwoKICAgICAgICAgIGNhc2UgMTc6CiAgICAgICAgICAgIF95aWVsZCRzdG9yZSRkaXNwYXRjaCA9IF9jb250ZXh0LnNlbnQ7CiAgICAgICAgICAgIHJvbGVzID0gX3lpZWxkJHN0b3JlJGRpc3BhdGNoLnJvbGVzOwogICAgICAgICAgICBfY29udGV4dC5uZXh0ID0gMjE7CiAgICAgICAgICAgIHJldHVybiBzdG9yZS5kaXNwYXRjaCgncGVybWlzc2lvbi9nZW5lcmF0ZVJvdXRlcycsIHJvbGVzKTsKCiAgICAgICAgICBjYXNlIDIxOgogICAgICAgICAgICBhY2Nlc3NSb3V0ZXMgPSBfY29udGV4dC5zZW50OwogICAgICAgICAgICAvLyBkeW5hbWljYWxseSBhZGQgYWNjZXNzaWJsZSByb3V0ZXMKICAgICAgICAgICAgcm91dGVyLmFkZFJvdXRlcyhhY2Nlc3NSb3V0ZXMpOyAvLyBoYWNrIG1ldGhvZCB0byBlbnN1cmUgdGhhdCBhZGRSb3V0ZXMgaXMgY29tcGxldGUKICAgICAgICAgICAgLy8gc2V0IHRoZSByZXBsYWNlOiB0cnVlLCBzbyB0aGUgbmF2aWdhdGlvbiB3aWxsIG5vdCBsZWF2ZSBhIGhpc3RvcnkgcmVjb3JkCgogICAgICAgICAgICBuZXh0KF9vYmplY3RTcHJlYWQoX29iamVjdFNwcmVhZCh7fSwgdG8pLCB7fSwgewogICAgICAgICAgICAgIHJlcGxhY2U6IHRydWUKICAgICAgICAgICAgfSkpOwogICAgICAgICAgICBfY29udGV4dC5uZXh0ID0gMzM7CiAgICAgICAgICAgIGJyZWFrOwoKICAgICAgICAgIGNhc2UgMjY6CiAgICAgICAgICAgIF9jb250ZXh0LnByZXYgPSAyNjsKICAgICAgICAgICAgX2NvbnRleHQudDAgPSBfY29udGV4dFsiY2F0Y2giXSgxNCk7CiAgICAgICAgICAgIF9jb250ZXh0Lm5leHQgPSAzMDsKICAgICAgICAgICAgcmV0dXJuIHN0b3JlLmRpc3BhdGNoKCd1c2VyL3Jlc2V0VG9rZW4nKTsKCiAgICAgICAgICBjYXNlIDMwOgogICAgICAgICAgICBNZXNzYWdlLmVycm9yKF9jb250ZXh0LnQwIHx8ICdIYXMgRXJyb3InKTsKICAgICAgICAgICAgbmV4dCgiL2xvZ2luP3JlZGlyZWN0PSIuY29uY2F0KHRvLnBhdGgpKTsKICAgICAgICAgICAgTlByb2dyZXNzLmRvbmUoKTsKCiAgICAgICAgICBjYXNlIDMzOgogICAgICAgICAgICBfY29udGV4dC5uZXh0ID0gMzY7CiAgICAgICAgICAgIGJyZWFrOwoKICAgICAgICAgIGNhc2UgMzU6CiAgICAgICAgICAgIC8qIGhhcyBubyB0b2tlbiovCiAgICAgICAgICAgIGlmICh3aGl0ZUxpc3QuaW5kZXhPZih0by5wYXRoKSAhPT0gLTEpIHsKICAgICAgICAgICAgICAvLyBpbiB0aGUgZnJlZSBsb2dpbiB3aGl0ZWxpc3QsIGdvIGRpcmVjdGx5CiAgICAgICAgICAgICAgbmV4dCgpOwogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgIC8vIG90aGVyIHBhZ2VzIHRoYXQgZG8gbm90IGhhdmUgcGVybWlzc2lvbiB0byBhY2Nlc3MgYXJlIHJlZGlyZWN0ZWQgdG8gdGhlIGxvZ2luIHBhZ2UuCiAgICAgICAgICAgICAgbmV4dCgiL2xvZ2luP3JlZGlyZWN0PSIuY29uY2F0KHRvLnBhdGgpKTsKICAgICAgICAgICAgICBOUHJvZ3Jlc3MuZG9uZSgpOwogICAgICAgICAgICB9CgogICAgICAgICAgY2FzZSAzNjoKICAgICAgICAgIGNhc2UgImVuZCI6CiAgICAgICAgICAgIHJldHVybiBfY29udGV4dC5zdG9wKCk7CiAgICAgICAgfQogICAgICB9CiAgICB9LCBfY2FsbGVlLCBudWxsLCBbWzE0LCAyNl1dKTsKICB9KSk7CgogIHJldHVybiBmdW5jdGlvbiAoX3gsIF94MiwgX3gzKSB7CiAgICByZXR1cm4gX3JlZi5hcHBseSh0aGlzLCBhcmd1bWVudHMpOwogIH07Cn0oKSk7CnJvdXRlci5hZnRlckVhY2goZnVuY3Rpb24gKCkgewogIC8vIGZpbmlzaCBwcm9ncmVzcyBiYXIKICBOUHJvZ3Jlc3MuZG9uZSgpOwp9KTs="},{"version":3,"names":["router","store","Message","NProgress","getToken","getPageTitle","configure","showSpinner","whiteList","beforeEach","to","from","next","start","document","title","meta","hasToken","path","done","hasRoles","getters","roles","length","dispatch","accessRoutes","addRoutes","replace","error","indexOf","afterEach"],"sources":["D:/源码/vue-element-admin-master/src/permission.js"],"sourcesContent":["import router from './router'\nimport store from './store'\nimport { Message } from 'element-ui'\nimport NProgress from 'nprogress' // progress bar\nimport 'nprogress/nprogress.css' // progress bar style\nimport { getToken } from '@/utils/auth' // get token from cookie\nimport getPageTitle from '@/utils/get-page-title'\n\nNProgress.configure({ showSpinner: false }) // NProgress Configuration\n\nconst whiteList = ['/login', '/auth-redirect'] // no redirect whitelist\n\nrouter.beforeEach(async(to, from, next) => {\n // start progress bar\n NProgress.start()\n\n // set page title\n document.title = getPageTitle(to.meta.title)\n\n // determine whether the user has logged in\n const hasToken = getToken()\n\n if (hasToken) {\n if (to.path === '/login') {\n // if is logged in, redirect to the home page\n next({ path: '/' })\n NProgress.done() // hack: https://github.com/PanJiaChen/vue-element-admin/pull/2939\n } else {\n // determine whether the user has obtained his permission roles through getInfo\n const hasRoles = store.getters.roles && store.getters.roles.length > 0\n if (hasRoles) {\n next()\n } else {\n try {\n // get user info\n // note: roles must be a object array! such as: ['admin'] or ,['developer','editor']\n const { roles } = await store.dispatch('user/getInfo')\n\n // generate accessible routes map based on roles\n const accessRoutes = await store.dispatch('permission/generateRoutes', roles)\n\n // dynamically add accessible routes\n router.addRoutes(accessRoutes)\n\n // hack method to ensure that addRoutes is complete\n // set the replace: true, so the navigation will not leave a history record\n next({ ...to, replace: true })\n } catch (error) {\n // remove token and go to login page to re-login\n await store.dispatch('user/resetToken')\n Message.error(error || 'Has Error')\n next(`/login?redirect=${to.path}`)\n NProgress.done()\n }\n }\n }\n } else {\n /* has no token*/\n\n if (whiteList.indexOf(to.path) !== -1) {\n // in the free login whitelist, go directly\n next()\n } else {\n // other pages that do not have permission to access are redirected to the login page.\n next(`/login?redirect=${to.path}`)\n NProgress.done()\n }\n }\n})\n\nrouter.afterEach(() => {\n // finish progress bar\n NProgress.done()\n})\n"],"mappings":";;;AAAA,OAAOA,MAAP,MAAmB,UAAnB;AACA,OAAOC,KAAP,MAAkB,SAAlB;AACA,SAASC,OAAT,QAAwB,YAAxB;AACA,OAAOC,SAAP,MAAsB,WAAtB,C,CAAkC;;AAClC,OAAO,yBAAP,C,CAAiC;;AACjC,SAASC,QAAT,QAAyB,cAAzB,C,CAAwC;;AACxC,OAAOC,YAAP,MAAyB,wBAAzB;AAEAF,SAAS,CAACG,SAAV,CAAoB;EAAEC,WAAW,EAAE;AAAf,CAApB,E,CAA4C;;AAE5C,IAAMC,SAAS,GAAG,CAAC,QAAD,EAAW,gBAAX,CAAlB,C,CAA+C;;AAE/CR,MAAM,CAACS,UAAP;EAAA,mEAAkB,iBAAMC,EAAN,EAAUC,IAAV,EAAgBC,IAAhB;IAAA;;IAAA;MAAA;QAAA;UAAA;YAChB;YACAT,SAAS,CAACU,KAAV,GAFgB,CAIhB;;YACAC,QAAQ,CAACC,KAAT,GAAiBV,YAAY,CAACK,EAAE,CAACM,IAAH,CAAQD,KAAT,CAA7B,CALgB,CAOhB;;YACME,QARU,GAQCb,QAAQ,EART;;YAAA,KAUZa,QAVY;cAAA;cAAA;YAAA;;YAAA,MAWVP,EAAE,CAACQ,IAAH,KAAY,QAXF;cAAA;cAAA;YAAA;;YAYZ;YACAN,IAAI,CAAC;cAAEM,IAAI,EAAE;YAAR,CAAD,CAAJ;YACAf,SAAS,CAACgB,IAAV,GAdY,CAcK;;YAdL;YAAA;;UAAA;YAgBZ;YACMC,QAjBM,GAiBKnB,KAAK,CAACoB,OAAN,CAAcC,KAAd,IAAuBrB,KAAK,CAACoB,OAAN,CAAcC,KAAd,CAAoBC,MAApB,GAA6B,CAjBzD;;YAAA,KAkBRH,QAlBQ;cAAA;cAAA;YAAA;;YAmBVR,IAAI;YAnBM;YAAA;;UAAA;YAAA;YAAA;YAAA,OAwBgBX,KAAK,CAACuB,QAAN,CAAe,cAAf,CAxBhB;;UAAA;YAAA;YAwBAF,KAxBA,yBAwBAA,KAxBA;YAAA;YAAA,OA2BmBrB,KAAK,CAACuB,QAAN,CAAe,2BAAf,EAA4CF,KAA5C,CA3BnB;;UAAA;YA2BFG,YA3BE;YA6BR;YACAzB,MAAM,CAAC0B,SAAP,CAAiBD,YAAjB,EA9BQ,CAgCR;YACA;;YACAb,IAAI,iCAAMF,EAAN;cAAUiB,OAAO,EAAE;YAAnB,GAAJ;YAlCQ;YAAA;;UAAA;YAAA;YAAA;YAAA;YAAA,OAqCF1B,KAAK,CAACuB,QAAN,CAAe,iBAAf,CArCE;;UAAA;YAsCRtB,OAAO,CAAC0B,KAAR,CAAc,eAAS,WAAvB;YACAhB,IAAI,2BAAoBF,EAAE,CAACQ,IAAvB,EAAJ;YACAf,SAAS,CAACgB,IAAV;;UAxCQ;YAAA;YAAA;;UAAA;YA6Cd;YAEA,IAAIX,SAAS,CAACqB,OAAV,CAAkBnB,EAAE,CAACQ,IAArB,MAA+B,CAAC,CAApC,EAAuC;cACrC;cACAN,IAAI;YACL,CAHD,MAGO;cACL;cACAA,IAAI,2BAAoBF,EAAE,CAACQ,IAAvB,EAAJ;cACAf,SAAS,CAACgB,IAAV;YACD;;UAtDa;UAAA;YAAA;QAAA;MAAA;IAAA;EAAA,CAAlB;;EAAA;IAAA;EAAA;AAAA;AA0DAnB,MAAM,CAAC8B,SAAP,CAAiB,YAAM;EACrB;EACA3B,SAAS,CAACgB,IAAV;AACD,CAHD"}]}
|