执行过npm install命令的vue-element-admin源码
康凯
2022-05-20 aa4c235a8ca67ea8b731f90c951a465e92c0a865
1
{"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\\store\\modules\\permission.js","dependencies":[{"path":"D:\\源码\\vue-element-admin-master\\src\\store\\modules\\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:aW1wb3J0IF9vYmplY3RTcHJlYWQgZnJvbSAiRDovXHU2RTkwXHU3ODAxL3Z1ZS1lbGVtZW50LWFkbWluLW1hc3Rlci9ub2RlX21vZHVsZXMvQGJhYmVsL3J1bnRpbWUvaGVscGVycy9lc20vb2JqZWN0U3ByZWFkMi5qcyI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL2VzLm9iamVjdC50by1zdHJpbmcuanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5hcnJheS5pbmNsdWRlcy5qcyI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL2VzLnN0cmluZy5pbmNsdWRlcy5qcyI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL3dlYi5kb20tY29sbGVjdGlvbnMuZm9yLWVhY2guanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5hcnJheS5jb25jYXQuanMiOwppbXBvcnQgeyBhc3luY1JvdXRlcywgY29uc3RhbnRSb3V0ZXMgfSBmcm9tICdAL3JvdXRlcic7Ci8qKgogKiBVc2UgbWV0YS5yb2xlIHRvIGRldGVybWluZSBpZiB0aGUgY3VycmVudCB1c2VyIGhhcyBwZXJtaXNzaW9uCiAqIEBwYXJhbSByb2xlcwogKiBAcGFyYW0gcm91dGUKICovCgpmdW5jdGlvbiBoYXNQZXJtaXNzaW9uKHJvbGVzLCByb3V0ZSkgewogIGlmIChyb3V0ZS5tZXRhICYmIHJvdXRlLm1ldGEucm9sZXMpIHsKICAgIHJldHVybiByb2xlcy5zb21lKGZ1bmN0aW9uIChyb2xlKSB7CiAgICAgIHJldHVybiByb3V0ZS5tZXRhLnJvbGVzLmluY2x1ZGVzKHJvbGUpOwogICAgfSk7CiAgfSBlbHNlIHsKICAgIHJldHVybiB0cnVlOwogIH0KfQovKioKICogRmlsdGVyIGFzeW5jaHJvbm91cyByb3V0aW5nIHRhYmxlcyBieSByZWN1cnNpb24KICogQHBhcmFtIHJvdXRlcyBhc3luY1JvdXRlcwogKiBAcGFyYW0gcm9sZXMKICovCgoKZXhwb3J0IGZ1bmN0aW9uIGZpbHRlckFzeW5jUm91dGVzKHJvdXRlcywgcm9sZXMpIHsKICB2YXIgcmVzID0gW107CiAgcm91dGVzLmZvckVhY2goZnVuY3Rpb24gKHJvdXRlKSB7CiAgICB2YXIgdG1wID0gX29iamVjdFNwcmVhZCh7fSwgcm91dGUpOwoKICAgIGlmIChoYXNQZXJtaXNzaW9uKHJvbGVzLCB0bXApKSB7CiAgICAgIGlmICh0bXAuY2hpbGRyZW4pIHsKICAgICAgICB0bXAuY2hpbGRyZW4gPSBmaWx0ZXJBc3luY1JvdXRlcyh0bXAuY2hpbGRyZW4sIHJvbGVzKTsKICAgICAgfQoKICAgICAgcmVzLnB1c2godG1wKTsKICAgIH0KICB9KTsKICByZXR1cm4gcmVzOwp9CnZhciBzdGF0ZSA9IHsKICByb3V0ZXM6IFtdLAogIGFkZFJvdXRlczogW10KfTsKdmFyIG11dGF0aW9ucyA9IHsKICBTRVRfUk9VVEVTOiBmdW5jdGlvbiBTRVRfUk9VVEVTKHN0YXRlLCByb3V0ZXMpIHsKICAgIHN0YXRlLmFkZFJvdXRlcyA9IHJvdXRlczsKICAgIHN0YXRlLnJvdXRlcyA9IGNvbnN0YW50Um91dGVzLmNvbmNhdChyb3V0ZXMpOwogIH0KfTsKdmFyIGFjdGlvbnMgPSB7CiAgZ2VuZXJhdGVSb3V0ZXM6IGZ1bmN0aW9uIGdlbmVyYXRlUm91dGVzKF9yZWYsIHJvbGVzKSB7CiAgICB2YXIgY29tbWl0ID0gX3JlZi5jb21taXQ7CiAgICByZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24gKHJlc29sdmUpIHsKICAgICAgdmFyIGFjY2Vzc2VkUm91dGVzOwoKICAgICAgaWYgKHJvbGVzLmluY2x1ZGVzKCdhZG1pbicpKSB7CiAgICAgICAgYWNjZXNzZWRSb3V0ZXMgPSBhc3luY1JvdXRlcyB8fCBbXTsKICAgICAgfSBlbHNlIHsKICAgICAgICBhY2Nlc3NlZFJvdXRlcyA9IGZpbHRlckFzeW5jUm91dGVzKGFzeW5jUm91dGVzLCByb2xlcyk7CiAgICAgIH0KCiAgICAgIGNvbW1pdCgnU0VUX1JPVVRFUycsIGFjY2Vzc2VkUm91dGVzKTsKICAgICAgcmVzb2x2ZShhY2Nlc3NlZFJvdXRlcyk7CiAgICB9KTsKICB9Cn07CmV4cG9ydCBkZWZhdWx0IHsKICBuYW1lc3BhY2VkOiB0cnVlLAogIHN0YXRlOiBzdGF0ZSwKICBtdXRhdGlvbnM6IG11dGF0aW9ucywKICBhY3Rpb25zOiBhY3Rpb25zCn07"},{"version":3,"names":["asyncRoutes","constantRoutes","hasPermission","roles","route","meta","some","role","includes","filterAsyncRoutes","routes","res","forEach","tmp","children","push","state","addRoutes","mutations","SET_ROUTES","concat","actions","generateRoutes","commit","Promise","resolve","accessedRoutes","namespaced"],"sources":["D:/源码/vue-element-admin-master/src/store/modules/permission.js"],"sourcesContent":["import { asyncRoutes, constantRoutes } from '@/router'\n\n/**\n * Use meta.role to determine if the current user has permission\n * @param roles\n * @param route\n */\nfunction hasPermission(roles, route) {\n  if (route.meta && route.meta.roles) {\n    return roles.some(role => route.meta.roles.includes(role))\n  } else {\n    return true\n  }\n}\n\n/**\n * Filter asynchronous routing tables by recursion\n * @param routes asyncRoutes\n * @param roles\n */\nexport function filterAsyncRoutes(routes, roles) {\n  const res = []\n\n  routes.forEach(route => {\n    const tmp = { ...route }\n    if (hasPermission(roles, tmp)) {\n      if (tmp.children) {\n        tmp.children = filterAsyncRoutes(tmp.children, roles)\n      }\n      res.push(tmp)\n    }\n  })\n\n  return res\n}\n\nconst state = {\n  routes: [],\n  addRoutes: []\n}\n\nconst mutations = {\n  SET_ROUTES: (state, routes) => {\n    state.addRoutes = routes\n    state.routes = constantRoutes.concat(routes)\n  }\n}\n\nconst actions = {\n  generateRoutes({ commit }, roles) {\n    return new Promise(resolve => {\n      let accessedRoutes\n      if (roles.includes('admin')) {\n        accessedRoutes = asyncRoutes || []\n      } else {\n        accessedRoutes = filterAsyncRoutes(asyncRoutes, roles)\n      }\n      commit('SET_ROUTES', accessedRoutes)\n      resolve(accessedRoutes)\n    })\n  }\n}\n\nexport default {\n  namespaced: true,\n  state,\n  mutations,\n  actions\n}\n"],"mappings":";;;;;;AAAA,SAASA,WAAT,EAAsBC,cAAtB,QAA4C,UAA5C;AAEA;AACA;AACA;AACA;AACA;;AACA,SAASC,aAAT,CAAuBC,KAAvB,EAA8BC,KAA9B,EAAqC;EACnC,IAAIA,KAAK,CAACC,IAAN,IAAcD,KAAK,CAACC,IAAN,CAAWF,KAA7B,EAAoC;IAClC,OAAOA,KAAK,CAACG,IAAN,CAAW,UAAAC,IAAI;MAAA,OAAIH,KAAK,CAACC,IAAN,CAAWF,KAAX,CAAiBK,QAAjB,CAA0BD,IAA1B,CAAJ;IAAA,CAAf,CAAP;EACD,CAFD,MAEO;IACL,OAAO,IAAP;EACD;AACF;AAED;AACA;AACA;AACA;AACA;;;AACA,OAAO,SAASE,iBAAT,CAA2BC,MAA3B,EAAmCP,KAAnC,EAA0C;EAC/C,IAAMQ,GAAG,GAAG,EAAZ;EAEAD,MAAM,CAACE,OAAP,CAAe,UAAAR,KAAK,EAAI;IACtB,IAAMS,GAAG,qBAAQT,KAAR,CAAT;;IACA,IAAIF,aAAa,CAACC,KAAD,EAAQU,GAAR,CAAjB,EAA+B;MAC7B,IAAIA,GAAG,CAACC,QAAR,EAAkB;QAChBD,GAAG,CAACC,QAAJ,GAAeL,iBAAiB,CAACI,GAAG,CAACC,QAAL,EAAeX,KAAf,CAAhC;MACD;;MACDQ,GAAG,CAACI,IAAJ,CAASF,GAAT;IACD;EACF,CARD;EAUA,OAAOF,GAAP;AACD;AAED,IAAMK,KAAK,GAAG;EACZN,MAAM,EAAE,EADI;EAEZO,SAAS,EAAE;AAFC,CAAd;AAKA,IAAMC,SAAS,GAAG;EAChBC,UAAU,EAAE,oBAACH,KAAD,EAAQN,MAAR,EAAmB;IAC7BM,KAAK,CAACC,SAAN,GAAkBP,MAAlB;IACAM,KAAK,CAACN,MAAN,GAAeT,cAAc,CAACmB,MAAf,CAAsBV,MAAtB,CAAf;EACD;AAJe,CAAlB;AAOA,IAAMW,OAAO,GAAG;EACdC,cADc,gCACanB,KADb,EACoB;IAAA,IAAjBoB,MAAiB,QAAjBA,MAAiB;IAChC,OAAO,IAAIC,OAAJ,CAAY,UAAAC,OAAO,EAAI;MAC5B,IAAIC,cAAJ;;MACA,IAAIvB,KAAK,CAACK,QAAN,CAAe,OAAf,CAAJ,EAA6B;QAC3BkB,cAAc,GAAG1B,WAAW,IAAI,EAAhC;MACD,CAFD,MAEO;QACL0B,cAAc,GAAGjB,iBAAiB,CAACT,WAAD,EAAcG,KAAd,CAAlC;MACD;;MACDoB,MAAM,CAAC,YAAD,EAAeG,cAAf,CAAN;MACAD,OAAO,CAACC,cAAD,CAAP;IACD,CATM,CAAP;EAUD;AAZa,CAAhB;AAeA,eAAe;EACbC,UAAU,EAAE,IADC;EAEbX,KAAK,EAALA,KAFa;EAGbE,SAAS,EAATA,SAHa;EAIbG,OAAO,EAAPA;AAJa,CAAf"}]}